/* ECCnew2 LOOK previews - html[data-ecc-look="hybrid|dark|toggle"].
   No data-ecc-look = current site, nothing here applies except the Look pill. */

/* ---------- Look pill (bottom-left, right of Seasons) ---------- */
.ecc-look-dock {
  position: fixed;
  left: 140px; /* JS snaps it next to the Seasons pill */
  bottom: 14px;
  z-index: 59;
  font-family: "Source Sans 3", system-ui, sans-serif;
}
.ecc-look-dock-toggle {
  display: inline-flex; align-items: center; gap: .4rem;
  margin: 0; padding: .45rem .85rem .45rem .65rem;
  border: 1px solid rgba(148, 163, 184, .55);
  border-radius: 999px;
  background: #0f1c26; color: #f1f5f9;
  font: 650 .82rem/1.2 "Source Sans 3", system-ui, sans-serif;
  letter-spacing: .02em; cursor: pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,.28);
}
.ecc-look-dock-toggle strong { color: #7dd3fc; font-weight: 750; }
.ecc-look-dock-ico {
  width: 14px; height: 14px; border-radius: 50%;
  background: linear-gradient(90deg, #0b1220 50%, #f8fafc 50%);
  border: 1px solid #94a3b8;
}
.ecc-look-dock-toggle:hover, .ecc-look-dock.is-open .ecc-look-dock-toggle { border-color: #38bdf8; }
.ecc-look-dock-panel {
  position: absolute; left: 0; bottom: calc(100% + 8px);
  width: min(270px, calc(100vw - 24px));
  padding: 12px; border-radius: 12px;
  border: 1px solid #334155; background: #0f1c26; color: #f1f5f9;
  box-shadow: 0 14px 36px rgba(0,0,0,.45);
  display: grid; gap: 6px;
}
.ecc-look-dock-panel[hidden] { display: none !important; }
.ecc-look-dock-title {
  margin: 0 0 2px; font-size: .68rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: #cbd5e1;
}
.ecc-look-opt {
  text-align: left; padding: .55rem .7rem; border-radius: 8px; cursor: pointer;
  border: 1px solid #334155; background: #142532; color: #f1f5f9;
  font: 600 .86rem/1.25 "Source Sans 3", system-ui, sans-serif;
}
.ecc-look-opt:hover { border-color: #38bdf8; }
.ecc-look-opt.is-on { border-color: #38bdf8; background: #0c4a6e; color: #fff; }
.ecc-look-dock-link { margin-top: 4px; font-size: .8rem; font-weight: 650; color: #7dd3fc; }
body.ecc-quote-modal-open .ecc-look-dock { visibility: hidden; pointer-events: none; }

/* ---------- Toggle look: visible light/dark switch in the header ---------- */
.ecc-scheme-switch {
  display: inline-flex; align-items: center; gap: .45rem;
  margin-right: .6rem; padding: .38rem .75rem .38rem .45rem;
  border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(148, 163, 184, .6);
  background: #0f1c26; color: #f1f5f9;
  font: 700 .8rem/1 "Source Sans 3", system-ui, sans-serif; letter-spacing: .04em;
}
.ecc-scheme-switch-ico {
  position: relative; width: 34px; height: 18px; border-radius: 999px;
  background: #334155; transition: background .2s;
}
.ecc-scheme-switch-ico::after {
  content: ""; position: absolute; top: 2px; left: 18px; width: 14px; height: 14px;
  border-radius: 50%; background: #e2e8f0; transition: left .2s;
}
html[data-scheme="light"] .ecc-scheme-switch { background: #fff; color: #0f172a; border-color: rgba(15,23,42,.25); }
html[data-scheme="light"] .ecc-scheme-switch-ico { background: #fbbf24; }
html[data-scheme="light"] .ecc-scheme-switch-ico::after { left: 2px; background: #fff; }
.ecc-scheme-switch:focus-visible, .ecc-look-dock-toggle:focus-visible, .ecc-look-opt:focus-visible {
  outline: 2px solid #38bdf8; outline-offset: 2px;
}
@media (max-width: 700px) {
  .ecc-scheme-switch-label { display: none; }
  .ecc-scheme-switch { padding: .38rem .45rem; margin-right: .35rem; }
}

/* =====================================================================
   DARK content set - used by look=dark and look=toggle (dark state).
   Solid dark surfaces, near-white headings, light-grey body, no mush.
   ===================================================================== */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) {
  --lk-bg: #071119;
  --lk-band: #0b1822;
  --lk-band-2: #0e1f2b;
  --lk-card: #12283a;
  --lk-card-2: #163246;
  --lk-ink: #f4f8fb;
  --lk-body: #d6e3ea;
  --lk-muted: #b4c7d1;
  --lk-line: rgba(148, 197, 220, 0.26);
  --lk-link: #7dd3fc;
  --lk-eyebrow: color-mix(in srgb, var(--season-accent, #2eb5e0) 55%, #ffffff);
  --bg: var(--lk-bg);
  --bg-2: var(--lk-band);
  --bg-3: var(--lk-band-2);
  --surface: var(--lk-card);
  --input-bg: #0a1620;
  --text: var(--lk-ink);
  --muted: var(--lk-muted);
  --lead: var(--lk-body);
  --line: var(--lk-line);
  --nav: rgba(232, 244, 250, 0.86);
  --nav-strong: #ffffff;
  --foot-link: #dbe7ee;
  --hero-lead: rgba(244, 248, 251, 0.9);
  --hero-veil-0: rgba(7, 17, 25, 0.95);
  --hero-veil-1: rgba(7, 17, 25, 0.86);
  --hero-veil-2: rgba(7, 17, 25, 0.5);
  --hero-veil-3: rgba(7, 17, 25, 0.15);
  --hero-veil-4: rgba(7, 17, 25, 0.05);
  --band-bg: rgba(10, 22, 32, 0.92);
  color-scheme: dark;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) body { background: var(--lk-bg); color: var(--lk-body); }

/* Bands that were hard-coded light */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-pains, .ecc-band-steel, .ecc-services, .ecc-band-paper, .ecc-sets, .ecc-team, .ecc-faq, #request, .ecc-svc-body, .ecc-hoa-main) {
  background: var(--lk-band) !important;
  background-image: none !important;
  color: var(--lk-body) !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-band-steel, .ecc-team, #request) { background: var(--lk-band-2) !important; }

/* Cards */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-pain-grid article, .ecc-pains article, .ecc-service-block, .ecc-service-body, .ecc-team-card,
       .ecc-portal-band, .ecc-hoa-band, .ecc-faq-list details, .ecc-faq details, .ecc-sheet-preview, .ecc-sheet-cap,
       .ecc-hoa-tasks, .ecc-svc-body .ecc-check li, .ecc-trust li, .ecc-portal-roles li, .ecc-sheet-card,
       .ecc-hoa-mock, .ecc-builder, .ecc-builder-bar, .ecc-price-card, .ecc-hoa-price, .ecc-hoa-pricing article) {
  background: var(--lk-card) !important;
  background-image: none !important;
  border-color: var(--lk-line) !important;
  color: var(--lk-body) !important;
  box-shadow: none;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-service-block .ecc-service-body { background: transparent !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-service-media,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-service-block img { background-color: #0a1620 !important; }

/* Ink: headings near-white, body light grey, everything readable */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(main, .ecc-quote-modal) :is(h1, h2, h3, h4, h5, summary, dt, strong, th) { color: var(--lk-ink) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main :is(p, li, dd, td, label, figcaption, small, address, blockquote),
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main :is(.ecc-section-lead, .ecc-team-lead, .ecc-req-note, .ecc-hoa-tasks-lead, .lead, .ecc-hoa-related) {
  color: var(--lk-body) !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-band-steel .ecc-service-body > p:not(.ecc-service-kicker):not(.ecc-service-actions), .ecc-band-steel .ecc-service-dels li) {
  color: var(--lk-body) !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main :is(.eyebrow, .ecc-service-kicker, .ecc-team-role, .area),
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-foot .eyebrow { color: var(--lk-eyebrow) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main a:not(.cta-primary):not(.cta-ghost):not(.ecc-btn):not([class*="leaflet"]):not(.leaflet-container a),
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main :is(.ecc-team-trust, .ecc-price),
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-band-steel .ecc-service-actions a:not(.cta-ghost) { color: var(--lk-link) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main .ecc-hero-cta .cta-ghost,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main .cta-ghost,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main a.cta-ghost,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-band-steel .ecc-service-actions .cta-ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(226, 240, 247, 0.7) !important;
  box-shadow: none !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main :is(.cta-ghost, a.cta-ghost):hover { background: rgba(255, 255, 255, 0.1) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-btn { color: var(--lk-ink); border-color: var(--lk-line); }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-btn.is-on, .ecc-btn:hover) { color: #0b1220 !important; background: var(--lk-eyebrow) !important; }
/* season accent CTAs: keep the accent, make the label dark when the accent is light */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-hero-veil {
  background:
    linear-gradient(180deg, rgba(7,17,25,.55) 0%, rgba(7,17,25,.2) 38%, rgba(7,17,25,.8) 100%),
    linear-gradient(105deg, rgba(7,17,25,.94) 0%, rgba(7,17,25,.82) 30%, rgba(7,17,25,.35) 62%, transparent 82%) !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-slide { background-color: #0a1620 !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-svc-hero {
  background:
    linear-gradient(105deg, rgba(7,17,25,.96) 0%, rgba(7,17,25,.86) 40%, rgba(7,17,25,.45) 100%),
    #0b1822 !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-svc-hero::before { opacity: .4; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-hero-brand, .ecc-hero-title, .ecc-svc-hero h1) { color: #ffffff !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-hero-sub, .ecc-svc-hero .lead) { color: var(--lk-body) !important; }

/* Header + mobile nav */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-top { background: rgba(7, 17, 25, 0.94) !important; border-bottom-color: var(--lk-line) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-top-nav a { color: var(--nav); }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-top-nav a.is-here,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-top-nav a[aria-current="page"] { color: var(--lk-link) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-mobile-nav { background: #071119; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) #ecc-menu-btn { color: #fff; border-color: var(--lk-line); background: transparent; }

/* Forms (page + quote modal): dark inputs, white text, visible borders */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-form, .ecc-quote-modal .ecc-form) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, select),
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) main select {
  background: #0a1620 !important;
  color: #f4f8fb !important;
  border: 1px solid rgba(148, 197, 220, 0.5) !important;
}
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-form, .ecc-quote-modal) :is(input, textarea)::placeholder { color: #9fb4bf !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-form, .ecc-quote-modal) :is(input, textarea, select):focus { outline: 2px solid #38bdf8; outline-offset: 1px; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) :is(.ecc-form-note, .ecc-quote-field > span em) { color: var(--lk-muted) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-altcha,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) altcha-widget.ecc-altcha {
  --altcha-color-base: #0a1620;
  --altcha-color-base-content: #f4f8fb;
  --altcha-border-color: rgba(148, 197, 220, 0.5);
}

/* Quote modal (full-screen, overlay is still the only scroller) */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-panel,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-head { background: #0b1822 !important; color: var(--lk-body) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-head { border-bottom-color: var(--lk-line) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-head h2,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-field > span { color: #ffffff !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-eyebrow { color: var(--lk-eyebrow) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-lead { color: var(--lk-body) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal-close { background: rgba(255, 255, 255, 0.1) !important; color: #fff !important; }

/* Footer + strips */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) footer.ecc-foot { background: #050d13 !important; color: var(--lk-body); border-top-color: var(--lk-line); }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-foot p { color: var(--lk-muted) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-foot a { color: #e2edf3 !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-foot a:hover { color: var(--lk-link) !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-season-banner { color: var(--lk-ink); background: color-mix(in srgb, var(--season-accent, #1a8fb8) 18%, #071119); }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-season-banner-label { color: var(--lk-eyebrow); border-color: color-mix(in srgb, var(--lk-eyebrow) 55%, transparent); }

/* HOA board demo keeps its white canvas/map (it's a drawing) but the side list goes dark */
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-hoa-tasks li,
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-hoa-tasks button { color: var(--lk-ink); }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-hoa-tasks button { background: var(--lk-card-2); border: 1px solid var(--lk-line); }

/* =====================================================================
   LIGHT content set - look=hybrid content bands + look=toggle (light state).
   Fix the existing light-scheme weak spots: pale orange eyebrows,
   cyan links/ghost buttons at ~2.4:1 on white.
   ===================================================================== */
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) {
  --lk-eyebrow-l: color-mix(in srgb, var(--season-accent, #1a8fb8) 58%, #111827);
  --lk-link-l: #0b6585;
  --muted: #3f4f5f;
  --lead: #334155;
}
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main :is(.eyebrow, .ecc-service-kicker),
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) .ecc-foot .eyebrow,
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) .ecc-band-steel :is(.eyebrow, .ecc-service-kicker) { color: var(--lk-eyebrow-l) !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main :is(.ecc-team-role, .ecc-team-trust, .ecc-price, .area),
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main a:not(.cta-primary):not(.cta-ghost):not(.ecc-btn):not([class*="leaflet"]):not(.leaflet-container a) { color: var(--lk-link-l) !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main :is(.cta-ghost, a.cta-ghost) { color: var(--lk-link-l) !important; border-color: color-mix(in srgb, var(--lk-link-l) 55%, transparent) !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) :is(.ecc-btn.is-on, .ecc-btn:hover) { background: var(--lk-eyebrow-l) !important; color: #fff !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) .ecc-top-nav a.is-here,
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) .ecc-top-nav a[aria-current="page"] { color: var(--lk-link-l) !important; }
/* dark strips that live inside light pages keep light ink */
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main :is(.ecc-path, .ecc-who, .ecc-trust-strip, .ecc-hoa-outcomes) :is(.eyebrow) { color: #7dd3fc !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main .ecc-trust-strip strong { color: color-mix(in srgb, var(--season-accent-2, #2eb5e0) 50%, #ffffff) !important; }
:is(html[data-theme][data-ecc-look="hybrid"], html[data-theme][data-ecc-look="toggle"][data-scheme="light"]) main .ecc-trust-strip :is(li, span) { color: #e2edf3 !important; }

/* =====================================================================
   HYBRID chrome: dark nav, hero, footer, CTA strips over light content.
   Re-declares the dark tokens on those blocks so var()-driven rules flip.
   ===================================================================== */
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-top, .ecc-mobile-nav, .ecc-hero, .ecc-svc-hero, footer.ecc-foot, .ecc-sticky-cta, .ecc-season-banner, .ecc-path, .ecc-trust-strip) {
  --bg: #071119;
  --bg-2: #0b1822;
  --bg-3: #0e1f2b;
  --text: #f4f8fb;
  --muted: #b4c7d1;
  --lead: #d6e3ea;
  --line: rgba(148, 197, 220, 0.26);
  --nav: rgba(232, 244, 250, 0.86);
  --nav-strong: #ffffff;
  --foot-link: #e2edf3;
  --hero-lead: rgba(244, 248, 251, 0.9);
  --accent: #2eb5e0;
  --accent-2: #6ed4f5;
  color-scheme: dark;
}
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top { background: rgba(7, 17, 25, 0.95) !important; border-bottom-color: rgba(148,197,220,.22) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top .ecc-brand { color: #fff; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top-nav a { color: rgba(232, 244, 250, 0.86) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top-nav a:hover,
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top-nav a.is-here,
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-top-nav a[aria-current="page"] { color: #7dd3fc !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) #ecc-menu-btn { color: #fff; border-color: rgba(148,197,220,.4); background: transparent; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-mobile-nav { background: #071119; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-mobile-nav a { color: #fff; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-slide { background-color: #0a1620 !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-hero-veil {
  background:
    linear-gradient(180deg, rgba(7,17,25,.55) 0%, rgba(7,17,25,.2) 38%, rgba(7,17,25,.8) 100%),
    linear-gradient(105deg, rgba(7,17,25,.94) 0%, rgba(7,17,25,.82) 30%, rgba(7,17,25,.35) 62%, transparent 82%) !important;
}
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-svc-hero {
  background:
    linear-gradient(105deg, rgba(7,17,25,.96) 0%, rgba(7,17,25,.86) 40%, rgba(7,17,25,.45) 100%),
    #0b1822 !important;
}
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-svc-hero::before { opacity: .4; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero-brand, .ecc-hero-title, .ecc-svc-hero h1) { color: #ffffff !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero-sub, .ecc-svc-hero .lead) { color: #d6e3ea !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero, .ecc-svc-hero) :is(.eyebrow, .area) { color: color-mix(in srgb, var(--season-accent, #2eb5e0) 55%, #ffffff) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero, .ecc-svc-hero) :is(p, li, figcaption):not(.eyebrow):not(.area):not(.ecc-hero-brand) { color: #d6e3ea; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero, .ecc-svc-hero) :is(.cta-ghost, a.cta-ghost) {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(226, 240, 247, 0.7) !important;
  box-shadow: none !important;
}
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero, .ecc-svc-hero) :is(.cta-ghost, a.cta-ghost):hover { background: rgba(255,255,255,.1) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) :is(.ecc-hero, .ecc-svc-hero) .ecc-trust li { background: rgba(7,17,25,.6) !important; color: #e2edf3 !important; border-color: rgba(148,197,220,.4) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) footer.ecc-foot { background: #050d13 !important; color: #d6e3ea; border-top-color: rgba(148,197,220,.22); }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot p { color: #b4c7d1 !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot a { color: #e2edf3 !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot a:hover { color: #7dd3fc !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot .eyebrow { color: color-mix(in srgb, var(--season-accent, #2eb5e0) 55%, #ffffff) !important; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot strong { color: #fff; }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-season-banner { color: #f4f8fb; background: color-mix(in srgb, var(--season-accent, #1a8fb8) 18%, #071119); }
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-season-banner-label { color: color-mix(in srgb, var(--season-accent, #2eb5e0) 55%, #ffffff); }

/* Leaflet attribution sits on its own white chip - keep it dark ink in every look */
html[data-theme][data-ecc-look][data-scheme] main .leaflet-control-attribution,
html[data-theme][data-ecc-look][data-scheme] main .leaflet-control-attribution :is(a, span) { color: #1f2937 !important; }
html[data-theme][data-ecc-look][data-scheme] main .leaflet-control-attribution a { color: #0b6585 !important; }
html[data-theme][data-ecc-look][data-scheme] main .leaflet-bar a { color: #0f172a !important; background: #fff !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-quote-modal .ecc-form { background: transparent !important; border: 0 !important; padding: 0 !important; }

:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-form { background: transparent !important; border: 0 !important; }
:is(html[data-theme][data-ecc-look="dark"], html[data-theme][data-ecc-look="toggle"][data-scheme="dark"]) .ecc-foot .ecc-brand,
:is(html[data-theme][data-ecc-look="hybrid"][data-scheme]) .ecc-foot .ecc-brand { color: #ffffff !important; }

/* Toggle look, LIGHT state: the old light hero let the sheet linework fight the copy. Stronger paper veil + dark ink. */
html[data-theme][data-ecc-look="toggle"][data-scheme="light"] .ecc-hero-veil {
  background:
    linear-gradient(180deg, rgba(247,249,252,.6) 0%, rgba(247,249,252,.25) 40%, rgba(247,249,252,.85) 100%),
    linear-gradient(105deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.93) 38%, rgba(255,255,255,.6) 62%, rgba(255,255,255,.15) 85%) !important;
}
html[data-theme][data-ecc-look="toggle"][data-scheme="light"] :is(.ecc-hero-brand, .ecc-hero-title, .ecc-svc-hero h1) { color: #0b1220 !important; }
html[data-theme][data-ecc-look="toggle"][data-scheme="light"] :is(.ecc-hero-sub, .ecc-hero-micro, .ecc-hero-faces figcaption, .ecc-svc-hero .lead) { color: #1e293b !important; }
html[data-theme][data-ecc-look="toggle"][data-scheme="light"] .ecc-svc-hero {
  background: linear-gradient(105deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.9) 45%, rgba(255,255,255,.55) 100%), #f7f9fc !important;
}

/* ===== hero center (20261009herocenter1): veil follows the centered copy instead of the old left column ===== */
html[data-theme]:is([data-scheme="dark"], [data-ecc-look="dark"], [data-ecc-look="hybrid"]) body.ecc-page-home .ecc-hero-veil {
  background:
    linear-gradient(180deg, rgba(7,17,25,.5) 0%, rgba(7,17,25,.22) 40%, rgba(7,17,25,.7) 100%),
    radial-gradient(ellipse 60% 68% at 50% 54%, rgba(7,17,25,.9) 0%, rgba(7,17,25,.78) 45%, rgba(7,17,25,.42) 78%, rgba(7,17,25,.2) 100%) !important;
}
html[data-theme][data-scheme="light"]:not([data-ecc-look="dark"]):not([data-ecc-look="hybrid"]) body.ecc-page-home .ecc-hero-veil {
  background:
    linear-gradient(180deg, rgba(247,249,252,.55) 0%, rgba(247,249,252,.2) 40%, rgba(247,249,252,.8) 100%),
    radial-gradient(ellipse 60% 68% at 50% 54%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 45%, rgba(255,255,255,.5) 78%, rgba(255,255,255,.22) 100%) !important;
}
