/* Customer-only branding and explicit theme preferences. Geometry is inherited. */
html[data-theme='light'] body.customer-site {
  --ink: #102a4c; --body-text: #40536d; --muted: #53637b;
  --primary: #244ed8; --primary-hover: #183cba; --paper: #f3f6fc;
  --surface: #fff; --surface-subtle: #f7f9fd; --border: #dce4ef;
  --accent-soft: #eaf0ff; --accent: #167b6c; --accent-ink: #12675b; --accent-tint: #e5f4ef;
  --success: #166534; --success-soft: #f0fdf4; --warning: #92400e; --warning-soft: #fffbeb;
  --danger: #b91c1c; --danger-soft: #fef2f2; --section-wash: #f0f4fb;
  --control-border: #7d8aa2; --complete-border: #a3c7af; --theme-scheme: light;
  --shadow-1: 0 1px 3px rgb(11 27 58 / 5%); --shadow-2: 0 8px 28px rgb(11 27 58 / 7%);
  --shadow-3: 0 24px 64px rgb(11 27 58 / 10%);
}
html[data-theme='dark'] body.customer-site {
  --ink: #eef2f7; --body-text: #d6dde7; --muted: #b7c1d1;
  --primary: #acbfff; --primary-hover: #d0dcff; --paper: #121212;
  --surface: #1e2026; --surface-subtle: #252830; --border: #465064;
  --accent-soft: #293757; --accent: #84d1c3; --accent-ink: #9ddcd1; --accent-tint: #193d35;
  --success: #86efac; --success-soft: #163329; --warning: #fcd58a; --warning-soft: #332916;
  --danger: #fca5a5; --danger-soft: #351b25; --section-wash: #191b20;
  --control-border: #8191ab; --complete-border: #315d47; --theme-scheme: dark;
  --shadow-1: 0 1px 3px rgb(0 0 0 / 15%); --shadow-2: 0 8px 28px rgb(0 0 0 / 20%);
  --shadow-3: 0 24px 64px rgb(0 0 0 / 25%);
}
html[data-theme] body.customer-site {
  --green: var(--primary); --green-dark: var(--ink); --lime: var(--accent-soft); --white: var(--surface);
  --shadow: var(--shadow-2); --shadow-raised: var(--shadow-3);
  color-scheme: var(--theme-scheme);
}
html[data-theme] body.customer-site a,
html[data-theme] body.customer-site :is(.small-label,.text-link,.text-button) { color: var(--primary); }
html[data-theme] body.customer-site :is(.hero-kicker,.section-kicker) { color: var(--accent-ink); }
html[data-theme] body.customer-site .how-card > .small-label { color: var(--muted); }
html[data-theme] body.customer-site :is(input,textarea,select) { border-color: var(--control-border); }
html[data-theme] body.customer-site .button.primary { background: var(--primary-solid); border-color: var(--primary-solid); color: #fff; }
html[data-theme] body.customer-site .button.primary:hover { background: var(--primary-solid-hover); border-color: var(--primary-solid-hover); color: #fff; }
html[data-theme] body.customer-site .button.secondary { background: var(--surface); color: var(--ink); border-color: var(--control-border); }
html[data-theme] body.customer-site .button.secondary:hover { background: var(--accent-soft); color: var(--primary); border-color: var(--primary); }
html[data-theme] body.customer-site .checklist-item.is-complete { border-color: var(--complete-border); }
html[data-theme] body.customer-site .error-panel { color: var(--danger); background: var(--danger-soft); border-color: var(--border); }

/* The supplied image is unaltered, contained at its original aspect ratio. */
html[data-theme] body.customer-site .brand-mark { display: block; width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; background: #fff; border-radius: 8px; }
html[data-theme] body.customer-site :is(.brand,.brand-link) { font-size: .9375rem; }
html[data-theme] body.customer-site .hero-copy h1 { font-size: clamp(2rem,3.25vw,2.75rem); line-height: 1.18; }

/* Confirmed colors: navy navigation and orange existing offer ribbon. */
html[data-theme] body.customer-site :is(.public-links,.topbar) { background: #1e3a8a; color: #f8fafc; border-bottom-color: #4e68a7; }
html[data-theme] body.customer-site :is(.public-links,.topbar) :is(a,strong,.breadcrumb,.breadcrumb-separator,.connection) { color: #f8fafc; }
html[data-theme] body.customer-site .marketing-links a { font-size: .875rem; }
html[data-theme] body.customer-site .marketing-links a:hover { color: #fff; }
html[data-theme] body.customer-site :is(.public-links,.topbar) .button.primary { background: #fff; border-color: #fff; color: #1e3a8a; }
html[data-theme] body.customer-site :is(.public-links,.topbar) .button.primary:hover { background: #eaf0ff; border-color: #eaf0ff; color: #1e3a8a; }
html[data-theme] body.customer-site :is(.public-links,.topbar) .button.secondary { background: transparent; border-color: #bfcee8; color: #f8fafc; }
html[data-theme] body.customer-site :is(.public-links,.topbar) .button.secondary:hover { background: #29499a; color: #fff; }
html[data-theme] body.customer-site :is(.public-links,.topbar) .icon-button { color: #f8fafc; }
html[data-theme] body.customer-site :is(.public-links,.topbar) :is(button,a):focus-visible { outline-color: #ffb74d; }
html[data-theme] body.customer-site .theme-toggle { display: inline-flex; justify-content: center; align-items: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 10px; border: 1px solid #bfcee8; border-radius: 8px; background: transparent; color: #f8fafc; font: 500 .8125rem/1.4 var(--font-body); white-space: nowrap; }
html[data-theme] body.customer-site .theme-toggle:hover { background: #29499a; }
html[data-theme] body.customer-site .theme-toggle svg { flex-shrink: 0; }
html[data-theme] body.customer-site .offer-banner { background: #ff9800; color: #102a4c; }
html[data-theme] body.customer-site .offer-copy > strong { color: #102a4c; }
html[data-theme] body.customer-site .offer-copy > :is(.badge,p) { color: #392700; }
html[data-theme] body.customer-site .offer-actions .button.primary { background: #1e3a8a; color: #fff; border-color: #1e3a8a; }
html[data-theme] body.customer-site .offer-actions .button.primary:hover { background: #152d70; color: #fff; border-color: #152d70; }
html[data-theme] body.customer-site .offer-actions .button.secondary { background: transparent; color: #102a4c; border-color: #102a4c; }
html[data-theme] body.customer-site .offer-actions .button.secondary:hover { background: #ffb64b; color: #102a4c; }
html[data-theme] body.customer-site .offer-banner :is(button,a):focus-visible { outline-color: #102a4c; }
@media (max-width: 767px) {
  html[data-theme] body.customer-site .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
  html[data-theme] body.customer-site .theme-mode { display: none; }
  html[data-theme] body.customer-site .hero-copy h1 { font-size: clamp(2rem,5.8vw,2.5rem); }
}
