/* Semantic section surfaces. Keep this sheet last in index.html.
   Every new main section must declare a surface; verify-section-surfaces.cjs
   rejects missing themes, gradients and equal adjacent backdrops.
   Main backdrops use only canonical blue, pink and ink tokens.
   Nested cards/media keep their own materials; intro is the split exception. */
#main > section[data-surface="blue"]{--section-bg:var(--blue);--section-fg:var(--ink);--section-muted:#355570;--section-accent:#007da8}
#main > section[data-surface="pink"]{--section-bg:var(--pink);--section-fg:var(--ink);--section-muted:#355570;--section-accent:#3c6584}
#main > section[data-surface="ink"]{--section-bg:var(--ink);--section-fg:var(--blue-light);--section-muted:var(--blue);--section-accent:var(--pink)}
#main > section[data-surface]:not(#intro){background:var(--section-bg);color:var(--section-fg);border-radius:0}
/* The pinned panel must paint the same surface as its entire scroll section. */
#results .results-sticky{background:var(--section-bg)}
#results .results-heading h2{color:var(--section-fg)}
#results .results-heading h2 span{color:inherit}
#results .section-index,#results .results-heading p,#results .results-slide figcaption{color:var(--section-muted)}
#reviews .reviews-hint,#mentorship-proof .proof-label{color:var(--section-muted)}
#results :focus-visible{outline-color:var(--section-fg)}
/* The footer is a separate solid closing surface, outside main. */
.footer[data-surface="ink"]{background:var(--ink)}
/* Text excerpts stay readable throughout the existing review orbit. */
#reviews .saturn-card:has(.orbit-source-quote){opacity:1!important}
/* Light sections use one navy heading color, including accented fragments.
   Dark sections retain their existing contrasting text. */
#main > section[data-surface]:not([data-surface="ink"]) :is(h1,h2,h3,h4,h5,h6),
#main > section[data-surface]:not([data-surface="ink"]) :is(h1,h2,h3,h4,h5,h6) :is(span,em,strong){color:var(--ink)}
#faq-title{word-spacing:.12em}
#faq-title em{white-space:nowrap}
