/* tg-prefs.css: light mode, accessibility modes and the cookie banner for all three Triad Global sites.
   Same file in solutions-public, realestate-public and estate-public; edit all three together.
   Driven by /tg-prefs.js, which sets data-theme, data-text, data-contrast, data-motion, data-links and data-font on <html>. */

/* ---------- Light mode ---------- */
html[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f3ee; --bg-2: #efe9dc; --paper: #fffdf8; --panel: #ffffff; --panel-2: #fbf9f4; --surface: #ffffff; --surface-2: #fbf9f4;
  --cream: #f6f3ee; --cream-d: #e9e3d6; --ink: #14213a; --ink-soft: #3d4b63; --ink-2: #3d4b63; --mut: #5b6980; --mut-2: #6b7891;
  --mute: #6b7891; --slate: #5b6980; --navy-text: #1f3a5e; --line: #e3dccb; --line-2: #ece6d8;
  --shadow: 0 1px 2px rgba(20,33,58,.05), 0 10px 30px rgba(20,33,58,.08);
}
html[data-theme="light"] body { background: #f6f3ee; color: #14213a; }
/* Our motion hero and Solutions pages */
html[data-theme="light"] .tgm { --tgm-bg: #f6f3ee; color: #14213a; background: #f6f3ee; }
html[data-theme="light"] .tgm h1.tgm-h1 { color: #14213a; }
html[data-theme="light"] .tgm-sub, html[data-theme="light"] .tgm-small { color: #3d4b63; }
html[data-theme="light"] .tgm-small b { color: #14213a; }
html[data-theme="light"] .tgm-shine { background-image: linear-gradient(90deg, #a8822f, #1f3a5e 40%, #a8822f 60%, #2E7D4F); }
html[data-theme="light"] .tgm-eyebrow { color: #8a6a1f; }
html[data-theme="light"] .tgm-grid { background-image: linear-gradient(rgb(20 33 58 / .06) 1px, transparent 1px), linear-gradient(90deg, rgb(20 33 58 / .05) 1px, transparent 1px); }
html[data-theme="light"] .tgm-glow { opacity: .35; }
html[data-theme="light"] .tgm a.tgm-ghost { color: #14213a; background: #fff; border-color: #d9d1bf; }
html[data-theme="light"] .tgm-mark { opacity: .12; }
html[data-theme="light"] body.sp { background: #f6f3ee; color: #14213a; --sp-mut: #4b5870; --sp-line: #e3dccb; --sp-gold: #8a6a1f; }
html[data-theme="light"] .sp-top, html[data-theme="light"] .sp-tabs { background: rgb(246 243 238 / .9); }
html[data-theme="light"] .sp-links a { color: #3d4b63; }
html[data-theme="light"] .sp-links a:hover, html[data-theme="light"] .sp-links a[aria-current="page"] { color: #14213a; background: #ebe4d4; }
html[data-theme="light"] .sp-links { background: inherit; }
html[data-theme="light"] .sp-burger { color: #14213a; }
html[data-theme="light"] .sp-sec.alt { background: #efe9dc; }
html[data-theme="light"] .sp-card { background: #fff; border-color: #e3dccb; }
html[data-theme="light"] .sp-card.feat { background: linear-gradient(180deg, #fbf3df, #fff); border-color: #d8bf7d; }
html[data-theme="light"] .sp-list li { color: #2b3a4a; }
html[data-theme="light"] .sp-btn.ghost { color: #14213a; background: #fff; border-color: #d9d1bf; }
html[data-theme="light"] .sp-tabs a { color: #3d4b63; }
html[data-theme="light"] .sp-tag.n { color: #3d4b63; background: #f1ece1; }
html[data-theme="light"] .sp-tag.g { color: #1f5c3a; background: #dff1e7; }
html[data-theme="light"] .sp-fine, html[data-theme="light"] .sp-foot .legal { color: #6b7891; }
html[data-theme="light"] .sp-table td { color: #2b3a4a; } html[data-theme="light"] .sp-table td b { color: #14213a; }
html[data-theme="light"] .sp-table th { background: #f1ece1; }
html[data-theme="light"] .sp-step { background: #fff; }
html[data-theme="light"] .sp-foot a, html[data-theme="light"] .sp-foot { color: #4b5870; }
html[data-theme="light"] .sp-foot h4 { color: #14213a; }
html[data-theme="light"] .sp-band { background: radial-gradient(80% 120% at 50% 0%, rgb(201 161 74 / .25), transparent 60%), linear-gradient(135deg, #1f3a5e, #1d4a3a); color: #fff; }

/* ---------- Accessibility modes ---------- */
/* Most text here is sized in px, so larger text zooms the page body (supported by every current browser). */
html[data-text="1"] body { zoom: 1.12; } html[data-text="2"] body { zoom: 1.25; }
html[data-contrast="high"] { --mut: #e6ebf5; --sp-mut: #f1f4fa; --line: rgba(255,255,255,.4); }
html[data-contrast="high"] body * { text-shadow: none !important; }
html[data-contrast="high"] p, html[data-contrast="high"] li, html[data-contrast="high"] span, html[data-contrast="high"] small { color: inherit; }
html[data-contrast="high"][data-theme="light"] body { color: #000; }
html[data-contrast="high"] a:focus-visible, html[data-contrast="high"] button:focus-visible { outline: 3px solid #ffd54d !important; outline-offset: 2px; }
html[data-motion="reduce"] *, html[data-motion="reduce"] *::before, html[data-motion="reduce"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-motion="reduce"] .tgm-w, html[data-motion="reduce"] .tgm-fade, html[data-motion="reduce"] .tgm-mark img, html[data-motion="reduce"] .tgm-ln, html[data-motion="reduce"] .tgm-ans, html[data-motion="reduce"] .tgm-rv, html[data-motion="reduce"] .tgm-shine { opacity: 1 !important; transform: none !important; filter: none !important; }
html[data-links="underline"] a:not([class*="btn"]):not([class*="cta"]):not(.sp-brand):not(.brand) { text-decoration: underline !important; text-underline-offset: 3px; }
html[data-font="readable"] body, html[data-font="readable"] body * { font-family: Verdana, Tahoma, system-ui, sans-serif !important; letter-spacing: .01em !important; line-height: 1.7; }
:focus-visible { outline: 2px solid #e8c77a; outline-offset: 2px; }

.tgp-skip { position: absolute; left: 12px; top: -60px; z-index: 2000; background: #e8c77a; color: #0a1730; padding: 10px 14px; border-radius: 8px; font-weight: 700; text-decoration: none; }
.tgp-skip:focus { top: 12px; }

/* ---------- The settings button, panel and cookie banner ---------- */
.tgp-fab { position: fixed; left: 16px; bottom: 16px; z-index: 1200; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(232,199,122,.55);
  background: rgba(10,23,48,.92); color: #e8c77a; cursor: pointer; display: grid; place-items: center; box-shadow: 0 10px 30px -10px rgba(0,0,0,.6); }
.tgp-fab svg { width: 22px; height: 22px; }
html[data-theme="light"] .tgp-fab { background: #fff; color: #1f3a5e; border-color: #d8bf7d; }
.tgp-panel, .tgp-banner { position: fixed; z-index: 1300; font: 14px/1.5 'Inter', system-ui, sans-serif; color: #fff; background: #0d1b36; border: 1px solid rgba(214,228,255,.16);
  box-shadow: 0 30px 80px -20px rgba(0,0,0,.75); border-radius: 18px; }
html[data-theme="light"] .tgp-panel, html[data-theme="light"] .tgp-banner { background: #fff; color: #14213a; border-color: #e3dccb; }
.tgp-panel { left: 16px; bottom: 74px; width: min(360px, calc(100vw - 32px)); max-height: calc(100vh - 100px); overflow: auto; padding: 18px; display: none; }
.tgp-panel.open { display: block; }
.tgp-panel h2 { font: 700 18px 'Playfair Display', Georgia, serif; margin: 0 0 4px; }
.tgp-panel h3 { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: #e8c77a; margin: 16px 0 8px; }
html[data-theme="light"] .tgp-panel h3 { color: #8a6a1f; }
.tgp-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 4px; border-radius: 12px; background: rgba(214,228,255,.07); }
html[data-theme="light"] .tgp-seg { background: #f1ece1; }
.tgp-seg button { border: 0; border-radius: 9px; padding: 9px 6px; font: 600 13px 'Inter', sans-serif; color: inherit; background: transparent; cursor: pointer; }
.tgp-seg button[aria-pressed="true"] { background: linear-gradient(180deg, #edd18c, #c2a24c); color: #0a1730; }
.tgp-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid rgba(214,228,255,.09); }
html[data-theme="light"] .tgp-row { border-color: #ece6d8; }
.tgp-row span small { display: block; opacity: .65; font-size: 12px; }
.tgp-sw { position: relative; flex: none; width: 44px; height: 26px; border-radius: 99px; border: 0; cursor: pointer; background: rgba(214,228,255,.2); }
.tgp-sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.tgp-sw[aria-checked="true"] { background: #2E7D4F; }
.tgp-sw[aria-checked="true"]::after { transform: translateX(18px); }
.tgp-sw[disabled] { opacity: .55; cursor: default; }
.tgp-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.tgp-btn { border: 0; cursor: pointer; border-radius: 11px; padding: 11px 16px; font: 700 13.5px 'Inter', sans-serif; }
.tgp-btn.gold { color: #0a1730; background: linear-gradient(180deg, #edd18c, #c2a24c); }
.tgp-btn.ghost { color: inherit; background: rgba(214,228,255,.08); border: 1px solid rgba(214,228,255,.2); }
html[data-theme="light"] .tgp-btn.ghost { background: #fff; border-color: #d9d1bf; }
.tgp-banner { left: 50%; transform: translateX(-50%); bottom: 16px; width: min(760px, calc(100vw - 24px)); padding: 18px 20px; display: none; }
.tgp-banner.open { display: block; }
.tgp-banner p { margin: 0; color: inherit; opacity: .85; }
.tgp-banner a { color: #e8c77a; } html[data-theme="light"] .tgp-banner a { color: #1f3a5e; }
.tgp-banner b { font-size: 15px; display: block; margin-bottom: 4px; opacity: 1; }
@media (max-width: 640px) { .tgp-banner { bottom: 8px; } .tgp-fab { bottom: 12px; left: 12px; } }

/* ---------- Light mode: the hero window turns into a light app window ---------- */
html[data-theme="light"] .tgm-win { background: linear-gradient(180deg, #ffffff, #f7f4ec); border-color: #dcd3bf; box-shadow: 0 40px 100px -40px rgba(20,33,58,.35), 0 0 0 1px rgba(201,161,74,.12); color: #14213a; }
html[data-theme="light"] .tgm-bar { color: #5b6980; border-color: #e7e0cf; }
html[data-theme="light"] .tgm-bar > i { background: #d9d1bf; }
html[data-theme="light"] .tgm-tab { color: #5b6980; } html[data-theme="light"] .tgm-tab.on { color: #14213a; background: #efe9dc; }
html[data-theme="light"] .tgm-side { border-color: #ece6d8; }
html[data-theme="light"] .tgm-side a, html[data-theme="light"] .tgm-side span { color: #4b5870; }
html[data-theme="light"] .tgm-side .on { background: #f6ecd2; color: #14213a; }
html[data-theme="light"] .tgm-side i { background: #ddd5c3; }
html[data-theme="light"] .tgm-subt, html[data-theme="light"] .tgm-total, html[data-theme="light"] .tgm-note, html[data-theme="light"] .tgm-ring span { color: #5b6980; }
html[data-theme="light"] .tgm-title, html[data-theme="light"] .tgm-total b, html[data-theme="light"] .tgm-ring b { color: #14213a; }
html[data-theme="light"] .tgm-ln { background: #fbf9f4; border-color: #ece6d8; color: #14213a; }
html[data-theme="light"] .tgm-ln .ok { color: #2E7D4F; }
html[data-theme="light"] .tgm-step { background: #efe9dc; color: #5b6980; }
html[data-theme="light"] .tgm-step.done { background: #dff1e7; color: #1f5c3a; }
html[data-theme="light"] .tgm-pane { border-color: #ece6d8; background: linear-gradient(180deg, #f3f6fb, #eef6f1); }
html[data-theme="light"] .tgm-me { background: #1f3a5e; color: #fff; }
html[data-theme="light"] .tgm-ans { background: #fff; border-color: #e3dccb; color: #14213a; }
html[data-theme="light"] .tgm-ans b { color: #8a6a1f; }
html[data-theme="light"] .tgm-ring .bg { stroke: #e7e0cf; }
html[data-theme="light"] .tgm-bars span { background: #e3dccb; }
html[data-theme="light"] .tgm-float { background: #fff; color: #14213a; border-color: #e3dccb; box-shadow: 0 20px 40px -18px rgba(20,33,58,.35); }
html[data-theme="light"] .tgm-float b { color: #8a6a1f; } html[data-theme="light"] .tgm-float .g { color: #2E7D4F; }
html[data-theme="light"] .tgm-live { color: #2E7D4F; }
html[data-theme="light"] .tgm-label { color: #8a6a1f; }
html[data-theme="light"] .tgm-dots { background: #efe9dc; } html[data-theme="light"] .tgm-dots i { background: #8a97ad; }
html[data-theme="light"] .tgm-win::after { background: radial-gradient(420px circle at var(--mx) var(--my), rgba(201,161,74,.08), transparent 60%); }
/* Top bars of the older pages follow the theme */
html[data-theme="light"] nav.top { background: rgba(246,243,238,.92) !important; border-bottom: 1px solid #e3dccb !important; }
html[data-theme="light"] nav.top a:not(.cta):not(.btn) { color: #2b3a4a !important; }
html[data-theme="light"] nav.top .brand, html[data-theme="light"] nav.top .brand * { color: #14213a !important; }
html[data-theme="light"] #tg-burger { color: #14213a !important; }

/* Light mode: form fields built for dark panels (tg2026 .fld / .field) */
html[data-theme="light"] .fld input, html[data-theme="light"] .fld select, html[data-theme="light"] .fld textarea,
html[data-theme="light"] .field input, html[data-theme="light"] .field select, html[data-theme="light"] .field textarea {
  background: #fff; color: #14213a; border-color: #d9d1c1;
}
html[data-theme="light"] .fld input::placeholder, html[data-theme="light"] .field input::placeholder,
html[data-theme="light"] .fld textarea::placeholder, html[data-theme="light"] .field textarea::placeholder { color: #7a8597; }

/* Cookie banner eases in once, after the page has settled, instead of popping over it. */
@keyframes tgpIn { from { opacity: 0; transform: translate(-50%, 14px); } to { opacity: 1; transform: translate(-50%, 0); } }
.tgp-banner.open { animation: tgpIn .35s ease-out .6s both; }
html[data-motion="reduce"] .tgp-banner.open { animation: none; }
@media (prefers-reduced-motion: reduce) { .tgp-banner.open { animation: none; } }
