/* Homepage-only themes. Shared site styles and secondary pages stay untouched. */
html[data-home-theme] {
  color-scheme: light;
  --ht-bg: #fff;
  --ht-soft: #f8f6f1;
  --ht-card: #fff;
  --ht-ink: #102a43;
  --ht-muted: #526372;
  --ht-gold: #886224;
  --ht-line: #d4dce1;
  --ht-hover: #f0f3f5;
  --ht-header: #051626;
  --ht-nav: #e4eaf0;
  --ht-nav-line: #647383;
  --ht-header-gold: #e5c98f;
  --ht-logo-filter: brightness(0) invert(1);
  --ht-hero-ink: #fff;
  --ht-hero-muted: #d4dee7;
  --ht-hero-gold: #e5c98f;
  --ht-hero-bg: #06182a;
  --ht-hero-shade: rgba(2,15,27,.26);
  --ht-trust: #051626;
  --ht-trust-line: #4c5d6e;
  --ht-case-bg: #061a2d;
  --ht-case-card: #0b2941;
  --ht-case-hover: #12334c;
  --ht-case-ink: #f4f7fa;
  --ht-case-muted: #b9c8d4;
  --ht-case-gold: #e5c98f;
  --ht-case-line: #42596b;
  --ht-footer-bg: #051525;
  --ht-footer-ink: #e0e7ee;
  --ht-footer-muted: #b9c8d4;
  --ht-footer-line: #405263;
  --ht-footer-filter: brightness(0) invert(1);
}
html[data-home-theme="daylight"] {
  --ht-bg: #fcfcfa;
  --ht-section-sand: #f3ede3;
  --ht-contact-bg: #e8eff5;
  --ht-soft: #f5f8fa;
  --ht-header: rgba(255,255,255,.97);
  --ht-nav: #18334a;
  --ht-nav-line: #c7d2db;
  --ht-header-gold: #886224;
  --ht-logo-filter: none;
  --ht-hero-ink: #102a43;
  --ht-hero-muted: #29445b;
  --ht-hero-gold: #916823;
  --ht-hero-bg: #edf5fa;
  --ht-hero-shade: linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 28%,rgba(255,255,255,.56) 47%,rgba(255,255,255,.06) 73%);
  --ht-trust: #e8eff5;
  --ht-trust-line: #d4dfe7;
  --ht-case-bg: #e8eff5;
  --ht-case-card: #fff;
  --ht-case-hover: #edf3f7;
  --ht-case-ink: #102a43;
  --ht-case-muted: #526372;
  --ht-case-gold: #886224;
  --ht-case-line: #cedae3;
  --ht-footer-bg: #dde6ee;
  --ht-footer-ink: #18334a;
  --ht-footer-muted: #526372;
  --ht-footer-line: #bdccd8;
  --ht-footer-filter: none;
}
html[data-home-theme="night"] {
  color-scheme: dark;
  --ht-trust: #0b2235;
  --ht-bg: #061a2d;
  --ht-soft: #0b2235;
  --ht-card: #102c42;
  --ht-ink: #edf3f8;
  --ht-muted: #b6c7d5;
  --ht-gold: #e5c98f;
  --ht-line: #40586c;
  --ht-hover: #153449;
}
html[data-home-theme] body.home-productized {
  --ink: var(--ht-ink);
  --muted: var(--ht-muted);
  --line: var(--ht-line);
  --evidence-ink: var(--ht-ink);
  --evidence-paper: var(--ht-soft);
  --evidence-line: var(--ht-line);
  --evidence-gold: var(--ht-gold);
  color: var(--ht-ink);
  background: var(--ht-bg);
}
html[data-home-theme] .home-productized main,
html[data-home-theme] .home-productized :is(.pz-services,.home-news,.pz-decision) { background: var(--ht-bg); }
html[data-home-theme] .home-productized :is(.home-proof,.home-evidence-index) { background: var(--ht-soft); }
/* Approved daylight rhythm: paper, sand and mist blue. Do not reuse the
   general soft-card token for every section or alter the other two themes. */
html[data-home-theme="daylight"] .home-productized .home-evidence-index { background: var(--ht-bg); }
html[data-home-theme="daylight"] .home-productized :is(.pz-services,.home-proof) { background: var(--ht-section-sand); }
html[data-home-theme] .home-productized .header,
html[data-home-theme] .home-productized .header.scrolled {
  color: var(--ht-nav); background: var(--ht-header); border-color: var(--ht-nav-line);
  box-shadow: 0 1px 0 var(--ht-nav-line);
}
html[data-home-theme] .home-productized .nav-wrap { gap: 22px; }
html[data-home-theme] .home-productized .header nav { gap: 24px; }
html[data-home-theme] .home-productized .brand { flex-shrink: 0; }
html[data-home-theme] .home-productized .brand img { filter: var(--ht-logo-filter); }
html[data-home-theme] .home-productized .header nav a,
html[data-home-theme] .home-productized .header nav a[aria-current="location"] { color: var(--ht-nav); }
html[data-home-theme] .home-productized .header nav a:is(:hover,:focus-visible) { color: var(--ht-header-gold); }
html[data-home-theme] .home-productized .header nav a:after { background: var(--ht-header-gold); }
html[data-home-theme] .home-productized .nav-cta { color: var(--ht-nav); border-color: var(--ht-nav-line); background: transparent; white-space: nowrap; }
html[data-home-theme] .home-productized .nav-cta:hover { color: var(--ht-header); background: var(--ht-nav); }
html[data-home-theme] .home-productized .menu-btn i { background: var(--ht-nav); }
html[data-home-theme] .home-productized .announcement { background: var(--ht-header); border-color: var(--ht-nav-line); }
html[data-home-theme] .home-productized .announcement a,
html[data-home-theme] .home-productized .announcement i { color: var(--ht-nav); }
html[data-home-theme] .home-productized .announcement span { color: var(--ht-header-gold); border-color: var(--ht-nav-line); }
html[data-home-theme] .home-productized .pz-hero { background: var(--ht-hero-bg); color: var(--ht-hero-ink); }
html[data-home-theme] .home-productized .pz-hero-shade { background: var(--ht-hero-shade); }
html[data-home-theme] .home-productized .pz-hero h1 { color: var(--ht-hero-ink); }
html[data-home-theme] .home-productized .pz-hero h1 span,
html[data-home-theme] .home-productized .pz-hero .eyebrow { color: var(--ht-hero-gold); }
html[data-home-theme] .home-productized .pz-hero-lead { color: var(--ht-hero-muted); }
html[data-home-theme] .home-productized .pz-hero-content.reveal { opacity: 1; transform: none; }
/* Full-width paint is separate from the centered content grid. Keep the
   original grid height so the hero image crop and following sections stay put. */
html[data-home-theme] .home-productized .pz-trust-band { position: relative; z-index: 3; width: 100%; flex-shrink: 0; background: var(--ht-trust); }
html[data-home-theme] .home-productized .pz-trust-band::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: var(--ht-trust-line); }
html[data-home-theme] .home-productized .pz-trust { width: var(--shell); background: transparent; border-color: var(--ht-trust-line); }
html[data-home-theme] .home-productized .pz-trust a { border-color: var(--ht-trust-line); }
html[data-home-theme] .home-productized .pz-trust strong { color: var(--ht-hero-ink); }
html[data-home-theme] .home-productized .pz-trust span { color: var(--ht-hero-muted); }
html[data-home-theme="daylight"] .home-productized .pz-hero .secondary { color: #102a43; border-color: #647b8e; background: rgba(255,255,255,.74); }
html[data-home-theme="daylight"] .home-productized .pz-hero .secondary:hover { background: #fff; }
.home-productized img[data-theme-asset]:not([src]) { display: none; }
html[data-home-theme] .home-productized :is(.pz-section-head,.home-section-head,.evidence-index-intro,.evidence-ledger,.evidence-ledger>a) { border-color: var(--ht-line); }
html[data-home-theme] .home-productized :is(.pz-section-head h2,.home-section-head h2,.evidence-index-intro h2,.evidence-ledger strong,.pz-service-card h3,.pz-news-card h3,.pz-proof-facts strong,.credential-card h3,.proof-expert h3) { color: var(--ht-ink); }
html[data-home-theme] .home-productized :is(.pz-section-head>a,.home-section-side>a,.evidence-index-intro>a,.evidence-ledger em,.credential-card strong,.privacy-link) { color: var(--ht-ink); border-color: var(--ht-line); }
html[data-home-theme] .home-productized :is(.evidence-index-intro p,.evidence-ledger small,.pz-service-card small,.home-section-side>span,.pz-proof-facts span,.credential-card p,.proof-expert p,.proof-expert h3 small,.credential-boundary) { color: var(--ht-muted); }
html[data-home-theme] .home-productized :is(.pz-section-head .eyebrow,.home-section-head .eyebrow,.pz-service-card p,.pz-news-card time,.credential-card>div>span,.proof-expert>div>span,.pz-stage-grid span) { color: var(--ht-gold); }
html[data-home-theme] .home-productized .evidence-ledger>a:hover { background: var(--ht-hover); }
html[data-home-theme] .home-productized .pz-service-link:before { border-color: var(--ht-line); }
html[data-home-theme="night"] .home-productized .pz-service-link:after { filter: brightness(0) invert(1); }
html[data-home-theme="night"] .home-productized .pz-service-photo img { filter: brightness(.86) saturate(.8); }
html[data-home-theme="night"] .home-productized .pz-service-card:is(:hover,:focus-visible) img { filter: brightness(.97) saturate(.95); }
html[data-home-theme="daylight"] .home-productized .pz-service-photo img { filter: none; }
html[data-home-theme] .home-productized .home-cases { color: var(--ht-case-ink); background: var(--ht-case-bg); }
html[data-home-theme] .home-productized .home-cases .home-section-head,
html[data-home-theme] .home-productized :is(.case-side-item,.case-side-item strong,.home-case-chain,.home-case-chain li) { border-color: var(--ht-case-line); }
html[data-home-theme] .home-productized :is(.case-lead,.case-side-item) { background: var(--ht-case-card); color: var(--ht-case-ink); }
html[data-home-theme] .home-productized .case-side-item:hover { background: var(--ht-case-hover); }
html[data-home-theme] .home-productized :is(.home-cases h2,.case-lead h3,.case-side-item h3,.home-case-chain strong,.home-cases .home-section-side>a) { color: var(--ht-case-ink); border-color: var(--ht-case-line); }
html[data-home-theme] .home-productized :is(.case-lead p,.case-side-item p,.case-disclaimer,.home-case-chain small,.home-cases .home-section-side>span) { color: var(--ht-case-muted); }
html[data-home-theme] .home-productized :is(.case-lead-copy>span,.case-lead strong,.case-side-item>span,.case-side-item strong,.home-case-chain span,.home-cases .eyebrow) { color: var(--ht-case-gold); }
html[data-home-theme="daylight"] .home-productized .case-lead img { filter: none; }
html[data-home-theme] .home-productized :is(.pz-proof-facts,.pz-proof-facts>div,.credential-card strong) { border-color: var(--ht-line); }
html[data-home-theme] .home-productized :is(.pz-proof-facts,.credential-card,.proof-expert,.pz-stage-grid>a) { background: var(--ht-card); }
/* Certificates, directory evidence and the real adviser photo retain their original pixels. */
html[data-home-theme] .home-productized :is(.credential-card figure,.proof-expert picture) { background: #fff; }
html[data-home-theme] .home-productized .pz-stage-grid>a { color: var(--ht-ink); border-color: var(--ht-line); }
html[data-home-theme] .home-productized .pz-stage-grid>a:hover { background: var(--ht-hover); }
html[data-home-theme] .home-productized .pz-stage-grid small { color: var(--ht-muted); }
html[data-home-theme] .home-productized .pz-stage-grid .pz-stage-action { background: var(--ht-soft); border-top: 2px solid var(--ht-gold); }
html[data-home-theme] .home-productized .pz-stage-grid .pz-stage-action:hover { background: var(--ht-hover); }
html[data-home-theme="daylight"] .home-productized .pz-stage-grid .pz-stage-action { background: var(--ht-section-sand); }
html[data-home-theme="daylight"] .home-productized .pz-stage-grid .pz-stage-action:hover { background: #eae1d2; }
html[data-home-theme] .home-productized .home-contact { background: var(--ht-case-bg); color: var(--ht-case-ink); }
html[data-home-theme="daylight"] .home-productized .home-contact { background: var(--ht-contact-bg); }
html[data-home-theme] .home-productized .home-contact h2 { color: var(--ht-case-ink); }
html[data-home-theme] .home-productized :is(.home-contact p,.home-contact-actions>span) { color: var(--ht-case-muted); }
html[data-home-theme] .home-productized .home-contact .eyebrow { color: var(--ht-case-gold); }
html[data-home-theme="daylight"] .home-productized .pz-contact-media { filter: none; opacity: .22; }
html[data-home-theme="daylight"] .home-productized .pz-contact-shade { background: linear-gradient(90deg,rgba(232,239,245,.92),rgba(232,239,245,.6)); }
html[data-home-theme="daylight"] .home-productized .home-contact .button.light { color: #102a43; background: #e4c990; }
html[data-home-theme="daylight"] .home-productized .home-contact .button.outline { color: #102a43; background: #fff; border-color: #647b8e; }
html[data-home-theme] .home-productized .footer { color: var(--ht-footer-muted); background: var(--ht-footer-bg); }
html[data-home-theme] .home-productized .footer-brand img { filter: var(--ht-footer-filter); }
html[data-home-theme] .home-productized .footer-group>summary { color: var(--ht-footer-ink); }
html[data-home-theme] .home-productized :is(.footer-group,.footer-group:last-of-type,.footer-bottom) { border-color: var(--ht-footer-line); }
html[data-home-theme] .home-productized .footer a:hover,
html[data-home-theme] .home-productized .privacy-btn:hover { color: var(--ht-footer-ink); text-decoration: underline; text-underline-offset: 4px; }
html[data-home-theme] .home-productized .privacy { color: var(--ht-ink); background: var(--ht-card); }
html[data-home-theme] .home-productized .privacy p { color: var(--ht-muted); }
html[data-home-theme] .home-productized .dialog-close { color: var(--ht-ink); }
html[data-home-theme="daylight"] .home-productized .back-top { color: #102a43; background: #fff; border-color: #bacbd7; }
html[data-home-theme] .home-productized .mobile-bar { background: var(--ht-card); border-top: 1px solid var(--ht-line); }
html[data-home-theme] .home-productized .mobile-bar a { color: var(--ht-ink); }
html[data-home-theme] .home-productized .mobile-bar a:last-child { color: #102a43; background: #e4c990; }
html[data-home-theme="night"] .home-productized .skip { color: #102a43; }

/* A compact explicit selector rather than a three-way cycling switch. */
.home-productized .appearance { position: relative; flex-shrink: 0; }
.home-productized .appearance[hidden], .home-productized .appearance-panel[hidden] { display: none; }
.home-productized .appearance-toggle {
  min-height: 44px; padding: 9px 8px; display: flex; gap: 8px; align-items: center;
  border: 1px solid transparent; border-radius: 3px; color: var(--ht-nav); background: transparent;
  cursor: pointer; font-size: 13px; white-space: nowrap;
}
.home-productized .appearance-toggle img { width: 16px; height: 16px; filter: var(--ht-logo-filter); }
.home-productized .appearance-toggle:is(:hover,[aria-expanded="true"]) { border-color: var(--ht-nav-line); }
.home-productized .appearance-panel {
  position: absolute; top: calc(100% + 13px); right: 0; z-index: 110;
  width: 310px; max-width: calc(100vw - 32px); max-height: calc(100svh - var(--header) - 20px); overflow-y: auto;
  padding: 18px; border: 1px solid var(--ht-line); border-radius: 6px;
  color: var(--ht-ink); background: var(--ht-card); box-shadow: 0 14px 48px rgba(3,19,32,.18);
}
.appearance-heading { margin: 0 0 12px; font-size: 14px; font-weight: 700; }
.appearance-panel [role="menu"] { display: grid; gap: 7px; }
.appearance-panel [data-theme-choice] {
  width: 100%; min-height: 70px; padding: 10px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 11px;
  border: 1px solid var(--ht-line); border-radius: 3px; text-align: left; color: var(--ht-ink); background: var(--ht-card); cursor: pointer;
}
.appearance-panel [data-theme-choice]:hover { background: var(--ht-hover); }
.appearance-panel [aria-checked="true"] { border-color: var(--ht-gold); box-shadow: inset 0 0 0 1px var(--ht-gold); }
.appearance-panel strong { display: block; font-size: 14px; font-weight: 650; }
.appearance-panel small { display: block; margin-top: 2px; color: var(--ht-muted); font-size: 11px; }
.appearance-panel em { color: var(--ht-gold); font-size: 10px; font-style: normal; visibility: hidden; }
.appearance-panel [aria-checked="true"] em { visibility: visible; }
.appearance-status { margin: 13px 0 0; color: var(--ht-muted); font-size: 11px; line-height: 1.65; }
.appearance-swatch { height: 38px; overflow: hidden; display: grid; grid-template-rows: 1fr 2fr 1fr; border: 1px solid #aab9c6; border-radius: 2px; }
.appearance-swatch i { background: #fff; }
.swatch-daylight i:nth-child(2) { background: #cbe3f2; }
.swatch-daylight i:last-child { background: #f0f5f9; }
.swatch-classic i:first-child { background: #051626; }
.swatch-classic i:nth-child(2) { background: #14354e; }
.swatch-classic i:last-child { background: #f8f6f1; }
.swatch-night i:first-child { background: #051626; }
.swatch-night i:nth-child(2) { background: #102c42; }
.swatch-night i:last-child { background: #061a2d; }

@media (max-width: 1180px) and (min-width: 821px) {
  html[data-home-theme] .home-productized .nav-wrap { gap: 14px; }
  html[data-home-theme] .home-productized .header nav { gap: 17px; }
  html[data-home-theme] .home-productized .nav-cta { padding-inline: 12px; }
}
@media (max-width: 820px) {
  html[data-home-theme] .home-productized .pz-trust a:nth-child(2n) { border-right-color: transparent; }
  html[data-home-theme] .home-productized .pz-trust a:nth-last-child(-n+2) { border-bottom-color: transparent; }
  html[data-home-theme] .home-productized .nav-wrap { gap: 10px; }
  html[data-home-theme] .home-productized .appearance { margin-left: auto; }
  html[data-home-theme] .home-productized .menu-btn { order: 4; margin-left: 0; flex-shrink: 0; }
  html[data-home-theme] .home-productized .header nav { gap: 0; background: var(--ht-card); }
  html[data-home-theme] .home-productized .header nav a,
  html[data-home-theme] .home-productized .header nav a[aria-current="location"] { color: var(--ht-ink); border-color: var(--ht-line); }
  html[data-home-theme] .home-productized .header nav a:is(:hover,:focus-visible) { color: var(--ht-gold); }
  .home-productized .appearance-panel { position: fixed; top: calc(var(--header) + 8px); right: 16px; left: 16px; width: auto; max-width: 310px; margin-left: auto; }
  html[data-home-theme="daylight"] .home-productized .pz-hero-shade { background: linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.8) 52%,rgba(255,255,255,.35)); }
}
@media (max-width: 360px) {
  html[data-home-theme] .home-productized .brand img { width: 132px; }
  html[data-home-theme] .home-productized .nav-wrap { gap: 6px; }
}
@media (prefers-reduced-motion: no-preference) {
  html.home-theme-transition .home-productized :is(main,section,.header,.announcement,.footer,.pz-trust-band,.pz-trust,.pz-trust a,.case-lead,.case-side-item,.pz-proof-facts,.credential-card,.proof-expert,.pz-stage-grid>a,.privacy,.mobile-bar,.appearance-panel) { transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
}
@media (forced-colors: active) {
  .appearance-panel [aria-checked="true"] { outline: 2px solid Highlight; }
}
