/* v2.21 (Rowan 2 Nov 10:51). Loaded last on every page. Footer F2/F3 site-wide; everything else is scoped to the home page (body[data-page="index"]). */

/* ---------- Footer (all pages) ---------- */
/* F2: hide the floating NEWSLETTER label; title with a clean link beneath */
html body .site-footer .f-eyebrow{display:none!important}
html body .site-footer .flogo + .f-eyebrow + .f-title.big,html body .site-footer .f-title.big{margin:6px 0 6px}
html body .site-footer .f-title.big + p{margin:0}
html body .site-footer .f-title.big + p a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:3px}
html body .site-footer .f-title.big + p a::after{content:"\2192";text-decoration:none}
/* F3: Raise a concern as a clean, solid box (no dashed border or stripes) */
html body .site-footer .ph{border:1px solid #D6DCE8;border-style:solid;background:#fff;background-image:none;border-radius:16px;box-shadow:none}

/* ---------- Buttons (home) ---------- */
.btn.btn-outline-o{background:#fff;color:#BF5508;border:2px solid #BF5508}
.btn.btn-outline-o:hover,.btn.btn-outline-o:focus-visible{background:#FFF4EC;color:#A64508;border-color:#A64508;transform:translateY(-2px)}

/* ---------- H1 popup not clipped ---------- */
body[data-page="index"] .hero.hero-a1-wrap{overflow:visible;z-index:5}
body[data-page="index"] .hero.hero-a1-wrap .reveal{position:relative;z-index:6}
body[data-page="index"] .hero-info .hi-pop{z-index:60;max-width:calc(100vw - 40px)}

/* ---------- H3 hero: bubble carries the paragraph; bigger illustration ---------- */
@media (min-width:861px){body[data-page="index"] .hero.hero-a1-wrap .wrap{grid-template-columns:.94fr 1.06fr;gap:32px}}
@media (min-width:1100px){body[data-page="index"] .hero .btn-row{flex-wrap:nowrap}body[data-page="index"] .hero .btn-row .btn{padding-left:20px;padding-right:20px}}
body[data-page="index"] .hero.hero-a1-wrap .hero-art.hero-a1{max-width:780px}
body[data-page="index"] .hero .hero-sub{font-size:18px;line-height:1.55;margin:14px 0 0;max-width:520px}
body[data-page="index"] .hero-teddy{align-items:center;margin-top:16px}
body[data-page="index"] .hero-bubble.hb-v221{margin:0;flex:1 1 auto;max-width:520px;font:600 15.5px/1.5 var(--font-d,inherit)}
body[data-page="index"] .hero-bubble.hb-v221::before{bottom:auto;top:50%;margin-top:-8px}
@media (max-width:860px){body[data-page="index"] .hero-bubble.hb-v221{font-size:14.5px}}

/* ---------- I1 Teddy-face icons: same 46px tile as the line icons ---------- */
.card .ic.ic-tf{padding:0;overflow:hidden;background:var(--ct,#FFF4EC)}
.card .ic.ic-tf img{width:46px;height:46px;display:block;object-fit:cover;border-radius:14px}
.pw-card .ic.ic-tf{background:color-mix(in srgb,var(--pc) 14%,#fff)!important}

/* ---------- P1 compact program cards ---------- */
body[data-page="index"] #current-student-programs .card .pc-tag{margin:0 0 12px;font-size:16px;font-weight:600;color:#14204A}
.pc-time{display:grid;gap:8px;margin:0 0 12px}
.pc-time .pt-row{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:4px 10px}
.pc-time .pt-l{font:700 12.5px/1.2 var(--font-d,inherit);color:#14204A}
.pc-time .pt-bar{display:flex;gap:3px;height:10px}
.pc-time .pt-bar i{flex:1 1 0;border-radius:3px;background:var(--c,#BF5508)}
.pc-time .pt-sp{width:35%}
.pc-time .pt-sp i{opacity:.75}
.pc-time .pt-v{grid-column:2;font-size:13px;color:#3E4866;line-height:1.3}
.pc-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 10px;padding:0}
.pc-chips li{padding:4px 10px;border-radius:999px;background:var(--ct,#F6F8FC);color:var(--cx,#14204A);font:600 13px/1.3 var(--font-d,inherit)}
.pc-out{margin:0 0 6px;font-size:14.5px;color:#14204A}
.pc-out b{font:800 16px/1 var(--font-d,inherit)}
.pc-bonus{margin:0;font-size:13.5px;color:#3E4866}
body[data-page="index"] #current-student-programs .grid.shelf>.card{display:flex;flex-direction:column}
body[data-page="index"] #current-student-programs .grid.shelf>.card h3{min-height:2.5em}

@media (min-width:900px){body[data-page="index"] #current-student-programs .card .pc-tag{min-height:2.9em}}
/* ---------- C2 AI for Business teaser (matches maths) ---------- */
.biz-soon{margin-top:56px;padding-top:40px;border-top:1px solid #EADFCB}
.math-teaser.mt-rev{grid-template-columns:.9fr 1.1fr}
.math-teaser.mt-rev .mt-cover{order:-1}
@media (max-width:760px){.math-teaser.mt-rev{grid-template-columns:1fr}.math-teaser.mt-rev .mt-cover{order:0}.biz-soon{margin-top:36px;padding-top:28px}}

/* ---------- A1/A3 pathways ---------- */
.pw-row.pw-auto{scroll-snap-type:none}
.pw-card>p{margin:0 0 4px;font-size:14.5px;line-height:1.45;color:#3E4866}

/* ---------- S2 starting-point cards even ---------- */
body[data-page="index"] #for-students-parents-schools .grid>.card{display:flex;flex-direction:column}
body[data-page="index"] #for-students-parents-schools .grid>.card .more{margin-top:auto;padding-top:6px}

/* ---------- IS1 steps + photo side by side ---------- */
.is-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch;margin-top:18px}
.is-grid .steps-v220{margin:0;grid-template-columns:1fr 1fr;gap:12px}
.is-grid .steps-v220 li{display:flex;flex-direction:column;padding:16px 16px}
.is-grid .steps-v220 li .st-h{display:flex;align-items:center;gap:10px}
.is-grid .steps-v220 li .st-n{margin:0}
.is-grid .steps-photo{margin:0;max-width:none;height:100%}
.is-grid .steps-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:16px;display:block}
@media (max-width:900px){.is-grid{grid-template-columns:1fr}.is-grid .steps-photo img{min-height:0;height:auto;aspect-ratio:3/2}}
@media (max-width:520px){.is-grid .steps-v220{grid-template-columns:1fr}}

/* ---------- T2 trust tips ---------- */
.trust-tips{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:8px 0 0;padding:0}
.trust-tips .card{margin:0;padding:20px;background:#fff;border:1px solid #D6DCE8;border-radius:18px;box-shadow:none}
.trust-tips .card .ic{margin-bottom:12px}
.trust-tips h3{font-size:17px;line-height:1.3;margin:0 0 6px}
.trust-tips p{margin:0;font-size:14.5px;line-height:1.5;color:#3E4866}
.trust-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin:22px 0 0;font-size:14.5px;color:#3E4866}
.trust-foot ul{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0;padding:0}
.trust-foot .text-link{font-weight:700}
@media (max-width:980px){.trust-tips{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.trust-tips{grid-template-columns:1fr}.trust-foot{flex-direction:column;align-items:flex-start}}

/* ---------- L2 article cards ---------- */
.linklist.ll-v221 a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;align-items:baseline}
.linklist.ll-v221 .ll-n{grid-row:1 / span 2;font:800 15px/1.4 var(--font-d,inherit);color:#BF5508}
.linklist.ll-v221 .ll-t{font:700 16.5px/1.35 var(--font-d,inherit);color:#14204A}
.linklist.ll-v221 .ll-d{font-weight:400;font-size:14.5px;line-height:1.5;color:#3E4866}

/* ---------- L3 build next + contact in one block ---------- */
.nc-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.nc-main .intro{margin:0}
.nc-contact{background:#fff;border:1px solid #D6DCE8;border-radius:18px;padding:22px 24px;scroll-margin-top:110px}
.nc-contact h3{font-size:20px;margin:0 0 8px}
.nc-contact p{margin:0 0 8px;font-size:15.5px;line-height:1.5}
.nc-contact p:last-child{margin:0}
@media (max-width:860px){.nc-grid{grid-template-columns:1fr;gap:20px}}