/* Adaptive colors are opt-in: legacy, process and legal pages keep their styles. */
html[data-theme-enabled]{
  color-scheme:dark;
  --color-input-border:var(--palette-muted);
  --color-control-border:var(--palette-muted);
  --theme-brand-background:var(--palette-brand-night);
  --theme-brand-text:var(--palette-brand-fog);
  --theme-brand-muted:#ACBAC9;
  --theme-brand-accent-text:var(--palette-brand-mint);
  --theme-brand-secondary-text:var(--palette-brand-gold);
  --theme-header-background:linear-gradient(180deg,rgba(7,13,23,.92),rgba(7,13,23,.55));
  --theme-language-background:rgba(14,27,48,.4);
  --theme-claim-background:rgba(14,27,48,.5);
  --theme-scope-background:rgba(14,27,48,.36);
  --theme-chip-background:rgba(14,27,48,.55);
  --theme-step-background:rgba(14,27,48,.4);
  --theme-works-card-background:linear-gradient(165deg,rgba(19,36,61,.62),rgba(10,19,34,.46));
  --theme-works-featured-background:radial-gradient(90% 70% at 20% 0%,rgba(43,224,164,.12),transparent 62%),linear-gradient(165deg,rgba(19,36,61,.76),rgba(10,19,34,.5));
  --theme-studio-background:radial-gradient(90% 70% at 20% 0%,rgba(43,224,164,.10),transparent 65%),linear-gradient(165deg,rgba(19,36,61,.62),rgba(10,19,34,.45));
  --theme-studio-border:rgba(30,53,82,.8);
  --theme-debrief-background:linear-gradient(165deg,rgba(19,36,61,.5),rgba(10,19,34,.5));
  --theme-special-background:linear-gradient(165deg,rgba(14,27,48,1),rgba(7,13,23,1));
  --theme-control-background:var(--color-surface-raised);
  --theme-control-text:var(--color-text-muted);
}

html[data-theme-enabled][data-theme="light"]{
  color-scheme:light;
  --color-background:var(--palette-paper);
  --color-surface:var(--palette-fog);
  --color-surface-raised:#fff;
  --color-surface-soft:var(--palette-fog);
  --color-text:var(--palette-navy-800);
  --color-text-muted:var(--palette-ink-soft);
  --color-border:var(--palette-paper-line);
  --color-accent:var(--palette-brand-mint);
  --color-accent-secondary:var(--palette-brand-gold);
  --color-accent-text:var(--palette-navy-800);
  --color-accent-secondary-text:var(--palette-navy-800);
  --color-on-accent:var(--palette-navy-800);
  --color-focus:var(--palette-navy-800);
  --color-focus-contrast:var(--palette-paper);
  --color-input-background:#fff;
  --color-input-text:var(--palette-navy-800);
  --color-input-placeholder:var(--palette-ink-soft);
  --color-input-border:var(--palette-ink-soft);
  --color-control-border:var(--palette-ink-soft);
  --theme-brand-background:var(--palette-paper);
  --theme-brand-text:var(--palette-navy-800);
  --theme-brand-muted:var(--palette-ink-soft);
  --theme-brand-accent-text:var(--palette-navy-800);
  --theme-brand-secondary-text:var(--palette-navy-800);
  --theme-header-background:linear-gradient(180deg,rgba(243,246,244,.96),rgba(243,246,244,.84));
  --theme-language-background:var(--color-surface-soft);
  --theme-claim-background:var(--color-surface-soft);
  --theme-scope-background:var(--color-surface-soft);
  --theme-chip-background:var(--color-surface-soft);
  --theme-step-background:var(--color-surface-raised);
  --theme-works-card-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --theme-works-featured-background:radial-gradient(90% 70% at 20% 0%,rgba(149,216,181,.16),transparent 62%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --theme-studio-background:radial-gradient(90% 70% at 20% 0%,rgba(149,216,181,.12),transparent 65%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --theme-studio-border:var(--color-border);
  --theme-debrief-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --theme-special-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
}

/* The same semantic mode without JavaScript. No component layouts are duplicated. */
@media(prefers-color-scheme:light){
  html[data-theme-enabled]:not([data-theme]){
    color-scheme:light;
    --color-background:var(--palette-paper);
    --color-surface:var(--palette-fog);
    --color-surface-raised:#fff;
    --color-surface-soft:var(--palette-fog);
    --color-text:var(--palette-navy-800);
    --color-text-muted:var(--palette-ink-soft);
    --color-border:var(--palette-paper-line);
    --color-accent:var(--palette-brand-mint);
    --color-accent-secondary:var(--palette-brand-gold);
    --color-accent-text:var(--palette-navy-800);
    --color-accent-secondary-text:var(--palette-navy-800);
    --color-on-accent:var(--palette-navy-800);
    --color-focus:var(--palette-navy-800);
    --color-focus-contrast:var(--palette-paper);
    --color-input-background:#fff;
    --color-input-text:var(--palette-navy-800);
    --color-input-placeholder:var(--palette-ink-soft);
    --color-input-border:var(--palette-ink-soft);
    --color-control-border:var(--palette-ink-soft);
    --theme-brand-background:var(--palette-paper);
    --theme-brand-text:var(--palette-navy-800);
    --theme-brand-muted:var(--palette-ink-soft);
    --theme-brand-accent-text:var(--palette-navy-800);
    --theme-brand-secondary-text:var(--palette-navy-800);
    --theme-header-background:linear-gradient(180deg,rgba(243,246,244,.96),rgba(243,246,244,.84));
    --theme-language-background:var(--color-surface-soft);
    --theme-claim-background:var(--color-surface-soft);
    --theme-scope-background:var(--color-surface-soft);
    --theme-chip-background:var(--color-surface-soft);
    --theme-step-background:var(--color-surface-raised);
    --theme-works-card-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --theme-works-featured-background:radial-gradient(90% 70% at 20% 0%,rgba(149,216,181,.16),transparent 62%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --theme-studio-background:radial-gradient(90% 70% at 20% 0%,rgba(149,216,181,.12),transparent 65%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --theme-studio-border:var(--color-border);
    --theme-debrief-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --theme-special-background:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  }
}

html[data-theme-enabled] .cm-v2{
  --color-text:var(--theme-brand-text);
  --color-text-muted:var(--theme-brand-muted);
  --color-accent-text:var(--theme-brand-accent-text);
  --color-accent-secondary-text:var(--theme-brand-secondary-text);
  --color-input-text:var(--theme-brand-text);
  --color-input-placeholder:var(--theme-brand-muted);
}
html[data-theme-enabled] .cm-v2:not(.cm-works){background:var(--theme-brand-background)}
html[data-theme-enabled] [data-site-header]{background:var(--theme-header-background)}
html[data-theme-enabled] .lang{background:var(--theme-language-background)}
html[data-theme-enabled] .brand .name b,
html[data-theme-enabled] .lang a.active,
html[data-theme-enabled] .cm-v2 .navlinks>a.active{color:var(--color-accent-text)}
html[data-theme-enabled] .cm-v2 .cm-kicker,
html[data-theme-enabled] .cm-v2 .cm-hero .cm-kicker{color:var(--color-accent-secondary-text)}
html[data-theme-enabled] .cm-academy .cm-section .cm-kicker{color:var(--color-text-muted)}
html[data-theme-enabled] .cm-v2 .cm-hero h1 span,
html[data-theme-enabled] .cm-v2 .cm-note a,
html[data-theme-enabled] .cm-v2 .cm-prose a:not(.btn),
html[data-theme-enabled] .cm-v2 .cm-card p a,
html[data-theme-enabled] .cm-v2 .cm-card>a:not(.btn),
html[data-theme-enabled] .cm-v2 .cm-media figcaption a,
html[data-theme-enabled] .cm-v2 .cm-link-list a,
html[data-theme-enabled] .cm-v2 .cm-footer a:hover{color:var(--color-accent-text)}
html[data-theme-enabled] .cm-v2 .cm-steps li::before{color:var(--color-accent-secondary-text)}
html[data-theme-enabled] .btn-mint{color:var(--color-on-accent)}
html[data-theme-enabled] .btn-ghost{border-color:var(--color-control-border)}
html[data-theme-enabled] .btn-ghost:hover{color:var(--color-accent-text)}

/* Works keeps its existing layout and dark gradients; only their roles adapt. */
html[data-theme-enabled] .cm-works .claimbar{background:var(--theme-claim-background)}
html[data-theme-enabled] .cm-works .offer-card{background:var(--theme-works-card-background)}
html[data-theme-enabled] .cm-works .offer-card.featured{background:var(--theme-works-featured-background)}
html[data-theme-enabled] .cm-works .scope-note{background:var(--theme-scope-background)}
html[data-theme-enabled] .cm-works .studio-proof{background:var(--theme-studio-background)}
html[data-theme-enabled] .cm-works .studio-list div{border-color:var(--theme-studio-border)}
html[data-theme-enabled] .cm-works .chip{background:var(--theme-chip-background)}
html[data-theme-enabled] .cm-works .step{background:var(--theme-step-background)}
html[data-theme-enabled] .cm-works .debrief-case{background:var(--theme-debrief-background)}
html[data-theme-enabled] .cm-works .special-card{background:var(--theme-special-background)}
html[data-theme-enabled] .cm-works .cform input,
html[data-theme-enabled] .cm-works .cform textarea,
html[data-theme-enabled] .cm-works .form-select{
  background:var(--color-input-background);
  color:var(--color-input-text);
  border-color:var(--color-input-border);
}
html[data-theme-enabled] .cm-works .cform input::placeholder,
html[data-theme-enabled] .cm-works .cform textarea::placeholder{
  color:var(--color-input-placeholder);
  opacity:1;
}
html[data-theme-enabled] .cm-works .eyebrow,
html[data-theme-enabled] .cm-works.cm-v2 .band.paper .eyebrow,
html[data-theme-enabled] .cm-works .hero h1 em,
html[data-theme-enabled] .cm-works .founder .fr,
html[data-theme-enabled] .cm-works .offer-card .for,
html[data-theme-enabled] .cm-works .offer-list li::before,
html[data-theme-enabled] .cm-works .scope-note a,
html[data-theme-enabled] .cm-works.cm-v2 .fit-list li::before,
html[data-theme-enabled] .cm-works .studio-list b,
html[data-theme-enabled] .cm-works .chip b,
html[data-theme-enabled] .cm-works .social a:hover,
html[data-theme-enabled] .cm-works .step .st,
html[data-theme-enabled] .cm-works .dc-cell.res .dl,
html[data-theme-enabled] .cm-works .special-card .mini b,
html[data-theme-enabled] .cm-works .contact h2 em,
html[data-theme-enabled] .cm-works .contact .meta a:hover{color:var(--color-accent-text)}
html[data-theme-enabled] .cm-works .idx,
html[data-theme-enabled] .cm-works .offer-code,
html[data-theme-enabled] .cm-works .studio-label,
html[data-theme-enabled] .cm-works .dc-tag,
html[data-theme-enabled] .cm-works .special-card .tagline,
html[data-theme-enabled] .cm-works .cform label{color:var(--color-accent-secondary-text)}
/* These existing white proof panels need text contrast in both modes. */
html[data-theme-enabled] .cm-works .stat .plat,
html[data-theme-enabled] .cm-works .audience-cell .a-lbl,
html[data-theme-enabled] .cm-works .dna li::before,
html[data-theme-enabled] .cm-works .dna .verdict b{color:var(--color-on-paper-accent)}
html[data-theme-enabled] .cm-works.cm-v2 .audience-cell p{color:var(--color-on-paper-muted)}
/* Photo and video overlays deliberately retain dark-media contrast. */
html[data-theme-enabled] .cm-works .pbadge .bn{color:var(--palette-brand-fog)}
html[data-theme-enabled] .cm-works .pbadge .bl,
html[data-theme-enabled] .cm-works .vlabel{color:var(--palette-brand-mint)}
html[data-theme-enabled] .cm-works .play svg{color:var(--color-on-accent)}

.cm-theme-control[hidden]{display:none !important}
.cm-theme-control{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid var(--color-control-border);
  border-radius:999px;
  background:var(--theme-control-background);
  color:var(--theme-control-text);
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
}
.cm-theme-control button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding:8px 10px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  font-family:var(--font-display);
  font-weight:700;
}
.cm-theme-control button[aria-pressed="true"]{
  background:var(--color-accent);
  color:var(--color-on-accent);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:2px;
}
html[data-theme-enabled] .cm-theme-control button:focus-visible{
  outline:3px solid var(--color-focus);
  outline-offset:3px;
  box-shadow:0 0 0 6px var(--color-focus-contrast);
}
@media(max-width:1100px){
  [data-site-header] [data-site-nav] .cm-theme-control{align-self:center;margin-top:4px;max-width:100%}
}
/* Without enhancement, existing reveal content remains ordinary visible content. */
html[data-theme-enabled]:not([data-theme]) .reveal{opacity:1;transform:none}

/* Curriculum pages retain their own layouts and navy Dark baseline.
   Only semantic colour roles and the header utility row are shared. */
html[data-theme-page="curriculum"] {
  --navy-900: var(--color-background);
  --navy-850: var(--color-surface);
  --navy-800: var(--color-surface-raised);
  --line: var(--color-border);
  --fog: var(--color-text);
  --muted: var(--color-text-muted);
  --mint: var(--color-accent);
  --gold: var(--color-accent-secondary);
  --paper: var(--color-paper);
  --ink: var(--color-on-paper);
  --ink-soft: var(--color-on-paper-muted);
  --curriculum-header-background: linear-gradient(180deg,rgba(7,13,23,.94),rgba(7,13,23,.62));
  --curriculum-language-background: rgba(14,27,48,.4);
  --curriculum-programme-background: radial-gradient(90% 80% at 100% 0%,rgba(201,165,96,.12),transparent 65%),linear-gradient(165deg,rgba(19,36,61,.75),rgba(10,19,34,.72));
  --curriculum-ledger-background: rgba(7,13,23,.32);
  --curriculum-card-background: linear-gradient(165deg,rgba(19,36,61,.55),rgba(10,19,34,.42));
  --curriculum-value-background: radial-gradient(80% 100% at 50% 0%,rgba(43,224,164,.09),transparent 72%),rgba(14,27,48,.42);
  --curriculum-raised-background: rgba(7,13,23,.3);
  --curriculum-soft-background: rgba(14,27,48,.4);
  --curriculum-investment-background: radial-gradient(75% 100% at 100% 0%,rgba(201,165,96,.12),transparent 65%),linear-gradient(150deg,rgba(19,36,61,.7),rgba(7,13,23,.88));
  --curriculum-access-background: rgba(7,13,23,.28);
  --curriculum-continuation-background: radial-gradient(80% 100% at 100% 0%,rgba(201,165,96,.11),transparent 70%),linear-gradient(165deg,rgba(19,36,61,.62),rgba(10,19,34,.55));
  --curriculum-proof-background: linear-gradient(165deg,rgba(19,36,61,.54),rgba(10,19,34,.42));
  --curriculum-callout-background: rgba(43,224,164,.06);
  --curriculum-ghost-hover-border: var(--mint);
}

/* Only variable values differ; all component/layout selectors below apply
   equally to resolved Light and the CSS-only system fallback. */
html[data-theme-page="curriculum"][data-theme="light"] {
  --curriculum-header-background: var(--color-background);
  --curriculum-language-background: var(--color-surface-soft);
  --curriculum-programme-background: radial-gradient(90% 80% at 100% 0%,rgba(176,144,80,.12),transparent 65%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --curriculum-ledger-background: var(--color-surface);
  --curriculum-card-background: linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --curriculum-value-background: radial-gradient(80% 100% at 50% 0%,rgba(149,216,181,.09),transparent 72%),var(--color-surface-raised);
  --curriculum-raised-background: var(--color-surface-raised);
  --curriculum-soft-background: var(--color-surface-raised);
  --curriculum-investment-background: radial-gradient(75% 100% at 100% 0%,rgba(176,144,80,.12),transparent 65%),linear-gradient(150deg,var(--color-surface-raised),var(--color-surface-soft));
  --curriculum-access-background: var(--color-surface-raised);
  --curriculum-continuation-background: radial-gradient(80% 100% at 100% 0%,rgba(176,144,80,.11),transparent 70%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --curriculum-proof-background: linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --curriculum-callout-background: rgba(149,216,181,.10);
  --curriculum-ghost-hover-border: var(--color-control-border);
}
@media (prefers-color-scheme:light) {
  html[data-theme-page="curriculum"]:not([data-theme]) {
    --curriculum-header-background: var(--color-background);
    --curriculum-language-background: var(--color-surface-soft);
    --curriculum-programme-background: radial-gradient(90% 80% at 100% 0%,rgba(176,144,80,.12),transparent 65%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --curriculum-ledger-background: var(--color-surface);
    --curriculum-card-background: linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --curriculum-value-background: radial-gradient(80% 100% at 50% 0%,rgba(149,216,181,.09),transparent 72%),var(--color-surface-raised);
    --curriculum-raised-background: var(--color-surface-raised);
    --curriculum-soft-background: var(--color-surface-raised);
    --curriculum-investment-background: radial-gradient(75% 100% at 100% 0%,rgba(176,144,80,.12),transparent 65%),linear-gradient(150deg,var(--color-surface-raised),var(--color-surface-soft));
    --curriculum-access-background: var(--color-surface-raised);
    --curriculum-continuation-background: radial-gradient(80% 100% at 100% 0%,rgba(176,144,80,.11),transparent 70%),linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --curriculum-proof-background: linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --curriculum-callout-background: rgba(149,216,181,.10);
    --curriculum-ghost-hover-border: var(--color-control-border);
  }
}

html[data-theme-page="curriculum"] header { background:var(--curriculum-header-background); }
html[data-theme-page="curriculum"] .lang { background:var(--curriculum-language-background); }
html[data-theme-page="curriculum"] .programme-card { background:var(--curriculum-programme-background); }
html[data-theme-page="curriculum"] .ledger div { background:var(--curriculum-ledger-background); }
html[data-theme-page="curriculum"] :is(.premium-card,.time-card,.scope-card,.decision-card) { background:var(--curriculum-card-background); }
html[data-theme-page="curriculum"] .value-equation { background:var(--curriculum-value-background); }
html[data-theme-page="curriculum"] :is(.value-card,.principle,.gate-item) { background:var(--curriculum-raised-background); }
html[data-theme-page="curriculum"] :is(.cycle,.fit-card,.risk-card,.phase,.faq details) { background:var(--curriculum-soft-background); }
html[data-theme-page="curriculum"] .investment { background:var(--curriculum-investment-background); }
html[data-theme-page="curriculum"] .access-flow article { background:var(--curriculum-access-background); }
html[data-theme-page="curriculum"] .continuation-gate { background:var(--curriculum-continuation-background); }
html[data-theme-page="curriculum"] .proof-card { background:var(--curriculum-proof-background); }
html[data-theme-page="curriculum"] :is(.callout,.access-note) { background:var(--curriculum-callout-background); }

/* Decorative mint/gold remain accents; text resolves to the accessible role. */
html[data-theme-page="curriculum"] :is(.brand .name b,.home:hover,.lang a.active,.hero h1 em,.ledger b,.eq b em,.value-card b,.cycle .n,.time-card b,.book h2 em,.access-flow b,.gate-item b,.phase .range em,.foot a:hover) { color:var(--color-accent-text); }
html[data-theme-page="curriculum"] :is(.eyebrow,.idx,.programme-card .code,.premium-card .num,.sign,.principle b,.time-card span,.decision-card b,.continuation-gate .gate-label,.risk-card b,.invite-banner,.phase .phase-label,.proof-card .proof-label,.foot .fmono) { color:var(--color-accent-secondary-text); }
html[data-theme-page="curriculum"] .btn-mint { color:var(--color-on-accent); }
html[data-theme-page="curriculum"] .btn-ghost { border-color:var(--color-control-border); }
html[data-theme-page="curriculum"] .btn-ghost:hover { color:var(--color-accent-text);border-color:var(--curriculum-ghost-hover-border); }

/* The original small mint labels on Paper/white fail AA. Navy is the
   existing Paper text colour; only these text selectors intentionally differ
   from the Dark baseline. Mint borders, markers and other artwork remain. */
html[data-theme-page="curriculum"] :is(.band.paper .idx,.module-code,.module-result b,.assessment b,.support-row .hours) { color:var(--color-on-paper); }
html[data-theme-page="curriculum"] .band.paper .compare-card .invite-banner { color:var(--color-on-paper); }

html[data-theme-page="curriculum"] .band.paper .btn-ghost { color:var(--color-on-paper);border-color:var(--color-on-paper-muted); }
html[data-theme-page="curriculum"] .band.paper .btn-ghost:hover { color:var(--color-on-paper);border-color:var(--color-on-paper); }

/* Foundation's Paper sections have their own Dark surfaces. These local roles
   do not change the navy palette or the ordinary Dark curriculum cards. */
html[data-theme-page="curriculum"][data-curriculum="foundation"] {
  --color-paper-dark:var(--palette-navy-700);
  --color-paper-dark-raised:color-mix(in srgb,var(--color-paper-dark) 94%,var(--palette-fog));
  --color-paper:var(--color-paper-dark);
  --color-on-paper:var(--palette-fog);
  --color-on-paper-muted:var(--palette-muted);
  --color-on-paper-accent:var(--palette-mint);
  --foundation-paper-card-background:var(--color-paper-dark-raised);
  --foundation-paper-result-background:var(--color-paper-dark);
  --foundation-paper-marker:var(--palette-mint);
  --foundation-paper-border:color-mix(in srgb,var(--palette-muted) 45%,var(--color-paper-dark));
}
html[data-theme-page="curriculum"][data-curriculum="foundation"][data-theme="light"] {
  --color-paper:var(--palette-paper);
  --color-on-paper:var(--palette-navy-800);
  --color-on-paper-muted:var(--palette-ink-soft);
  --color-on-paper-accent:var(--palette-navy-800);
  --foundation-paper-card-background:#fff;
  --foundation-paper-result-background:#eef5f1;
  --foundation-paper-marker:var(--palette-mint-deep);
  --foundation-paper-border:var(--palette-paper-line);
}
@media(prefers-color-scheme:light) {
  html[data-theme-page="curriculum"][data-curriculum="foundation"]:not([data-theme]) {
    --color-paper:var(--palette-paper);
    --color-on-paper:var(--palette-navy-800);
    --color-on-paper-muted:var(--palette-ink-soft);
    --color-on-paper-accent:var(--palette-navy-800);
    --foundation-paper-card-background:#fff;
    --foundation-paper-result-background:#eef5f1;
    --foundation-paper-marker:var(--palette-mint-deep);
    --foundation-paper-border:var(--palette-paper-line);
  }
}
html[data-theme-page="curriculum"][data-curriculum="foundation"] :is(.module-card,.assessment,.deliverables,.support-row,.compare-card) {
  background:var(--foundation-paper-card-background);
  border-color:var(--foundation-paper-border);
}
html[data-theme-page="curriculum"][data-curriculum="foundation"] :is(.module-card li,.deliverable) {
  border-color:var(--foundation-paper-border);
}
html[data-theme-page="curriculum"][data-curriculum="foundation"] .module-result {
  background:var(--foundation-paper-result-background);
}
html[data-theme-page="curriculum"][data-curriculum="foundation"] .compare-card.current { border-top-color:var(--gold); }
html[data-theme-page="curriculum"][data-curriculum="foundation"] .compare-card.next { border-top-color:var(--mint); }
html[data-theme-page="curriculum"][data-curriculum="foundation"] :is(.band.paper .idx,.module-code,.module-result b,.assessment b,.support-row .hours) {
  color:var(--color-on-paper-accent);
}

html[data-theme-page="curriculum"][data-curriculum="foundation"] .module-card li::before { color:var(--foundation-paper-marker); }

/* Theme controls use the existing utility area. Wrapping is conditional on
   the functional selector, leaving the CSS-only/No-JS header compact. */
html[data-theme-page="curriculum"] .rgt { flex-wrap:wrap; }
html[data-theme-page="curriculum"] .lang a { min-height:44px;display:inline-flex;align-items:center; }
@media (min-width:851px) {
  html[data-theme-page="curriculum"] .home { min-height:44px;display:inline-flex;align-items:center; }
}
@media (max-width:1150px) {
  html[data-theme-page="curriculum"] .nav:has([data-theme-control]:not([hidden])) { height:auto;min-height:70px;flex-wrap:wrap;gap:10px 16px;padding-top:10px;padding-bottom:10px; }
}
@media (max-width:650px) {
  html[data-theme-page="curriculum"] .nav:has([data-theme-control]:not([hidden])) .rgt { flex-basis:100%;justify-content:space-between; }
}

/* Curriculum pages do not load base.css; retain the same two-colour focus
   indicator on existing links, CTAs and native FAQ summaries. */
html[data-theme-page="curriculum"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--color-focus)!important;
  outline-offset:3px;
  box-shadow:0 0 0 6px var(--color-focus-contrast)!important;
}

/* Phase 2C.1: existing legal, Academy process and resource surfaces opt into
   the same semantic roles. Fixed legacy aliases never bypass the resolved mode.
   Their original Dark card fills remain the fallback; Light changes colours,
   not content or component layouts. */
html[data-theme-page="surface"] {
  --navy-900:var(--color-background);
  --navy-850:var(--color-surface);
  --navy-800:var(--color-surface-raised);
  --navy-700:var(--surface-medium-background,var(--palette-navy-700));
  --line:var(--color-border);
  --fog:var(--color-text);
  --muted:var(--color-text-muted);
  --mint:var(--color-accent);
  --gold:var(--color-accent-secondary);
  --gold-soft:var(--surface-gold-soft,#E4C98C);
  --paper:var(--color-paper);
  --ink:var(--color-on-paper);
  --ink-soft:var(--color-on-paper-muted);
}
html[data-theme-page="surface"][data-surface="roadmap"] {
  --gold-soft:var(--surface-gold-soft,#D9C18A);
  --card-bad:var(--surface-negative-background,#15131C);
  --card-good:var(--surface-positive-background,#0C1B22);
}
html[data-theme-page="surface"][data-theme="light"] {
  --surface-medium-background:var(--color-surface-soft);
  --surface-card-gradient:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
  --surface-card-fill:var(--color-surface-raised);
  --surface-gold-soft:var(--color-text-muted);
  --surface-negative-background:var(--color-surface-soft);
  --surface-positive-background:var(--color-surface-raised);
  --surface-negative-text:var(--color-text);
  --surface-link-decoration:underline;
}
@media(prefers-color-scheme:light) {
  html[data-theme-page="surface"]:not([data-theme]) {
    --surface-medium-background:var(--color-surface-soft);
    --surface-card-gradient:linear-gradient(165deg,var(--color-surface-raised),var(--color-surface-soft));
    --surface-card-fill:var(--color-surface-raised);
    --surface-gold-soft:var(--color-text-muted);
    --surface-negative-background:var(--color-surface-soft);
    --surface-positive-background:var(--color-surface-raised);
    --surface-negative-text:var(--color-text);
    --surface-link-decoration:underline;
  }
}

@media screen {
  /* Keep the global header independent from the older narrow legal wrappers. */
  html[data-theme-page="surface"] .cm-surface-header {
    position:sticky;top:0;z-index:50;width:100%;
    backdrop-filter:blur(12px);
    background:var(--theme-header-background);
    border-bottom:1px solid var(--color-border);
  }
  html[data-theme-page="surface"] .cm-surface-header .nav {
    max-width:1180px;width:100%;margin:0 auto;padding:0 24px;
    display:flex;align-items:center;justify-content:space-between;
    height:70px;gap:18px;
  }
  html[data-theme-page="surface"] .cm-surface-header .brand {
    display:flex;align-items:center;gap:11px;
    color:var(--color-text);text-decoration:none;
  }
  html[data-theme-page="surface"] .cm-surface-header .brand :is(img,.mark) {
    width:34px;height:34px;flex:0 0 34px;display:block;
  }
  html[data-theme-page="surface"] .cm-surface-header .brand .name {
    font-family:var(--font-display);font-weight:800;font-size:19px;
    letter-spacing:.04em;line-height:1.15;text-transform:uppercase;white-space:nowrap;
  }
  html[data-theme-page="surface"] .cm-surface-header .brand .tag {
    font-family:var(--font-mono);font-size:9px;line-height:1.5;
    letter-spacing:.12em;color:var(--color-text-muted);text-transform:uppercase;
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks {
    display:flex;align-items:center;gap:18px;
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks>a {
    font-family:var(--font-body);font-size:14px;letter-spacing:normal;
    text-transform:none;color:var(--color-text-muted);text-decoration:none;
    min-height:44px;display:inline-flex;align-items:center;
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks>a:hover {
    color:var(--color-text);
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks>a.active {
    color:var(--color-accent-text);
    box-shadow:inset 0 -2px var(--color-accent-text);
  }
  html[data-theme-page="surface"] .cm-surface-header .lang {
    display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;
    padding:0 8px;border:1px solid var(--color-border);
    background:var(--theme-language-background);border-radius:999px;
    font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  }
  html[data-theme-page="surface"] .cm-surface-header .lang a {
    min-width:44px;min-height:44px;display:inline-flex;align-items:center;
    justify-content:center;color:var(--color-text-muted);text-decoration:none;
  }
  html[data-theme-page="surface"] .cm-surface-header .lang a.active {
    color:var(--color-accent-text);
  }
  html[data-theme-page="surface"] .cm-surface-header .lang .sep {color:var(--color-text-muted)}
  html[data-theme-page="surface"] .cm-surface-header [data-nav-toggle] {
    display:none;min-width:44px;min-height:44px;padding:8px 10px;
    border:1px solid var(--color-control-border);border-radius:8px;
    background:transparent;color:var(--color-text);cursor:pointer;
  }
  html[data-theme-page="surface"] .cm-surface-header [data-site-nav][hidden] {display:none!important}
  /* Shared components must not add their legacy 90px footer gap here. */
  html[data-theme-page="surface"][data-surface="roadmap"] footer,
  html[data-theme-page="surface"][data-surface="legal"] main.wrap ~ footer {margin-top:0}
  html[data-theme-page="surface"] .cm-surface-footnav {
    max-width:1180px;margin:18px auto 0;padding:0 24px;
    display:flex;flex-wrap:wrap;gap:12px 22px;
    font-family:var(--font-body);font-size:14px;line-height:1.5;
  }
  html[data-theme-page="surface"] .cm-surface-footnav a {
    display:inline-flex;align-items:center;min-height:44px;
    color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;
  }
  html[data-theme-page="surface"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid var(--color-focus)!important;
    outline-offset:3px;box-shadow:0 0 0 6px var(--color-focus-contrast)!important;
  }
  html[data-theme-page="surface"] .cm-skip {background:var(--color-text);color:var(--color-background)}
  html[data-theme-page="surface"] ::selection {background:var(--color-accent);color:var(--color-on-accent)}
  html[data-theme-page="surface"] :is(.btn-mint,.feat-badge,.recommend,.ctabar,.pdfgrab .pg-form button) {color:var(--color-on-accent)}
  html[data-theme-page="surface"] .btn-ghost {border-color:var(--color-control-border)}
  html[data-theme-page="surface"] .fmono {color:var(--color-accent-secondary-text)}
  html[data-theme-page="surface"] .lang {background:var(--theme-language-background)}
  html[data-theme-page="surface"] :is(.cform,.widerruf-form) :is(input,textarea,select) {
    background-color:var(--color-input-background);color:var(--color-input-text);
    border-color:var(--color-input-border);
  }
  html[data-theme-page="surface"] :is(.cform,.widerruf-form) :is(input,textarea)::placeholder {
    color:var(--color-input-placeholder);opacity:1;
  }
  html[data-theme-page="surface"] .pdfgrab .pg-form input[type=email] {
    background:var(--color-input-background);color:var(--color-input-text);
    border-color:var(--color-input-border);
  }
  html[data-theme-page="surface"] .pdfgrab .pg-form input[type=email]::placeholder {
    color:var(--color-input-placeholder);opacity:1;
  }
  html[data-theme-page="surface"][data-surface="roadmap"] .cover {
    position:relative;top:auto;z-index:auto;backdrop-filter:none;
    background:none;border-bottom:0;
  }
  html[data-theme-page="surface"][data-surface="roadmap"] .legend .lab[style="color:var(--red)"] {color:var(--surface-negative-text,var(--red))!important}
  html[data-theme-page="surface"][data-surface="roadmap"] .legend .lab[style="color:var(--mint)"] {color:var(--color-accent-text)!important}
  html[data-theme-page="surface"][data-surface="roadmap"] .legend .lab[style="color:var(--gold)"] {color:var(--color-accent-secondary-text)!important}
  html[data-theme-page="surface"][data-surface="roadmap"] .card.bad .ch {color:var(--surface-negative-text,var(--red))}
  html[data-theme-page="surface"][data-surface="roadmap"] .level .badge {color:var(--color-on-accent)}
  html[data-theme-page="surface"][data-surface="receipt"] .cm-withdrawal {display:block;place-items:normal;min-height:100vh;padding:0}
  html[data-theme-page="surface"][data-surface="receipt"] .cm-receipt {margin:clamp(24px,6vw,72px) auto;width:min(760px,calc(100% - 48px))}
  html[data-theme-page="surface"][data-surface="receipt"] .cm-receipt .eyebrow {color:var(--color-accent-secondary-text)}
  html[data-theme-page="surface"][data-surface="legal"] .eyebrow,
  html[data-theme-page="surface"][data-surface="legal"] .foot .fmono,
  html[data-theme-page="surface"][data-surface="legal"] .idx,
  html[data-theme-page="surface"][data-surface="legal"] .kv div:nth-child(odd),
  html[data-theme-page="surface"][data-surface="legal"] .kv dt,
  html[data-theme-page="surface"][data-surface="legal"] .notice .mono,
  html[data-theme-page="surface"][data-surface="legal"] .package-card .ptag,
  html[data-theme-page="surface"][data-surface="legal"] .side-card .mini,
  html[data-theme-page="surface"][data-surface="legal"] .widerruf-form label,
  html[data-theme-page="surface"][data-surface="legal"] h2 .n {color:var(--color-accent-secondary-text)}
  html[data-theme-page="surface"][data-surface="legal"] .back:hover,
  html[data-theme-page="surface"][data-surface="legal"] .btn-ghost:hover,
  html[data-theme-page="surface"][data-surface="legal"] .checkline a,
  html[data-theme-page="surface"][data-surface="legal"] .chip b,
  html[data-theme-page="surface"][data-surface="legal"] .foot a:hover,
  html[data-theme-page="surface"][data-surface="legal"] .hero h1 em,
  html[data-theme-page="surface"][data-surface="legal"] .home:hover,
  html[data-theme-page="surface"][data-surface="legal"] .legal-card .mark,
  html[data-theme-page="surface"][data-surface="legal"] .legal-card a,
  html[data-theme-page="surface"][data-surface="legal"] .numlist>li::before,
  html[data-theme-page="surface"][data-surface="legal"] .side-card a,
  html[data-theme-page="surface"][data-surface="legal"] .status-card .mono,
  html[data-theme-page="surface"][data-surface="legal"] .toc span,
  html[data-theme-page="surface"][data-surface="legal"] a:not(.btn):not(.cm-skip):not(.brand),
  html[data-theme-page="surface"][data-surface="legal"] code.tag {color:var(--color-accent-text)}
  html[data-theme-page="surface"][data-surface="legal"] .chip,
  html[data-theme-page="surface"][data-surface="legal"] .side-card,
  html[data-theme-page="surface"][data-surface="legal"] .widerruf-form input,
  html[data-theme-page="surface"][data-surface="legal"] .widerruf-form select,
  html[data-theme-page="surface"][data-surface="legal"] .widerruf-form textarea {background:var(--surface-card-fill,rgba(14,27,48,.55))}
  html[data-theme-page="surface"][data-surface="legal"] .status-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(43,224,164,.08),rgba(10,19,34,.48)))}
  html[data-theme-page="surface"][data-surface="legal"] .toc a {background:var(--surface-card-fill,rgba(14,27,48,.45))}
  html[data-theme-page="surface"][data-surface="legal"] .legal-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.55),rgba(10,19,34,.4)))}
  html[data-theme-page="surface"][data-surface="legal"] .kv div:nth-child(odd),
  html[data-theme-page="surface"][data-surface="legal"] .package-card {background:var(--surface-card-fill,rgba(7,13,23,.32))}
  html[data-theme-page="surface"][data-surface="legal"] .card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.5),rgba(10,19,34,.4)))}
  html[data-theme-page="surface"][data-surface="legal"] .notice {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(201,165,96,.10),rgba(10,19,34,.42)))}
  html[data-theme-page="surface"][data-surface="legal"] .formbox {background:var(--surface-card-fill,rgba(7,13,23,.35))}
  html[data-theme-page="surface"][data-surface="coaching"] .availability b,
  html[data-theme-page="surface"][data-surface="coaching"] .booking-choice b,
  html[data-theme-page="surface"][data-surface="coaching"] .boundary b,
  html[data-theme-page="surface"][data-surface="coaching"] .case-kicker,
  html[data-theme-page="surface"][data-surface="coaching"] .cform label,
  html[data-theme-page="surface"][data-surface="coaching"] .coach-fact b,
  html[data-theme-page="surface"][data-surface="coaching"] .commitment b,
  html[data-theme-page="surface"][data-surface="coaching"] .compare-row.head .compare-cell,
  html[data-theme-page="surface"][data-surface="coaching"] .cycle-step:not(:last-child)::after,
  html[data-theme-page="surface"][data-surface="coaching"] .eq-sign,
  html[data-theme-page="surface"][data-surface="coaching"] .eyebrow,
  html[data-theme-page="surface"][data-surface="coaching"] .fit-panel.no li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .foot .fmono,
  html[data-theme-page="surface"][data-surface="coaching"] .idx,
  html[data-theme-page="surface"][data-surface="coaching"] .invite-badge,
  html[data-theme-page="surface"][data-surface="coaching"] .long-label,
  html[data-theme-page="surface"][data-surface="coaching"] .package-note b,
  html[data-theme-page="surface"][data-surface="coaching"] .path-card .path-no,
  html[data-theme-page="surface"][data-surface="coaching"] .pcard .tag,
  html[data-theme-page="surface"][data-surface="coaching"] .phase .phase-label,
  html[data-theme-page="surface"][data-surface="coaching"] .private-label,
  html[data-theme-page="surface"][data-surface="coaching"] .problem-card .pn,
  html[data-theme-page="surface"][data-surface="coaching"] .proof-card .proof-label,
  html[data-theme-page="surface"][data-surface="coaching"] .review-gate b,
  html[data-theme-page="surface"][data-surface="coaching"] .slot-label,
  html[data-theme-page="surface"][data-surface="coaching"] .system-principle b,
  html[data-theme-page="surface"][data-surface="coaching"] .vertical b {color:var(--color-accent-secondary-text)}
  html[data-theme-page="surface"][data-surface="coaching"] .access-step b,
  html[data-theme-page="surface"][data-surface="coaching"] .book h2 em,
  html[data-theme-page="surface"][data-surface="coaching"] .btn-ghost:hover,
  html[data-theme-page="surface"][data-surface="coaching"] .case-time span,
  html[data-theme-page="surface"][data-surface="coaching"] .checkline a,
  html[data-theme-page="surface"][data-surface="coaching"] .chip b,
  html[data-theme-page="surface"][data-surface="coaching"] .compare-cell .price-mini,
  html[data-theme-page="surface"][data-surface="coaching"] .compare-cell a,
  html[data-theme-page="surface"][data-surface="coaching"] .cycle-step .cn,
  html[data-theme-page="surface"][data-surface="coaching"] .engineering-card .en,
  html[data-theme-page="surface"][data-surface="coaching"] .entry-box b,
  html[data-theme-page="surface"][data-surface="coaching"] .eq-block b em,
  html[data-theme-page="surface"][data-surface="coaching"] .faq summary::after,
  html[data-theme-page="surface"][data-surface="coaching"] .fit-panel li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .foot a:hover,
  html[data-theme-page="surface"][data-surface="coaching"] .form-section-title,
  html[data-theme-page="surface"][data-surface="coaching"] .hero h1 em,
  html[data-theme-page="surface"][data-surface="coaching"] .hero-proof b,
  html[data-theme-page="surface"][data-surface="coaching"] .learn-list li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .long-stat b,
  html[data-theme-page="surface"][data-surface="coaching"] .metric-card b,
  html[data-theme-page="surface"][data-surface="coaching"] .motorsport-line em,
  html[data-theme-page="surface"][data-surface="coaching"] .path-card li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .phase .range em,
  html[data-theme-page="surface"][data-surface="coaching"] .phase li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .plist li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .private-services li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .proof-card li::before,
  html[data-theme-page="surface"][data-surface="coaching"] .signal b,
  html[data-theme-page="surface"][data-surface="coaching"] .slot.open,
  html[data-theme-page="surface"][data-surface="coaching"] .step .st,
  html[data-theme-page="surface"][data-surface="coaching"] .support-card b,
  html[data-theme-page="surface"][data-surface="coaching"] .trustitem b,
  html[data-theme-page="surface"][data-surface="coaching"] .vcard .vn {color:var(--color-accent-text)}
  html[data-theme-page="surface"][data-surface="coaching"] .cform input,
  html[data-theme-page="surface"][data-surface="coaching"] .cform select,
  html[data-theme-page="surface"][data-surface="coaching"] .cform textarea,
  html[data-theme-page="surface"][data-surface="coaching"] .chip {background:var(--surface-card-fill,rgba(14,27,48,.55))}
  html[data-theme-page="surface"][data-surface="coaching"] .fit-panel,
  html[data-theme-page="surface"][data-surface="coaching"] .vcard {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.55),rgba(10,19,34,.4)))}
  html[data-theme-page="surface"][data-surface="coaching"] .pcard {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.5),rgba(10,19,34,.45)))}
  html[data-theme-page="surface"][data-surface="coaching"] .access-step,
  html[data-theme-page="surface"][data-surface="coaching"] .cycle-step,
  html[data-theme-page="surface"][data-surface="coaching"] .faq details,
  html[data-theme-page="surface"][data-surface="coaching"] .phase,
  html[data-theme-page="surface"][data-surface="coaching"] .step {background:var(--surface-card-fill,rgba(14,27,48,.4))}
  html[data-theme-page="surface"][data-surface="coaching"] .case-analysis,
  html[data-theme-page="surface"][data-surface="coaching"] .case-metric {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.56),rgba(10,19,34,.44)))}
  html[data-theme-page="surface"][data-surface="coaching"] .package-note,
  html[data-theme-page="surface"][data-surface="coaching"] .trustitem {background:var(--surface-card-fill,rgba(14,27,48,.36))}
  html[data-theme-page="surface"][data-surface="coaching"] .private-dev {background:var(--surface-card-gradient,radial-gradient(72% 110% at 100% 0%,rgba(201,165,96,.13),transparent 68%),
    radial-gradient(60% 100% at 0% 100%,rgba(43,224,164,.08),transparent 70%),
    linear-gradient(145deg,rgba(19,36,61,.75),rgba(7,13,23,.88)))}
  html[data-theme-page="surface"][data-surface="coaching"] .slot-status {background:var(--surface-card-fill,rgba(7,13,23,.35))}
  html[data-theme-page="surface"][data-surface="coaching"] .hero-proof div {background:var(--surface-card-fill,rgba(14,27,48,.43))}
  html[data-theme-page="surface"][data-surface="coaching"] .problem-card {background:var(--surface-card-fill,rgba(14,27,48,.42))}
  html[data-theme-page="surface"][data-surface="coaching"] .engineering-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.58),rgba(10,19,34,.42)))}
  html[data-theme-page="surface"][data-surface="coaching"] .booking-choice div,
  html[data-theme-page="surface"][data-surface="coaching"] .commitment,
  html[data-theme-page="surface"][data-surface="coaching"] .support-card,
  html[data-theme-page="surface"][data-surface="coaching"] .system-principle,
  html[data-theme-page="surface"][data-surface="coaching"] .vertical {background:var(--surface-card-fill,rgba(7,13,23,.3))}
  html[data-theme-page="surface"][data-surface="coaching"] .value-equation {background:var(--surface-card-gradient,radial-gradient(80% 100% at 50% 0%,rgba(43,224,164,.09),transparent 72%),rgba(14,27,48,.42))}
  html[data-theme-page="surface"][data-surface="coaching"] .long-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.62),rgba(10,19,34,.48)))}
  html[data-theme-page="surface"][data-surface="coaching"] .long-stat,
  html[data-theme-page="surface"][data-surface="coaching"] .review-gate {background:var(--surface-card-fill,rgba(7,13,23,.32))}
  html[data-theme-page="surface"][data-surface="coaching"] .metric-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.5),rgba(10,19,34,.4)))}
  html[data-theme-page="surface"][data-surface="coaching"] .coach-copy {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.55),rgba(10,19,34,.42)))}
  html[data-theme-page="surface"][data-surface="coaching"] .coach-fact,
  html[data-theme-page="surface"][data-surface="coaching"] .compare-panel {background:var(--surface-card-fill,rgba(7,13,23,.28))}
  html[data-theme-page="surface"][data-surface="coaching"] .path-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.58),rgba(10,19,34,.44)))}
  html[data-theme-page="surface"][data-surface="coaching"] .compare-row.head {background:var(--surface-card-fill,rgba(19,36,61,.72))}
  html[data-theme-page="surface"][data-surface="coaching"] .proof-card {background:var(--surface-card-gradient,linear-gradient(165deg,rgba(19,36,61,.54),rgba(10,19,34,.42)))}
  html[data-theme-page="surface"][data-surface="roadmap"] .card.good .ch,
  html[data-theme-page="surface"][data-surface="roadmap"] .cover .author .dom,
  html[data-theme-page="surface"][data-surface="roadmap"] .eyebrow,
  html[data-theme-page="surface"][data-surface="roadmap"] .gloss .term .en,
  html[data-theme-page="surface"][data-surface="roadmap"] .offer .price,
  html[data-theme-page="surface"][data-surface="roadmap"] footer .mono a {color:var(--color-accent-text)}
  html[data-theme-page="surface"][data-surface="roadmap"] .cover .logo,
  html[data-theme-page="surface"][data-surface="roadmap"] .cover h1 .g,
  html[data-theme-page="surface"][data-surface="roadmap"] .cta h2,
  html[data-theme-page="surface"][data-surface="roadmap"] .diagram-ph .t,
  html[data-theme-page="surface"][data-surface="roadmap"] .gloss .term .de,
  html[data-theme-page="surface"][data-surface="roadmap"] .important b,
  html[data-theme-page="surface"][data-surface="roadmap"] .legend .lh,
  html[data-theme-page="surface"][data-surface="roadmap"] .pdfgrab .pg-h,
  html[data-theme-page="surface"][data-surface="roadmap"] .s-eyebrow,
  html[data-theme-page="surface"][data-surface="roadmap"] .skill .num,
  html[data-theme-page="surface"][data-surface="roadmap"] .tele b {color:var(--color-accent-secondary-text)}
  html[data-theme-page="surface"][data-surface="legal"] :is(.legal-card a,.side-card a,.checkline a,.card a),
  html[data-theme-page="surface"][data-surface="coaching"] :is(.compare-cell a,.checkline a) {
    text-decoration:var(--surface-link-decoration,none);text-underline-offset:3px;
  }
  /* Badges over photos use the original image contrast in either mode. */
  html[data-theme-page="surface"][data-surface="coaching"] .hero-visual .badge {color:var(--palette-mint)}
}
@media screen and (max-width:1100px) {
  html[data-theme-page="surface"] .cm-surface-header .nav {
    height:auto;min-height:70px;flex-wrap:wrap;gap:12px;padding-block:12px;
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks {
    width:100%;flex-direction:column;align-items:stretch;gap:0;
  }
  html[data-theme-page="surface"] .cm-surface-header .navlinks>a {
    min-height:44px;padding:12px 0;border-bottom:1px solid var(--color-border);
  }
  html[data-theme-page="surface"] .cm-surface-header .lang {margin:12px 0;align-self:center;justify-content:center}
  html[data-theme-page="surface"] .cm-surface-header.is-enhanced [data-nav-toggle] {display:inline-flex;align-items:center;justify-content:center}
  html[data-theme-page="surface"] .cm-surface-header.is-enhanced .navlinks {
    position:absolute;top:100%;left:0;right:0;padding:8px 24px 18px;
    background:var(--color-surface);border-bottom:1px solid var(--color-border);
    max-height:calc(100svh - 70px);overflow-y:auto;overscroll-behavior:contain;
  }
}
@media screen and (max-width:640px) {
  html[data-theme-page="surface"] .cm-surface-header .brand .tag {display:none}
  html[data-theme-page="surface"] .cm-surface-header .brand .name {font-size:17px}
  html[data-theme-page="surface"] .cm-surface-header .brand :is(img,.mark) {width:30px;height:30px;flex-basis:30px}
}
@media print {
  html[data-theme-page="surface"] :is(.cm-surface-header,.cm-surface-footnav,.cm-theme-control,.cm-skip) {display:none!important}
}
