/**
 * Certifiedge Phase 15 public experience closure.
 *
 * Immediate-surface rule:
 * - bright surface => dark foreground
 * - dark surface => bright foreground
 * - nested surfaces reset their own tokens, including hover/focus states
 *
 * This file intentionally loads last so legacy dark-theme declarations cannot
 * leak unsuitable foreground colours into Phase 14/15 public surfaces.
 */
:root{
  --ce15-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ce15-ink:#0a1628;
  --ce15-ink-strong:#071426;
  --ce15-copy:#34465c;
  --ce15-muted:#52657b;
  --ce15-paper:#ffffff;
  --ce15-paper-soft:#f5f8fc;
  --ce15-paper-tint:#eaf2fb;
  --ce15-night:#071426;
  --ce15-night-2:#0b1d35;
  --ce15-night-3:#102949;
  --ce15-light:#f8fbff;
  --ce15-light-copy:#d7e3f2;
  --ce15-light-muted:#b7c7da;
  --ce15-brand:#164c91;
  --ce15-brand-deep:#0d356d;
  --ce15-focus:#0b5cab;
  --ce15-sky:#82e8f5;
  --ce15-sky-soft:#bdf4fa;
  --ce15-border:#cfdae8;
  --ce15-border-strong:#9fb3c8;
  --ce15-border-dark:rgba(255,255,255,.22);
  --ce15-shadow:0 22px 60px rgba(15,38,67,.12);
  --ce15-shadow-soft:0 12px 34px rgba(15,38,67,.08);
  --ce15-radius:24px;
  --ce15-radius-sm:16px;
}

html,body{font-family:var(--ce15-font)!important}
body{background:var(--ce15-paper-soft)!important;color:var(--ce15-ink)!important;font-size:16px;line-height:1.68}

/* Public/app roots establish a readable bright-surface default. */
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins){
  --ce15-surface:var(--ce15-paper-soft);
  --ce15-fg:var(--ce15-copy);
  --ce15-heading:var(--ce15-ink-strong);
  --ce15-subtle:var(--ce15-muted);
  --ce15-link:var(--ce15-brand-deep);
  --ce15-line:var(--ce15-border);
  color:var(--ce15-fg)!important;
}

/* Every ordinary bright section declares its own surface tokens. */
:where(
  .ce2-section:not(.ce2-section--dark):not(.ce2-section--trust),
  .ce2-section--light,
  .ce-section:not(.ce-section--dark),
  .ce-section--light,
  .ce2-section--cbc-workspace,
  .ce-content-section,
  .ce-public-section
){
  --ce15-surface:var(--ce15-paper);
  --ce15-fg:var(--ce15-copy);
  --ce15-heading:var(--ce15-ink-strong);
  --ce15-subtle:var(--ce15-muted);
  --ce15-link:var(--ce15-brand-deep);
  --ce15-line:var(--ce15-border);
  background:var(--ce15-surface)!important;
  color:var(--ce15-fg)!important;
}
.ce2-main>.ce2-section:nth-of-type(even):not(.ce2-section--dark):not(.ce2-section--trust),
.ce-main>.ce-section:nth-of-type(even):not(.ce-section--dark){background:var(--ce15-paper-soft)!important}

/* Dark bands/heroes declare bright type. */
:where(
  .ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,
  .ce-public-page-head,.ce-page-hero--dark,.ce-dark-surface,.ce-hero,.ce-os-clean-hero,
  .site-header,.ce-header,.site-footer,.ce-footer
){
  --ce15-surface:var(--ce15-night);
  --ce15-fg:var(--ce15-light-copy);
  --ce15-heading:#ffffff;
  --ce15-subtle:var(--ce15-light-muted);
  --ce15-link:var(--ce15-sky);
  --ce15-line:var(--ce15-border-dark);
  color:var(--ce15-fg)!important;
}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-page-hero--dark,.ce-dark-surface,.ce-hero,.ce-os-clean-hero){
  background:radial-gradient(circle at 84% 14%,rgba(130,232,245,.09),transparent 29rem),linear-gradient(145deg,var(--ce15-night) 0%,var(--ce15-night-2) 58%,var(--ce15-night-3) 100%)!important;
}

/* Explicit bright nested surfaces. The variable reset is the important part. */
:where(
  .ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce-story-card,.ce-product-card,.ce-course-card,
  .ce2-proof-visual,.ce2-passport,.ce2-hero-note,.ce2-growth-card,.ce2-org-panel,.ce2-mission,.ce2-rubric,
  .ce2-levels>div,.ce2-callout,.ce2-pathway-card,.ce2-search,.ce2-access-form,.ce2-auth__form,.ce2-empty,
  .ce2-workspace-summary,.ce2-workspace-help,.ce2-feature-rows article,.ce2-process-list :where(article,li),
  .ce2-audience-list--visual>a,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-grade-ladder li,
  .ce-cbc-checkin,.ce-cbc-checkins__notes,.ce-cbc-checkins__supports,.ce-cbc-checkin__reflection,
  .ce-readiness-dimension,.ce-readiness-action,.ce-assessment-workspace .ce-card,.ce-readiness-workspace .ce-card,
  .ce-form,.ce-contact-form,.ce-proof-form,.ce-pricing-card,.ce-report-card,.ce-dashboard-preview,.ce-empty-state,
  .wp-block-group.is-style-card
){
  --ce15-surface:var(--ce15-paper);
  --ce15-fg:var(--ce15-copy);
  --ce15-heading:var(--ce15-ink-strong);
  --ce15-subtle:var(--ce15-muted);
  --ce15-link:var(--ce15-brand-deep);
  --ce15-line:var(--ce15-border);
  background:var(--ce15-surface)!important;
  color:var(--ce15-fg)!important;
  border-color:var(--ce15-line)!important;
}

/* Explicit dark nested surfaces and illustrative consoles. */
:where(.ce2-lab,.ce-dark-card,.ce-dashboard-panel,.ce-study-room--dark,.ce-certificate-premium,.ce-universe-shell){
  --ce15-surface:#0b1729;
  --ce15-fg:var(--ce15-light-copy);
  --ce15-heading:#fff;
  --ce15-subtle:var(--ce15-light-muted);
  --ce15-link:var(--ce15-sky);
  --ce15-line:var(--ce15-border-dark);
  background:var(--ce15-surface)!important;
  color:var(--ce15-fg)!important;
}

/* Typography resolves against the nearest surface, not an ancestor section. */
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins)
  :where(h1,h2,h3,h4,h5,h6,strong,dt,th,legend){color:var(--ce15-heading)!important}
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins)
  :where(p,li,dd,label,summary){color:var(--ce15-fg)!important}
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins)
  :where(small,.ce-muted,.ce2-microcopy,.ce-home-support--subtle,.description){color:var(--ce15-subtle)!important}
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page) :where(a:not(.ce-button):not(.ce2-button):not(.ce-btn)){color:var(--ce15-link)!important}
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page) :where(a:not(.ce-button):not(.ce2-button):not(.ce-btn)):hover,
:where(.ce2-main,.ce-main,.site-main,.entry-content,.ce-public-page) :where(a:not(.ce-button):not(.ce2-button):not(.ce-btn)):focus-visible{color:color-mix(in srgb,var(--ce15-link) 80%,#000)!important;text-decoration-color:currentColor}

/* Eyebrows/kickers remain accent text but must pass against their own surface. */
:where(.ce2-eyebrow,.ce-eyebrow,.ce-public-eyebrow,.ce-kicker,.ce2-kicker,.ce-card__kicker,.ce-section-kicker){color:var(--ce15-brand)!important;font-weight:850!important}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero)
  :where(.ce2-eyebrow,.ce-eyebrow,.ce-public-eyebrow,.ce-kicker,.ce2-kicker,.ce-card__kicker,.ce-section-kicker){color:var(--ce15-sky)!important}
/* Nested bright cards inside dark areas reset accent colour too. */
:where(.ce-card,.ce2-card,.ce2-proof-visual,.ce2-passport,.ce2-hero-note,.ce2-growth-card,.ce2-org-panel,.ce2-mission,.ce2-rubric,.ce2-callout,.ce2-pathway-card,.ce2-audience-list--visual>a,.ce2-trust-strip>div,.ce2-trust-strip>a)
  :where(.ce2-eyebrow,.ce-eyebrow,.ce-public-eyebrow,.ce-kicker,.ce2-kicker,.ce-card__kicker,.ce-section-kicker){color:var(--ce15-brand)!important}

/* Cards: proportion, breathing room, readable density. */
:where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce-story-card,.ce-product-card,.ce2-proof-visual,.ce2-passport,.ce2-hero-note,.ce2-growth-card,.ce2-org-panel,.ce2-mission,.ce2-rubric,.ce2-callout,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-audience-list--visual>a){
  border-radius:var(--ce15-radius)!important;
  border:1px solid var(--ce15-border)!important;
  box-shadow:var(--ce15-shadow-soft)!important;
}
:where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce-story-card,.ce-product-card,.ce2-callout){padding:clamp(22px,3vw,36px)!important}
:where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-audience-list--visual>a){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
:where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-audience-list--visual>a):hover{
  --ce15-surface:#fff;
  --ce15-fg:var(--ce15-copy);
  --ce15-heading:var(--ce15-ink-strong);
  --ce15-subtle:var(--ce15-muted);
  --ce15-link:var(--ce15-brand-deep);
  transform:translateY(-3px);
  background:#fff!important;
  border-color:#a9bfd7!important;
  box-shadow:var(--ce15-shadow)!important;
}

/* Fix feature/process rows specifically: no white text on white rows. */
.ce2-feature-rows,.ce2-process-list{border-color:var(--ce15-border)!important}
.ce2-feature-rows article,.ce2-process-list :where(article,li){margin:0 0 16px;border:1px solid var(--ce15-border)!important}
.ce2-feature-rows article>span,.ce2-process-list :where(article,li)>span{color:var(--ce15-brand)!important}

/* Audience cards shown in screenshots: explicit readable foreground. */
.ce2-audience-list--visual>a span{color:var(--ce15-brand)!important}
.ce2-audience-list--visual>a strong{color:var(--ce15-ink-strong)!important}
.ce2-audience-list--visual>a em{color:#415a75!important}
.ce2-audience-list--visual>a:hover strong{color:var(--ce15-brand-deep)!important}

/* Trust strip is a dark band with clearly bright, self-contained cards. */
.ce2-section--trust{background:linear-gradient(145deg,#071426,#0b1d35 64%,#102949)!important}
.ce2-section--trust .ce2-trust-strip>div,.ce2-section--trust .ce2-trust-strip>a{background:#fff!important}
.ce2-section--trust .ce2-trust-strip>div :where(span,p,strong,em),.ce2-section--trust .ce2-trust-strip>a :where(span,p,strong,em){color:var(--ce15-ink-strong)!important}
.ce2-section--trust .ce2-trust-strip>div p,.ce2-section--trust .ce2-trust-strip>a p{color:var(--ce15-copy)!important}
.ce2-section--trust .ce2-trust-strip>a em{color:var(--ce15-brand-deep)!important}

/* Forms and controls inherit from their immediate light form surface. */
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(input,select,textarea){background:#fff!important;color:var(--ce15-ink-strong)!important;border-color:#8799ad!important;caret-color:var(--ce15-ink-strong)!important}
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(input,textarea)::placeholder{color:#566b82!important;opacity:1!important}
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(input,select,textarea):focus-visible{outline:3px solid rgba(11,92,171,.30)!important;outline-offset:2px!important;border-color:var(--ce15-focus)!important}

/* Buttons: readable in every state, including when nested in dark surfaces. */
:where(.ce-button,.ce2-button,.ce-btn,button.ce-button,button.ce2-button,input[type="submit"]){min-height:48px;border-radius:999px!important;font-weight:800!important;text-decoration:none!important}
:where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary,input[type="submit"]){background:var(--ce15-brand)!important;color:#fff!important;border:1px solid var(--ce15-brand)!important}
:where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary,input[type="submit"]):hover,
:where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary,input[type="submit"]):focus-visible{background:var(--ce15-brand-deep)!important;color:#fff!important;border-color:var(--ce15-brand-deep)!important}
:where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary){background:#fff!important;color:var(--ce15-brand-deep)!important;border:1px solid #8aa8c8!important}
:where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary):hover,
:where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary):focus-visible{background:var(--ce15-night)!important;color:#fff!important;border-color:var(--ce15-night)!important}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary){background:var(--ce15-sky)!important;color:var(--ce15-night)!important;border-color:var(--ce15-sky)!important}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary):hover,
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary):focus-visible{background:var(--ce15-sky-soft)!important;color:var(--ce15-night)!important;border-color:var(--ce15-sky-soft)!important}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary){background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.66)!important}
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary):hover,
:where(.ce2-hero,.ce2-page-hero,.ce2-section--dark,.ce2-section--trust,.ce2-final-cta,.ce2-auth,.ce-public-page-head,.ce-dark-surface,.ce-hero,.ce-os-clean-hero) :where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary):focus-visible{background:#fff!important;color:var(--ce15-night)!important;border-color:#fff!important}
/* A light nested card inside a dark parent wins for buttons too. */
:where(.ce-card,.ce2-card,.ce2-proof-visual,.ce2-passport,.ce2-hero-note,.ce2-growth-card,.ce2-org-panel,.ce2-mission,.ce2-rubric,.ce2-callout,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a) :where(.ce2-button--primary,.ce-button--primary,.ce-btn--primary){background:var(--ce15-brand)!important;color:#fff!important;border-color:var(--ce15-brand)!important}
:where(.ce-card,.ce2-card,.ce2-proof-visual,.ce2-passport,.ce2-hero-note,.ce2-growth-card,.ce2-org-panel,.ce2-mission,.ce2-rubric,.ce2-callout,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a) :where(.ce2-button--secondary,.ce-button--secondary,.ce-button--ghost,.ce-btn--secondary){background:#fff!important;color:var(--ce15-brand-deep)!important;border-color:#8aa8c8!important}

/* Layout polish: stronger hierarchy, proportional section rhythm, controlled measure. */
.ce2-container,.ce-container{width:min(1180px,calc(100% - 40px))!important;margin-inline:auto}
.ce2-hero,.ce2-page-hero,.ce-page-hero{padding-block:clamp(72px,8vw,126px)!important}
.ce2-page-hero--compact{padding-block:clamp(58px,6vw,92px)!important}
.ce2-section,.ce-section{padding-block:clamp(58px,6.4vw,96px)!important}
.ce2-section-head{max-width:840px!important;margin-bottom:clamp(28px,4vw,48px)!important}
.ce2-section-head>p:last-child,.ce2-lead,.ce-home-support,.ce-section-heading p{max-width:72ch!important;line-height:1.75!important}
.ce2-main h1,.ce-main h1{font-size:clamp(2.45rem,5vw,5rem)!important;line-height:1.01!important;letter-spacing:-.04em!important}
.ce2-main h2,.ce-main h2{font-size:clamp(1.8rem,3.1vw,3.15rem)!important;line-height:1.09!important;letter-spacing:-.03em!important}
.ce2-main h3,.ce-main h3{line-height:1.2!important}

/* Keep illustrative media proportional instead of dominating copy-heavy sections. */
.ce2-authentic-image{border-radius:20px!important;overflow:hidden!important;box-shadow:0 18px 48px rgba(15,38,67,.12)!important}
.ce2-authentic-image img{width:100%;height:auto;object-fit:cover}
.ce2-split>.ce2-authentic-image,.ce2-split>div>.ce2-authentic-image{max-height:520px}
.ce2-split>.ce2-authentic-image img,.ce2-split>div>.ce2-authentic-image img{max-height:520px;object-fit:cover}
.ce2-audience-list--visual .ce2-authentic-image{box-shadow:none!important}

/* Tables and detail panels stay legible on bright surfaces. */
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(table){background:#fff;color:var(--ce15-ink);border-color:var(--ce15-border)}
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(th){background:#edf3f9;color:var(--ce15-ink-strong)!important}
:where(.ce2-main,.ce-main,.ce-assessment-workspace,.ce-readiness-workspace,.ce-cbc-checkins) :where(td){color:var(--ce15-copy)!important}

/* Prevent decorative status/badge colours from being unintentionally neutralized. */
:where(.ce-badge,.ce-pill,.ce-tag,.ce-status,.ce2-status,.ce-status-pill,.ce-readiness-number,.ce-cbc-checkin__number){color:initial}
.ce2-status--verified{color:#087252!important}
.ce-readiness-number,.ce-cbc-checkin__number{color:#fff!important}

@media(max-width:980px){
  .ce2-section,.ce-section{padding-block:clamp(50px,7vw,76px)!important}
  .ce2-container,.ce-container{width:min(100% - 30px,1180px)!important}
}
@media(max-width:720px){
  .ce2-hero,.ce2-page-hero,.ce-page-hero{padding-block:56px!important}
  .ce2-section,.ce-section{padding-block:48px!important}
  .ce2-container,.ce-container{width:min(100% - 24px,1180px)!important}
  :where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce2-callout){padding:20px!important;border-radius:18px!important}
  .ce2-main h1,.ce-main h1{font-size:clamp(2.15rem,11vw,3.4rem)!important}
}
@media(prefers-reduced-motion:reduce){
  :where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-audience-list--visual>a){transition:none!important}
  :where(.ce-card,.ce2-card,.ce-public-card,.ce-feature-card,.ce2-pathway-card,.ce2-trust-strip>div,.ce2-trust-strip>a,.ce2-audience-list--visual>a):hover{transform:none!important}
}

/* --------------------------------------------------------------------------
 * Phase 15 release closure: legacy/public immediate-surface authority.
 * Loaded last. These selectors deliberately carry enough specificity to beat
 * older dark-theme declarations that previously produced dark-on-dark heroes,
 * white-on-white cards and blank reveal sections in full-page captures.
 * -------------------------------------------------------------------------- */

/* Reliability first: public content must never depend on IntersectionObserver
 * or animation JavaScript to become readable. Motion may enhance a visible
 * surface, but it may not be the gate that reveals content. */
html.ce-js body .ce-main .ce-reveal,
html.ce-js body .ce-main [data-ce-reveal],
html.ce-js body .ce2-main .ce-reveal,
html.ce-js body .ce2-main [data-ce-reveal],
html.ce-premium-motion body .site-main > section,
html.ce-premium-motion body .entry-content > section,
html.ce-premium-motion body .ce2-section{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

/* Consistent UI typography. Code/preformatted and specialist learning-content
 * components keep their purpose-built typefaces. */
body .site-header,body .site-footer,body .ce-main,body .ce2-main,body .ce-public-page,
body .ce-assessment-workspace,body .ce-readiness-workspace,body .ce-cbc-checkins,
body .site-header button,body .site-header input,body .site-header select,
body .ce-main button,body .ce-main input,body .ce-main select,body .ce-main textarea,
body .ce2-main button,body .ce2-main input,body .ce2-main select,body .ce2-main textarea{
  font-family:var(--ce15-font)!important;
}

/* Legacy dark surfaces visible in the supplied page captures. Do not replace
 * their art direction; establish the correct foreground authority on top. */
body .ce-main .ce-page-hero,
body .ce-main .ce-cta-band,
body .ce-main .ce-public-hero,
body .ce-main .ce-public-section--dark,
body .ce-main .ce-pathway-viewer__hero,
body .ce-main .ce-service-desk__hero,
body .ce-main .ce-registration-page__hero,
body .ce-main .ce-registration-router__hero,
body .ce2-main .ce2-workspace-hero{
  --ce15-fg:var(--ce15-light-copy);
  --ce15-heading:#fff;
  --ce15-subtle:var(--ce15-light-muted);
  --ce15-link:var(--ce15-sky);
  --ce15-line:var(--ce15-border-dark);
  color:var(--ce15-fg)!important;
}
body .ce-main .ce-page-hero h1,body .ce-main .ce-page-hero h2,body .ce-main .ce-page-hero h3,
body .ce-main .ce-page-hero h4,body .ce-main .ce-page-hero strong,
body .ce-main .ce-cta-band h1,body .ce-main .ce-cta-band h2,body .ce-main .ce-cta-band h3,body .ce-main .ce-cta-band strong,
body .ce-main .ce-public-hero h1,body .ce-main .ce-public-hero h2,body .ce-main .ce-public-hero h3,
body .ce-main .ce-public-section--dark h1,body .ce-main .ce-public-section--dark h2,body .ce-main .ce-public-section--dark h3,
body .ce-main .ce-pathway-viewer__hero h1,body .ce-main .ce-pathway-viewer__hero h2,body .ce-main .ce-pathway-viewer__hero h3,
body .ce-main .ce-service-desk__hero h1,body .ce-main .ce-registration-page__hero h1,body .ce-main .ce-registration-router__hero h1,
body .ce2-main .ce2-workspace-hero h1,body .ce2-main .ce2-workspace-hero h2,body .ce2-main .ce2-workspace-hero h3{
  color:#fff!important;
}
body .ce-main .ce-page-hero p,body .ce-main .ce-page-hero li,body .ce-main .ce-page-hero label,
body .ce-main .ce-cta-band p,body .ce-main .ce-cta-band li,
body .ce-main .ce-public-hero p,body .ce-main .ce-public-hero li,
body .ce-main .ce-public-section--dark p,body .ce-main .ce-public-section--dark li,
body .ce-main .ce-pathway-viewer__hero p,body .ce-main .ce-pathway-viewer__hero li,
body .ce-main .ce-service-desk__hero p,body .ce-main .ce-registration-page__hero p,body .ce-main .ce-registration-router__hero p,
body .ce2-main .ce2-workspace-hero p,body .ce2-main .ce2-workspace-hero li{
  color:var(--ce15-light-copy)!important;
}
body .ce-main .ce-page-hero .ce-eyebrow,body .ce-main .ce-page-hero .ce-kicker,
body .ce-main .ce-cta-band .ce-eyebrow,body .ce-main .ce-public-hero .ce-eyebrow,
body .ce-main .ce-pathway-viewer__hero .ce-eyebrow,body .ce2-main .ce2-workspace-hero .ce2-eyebrow{
  color:var(--ce15-sky)!important;
}

/* Bright nested surfaces always reset typography, even inside a dark parent. */
body .ce-main .ce-card,body .ce-main .ce-pathway-support-card,body .ce-main .ce-pathway-detail-card,
body .ce-main .ce-proof-passport-card,body .ce-main .ce-photo-card,body .ce-main .ce-scale-card,
body .ce-main .ce-auth-card,body .ce-main .ce-verification-card,body .ce-main .ce-compare-card,
body .ce-main .ce-school-card,body .ce-main .ce-policy-card,body .ce-main .ce-registration-page__panel,
body .ce-main .ce-service-desk__panel,body .ce-main .ce-service-desk__aside-card,
body .ce-main .ce-registration-router__card,body .ce-main .ce-cbc-curriculum-card,
body .ce-main .ce-proof-form,body .ce-main .ce-pathway-overview-grid > article,
body .ce2-main .ce2-card,body .ce2-main .ce2-proof-visual,body .ce2-main .ce2-passport,
body .ce2-main .ce2-hero-note,body .ce2-main .ce2-growth-card,body .ce2-main .ce2-org-panel,
body .ce2-main .ce2-mission,body .ce2-main .ce2-rubric,body .ce2-main .ce2-callout,
body .ce2-main .ce2-pathway-card,body .ce2-main .ce2-audience-list--visual > a,
body .ce2-main .ce2-trust-strip > div,body .ce2-main .ce2-trust-strip > a{
  --ce15-fg:var(--ce15-copy);
  --ce15-heading:var(--ce15-ink-strong);
  --ce15-subtle:var(--ce15-muted);
  --ce15-link:var(--ce15-brand-deep);
  --ce15-line:var(--ce15-border);
  background-color:#fff!important;
  color:var(--ce15-fg)!important;
}
body .ce-main .ce-card h1,body .ce-main .ce-card h2,body .ce-main .ce-card h3,body .ce-main .ce-card h4,body .ce-main .ce-card strong,
body .ce-main .ce-pathway-support-card h2,body .ce-main .ce-pathway-support-card h3,body .ce-main .ce-pathway-support-card strong,
body .ce-main .ce-proof-passport-card h2,body .ce-main .ce-proof-passport-card h3,body .ce-main .ce-proof-passport-card strong,
body .ce-main .ce-proof-form h2,body .ce-main .ce-proof-form h3,body .ce-main .ce-proof-form strong,
body .ce2-main .ce2-card h1,body .ce2-main .ce2-card h2,body .ce2-main .ce2-card h3,body .ce2-main .ce2-card h4,body .ce2-main .ce2-card strong,
body .ce2-main .ce2-proof-visual h1,body .ce2-main .ce2-proof-visual h2,body .ce2-main .ce2-proof-visual h3,body .ce2-main .ce2-proof-visual strong,
body .ce2-main .ce2-passport h1,body .ce2-main .ce2-passport h2,body .ce2-main .ce2-passport h3,body .ce2-main .ce2-passport strong,
body .ce2-main .ce2-hero-note h1,body .ce2-main .ce2-hero-note h2,body .ce2-main .ce2-hero-note h3,body .ce2-main .ce2-hero-note strong{
  color:var(--ce15-ink-strong)!important;
}
body .ce-main .ce-card p,body .ce-main .ce-card li,body .ce-main .ce-card label,body .ce-main .ce-card small,
body .ce-main .ce-pathway-support-card p,body .ce-main .ce-pathway-support-card li,
body .ce-main .ce-proof-passport-card p,body .ce-main .ce-proof-passport-card li,
body .ce-main .ce-proof-form p,body .ce-main .ce-proof-form label,
body .ce2-main .ce2-card p,body .ce2-main .ce2-card li,body .ce2-main .ce2-card label,body .ce2-main .ce2-card small,
body .ce2-main .ce2-proof-visual p,body .ce2-main .ce2-proof-visual li,
body .ce2-main .ce2-passport p,body .ce2-main .ce2-passport li,
body .ce2-main .ce2-hero-note p,body .ce2-main .ce2-hero-note li{
  color:var(--ce15-copy)!important;
}

/* Legacy hero buttons and CTA bands remain readable through hover/focus. */
body .ce-main .ce-page-hero .ce-button--primary,body .ce-main .ce-cta-band .ce-button--primary,
body .ce-main .ce-public-hero .ce-button--primary,body .ce-main .ce-pathway-viewer__hero .ce-button--primary{
  background:var(--ce15-sky)!important;color:var(--ce15-night)!important;border-color:var(--ce15-sky)!important;
}
body .ce-main .ce-page-hero .ce-button--primary:hover,body .ce-main .ce-page-hero .ce-button--primary:focus-visible,
body .ce-main .ce-cta-band .ce-button--primary:hover,body .ce-main .ce-cta-band .ce-button--primary:focus-visible,
body .ce-main .ce-public-hero .ce-button--primary:hover,body .ce-main .ce-public-hero .ce-button--primary:focus-visible,
body .ce-main .ce-pathway-viewer__hero .ce-button--primary:hover,body .ce-main .ce-pathway-viewer__hero .ce-button--primary:focus-visible{
  background:var(--ce15-sky-soft)!important;color:var(--ce15-night)!important;border-color:var(--ce15-sky-soft)!important;
}
body .ce-main .ce-page-hero .ce-button--secondary,body .ce-main .ce-page-hero .ce-button--ghost,
body .ce-main .ce-cta-band .ce-button--secondary,body .ce-main .ce-cta-band .ce-button--ghost,
body .ce-main .ce-pathway-viewer__hero .ce-button--secondary,body .ce-main .ce-pathway-viewer__hero .ce-button--ghost{
  background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.68)!important;
}
body .ce-main .ce-page-hero .ce-button--secondary:hover,body .ce-main .ce-page-hero .ce-button--secondary:focus-visible,
body .ce-main .ce-page-hero .ce-button--ghost:hover,body .ce-main .ce-page-hero .ce-button--ghost:focus-visible,
body .ce-main .ce-cta-band .ce-button--secondary:hover,body .ce-main .ce-cta-band .ce-button--secondary:focus-visible,
body .ce-main .ce-cta-band .ce-button--ghost:hover,body .ce-main .ce-cta-band .ce-button--ghost:focus-visible{
  background:#fff!important;color:var(--ce15-night)!important;border-color:#fff!important;
}
/* If a button sits on a bright nested card, the card wins over the dark ancestor. */
body .ce-main .ce-card .ce-button--primary,body .ce2-main .ce2-card .ce2-button--primary,
body .ce2-main .ce2-proof-visual .ce2-button--primary,body .ce2-main .ce2-passport .ce2-button--primary{
  background:var(--ce15-brand)!important;color:#fff!important;border-color:var(--ce15-brand)!important;
}
body .ce-main .ce-card .ce-button--secondary,body .ce-main .ce-card .ce-button--ghost,
body .ce2-main .ce2-card .ce2-button--secondary,body .ce2-main .ce2-proof-visual .ce2-button--secondary,
body .ce2-main .ce2-passport .ce2-button--secondary{
  background:#fff!important;color:var(--ce15-brand-deep)!important;border-color:#8aa8c8!important;
}
body .ce-main .ce-card .ce-button--secondary:hover,body .ce-main .ce-card .ce-button--secondary:focus-visible,
body .ce-main .ce-card .ce-button--ghost:hover,body .ce-main .ce-card .ce-button--ghost:focus-visible{
  background:var(--ce15-night)!important;color:#fff!important;border-color:var(--ce15-night)!important;
}

/* Header/footer use explicit dark-surface typography rather than inheriting a
 * page section's foreground. */
body .site-header,body .ce-header,body .site-footer,body .ce-footer{color:var(--ce15-light-copy)!important}
body .site-header a,body .ce-header a,body .site-footer a,body .ce-footer a{color:#fff!important}
body .site-header p,body .ce-header p,body .site-footer p,body .ce-footer p,
body .site-footer li,body .ce-footer li,body .site-footer small,body .ce-footer small{color:var(--ce15-light-copy)!important}
body .site-footer h2,body .site-footer h3,body .site-footer h4,body .ce-footer h2,body .ce-footer h3,body .ce-footer h4{color:#fff!important}

/* Explicitly remove the fragile CSS color-mix dependency from public link
 * hover states. */
body .ce-main a:not(.ce-button):not(.ce2-button):not(.ce-btn):hover,
body .ce-main a:not(.ce-button):not(.ce2-button):not(.ce-btn):focus-visible,
body .ce2-main a:not(.ce-button):not(.ce2-button):not(.ce-btn):hover,
body .ce2-main a:not(.ce-button):not(.ce2-button):not(.ce-btn):focus-visible{
  color:#092f61!important;
}
body .ce-main .ce-page-hero a:not(.ce-button):not(.ce-btn):hover,
body .ce-main .ce-page-hero a:not(.ce-button):not(.ce-btn):focus-visible,
body .ce-main .ce-cta-band a:not(.ce-button):not(.ce-btn):hover,
body .ce-main .ce-cta-band a:not(.ce-button):not(.ce-btn):focus-visible{
  color:var(--ce15-sky-soft)!important;
}

/* Forced-colors and keyboard users retain a visible interaction boundary. */
body :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ce15-focus)!important;outline-offset:3px!important}
@media(forced-colors:active){body :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid CanvasText!important}}

/* Legacy dark section/CTA normalization discovered by rendered Phase 15 QA. */
body .ce-main .ce-section--dark,
body .ce-main .ce-cta-band{
  --ce15-surface:var(--ce15-night);
  --ce15-fg:var(--ce15-light-copy);
  --ce15-heading:#fff;
  --ce15-subtle:var(--ce15-light-muted);
  --ce15-link:var(--ce15-sky);
  --ce15-line:var(--ce15-border-dark);
  background:radial-gradient(circle at 84% 14%,rgba(130,232,245,.09),transparent 29rem),linear-gradient(145deg,var(--ce15-night) 0%,var(--ce15-night-2) 58%,var(--ce15-night-3) 100%)!important;
  color:var(--ce15-fg)!important;
}
body .ce-main .ce-section--dark h1,body .ce-main .ce-section--dark h2,body .ce-main .ce-section--dark h3,body .ce-main .ce-section--dark h4,body .ce-main .ce-section--dark strong,
body .ce-main .ce-cta-band h1,body .ce-main .ce-cta-band h2,body .ce-main .ce-cta-band h3,body .ce-main .ce-cta-band h4,body .ce-main .ce-cta-band strong{color:#fff!important}
body .ce-main .ce-section--dark p,body .ce-main .ce-section--dark li,body .ce-main .ce-section--dark small,
body .ce-main .ce-cta-band p,body .ce-main .ce-cta-band li,body .ce-main .ce-cta-band small{color:var(--ce15-light-copy)!important}
body .ce-main .ce-section--dark .ce-eyebrow,body .ce-main .ce-section--dark .ce-kicker,
body .ce-main .ce-cta-band .ce-eyebrow,body .ce-main .ce-cta-band .ce-kicker{color:var(--ce15-sky)!important}
/* A bright nested card still wins inside these normalized dark surfaces. */
body .ce-main .ce-section--dark .ce-card h1,body .ce-main .ce-section--dark .ce-card h2,body .ce-main .ce-section--dark .ce-card h3,body .ce-main .ce-section--dark .ce-card h4,body .ce-main .ce-section--dark .ce-card strong,
body .ce-main .ce-cta-band .ce-card h1,body .ce-main .ce-cta-band .ce-card h2,body .ce-main .ce-cta-band .ce-card h3,body .ce-main .ce-cta-band .ce-card h4,body .ce-main .ce-cta-band .ce-card strong{color:var(--ce15-ink-strong)!important}
body .ce-main .ce-section--dark .ce-card p,body .ce-main .ce-section--dark .ce-card li,body .ce-main .ce-section--dark .ce-card small,
body .ce-main .ce-cta-band .ce-card p,body .ce-main .ce-cta-band .ce-card li,body .ce-main .ce-cta-band .ce-card small{color:var(--ce15-copy)!important}
