/* v2.20 (Rowan items 1–13, V2_20 addenda, MKT-BANNER-01 v1.2). Loaded last on every page. */
:root{--bar:32px;--nav:65px}
@media (max-width:390px){:root{--bar:28px;--nav:65px}}
html{scroll-padding-top:calc(var(--bar) + var(--nav))}
.site-header{top:var(--bar)}

/* ---- MKT-BANNER-01 v1.2 ticker: navy #14204A on cream #FBF8F2, sticky top 0, 32px / 28px at ≤390 ---- */
.nb-bar{box-sizing:border-box;position:sticky;top:0;z-index:51;height:var(--bar);overflow:hidden;white-space:nowrap;background:#FBF8F2;color:#14204A;border-bottom:1px solid #EADFCB;
 font:500 13px/1 var(--font-b,system-ui,sans-serif);cursor:default;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.nb-track{display:flex;width:max-content;height:100%;align-items:center;animation:nb-ticker var(--dur,31s) linear infinite;will-change:transform}
.nb-group{display:flex;align-items:center;flex:none}
.nb-bar .item{padding:0 24px;margin:0;color:#14204A;font-size:inherit;line-height:1}
.nb-bar .dv{display:block;width:1px;height:14px;background:#D9CBB3;flex:none}
.nb-bar .short{display:none}
@keyframes nb-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nb-bar.paused .nb-track,.nb-bar:hover .nb-track,.nb-bar:focus-within .nb-track{animation-play-state:paused}
.nb-bar.off .l1,.nb-bar.off .l1 + .dv{display:none}
.nb-static{display:none}
.nb-sr{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;margin:0}
.nb-sr:focus,.nb-sr:focus-visible{width:auto;height:auto;clip:auto;overflow:visible;padding:3px 10px;background:#fff;color:#14204A;border:1px solid #14204A;border-radius:999px;font:600 12px/1.2 var(--font-b,system-ui,sans-serif);outline:2px solid #BF5508;outline-offset:1px;z-index:2}
@media (prefers-reduced-motion:reduce){
 .nb-track{display:none}
 .nb-static{display:flex;justify-content:center;align-items:center;height:100%;gap:16px}
 .nb-bar{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:390px){.nb-bar{font-size:12px}.nb-bar .item{padding:0 20px}.nb-bar .long{display:none}.nb-bar .short{display:inline}}
@media (max-width:390px) and (prefers-reduced-motion:reduce){.nb-static .l1,.nb-static .dv{display:none}}
/* things that were pinned under the header */
@media (min-width:761px){.tn{top:calc(var(--bar) + var(--hdr-h,68px) + 16px)}}
@media (max-width:760px){.tn{top:calc(var(--bar) + var(--hdr-h,64px) + 8px)}}
.nr-rack .stage{top:calc(var(--bar) + 60px)}

/* ---- item 5: whole site a bit wider, more spacious ---- */
.wrap{max-width:1240px}
.narrow{max-width:800px}
@media (min-width:1100px){.wrap{padding:0 32px}}

/* ---- item 3: menu ---- */
.nav-v220{display:flex;align-items:center;gap:12px}
.nav-v220 .nav-cta{white-space:nowrap}
.login-soon{display:inline-flex;align-items:center;gap:6px;color:#3E4866;font-size:14px;white-space:nowrap;cursor:default}
.site-footer .login-soon{color:#C9D3EA}
.login-soon small{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#F1EEE8;color:#14204A;border-radius:999px;padding:2px 7px}
@media (max-width:1180px) and (min-width:981px){.nav-v220 .nav-login small{display:none}}
@media (max-width:980px){.nav-v220{flex-direction:column;align-items:stretch}.nav-v220 .nav-login{padding:10px 4px}}

/* ---- item 1: hello splash a little bigger ---- */
.hello svg{width:min(840px,92vw)}

/* ---- item 4: hero ---- */
.hero-info{position:relative;display:inline-block;margin-top:14px}
.hi-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid #14204A;background:#fff;color:#14204A;font:700 15px/1 Georgia,serif;font-style:italic;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.hi-btn:hover,.hi-btn[aria-expanded="true"]{background:#14204A;color:#fff}
.hi-pop{position:absolute;left:0;top:40px;z-index:30;width:min(420px,84vw);background:#fff;border:1px solid #D6DCE8;border-radius:14px;box-shadow:0 12px 32px rgba(20,32,74,.14);padding:14px 16px 12px;font-size:14.5px;line-height:1.5;color:#14204A}
.hi-pop p{margin:0 0 8px}
.hi-close{border:0;background:none;color:#14204A;text-decoration:underline;font-weight:600;cursor:pointer;padding:4px 0}
.hero.hero-a1-wrap .hero-art.hero-a1{max-width:720px}
.hero-teddy{display:flex;align-items:flex-end;gap:14px;margin-top:14px}
.hero-art.hero-a1 .hero-teddy .teddy-a1,.hero-teddy .teddy-side-v220{position:static!important;width:120px!important;max-width:120px!important;height:auto;flex:none}
.hero-bubble{position:relative;margin:0 0 28px;background:#FBF8F2;color:#14204A;border:1px solid #EADFCB;border-radius:18px;padding:12px 16px;font:700 15px/1.45 var(--font-d,inherit)}
.hero-bubble span{display:block}
.hero-bubble::before{content:"";position:absolute;left:-9px;bottom:18px;width:16px;height:16px;background:#FBF8F2;border-left:1px solid #EADFCB;border-bottom:1px solid #EADFCB;transform:rotate(45deg)}
@media (max-width:860px){.hero-art.hero-a1 .hero-teddy .teddy-a1,.hero-teddy .teddy-side-v220{width:92px!important}.hero-bubble{font-size:14px}}

/* ---- item 2: old-site highlight band ---- */
.hl-strong{background:#FBF8F2;border-top:1px solid #EADFCB;border-bottom:1px solid #EADFCB;padding:44px 0;text-align:center}
.hl-strong h2{margin:0;font:800 clamp(34px,5vw,58px)/1.05 var(--font-d,inherit);color:#14204A;letter-spacing:-.02em}
.hl-strong h2 span{color:#BF5508}
.hl-strong p{margin:12px 0 0;font:700 clamp(16px,2vw,21px)/1.4 var(--font-d,inherit);color:#14204A}

/* ---- item 6: maths teaser ---- */
.math-teaser{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-top:18px}
.mt-lede{font-size:18px;margin:12px 0}
.mt-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}
.mt-chips li{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #D6DCE8;font-weight:600;font-size:14px;color:#14204A}
@media (max-width:760px){.math-teaser{grid-template-columns:1fr;gap:18px}}

/* ---- covers: cream title plate, navy text ---- */
figure.cv-fig{position:relative}
.cv-plate{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);background:#FBF8F2;color:#14204A;border-radius:10px;padding:7px 12px;box-shadow:0 2px 10px rgba(20,32,74,.12);line-height:1.2;text-align:left}
.cv-plate .k{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#14204A;opacity:.85}
.cv-plate b{display:block;font:800 17px/1.2 var(--font-d,inherit);color:#14204A}
.cp2-fig{margin:0}

/* ---- item 7 + 11: AI Pathways, one row, sideways scroll; clay images placed in the cards ---- */
.pw-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pw-row:focus-visible{outline:2px solid #BF5508;outline-offset:4px;border-radius:12px}
@media (min-width:1100px){.pw-row{grid-auto-columns:calc((100% - 48px)/4)}}
@media (max-width:760px){.pw-row{grid-auto-columns:78%}}
.pw-card{scroll-snap-align:start;border-top:5px solid var(--pc)!important;display:flex;flex-direction:column}
.pw-card .ic{background:color-mix(in srgb,var(--pc) 14%,#fff)!important;color:var(--pc)!important}
.pw-card figure.photo{margin:auto 0 0;padding-top:12px}
.pw-card figure.photo img{border-radius:12px;aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}
.pw-hint{font-size:13px;color:#3E4866;margin:4px 0 0}
@media (hover:hover) and (min-width:1100px){.pw-hint{display:none}}

/* ---- item 8: schools 4 in a row; sideways scroll on phones ---- */
.grid.g4.sch-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.grid.g4.sch-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid.g4.sch-row{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.grid.g4.sch-row>*{scroll-snap-align:start}}

/* ---- item 9: six numbered steps ---- */
.steps-v220{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;counter-reset:none}
.steps-v220 li{background:#fff;border:1px solid #D6DCE8;border-radius:14px;padding:14px 12px;text-align:left}
.steps-v220 .st-n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#14204A;color:#fff;font:700 14px/1 var(--font-d,inherit);margin-bottom:8px}
.steps-v220 b{display:block;font:800 17px/1.2 var(--font-d,inherit);color:#14204A}
.steps-v220 p{margin:6px 0 0;font-size:14px;line-height:1.45}
@media (max-width:980px){.steps-v220{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.steps-v220{grid-template-columns:1fr 1fr}}
.steps-photo img{border-radius:16px}

/* ---- item 10: trust block ---- */
.trust-v220 .card{box-shadow:none;border:1px solid #D6DCE8}
.trust-more{margin:22px 0 0;text-align:center}

/* ---- item 12: enquiry box, no dashed crop ---- */
#contact .ph.big{border:1px solid #D6DCE8;background:#fff;border-radius:16px;box-shadow:0 4px 18px rgba(20,32,74,.06);padding:18px 20px}
#contact .ph.big strong{display:block;margin-bottom:4px}

/* ---- item 13: footer ---- */
.site-footer .f-eyebrow{margin:14px 0 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.site-footer .f-emer,.site-footer .emer{font-size:12.5px}

/* ---- motion: 12px reveals, one per section; off under reduced motion ---- */
.reveal{transform:translateY(12px)}
.reveal.in{transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ---- Register interest notes, local time line ---- */
.ri-note{font-size:13px;color:#3E4866;margin:6px 0 0}
.sbar-note{display:none}
@media (min-width:761px){.sbar-note{display:inline;margin-left:10px;font-size:12.5px;color:#3E4866}}
.lt{margin:8px 0 0;font-weight:600;color:#14204A}
.lt .lt-local:empty{display:none}

/* ---- courses-rack: keep "Photos from Unsplash" clear of the Wix host badge at 1280 ---- */
.foot.foot-v220{padding-right:clamp(16px,14vw,200px);padding-bottom:56px}
/* layout fixes after first local check */
.math-teaser .mt-cover{position:relative;margin:0}
.math-teaser .mt-cover img{width:100%;height:auto;border-radius:16px}
.pw-card figure.photo{order:9}
.steps-photo{max-width:620px;margin:28px auto 0}
.grid.g4.sch-row{margin-top:24px}
/* ADDITION 5/6: quiet policies link (small, muted) */
.pol-q{margin:6px 0 0;font-size:13px;line-height:1.4}
.pol-q a{color:#5A6380;text-decoration:underline;text-decoration-color:#C9CEDB;text-underline-offset:3px}
.pol-q a:hover{color:#14204A;text-decoration-color:#BF5508}
.qa + .pol-q,.faq .pol-q{margin:12px 0 0}