/* REVAMP-12 — CBC/CBE child-centred experience.
 * Route-scoped final presentation layer. Every coloured surface pairs its own
 * foreground/background; no component relies on ancestor foreground colour. */
:root{
  --ce12-child-ink:#10233b;
  --ce12-child-text:#38506a;
  --ce12-child-muted:#60758d;
  --ce12-child-line:#d8e3ee;
  --ce12-child-soft:#f4f8fc;
  --ce12-child-sky:#eaf7fb;
  --ce12-child-mint:#edf9f4;
  --ce12-child-warm:#fff8eb;
  --ce12-child-blue:#155eef;
  --ce12-child-navy:#0b2138;
  --ce12-child-navy2:#123c5c;
  --ce12-child-radius:1.35rem;
  --ce12-child-shadow:0 20px 50px rgba(24,50,79,.09);
}
.ce12-cbc-public,.ce-kids-shell,.ce-family-public,.ce12-teacher-child,.ce-school-public{font-family:var(--ce-font,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}
.ce12-cbc-public :where(h1,h2,h3),.ce-kids-shell :where(h1,h2,h3),.ce-family-public :where(h1,h2,h3),.ce12-teacher-child :where(h1,h2,h3),.ce-school-public :where(h1,h2,h3){letter-spacing:-.025em;text-wrap:balance}
.ce12-cbc-public :where(p,li),.ce-kids-shell :where(p,li),.ce-family-public :where(p,li),.ce12-teacher-child :where(p,li),.ce-school-public :where(p,li){line-height:1.68}

/* Public CBC/CBE story */
.ce12-cbc-hero{padding:clamp(3.8rem,7vw,7.2rem) 0;background:linear-gradient(145deg,#f8fbff 0%,#eef8fb 54%,#fff8eb 100%)!important;color:var(--ce12-child-text)!important}
.ce12-cbc-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.78fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ce12-cbc-hero__copy{max-width:760px}.ce12-cbc-hero__copy h1{max-width:14ch;font-size:clamp(2.75rem,5.8vw,5.5rem);line-height:.98;color:var(--ce12-child-ink)!important}.ce12-cbc-hero__copy .ce2-lead{max-width:66ch;font-size:clamp(1.08rem,1.8vw,1.32rem);color:#38506a!important}
.ce12-cbc-boundary{max-width:68ch;margin-top:1.25rem;padding:.85rem 1rem;border-left:4px solid #65c8d0;border-radius:.35rem;background:rgba(255,255,255,.72);font-size:.93rem;color:#465e76!important}
.ce12-cbc-hero__visual{position:relative;min-height:430px;border-radius:1.8rem;overflow:hidden;background:#dcebf5;box-shadow:0 30px 75px rgba(19,50,81,.16)}.ce12-cbc-hero__visual img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}.ce12-cbc-hero__note{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.7);border-radius:1rem;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);color:#10233b}.ce12-cbc-hero__note strong,.ce12-cbc-hero__note span{display:block;color:#10233b!important}.ce12-cbc-hero__note span{margin-top:.25rem;font-size:.9rem}
.ce12-cbc-jump{position:sticky;top:0;z-index:18;border-block:1px solid #dae6ef;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.ce12-cbc-jump .ce2-container{display:flex;gap:.35rem;overflow:auto;padding-block:.55rem}.ce12-cbc-jump a{flex:0 0 auto;padding:.62rem .8rem;border-radius:999px;color:#24425f!important;font-size:.87rem;font-weight:750;text-decoration:none}.ce12-cbc-jump a:hover,.ce12-cbc-jump a:focus-visible{background:#eaf2ff;color:#0b4bc2!important}
.ce12-cbc-section{padding-block:clamp(4rem,7vw,7rem)!important}.ce12-cbc-section .ce2-container>h2{max-width:19ch;font-size:clamp(2rem,4vw,3.7rem);line-height:1.04;color:var(--ce12-child-ink)!important}.ce12-cbc-kicker{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:850;color:#17636c!important}.ce12-cbc-intro{max-width:74ch;font-size:1.08rem;color:#465e76!important}
.ce12-cbc-rhythm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:2rem 0 0;padding:0;list-style:none}.ce12-cbc-rhythm li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.75rem;padding:1rem;border:1px solid #d4e1ea;border-radius:1.1rem;background:#fff;box-shadow:0 8px 25px rgba(31,60,90,.05)}.ce12-cbc-rhythm b{grid-row:1/3;display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:.7rem;background:#e6f6f4;color:#155e63}.ce12-cbc-rhythm strong{color:#10233b!important}.ce12-cbc-rhythm span{color:#556d84!important;font-size:.9rem}
.ce12-cbc-stage-grid,.ce12-cbc-competency-grid,.ce12-cbc-senior__grid{display:grid;gap:1rem;margin-top:2rem}.ce12-cbc-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ce12-cbc-competency-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ce12-cbc-stage-grid article,.ce12-cbc-competency-grid article,.ce12-cbc-senior__grid article{padding:1.2rem;border:1px solid var(--ce12-child-line);border-radius:1.1rem;background:#fff;box-shadow:0 10px 30px rgba(24,50,79,.055);color:var(--ce12-child-text)}.ce12-cbc-stage-grid article>span,.ce12-cbc-senior__grid article>span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#17636c!important}.ce12-cbc-stage-grid h3,.ce12-cbc-competency-grid h3,.ce12-cbc-senior__grid h3{margin:.45rem 0;color:var(--ce12-child-ink)!important}.ce12-cbc-competency-grid b{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#eaf2ff;color:#0b4bc2}.ce12-cbc-stage-grid p,.ce12-cbc-competency-grid p,.ce12-cbc-senior__grid p{color:#526a82!important}
.ce12-cbc-grade-strip{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.2rem}.ce12-cbc-grade-strip span{padding:.42rem .66rem;border:1px solid #cedce8;border-radius:999px;background:#fff;color:#3f5870;font-size:.78rem;font-weight:700}
.ce12-cbc-support-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}.ce12-cbc-support-map article{min-height:180px;padding:1.3rem;border-radius:1.2rem;border:1px solid #d7e4ed;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}.ce12-cbc-support-map__learner{background:linear-gradient(145deg,#0f4f90,#0d356d)!important}.ce12-cbc-support-map__learner h3,.ce12-cbc-support-map__learner p{color:#fff!important}.ce12-cbc-support-map article:not(.ce12-cbc-support-map__learner) h3{color:#10233b!important}.ce12-cbc-support-map article:not(.ce12-cbc-support-map__learner) p{color:#526a82!important}.ce12-cbc-role-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}.ce12-cbc-role-links a{font-weight:800;color:#0b58ca!important}
.ce12-cbc-values,.ce12-cbc-assessment{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.8fr);gap:2.5rem;align-items:start}.ce12-cbc-values__cards,.ce12-cbc-assessment__stack{display:grid;gap:.8rem}.ce12-cbc-values__cards article,.ce12-cbc-assessment__stack article{padding:1rem 1.1rem;border:1px solid #d5e2ec;border-radius:1rem;background:#fff}.ce12-cbc-values__cards strong,.ce12-cbc-values__cards span,.ce12-cbc-assessment__stack strong,.ce12-cbc-assessment__stack span{display:block}.ce12-cbc-values__cards strong,.ce12-cbc-assessment__stack strong{color:#10233b!important}.ce12-cbc-values__cards span,.ce12-cbc-assessment__stack span{margin-top:.25rem;color:#526a82!important}
.ce12-cbc-senior__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ce12-cbc-search{max-width:850px;margin:2rem 0}.ce12-cbc-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.ce12-cbc-search input{min-height:52px!important}

/* Protected child room */
.ce-kids-shell{max-width:1480px;margin:0 auto;padding:clamp(1rem,2.5vw,2.5rem);background:linear-gradient(180deg,#f4f9fc,#f8fbff 55%,#f4f8fc)!important;color:var(--ce12-child-text)!important}
.ce-kids-nav{display:flex;gap:.35rem;overflow:auto;padding:.45rem;border:1px solid #d7e4ee;border-radius:1rem;background:#fff;box-shadow:0 10px 30px rgba(18,48,78,.05)}.ce-kids-nav a{flex:0 0 auto;padding:.7rem .82rem;border-radius:.7rem;color:#36506a!important;font-size:.88rem;font-weight:800;text-decoration:none}.ce-kids-nav a.is-active{background:#0f4f90;color:#fff!important}.ce-kids-nav a:hover:not(.is-active){background:#edf5fa;color:#123d64!important}
.ce-kids-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.52fr);gap:1rem;align-items:end;margin:1rem 0;padding:clamp(1.3rem,3vw,2.1rem);border:1px solid #d9e5ee;border-radius:1.4rem;background:linear-gradient(130deg,#fff 0%,#f0faf9 100%)!important;box-shadow:var(--ce12-child-shadow);color:#38506a!important}.ce-kids-header h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3.55rem);color:#10233b!important}.ce-kids-header p,.ce-kids-header span{color:#526a82!important}.ce-kids-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:850;color:#17636c!important}.ce-kids-safety{padding:1rem;border-radius:1rem;background:#eaf7fb;color:#23455f}.ce-kids-safety strong,.ce-kids-safety span{display:block;color:#23455f!important}.ce-kids-safety span{margin-top:.35rem;font-size:.9rem}.ce-kids-stage-note{margin:0 0 1rem;padding:.8rem 1rem;border-left:4px solid #64c6cf;border-radius:.45rem;background:#fff;color:#465f77!important}
.ce-kids-panel{margin:1rem 0;padding:clamp(1.15rem,2.5vw,2rem);border:1px solid #d7e3ed;border-radius:var(--ce12-child-radius);background:#fff;color:var(--ce12-child-text);box-shadow:0 12px 34px rgba(27,55,84,.055)}.ce-kids-panel :where(h2,h3,strong){color:var(--ce12-child-ink)!important}.ce-kids-panel :where(p,li,span,small,dd,label){color:var(--ce12-child-text)!important}.ce-kids-section-title{max-width:780px}.ce-kids-section-title h2{font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.08;margin:.25rem 0 .6rem}.ce-kids-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.ce-kids-card{padding:1.15rem;border:1px solid #d9e4ec;border-radius:1rem;background:#fff;color:#38506a;box-shadow:0 8px 24px rgba(28,54,80,.045)}.ce-kids-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.8rem;margin-bottom:.8rem}.ce-kids-card dl{display:grid;gap:.55rem;margin:1rem 0}.ce-kids-card dl div{display:grid;gap:.1rem}.ce-kids-card dt{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:#61768b!important}.ce-kids-card dd{margin:0;font-weight:700;color:#223d58!important}
.ce-kids-focus{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:2rem;margin:1rem 0;padding:clamp(1.4rem,3vw,2.6rem);border-radius:1.55rem;background:linear-gradient(145deg,#0a213a,#123f61)!important;color:#eaf3fb!important;box-shadow:0 25px 60px rgba(7,31,55,.2)}.ce-kids-focus :where(h2,strong){color:#fff!important}.ce-kids-focus :where(p,span){color:#d7e7f3!important}.ce-kids-focus h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.ce-kids-focus .ce-kids-eyebrow{color:#8ee7ef!important}.ce-kids-focus__progress{display:grid;gap:.35rem;max-width:580px;margin:1.1rem 0}.ce-kids-focus progress{width:100%;height:.75rem}.ce-kids-rhythm{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.ce-kids-rhythm li{display:grid;gap:.15rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.16);border-radius:.85rem;background:rgba(255,255,255,.06)}.ce-kids-rhythm strong{font-size:.92rem}.ce-kids-rhythm span{font-size:.82rem}
.ce-kids-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.1rem}.ce-kids-role-grid article{padding:1rem;border:1px solid #d7e4ed;border-radius:1rem;background:#fff}.ce-kids-role-grid article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:#e8f5f5;color:#17636c!important;font-weight:850}.ce-kids-role-grid h3{margin:.75rem 0 .35rem}.ce-kids-role-grid p{margin:0;font-size:.92rem}
.ce-kids-unit-group{margin-top:1.4rem}.ce-kids-unit-list{display:grid;gap:.75rem}.ce-kids-unit{display:grid;gap:.35rem;padding:1rem;border:1px solid #d8e4ed;border-radius:.9rem;background:#fff}.ce-kids-unit>strong{font-size:1.02rem}.ce-kids-unit>span,.ce-kids-unit>small{color:#526b82!important}.ce-kids-learning-tabs{display:flex;gap:.45rem;overflow:auto;margin:1rem 0}.ce-kids-learning-tabs a{flex:0 0 auto;padding:.6rem .75rem;border-radius:999px;background:#edf5fa;color:#274b68!important;font-weight:750;text-decoration:none}

/* Family learning */
.ce-family-public{max-width:1320px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.ce-family-public__hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid #d9e5ee;border-radius:1.6rem;background:linear-gradient(135deg,#fff,#f1faf8)!important;box-shadow:var(--ce12-child-shadow);color:#38506a!important}.ce-family-public__hero h1{max-width:15ch;font-size:clamp(2.25rem,5vw,4.7rem);line-height:1;color:#10233b!important}.ce-family-public__hero p{max-width:68ch;color:#526a82!important}.ce-family-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:850;color:#17636c!important}.ce-family-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.2rem}.ce-family-public__promise{padding:1.15rem;border-radius:1.1rem;background:#0b2b48;color:#eaf3fb}.ce-family-public__promise>span{color:#8ee7ef!important;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.ce-family-public__promise ol{display:grid;gap:.55rem;padding:0;list-style:none}.ce-family-public__promise li{padding:.7rem;border-radius:.75rem;background:rgba(255,255,255,.07)}.ce-family-public__promise strong,.ce-family-public__promise small{display:block;color:#fff!important}.ce-family-public__promise small{margin-top:.15rem;color:#d2e3ef!important}.ce-family-panel{margin:1.1rem 0;padding:clamp(1.3rem,3vw,2.3rem);border:1px solid #d8e4ed;border-radius:1.35rem;background:#fff;color:#38506a}.ce-family-panel h2{max-width:20ch;font-size:clamp(1.75rem,3.3vw,3rem);line-height:1.08;color:#10233b!important}.ce-family-panel>p{max-width:76ch;color:#526a82!important}.ce-family-public-grid,.ce-family-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.2rem}.ce-family-public-card,.ce-family-boundary-grid article{padding:1rem;border:1px solid #dae5ee;border-radius:1rem;background:#fff}.ce-family-public-card h3,.ce-family-boundary-grid strong{color:#10233b!important}.ce-family-public-card p,.ce-family-boundary-grid span{color:#526a82!important}.ce-family-boundary-grid strong,.ce-family-boundary-grid span{display:block}

/* Teacher & school CBC connective layer */
.ce12-teacher-child{padding-block:clamp(3.5rem,6vw,6rem)!important;background:#f4f9fc!important;color:#38506a!important}.ce12-teacher-loop{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ce12-teacher-loop .ce-card>span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.65rem;background:#e6f5f3;color:#17636c!important;font-weight:850}.ce12-school-learning{background:#f4f9fc!important}
.ce-school-public__hero[data-ce-surface="light"]{background:linear-gradient(135deg,#f8fbff,#edf8f7)!important;color:#38506a!important}.ce-school-public__hero[data-ce-surface="light"] :where(h1,h2,h3,strong){color:#10233b!important}.ce-school-public__hero[data-ce-surface="light"] :where(p,li,span){color:#526a82!important}.ce-school-public__hero[data-ce-surface="light"] .ce-school-public__loop{background:#0b2b48;color:#eaf3fb}.ce-school-public__hero[data-ce-surface="light"] .ce-school-public__loop :where(span,p,li){color:#eaf3fb!important}

/* Child study room: keep focus but remove adult evidence jargon where text is child-specific. */
.ce16-child-study{--ce-child-study-bg:#f5f9fc;--ce-child-study-ink:#10233b}.ce16-child-study .ce-learner-panel,.ce16-child-study .ce-learner-context-card{border-color:#d7e4ed}.ce16-child-study .ce-learner-panel__head{background:#f1f8fb}.ce16-child-study .ce-learner-panel__step{background:#e2f4f2;color:#155e63}

@media(max-width:1050px){.ce12-cbc-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ce12-cbc-competency-grid,.ce12-cbc-rhythm{grid-template-columns:repeat(2,minmax(0,1fr))}.ce-kids-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ce-kids-role-grid,.ce12-teacher-loop{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.ce12-cbc-hero__grid,.ce12-cbc-values,.ce12-cbc-assessment,.ce-kids-header,.ce-kids-focus,.ce-family-public__hero{grid-template-columns:1fr}.ce12-cbc-hero__visual{min-height:300px}.ce12-cbc-hero__visual img{min-height:300px}.ce12-cbc-stage-grid,.ce12-cbc-competency-grid,.ce12-cbc-senior__grid,.ce12-cbc-support-map,.ce-kids-card-grid,.ce-kids-role-grid,.ce-family-public-grid,.ce-family-boundary-grid,.ce12-teacher-loop{grid-template-columns:1fr!important}.ce12-cbc-rhythm{grid-template-columns:1fr 1fr}.ce12-cbc-search>div{grid-template-columns:1fr}.ce-kids-nav{margin-inline:-.25rem}.ce-kids-header{align-items:start}}
@media(max-width:480px){.ce12-cbc-rhythm{grid-template-columns:1fr}.ce12-cbc-hero{padding-top:2.5rem}.ce12-cbc-jump{position:static}.ce-kids-shell,.ce-family-public{padding:.75rem}.ce-kids-panel,.ce-kids-focus,.ce-kids-header,.ce-family-public__hero,.ce-family-panel{border-radius:1rem}.ce-family-actions .ce-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ce12-cbc-public *,.ce-kids-shell *,.ce-family-public *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
@media(forced-colors:active){.ce12-cbc-public :where(article,section),.ce-kids-shell :where(article,section),.ce-family-public :where(article,section){box-shadow:none;border-color:CanvasText}.ce-kids-nav{box-shadow:none}}


/* REVAMP-12.3 — route-specific wide-screen composition.
 * Custom properties alter measure only; they never repaint section backgrounds. */
.ce12-cbc-public{--ce11c-container:96rem;--ce11c-reading:88ch}
.ce-family-public{--ce11c-container:96rem;--ce11c-reading:96ch}
.ce-school-public{--ce11c-container:96rem;--ce11c-reading:88ch}

/* REVAMP-12.2 — final CBC catalogue / slideshow / wide-layout authority.
 * Contrast-only rules in this block never repaint existing route-owned backgrounds.
 * New component backgrounds below belong only to new components introduced here. */
@media (min-width:1180px){
  .ce12-cbc-public .ce2-container{width:min(calc(100% - 72px),1540px)}
  .ce12-cbc-hero__grid{grid-template-columns:minmax(440px,.86fr) minmax(620px,1.14fr);gap:clamp(3rem,5vw,6.5rem)}
  .ce12-cbc-section>.ce2-container{display:block}
  .ce12-cbc-section>.ce2-container>.ce12-cbc-intro{max-width:92ch}
  .ce-family-public{max-width:1540px;width:min(calc(100% - 72px),1540px)}
  .ce-family-public .ce-family-panel>p{max-width:96ch}
}

/* CBC hero story deck — purpose-built component requested for the children experience. */
.ce12-cbc-story{min-width:0;overflow:visible;background:transparent!important;box-shadow:none!important}
.ce12-cbc-story .ce12-story-deck{position:relative;min-height:clamp(430px,40vw,610px);perspective:1400px;transform-style:preserve-3d;isolation:isolate}
.ce12-cbc-story .ce10-story-slide{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:1.6rem;background:#071426;box-shadow:0 28px 72px rgba(12,42,67,.24);transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s ease,filter .45s ease;will-change:transform,opacity}
.ce12-cbc-story .ce10-story-slide[hidden]{display:none}
.ce12-cbc-story .ce10-story-slide__media{position:relative;min-height:320px;overflow:hidden;background:#101b2c}
.ce12-cbc-story .ce10-story-slide__media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(7,20,38,.24))}
.ce12-cbc-story .ce10-story-slide__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015);transition:transform 6s ease}
.ce12-cbc-story .ce10-story-slide[data-ce10-state="active"]{z-index:4;opacity:1;transform:translate3d(0,0,0) rotateY(0) scale(1);filter:none}
.ce12-cbc-story .ce10-story-slide[data-ce10-state="active"] .ce10-story-slide__media img{transform:scale(1.055)}
.ce12-cbc-story .ce10-story-slide[data-ce10-state="prev"]{z-index:2;opacity:.28;transform:translate3d(-10%,16px,-130px) rotateY(6deg) scale(.94);filter:saturate(.75)}
.ce12-cbc-story .ce10-story-slide[data-ce10-state="next"]{z-index:3;opacity:.48;transform:translate3d(10%,9px,-85px) rotateY(-6deg) scale(.965);filter:saturate(.86)}
.ce12-cbc-story .ce10-story-slide[data-ce10-state="far"]{z-index:1;opacity:0;transform:translate3d(0,22px,-200px) scale(.9);pointer-events:none}
.ce12-cbc-story .ce10-media-caption{display:grid;gap:.32rem;padding:1rem 1.2rem 1.15rem;background:#071426;color:#d7e3f2;border-top:1px solid rgba(255,255,255,.1)}
.ce12-cbc-story .ce10-media-caption>span{font-size:.78rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#82e8f5!important}
.ce12-cbc-story .ce10-media-caption h3{margin:0;color:#f7fafc!important;font-size:clamp(1.18rem,1.5vw,1.5rem)}
.ce12-cbc-story .ce10-media-caption p{margin:0;max-width:65ch;color:#d7e3f2!important;font-size:.96rem;line-height:1.55}
.ce12-cbc-story .ce12-story-controls{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem}
.ce12-cbc-story .ce10-showcase-control{display:grid;place-items:center;width:48px;height:48px;border:1px solid #b8cee1;border-radius:50%;background:#fff;color:#0b355f;font:inherit;font-size:1.2rem;cursor:pointer}
.ce12-cbc-story .ce10-showcase-control:hover,.ce12-cbc-story .ce10-showcase-control:focus-visible{border-color:#0b5ea8;background:#eef7ff;color:#0b4f90}
.ce12-cbc-story .ce10-showcase-status{min-width:4.5rem;color:#334f69!important;font-size:.9rem;font-weight:850;text-align:center;font-variant-numeric:tabular-nums}

/* Learning rhythm: proportional cards and full-width use, never narrow word columns. */
.ce12-cbc-rhythm{grid-template-columns:repeat(4,minmax(210px,1fr))!important;gap:1rem!important;align-items:stretch;max-width:none!important}
.ce12-cbc-rhythm li{min-width:0;min-height:9.25rem;padding:1.15rem!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:"n title" "n body"!important;align-content:start;column-gap:.85rem!important}
.ce12-cbc-rhythm li b{grid-area:n!important}.ce12-cbc-rhythm li strong{grid-area:title!important;font-size:1rem;line-height:1.25;word-break:normal!important;overflow-wrap:normal!important}.ce12-cbc-rhythm li span{grid-area:body!important;font-size:.92rem;line-height:1.55;word-break:normal!important;overflow-wrap:normal!important}

/* Developmental navigation is interactive rather than decorative. Existing section background is untouched. */
.ce12-cbc-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1rem!important}
.ce12-cbc-stage-grid>a{display:grid;align-content:start;min-width:0;min-height:15rem;padding:1.25rem;border:1px solid var(--ce12-child-line);border-radius:1.1rem;background:#fff;color:var(--ce12-child-text)!important;text-decoration:none;box-shadow:0 10px 30px rgba(24,50,79,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.ce12-cbc-stage-grid>a:hover,.ce12-cbc-stage-grid>a:focus-visible{transform:translateY(-2px);border-color:#7fb6e8;box-shadow:0 14px 34px rgba(11,65,113,.1)}
.ce12-cbc-stage-grid>a>span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#17636c!important}
.ce12-cbc-stage-grid>a h3{margin:.45rem 0;color:var(--ce12-child-ink)!important}
.ce12-cbc-stage-grid>a p{margin:0;color:#526a82!important;line-height:1.58}
.ce12-cbc-stage-grid>a em{align-self:end;margin-top:auto;padding-top:1rem;font-style:normal;font-size:.86rem;font-weight:850;color:#0b5ea8!important}
.ce12-cbc-grade-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem!important;margin-top:1.25rem}
.ce12-cbc-grade-strip>a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.48rem .62rem;border:1px solid #cedce8;border-radius:.8rem;background:#fff;color:#274964!important;font-size:.8rem;font-weight:800;text-align:center;text-decoration:none}
.ce12-cbc-grade-strip>a:hover,.ce12-cbc-grade-strip>a:focus-visible{border-color:#70a9d8;background:#eef7ff;color:#0b4f90!important}

/* Image-first catalogues: the visual identifies the pathway; only target + cost remain visible. */
.ce12-image-pathway-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:clamp(1rem,1.5vw,1.45rem)!important;align-items:start}
.ce12-image-pathway-card{min-width:0;overflow:hidden;border:1px solid #d6e1eb!important;border-radius:1.2rem!important;background:#fff!important;box-shadow:0 12px 32px rgba(17,45,73,.07)!important}
.ce12-image-pathway-card .ce2-pathway-card__image{display:block!important;width:100%;aspect-ratio:4/5!important;overflow:hidden;border-radius:0!important;background:#edf4f9!important}
.ce12-image-pathway-card .ce2-pathway-card__image img{width:100%;height:100%;object-fit:cover!important;object-position:center;display:block;transition:transform .18s ease}
.ce12-image-pathway-card .ce2-pathway-card__image:hover img,.ce12-image-pathway-card .ce2-pathway-card__image:focus-visible img{transform:scale(1.018)}
.ce12-image-pathway-card__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.8rem .9rem;border-top:1px solid #dce5ef;font-size:.76rem;line-height:1.35;color:#30445d!important}
.ce12-image-pathway-card__footer span{min-width:0;overflow-wrap:normal;word-break:normal}.ce12-image-pathway-card__footer b{color:#0b355f!important;margin-right:.24rem}
@media(min-width:1580px){.ce2-professional-pathways .ce12-image-pathway-grid,.ce2-cbc .ce12-image-pathway-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* Wide editorial composition for family/teacher/school pages: foreground only where contrast is repaired. */
.ce-family-public .ce-family-panel>h2{max-width:30ch}.ce-family-public .ce-family-panel>p{max-width:96ch}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-page-header{color:#eef5ff!important}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-page-header :where(h1,h2,h3,strong,a){color:#fff!important}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-page-header :where(p,li,span){color:#d7e7f3!important}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-card{color:#38506a!important}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-card :where(h2,h3,strong){color:#10233b!important}
body .ce-main .ce-page-hero:not([data-ce-surface="light"]):not([data-ce-surface="soft"])>.ce-container>.ce-card :where(p,li,span){color:#526a82!important}
body .ce-main:has(.ce12-teacher-child)>.ce-section:not(.ce-section--tight):not(.ce12-teacher-child)>.ce-container>.ce-section__header{color:#eef5ff!important}
body .ce-main:has(.ce12-teacher-child)>.ce-section:not(.ce-section--tight):not(.ce12-teacher-child)>.ce-container>.ce-section__header :where(h2,h3,strong){color:#fff!important}
body .ce-main:has(.ce12-teacher-child)>.ce-section:not(.ce-section--tight):not(.ce12-teacher-child)>.ce-container>.ce-section__header :where(p,span){color:#d7e7f3!important}
body .ce-main:has(.ce12-teacher-child)>.ce-section:not(.ce-section--tight):not(.ce12-teacher-child) .ce-card :where(h2,h3,strong){color:#10233b!important}
body .ce-main:has(.ce12-teacher-child)>.ce-section:not(.ce-section--tight):not(.ce12-teacher-child) .ce-card :where(p,li,span){color:#526a82!important}

@media(max-width:1180px){
  .ce12-cbc-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ce12-cbc-grade-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .ce12-cbc-story .ce12-story-deck{min-height:540px;perspective:none}
  .ce12-cbc-story .ce10-story-slide[data-ce10-state="prev"],.ce12-cbc-story .ce10-story-slide[data-ce10-state="next"],.ce12-cbc-story .ce10-story-slide[data-ce10-state="far"]{opacity:0;transform:none;pointer-events:none}
  .ce12-cbc-story .ce10-story-slide__media{min-height:275px}
  .ce12-cbc-rhythm{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ce12-cbc-grade-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ce12-image-pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.8rem!important}
}
@media(max-width:560px){
  .ce12-cbc-stage-grid{grid-template-columns:1fr!important}
  .ce12-cbc-grade-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ce12-cbc-rhythm{grid-template-columns:1fr!important}
  .ce12-image-pathway-card__footer{grid-template-columns:1fr;gap:.25rem;font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.ce12-cbc-story .ce10-story-slide,.ce12-cbc-story .ce10-story-slide__media img,.ce12-cbc-story .ce10-showcase-control,.ce12-image-pathway-card .ce2-pathway-card__image img,.ce12-cbc-stage-grid>a{transition:none!important;transform:none!important}}
@media(forced-colors:active){.ce12-cbc-story .ce10-story-slide,.ce12-cbc-story .ce10-media-caption,.ce12-cbc-story .ce10-showcase-control,.ce12-image-pathway-card,.ce12-cbc-stage-grid>a,.ce12-cbc-grade-strip>a{background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important;box-shadow:none!important}.ce12-cbc-story .ce10-media-caption :where(h3,p,span),.ce12-image-pathway-card__footer :where(span,b),.ce12-cbc-stage-grid>a :where(h3,p,span,em){color:CanvasText!important}}

/* REVAMP-12 exhaustive closure — foreground-only caption authority.
 * Keep the story deck's route-owned image, overlay and dark caption background intact;
 * only protect readable text from later generic typography rules. */
body.ce-presentation-quality-v10 .ce12-cbc-public .ce12-cbc-story .ce10-media-caption h3{color:#f7fafc!important}
body.ce-presentation-quality-v10 .ce12-cbc-public .ce12-cbc-story .ce10-media-caption p{color:#d7e3f2!important}
body.ce-presentation-quality-v10 .ce12-cbc-public .ce12-cbc-story .ce10-media-caption>span{color:#82e8f5!important}
