/* AI Creators Academy — v2 design system (from the 2026-09-22 mockup) */
:root{
  /* palette sampled from images/img-hero-aikids.png (2026-09-22) */
  --navy:#0d1b45; --primary:#9d1fd6; --primary-deep:#6a12b8; --cyan:#06bce8; --cyan-deep:#0797c2; --cyan-soft:#e3f7fd;
  --orange:#ff9a1a; --orange-soft:#ffe9cc; --purple:#8a1fc9; --purple-deep:#550685; --purple-soft:#f1e6fa;
  --yellow:#f7c948; --yellow-soft:#fff5d6; --cream:#fbfdff; --ink:#1a2238; --muted:#5b6474; --line:#e6ecf3;
  --r:22px; --shadow:0 14px 40px rgba(33,44,88,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.v2{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.v2 h1,.v2 h2,.v2 h3,.v2 h4{font-family:'Outfit','Inter',system-ui,sans-serif;color:var(--navy);letter-spacing:-.02em;line-height:1.1;margin:0 0 16px;font-weight:700}
.v2 h1{font-size:clamp(2.3rem,5.2vw,3.9rem)}
.v2 h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.v2 h3{font-size:1.25rem;line-height:1.25}
.v2 p{margin:0 0 16px}
.v2 .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.v2 .hand{font-family:'Caveat',cursive;color:var(--primary);font-size:1.5rem;line-height:1.1;font-weight:700}
.v2 .hand.o{color:var(--cyan-deep)}
.v2 .accent{color:var(--cyan-deep)}
.v2 .accent-o{color:var(--orange)}
.v2 .dot.lo{background:#ffd9a8}
.v2 .dot.ly{background:#ffe89a}
.v2 .accent-p{color:var(--primary)}
.v2 .muted{color:var(--muted)}
.v2 .lede{font-size:1.15rem;color:var(--muted)}

/* buttons */
.v2 .btn{display:inline-flex;align-items:center;gap:10px;font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:1rem;padding:14px 26px;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:transform .15s,box-shadow .15s;cursor:pointer}
.v2 .btn:hover{transform:translateY(-2px)}
.v2 .btn.primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(157,31,214,.30)}
.v2 .btn.orange{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(255,154,26,.35)}
.v2 .btn.cyan{background:var(--cyan);color:var(--navy);box-shadow:0 10px 24px rgba(6,188,232,.30)}
.v2 .btn.navy{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(33,44,88,.25)}
.v2 .btn.outline{border-color:var(--navy);color:var(--navy);background:transparent}
.v2 .btn.white{background:#fff;color:var(--navy)}
.v2 .btn .arr{font-size:1.1em}

/* header */
.v2 .site-head{position:sticky;top:0;z-index:1000;background:rgba(253,253,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.v2 .site-head .wrap{display:flex;align-items:center;gap:22px;height:92px}
.v2 .site-head .brand img{height:68px;width:auto;display:block}
.v2 .site-head .tag{margin-left:4px;transform:rotate(-4deg)}
.v2 .site-head nav{display:flex;align-items:center;gap:18px;margin-left:auto}
.v2 .site-head nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:14.5px;white-space:nowrap}
.v2 .site-head nav a:hover{color:var(--cyan-deep)}
.v2 .site-head nav a.btn{padding:11px 22px;font-size:15px}
.v2 .burger{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--navy);cursor:pointer}
@media (max-width:1100px){.v2 .site-head .tag{display:none}}
@media (max-width:900px){
  .v2 .site-head nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);margin:0}
  .v2 .site-head nav.open{display:flex}
  .v2 .site-head nav a{padding:16px 24px;border-top:1px solid var(--line)}
  .v2 .site-head nav a.btn{margin:14px 24px 18px;justify-content:center}
  .v2 .burger{display:block}
}

/* decorative dots & blobs */
.v2 .dots{position:absolute;pointer-events:none;border:3px dotted var(--cyan);border-radius:50%;opacity:.9}
.v2 .dot{position:absolute;border-radius:50%;pointer-events:none}
.v2 .dot.y{background:var(--orange)} .v2 .dot.p{background:var(--primary)} .v2 .dot.o{background:var(--cyan)} .v2 .dot.lp{background:#bfeefb} .v2 .dot.lpu{background:#d9b8f5}
.v2 section{position:relative;overflow:hidden}
.v2 .blob-img{position:relative;border-radius:46% 54% 52% 48% / 44% 46% 54% 56%;overflow:hidden;box-shadow:var(--shadow)}
.v2 .blob-img img{width:100%;height:100%;object-fit:cover;display:block}

/* hero */
.v2 .home-hero{padding:40px 0 30px;background:var(--cream)}
.v2 .home-hero .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px 24px;align-items:center;position:relative}
.v2 .home-hero h1{margin-bottom:18px}
.v2 .home-hero .lede{max-width:520px}
.v2 .home-hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 34px}
.v2 .hero-facts{grid-column:1/-1;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:30px;margin-top:6px;padding-top:24px;border-top:1px solid var(--line)}
.v2 .hero-facts div{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.3;color:var(--navy);font-weight:600;flex:1 1 0;min-width:0}
.v2 .hero-facts i{font-size:26px}
.v2 .hero-facts .o{color:var(--cyan-deep)} .v2 .hero-facts .p{color:var(--primary)} .v2 .hero-facts .y{color:var(--orange)}
.v2 .home-hero .art{position:relative;padding:0;margin-right:-40px;align-self:center;margin-top:-28px}
.v2 .home-hero .art .blob-img{aspect-ratio:1/1;max-width:520px;margin-left:auto}
.v2 .home-hero .art .plain{position:relative;z-index:1}
.v2 .home-hero .art .plain img{width:118%;max-width:none;height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(6,188,232,.25))}
@media (max-width:860px){.v2 .home-hero .art{margin-right:0;margin-top:0}.v2 .home-hero .art .plain img{width:100%}
  .v2 .hero-facts{flex-wrap:wrap;gap:18px 30px}.v2 .hero-facts div{flex:1 1 180px}}
.v2 .home-hero .art .ring{position:absolute;inset:0;border:3px dotted var(--cyan);border-radius:50%;transform:rotate(-20deg) scale(1.02);opacity:.85}
@media (max-width:860px){.v2 .home-hero .wrap{grid-template-columns:1fr}.v2 .home-hero .art .blob-img{max-width:420px;margin:0 auto}}

/* statement band */
.v2 .statement{background:#fff;padding:70px 0}
.v2 .statement .wrap{display:grid;grid-template-columns:.95fr .7fr 1.1fr;gap:32px;align-items:center}
.v2 .statement h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.v2 .statement .blob-img{aspect-ratio:1/1;max-width:480px;width:100%;margin-left:auto}
@media (max-width:900px){.v2 .statement .wrap{grid-template-columns:1fr}.v2 .statement .blob-img{margin:0}}

/* generic section */
.v2 .block{padding:72px 0}
.v2 .block.alt{background:#fff}
.v2 .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.v2 .sec-head p{margin:0;color:var(--muted)}
.v2 .link{color:var(--primary);font-weight:700;text-decoration:none;border-bottom:2px solid var(--primary)}
.v2 .link:hover{color:var(--cyan-deep);border-color:var(--cyan-deep)}

/* courses */
.v2 .courses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.v2 .course{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit}
.v2 .course:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
/* height:auto is required. Without it the img height="..." attribute acts
   as a presentational hint, the height is not auto, and aspect-ratio is
   ignored, so the card photo renders at the file height. */
.v2 .course img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.v2 .course .body{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.v2 .course h3{font-size:1.2rem;margin-bottom:6px}
.v2 .course p{font-size:.95rem;color:var(--muted);margin:0 0 16px;flex:1}
.v2 .course .meta{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.9rem}
.v2 .course .meta .go{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.v2 .c-blue h3,.v2 .c-blue .meta{color:var(--cyan-deep)}.v2 .c-blue .go{background:var(--cyan)}
.v2 .c-orange h3,.v2 .c-orange .meta{color:var(--orange)}.v2 .c-orange .go{background:var(--orange)}
.v2 .c-purple h3,.v2 .c-purple .meta{color:var(--primary)}.v2 .c-purple .go{background:var(--primary)}
.v2 .c-yellow h3,.v2 .c-yellow .meta{color:#b5148f}.v2 .c-yellow .go{background:#c541b9}
.v2 .courses-note{margin-top:18px;color:var(--muted);font-size:.95rem}
@media (max-width:1000px){.v2 .courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.v2 .courses{grid-template-columns:1fr}}

/* stats */
.v2 .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:8px}
.v2 .stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .stat b{display:block;font-family:'Outfit',sans-serif;font-size:2.6rem;line-height:1;color:var(--primary);margin-bottom:10px}
.v2 .stat span{color:var(--muted);font-size:.95rem}

/* purple band */
.v2 .band-purple{background:linear-gradient(120deg,#c98cf2 0%,#dcb3f7 100%);color:var(--navy);padding:0}
.v2 .squig{position:absolute;pointer-events:none;z-index:1}
.v2 .band-purple .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:420px}
.v2 .band-purple .photo{position:relative;min-height:320px}
.v2 .band-purple .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 7%,#000 24%,#000 76%,rgba(0,0,0,.4) 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 7%,#000 24%,#000 76%,rgba(0,0,0,.4) 93%,transparent 100%)}
.v2 .band-purple .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(201,140,242,.35) 0%,transparent 14%,transparent 86%,rgba(201,140,242,.35) 100%)}
.v2 .band-purple .text{padding:70px 40px 70px 56px;position:relative}
.v2 .band-purple h2{color:var(--navy)}
.v2 .band-purple .mark{width:44px;height:6px;background:var(--cyan);border-radius:3px;margin-bottom:22px;transform:rotate(-12deg)}
@media (max-width:860px){.v2 .band-purple .wrap{grid-template-columns:1fr}.v2 .band-purple .text{padding:48px 24px}}

/* schools band */
.v2 .schools .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0 30px}
.v2 .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .card .ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;margin-bottom:14px;background:var(--cyan)}
.v2 .card .ico.p{background:var(--primary)}.v2 .card .ico.y{background:var(--orange)}
.v2 .card p{color:var(--muted);font-size:.97rem;margin:0}
@media (max-width:860px){.v2 .schools .grid{grid-template-columns:1fr}}

/* team */
.v2 .team .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.v2 .team .portrait{width:min(100%,380px);height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;box-shadow:none;display:block;margin:0 auto;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 58%,rgba(0,0,0,.35) 84%,transparent 98%);mask-image:radial-gradient(circle at 50% 50%,#000 58%,rgba(0,0,0,.35) 84%,transparent 98%)}
.v2 .team blockquote{margin:22px 0 0;padding:18px 22px;background:var(--cyan-soft);border-radius:18px;font-size:1.05rem;color:var(--navy)}
@media (max-width:860px){.v2 .team .wrap{grid-template-columns:1fr}}

/* girls teaser */
.v2 .girls .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.v2 .girls .blob-img{aspect-ratio:4/3}
@media (max-width:860px){.v2 .girls .wrap{grid-template-columns:1fr}}

/* yellow CTA */
.v2 .band-yellow{background:linear-gradient(120deg,#8fe4fb 0%,#c6f1fd 100%);padding:80px 0;text-align:center}
.v2 .splash{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.85}
.v2 .band-yellow h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:22px}
.v2 .band-yellow .hand{position:absolute;font-size:1.7rem;max-width:210px;line-height:1.05;color:var(--navy);transform:rotate(-8deg);z-index:1}
.v2 .band-yellow .wrap{position:relative;z-index:2;max-width:640px}
.v2 .band-yellow .hand.r{transform:rotate(6deg)}
@media (max-width:1100px){.v2 .band-yellow .hand{display:none}}

/* footer */
.v2 .site-foot{background:var(--navy);color:#c9cee3;padding:60px 0 28px}
.v2 .site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.v2 .site-foot img{height:46px;width:auto;background:#fff;border-radius:12px;padding:6px}
.v2 .site-foot h4{color:#fff;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}
.v2 .site-foot p{margin:12px 0 0;font-size:15px;line-height:1.6}
.v2 .site-foot a{color:#e4e7f3;text-decoration:none;display:block;margin-bottom:10px;font-size:15px}
.v2 .site-foot a:hover{color:#fff;text-decoration:underline}
.v2 .site-foot .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:13px;color:#9aa3c4}
@media (max-width:760px){.v2 .site-foot .wrap{grid-template-columns:1fr;gap:28px}}

/* inner-page hero (contact etc) */
.v2 .page-hero{padding:56px 0 28px}
.v2 .page-hero .hand{display:inline-block;margin-bottom:8px}

/* form */
.v2 .form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--shadow)}
.v2 .form-card label{font-weight:600;font-size:.95rem;display:block;margin-bottom:6px}
.v2 .form-card input,.v2 .form-card textarea{border:1px solid #d5dae2;border-radius:12px;padding:12px 14px;width:100%;font:inherit;background:#fff}
.v2 .form-card input:focus,.v2 .form-card textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(6,188,232,.2)}
.v2 .form-card .form-group{margin-bottom:18px}
.v2 .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.v2 .contact-grid .info p{margin:0 0 14px}
.v2 .contact-grid .info i{color:var(--cyan-deep);width:22px}
@media (max-width:860px){.v2 .contact-grid{grid-template-columns:1fr}}

@media (max-width:860px){.v2 .dots{display:none}}

/* ---- shared landing-page components (2026-09-22) ---- */
.v2 .page-hero2{padding:54px 0 44px;background:var(--cream)}
.v2 .page-hero2 .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;position:relative}
.v2 .page-hero2 h1{margin-bottom:16px}
.v2 .page-hero2 .lede{max-width:560px}
.v2 .page-hero2 .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.v2 .page-hero2 .shot{border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.v2 .page-hero2 .shot img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
@media (max-width:860px){.v2 .page-hero2 .wrap{grid-template-columns:1fr}}

.v2 .pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;padding:18px 24px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v2 .pills span{background:var(--cyan-soft);color:var(--navy);font-weight:600;font-size:14px;padding:7px 16px;border-radius:999px}

.v2 .split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.v2 .split.flip .media{order:-1}
.v2 .split .media img{width:100%;height:auto;border-radius:24px;display:block;box-shadow:var(--shadow)}
@media (max-width:860px){.v2 .split{grid-template-columns:1fr;gap:26px}.v2 .split.flip .media{order:0}}

.v2 .cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:26px}

.v2 .steps{counter-reset:s;display:grid;gap:16px;margin-top:24px}
.v2 .step{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .step::before{content:counter(s);display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-family:'Outfit',sans-serif;align-items:center;justify-content:center;margin-bottom:10px}
.v2 .step h3{margin-bottom:6px}
.v2 .step p{color:var(--muted);font-size:.97rem;margin:0}

.v2 ul.checks{list-style:none;padding:0;margin:0 0 18px}
.v2 ul.checks li{padding-left:36px;position:relative;margin-bottom:14px}
.v2 ul.checks li::before{content:"\2713";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--cyan-soft);color:var(--cyan-deep);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}

.v2 details.sources{border-top:1px solid var(--line);padding-top:18px;margin-top:44px;color:var(--muted);font-size:.92rem}
.v2 details.sources summary{cursor:pointer;font-weight:700;color:var(--navy);font-family:'Outfit',sans-serif}
.v2 details.sources ol{padding-left:20px;margin-top:12px}
.v2 details.sources li{margin-bottom:8px;word-break:break-word}
.v2 details.sources a{color:var(--primary)}
.v2 sup a{color:var(--primary);text-decoration:none;font-weight:700}

.v2 .quote{margin:26px 0 0;padding:20px 24px;background:var(--cyan-soft);border-radius:18px;font-size:1.05rem;color:var(--navy)}
.v2 .note{font-size:.95rem;color:var(--muted)}
.v2 .narrow{max-width:780px}

/* ---- founders ("the early spark") ---- */
.v2 .founders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:30px}
.v2 .founder{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 22px;text-align:center;box-shadow:0 8px 24px rgba(33,44,88,.05);transition:transform .15s,box-shadow .15s}
.v2 .founder:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.v2 .founder img{width:100%;height:auto;aspect-ratio:310/375;object-fit:cover;display:block;margin:0 auto 16px;border-radius:16px;border:0}
.v2 .founder h3{font-size:1.1rem;margin-bottom:2px}
.v2 .founder .role{display:block;font-family:'Caveat',cursive;font-size:1.25rem;font-weight:700;margin-bottom:12px}
.v2 .founder:nth-child(1) .role{color:var(--cyan-deep)}
.v2 .founder:nth-child(2) .role{color:var(--primary)}
.v2 .founder:nth-child(3) .role{color:var(--orange)}
.v2 .founder:nth-child(4) .role{color:#c541b9}
.v2 .founder p{color:var(--muted);font-size:.94rem;line-height:1.55;margin:0}
@media (max-width:1000px){.v2 .founders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.v2 .founders{grid-template-columns:1fr}}

/* ---- "around the world" tiles (why-technology) ---- */
.v2 .world{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.v2 .world .tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 20px 18px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .world .tile .yr{display:block;font-family:'Caveat',cursive;font-size:1.5rem;font-weight:700;line-height:1;margin-bottom:6px}
.v2 .world .tile h3{font-size:1.08rem;margin-bottom:6px}
.v2 .world .tile p{color:var(--muted);font-size:.93rem;line-height:1.5;margin:0}
.v2 .world .tile:nth-child(1) .yr{color:var(--primary)} .v2 .world .tile:nth-child(2) .yr{color:var(--cyan-deep)} .v2 .world .tile:nth-child(3) .yr{color:var(--orange)}
.v2 .world .tile:nth-child(4) .yr{color:#c541b9} .v2 .world .tile:nth-child(5) .yr{color:var(--cyan-deep)} .v2 .world .tile:nth-child(6) .yr{color:var(--primary)}
@media (max-width:900px){.v2 .world{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.v2 .world{grid-template-columns:1fr}}

/* ---- floating science objects (hero) ---- */
.v2 .sci{position:absolute;pointer-events:none;opacity:.9;animation:floaty 8s ease-in-out infinite}
.v2 .sci:nth-of-type(2n){animation-duration:10.5s;animation-delay:-3.5s}
.v2 .sci:nth-of-type(3n){animation-duration:9.2s;animation-delay:-1.8s}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(7deg)}}
@media (prefers-reduced-motion:reduce){.v2 .sci{animation:none}}
@media (max-width:860px){.v2 .sci{display:none}}

/* ---- deeper orange for use on the light purple band ---- */
.v2 .accent-o-deep{color:#c2410c}

/* ---- founders: big circle portraits ---- */
.v2 .founder img{width:180px;height:180px;aspect-ratio:auto;border-radius:50%;object-fit:cover;display:block;margin:0 auto 18px;border:6px solid var(--cyan-soft);box-shadow:0 10px 26px rgba(33,44,88,.12)}
.v2 .founder{padding:30px 22px 26px;background:#fff}
.v2 .founder:nth-child(1) img{border-color:#d8f2fb}
.v2 .founder:nth-child(2) img{border-color:#ece0fb}
.v2 .founder:nth-child(3) img{border-color:#ffe9cc}
.v2 .founder:nth-child(4) img{border-color:#fbe0f5}
.v2 .founder .role{font-size:1.35rem;margin-bottom:14px}

/* ---- "around the world" band (replaces the purple photo band) ---- */
.v2 .band-world{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:76px 0 70px;color:var(--navy)}
.v2 .band-world .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;position:relative;z-index:2}
.v2 .band-world .hand{color:var(--primary);font-size:1.6rem}
.v2 .band-world h2{font-size:clamp(1.9rem,3.8vw,2.8rem);margin-top:6px}
.v2 .band-world p{color:var(--muted);font-size:1.08rem}
.v2 .band-world .tiny{font-size:.85rem;color:var(--muted);margin:14px 0 0}
.v2 .timeline{list-style:none;padding:0;margin:22px 0 26px}
.v2 .timeline li{display:grid;grid-template-columns:88px 1fr;column-gap:14px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.v2 .timeline li:first-child{border-top:0}
.v2 .timeline .yr{grid-row:span 2;font-family:'Caveat',cursive;font-size:1.6rem;font-weight:700;color:var(--primary);line-height:1}
.v2 .timeline b{font-family:'Outfit','Inter',sans-serif;font-size:1.05rem;color:var(--navy)}
.v2 .timeline .fact{color:var(--muted);font-size:.95rem;line-height:1.4}
.v2 .timeline li.au{background:var(--cyan-soft);border-radius:14px;padding:12px 14px;margin-top:10px;border-top:0}
.v2 .timeline li.au .yr{color:var(--orange)}
.v2 .globe{position:relative}
.v2 .globe svg{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 20px 44px rgba(33,44,88,.20))}
@media (max-width:900px){.v2 .band-world .wrap{grid-template-columns:1fr}.v2 .globe{max-width:340px;margin:0 auto}}

/* ---- spacing pass: less air between bands ---- */
.v2 .block{padding:56px 0}
.v2 .statement{padding:52px 0}
.v2 .band-world{padding:60px 0 54px}
.v2 .band-yellow{padding:64px 0}
.v2 .home-hero{padding:34px 0 26px}
.v2 .sec-head{margin-bottom:22px}

/* ---- tech objects: bigger ---- */
.v2 .sci{opacity:.95}

/* ---- globe as an image ---- */
.v2 .globe img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;mix-blend-mode:multiply}

/* ---- schools section: warm tint, text + photo ---- */
.v2 .schools{background:linear-gradient(180deg,#eefaff 0%,#fff7ec 42%,#fffdf8 100%);border-top:1px solid #ffe9cc;border-bottom:1px solid #ffe9cc}
.v2 .schools .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.v2 .schools .offers{display:grid;gap:12px;margin:22px 0 26px}
.v2 .schools .offer{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid #ffe3c2;border-radius:16px;padding:14px 16px;box-shadow:0 8px 22px rgba(232,140,41,.08)}
.v2 .schools .offer .ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;background:var(--orange)}
.v2 .schools .offer .ico.p{background:var(--primary)} .v2 .schools .offer .ico.c{background:var(--cyan)}
.v2 .schools .offer h3{font-size:1.05rem;margin:2px 0 4px}
.v2 .schools .offer p{color:var(--muted);font-size:.95rem;margin:0}
.v2 .schools .shot{position:relative}
.v2 .schools .shot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:26px;display:block;box-shadow:var(--shadow)}
.v2 .schools .badge{position:absolute;left:-18px;bottom:26px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 12px 30px rgba(33,44,88,.16);font-family:'Outfit',sans-serif;font-weight:700;color:var(--navy);font-size:.95rem;line-height:1.2}
.v2 .schools .badge small{display:block;font-family:'Inter',sans-serif;font-weight:600;color:var(--muted);font-size:.8rem;margin-top:2px}
.v2 .schools .badge.b2{left:auto;right:-14px;top:22px;bottom:auto}
@media (max-width:900px){.v2 .schools .wrap{grid-template-columns:1fr}.v2 .schools .badge{left:10px}.v2 .schools .badge.b2{right:10px}}

/* ---- founders: gradient rings + age pills + theme decorations ---- */
.v2 .founder{position:relative}
.v2 .founder .pic{position:relative;width:184px;height:184px;margin:0 auto 18px;border-radius:50%;padding:6px;background:linear-gradient(135deg,var(--cyan),var(--primary))}
.v2 .founder:nth-child(2) .pic{background:linear-gradient(135deg,var(--primary),var(--orange))}
.v2 .founder:nth-child(3) .pic{background:linear-gradient(135deg,var(--orange),var(--cyan))}
.v2 .founder:nth-child(4) .pic{background:linear-gradient(135deg,#c541b9,var(--cyan))}
.v2 .founder .pic img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;margin:0;box-shadow:none;display:block}
.v2 .founder .age{position:absolute;right:-4px;bottom:8px;background:var(--orange);color:#fff;font-family:'Outfit',sans-serif;font-weight:700;font-size:.8rem;padding:5px 11px;border-radius:999px;box-shadow:0 6px 16px rgba(255,154,26,.35);white-space:nowrap}
.v2 .founder:nth-child(2) .age{background:var(--primary);box-shadow:0 6px 16px rgba(157,31,214,.3)}
.v2 .founder:nth-child(3) .age{background:var(--cyan-deep);box-shadow:0 6px 16px rgba(6,188,232,.3)}
.v2 .founder:nth-child(4) .age{background:#c541b9;box-shadow:0 6px 16px rgba(197,65,185,.3)}

/* ---- partner + professions sections ---- */
.v2 .partner .card .ico{background:var(--cyan)} .v2 .partner .card:nth-child(2) .ico{background:var(--primary)} .v2 .partner .card:nth-child(3) .ico{background:var(--orange)}
.v2 .professions{background:linear-gradient(180deg,#f3fbfe 0%,#fff 100%)}
.v2 .professions .card{border-top:5px solid var(--cyan)}
.v2 .professions .card:nth-child(2){border-top-color:var(--primary)} .v2 .professions .card:nth-child(3){border-top-color:var(--orange)}
.v2 .professions .card h3{font-size:1.15rem}
.v2 .professions .tiny{font-size:.85rem;color:var(--muted);margin:16px 0 0}

/* ---- round 9 ---- */
.v2 .statement{background:linear-gradient(180deg,#eefaff 0%,#f7fcff 100%)}
.v2 .girls{background:linear-gradient(135deg,#f4ecfd 0%,#fdeff8 100%)}
.v2 .schools .wrap{grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}
.v2 .schools .shot{margin:72px -20px 0 0}
.v2 .schools .shot img{aspect-ratio:16/9;border-radius:0;box-shadow:none;transform:scale(1.06);-webkit-mask-image:radial-gradient(ellipse 74% 72% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 74% 72% at 50% 50%,#000 55%,transparent 100%)}
.v2 .schools .badge{left:8px;bottom:30px}
.v2 .schools .badge.b2{right:8px;top:26px}
@media (max-width:900px){.v2 .schools .shot{margin:0}}
.v2 .band-world{padding:52px 0 50px}
.v2 .band-world .wrap{display:block}
.v2 .band-world .head{max-width:1040px;margin-bottom:10px}
.v2 .band-world .head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);max-width:none}
.v2 .band-world .head p{max-width:none}
.v2 .band-world .cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.v2 .timeline{margin-top:6px}
.v2 .globe img{max-width:640px;margin:0 auto}
@media (max-width:900px){.v2 .band-world .cols{grid-template-columns:1fr}.v2 .globe img{margin-top:0;max-width:420px}}

@media (max-width:900px){.v2 .site-head .wrap{height:80px}.v2 .site-head .brand img{height:56px}.v2 .site-head nav{top:80px}}

.v2 .schools .shot .offers{position:relative;z-index:2}
@media (max-width:900px){.v2 .schools .shot{margin-top:0}}

/* narrower screens: pull the left-hand hero items in a little so they clip less */
@media (max-width:1400px){.v2 .home-hero .lft{margin-right:-30px}}

/* ---- globe with country labels ---- */
.v2 .globe-wrap{position:relative;max-width:760px;margin:-40px auto 0}
.v2 .globe-wrap img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.v2 .pin{position:absolute;transform:translate(-50%,-50%);background:rgba(255,255,255,.94);color:var(--navy);font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:12.5px;line-height:1;padding:5px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 3px 10px rgba(13,27,69,.18);pointer-events:none}
@media (max-width:900px){.v2 .globe-wrap{margin-top:8px;max-width:440px}.v2 .pin{font-size:10px;padding:4px 7px}}
@media (max-width:560px){.v2 .pin{display:none}}

/* ---- timeline with country portraits ---- */
.v2 .timeline li{grid-template-columns:76px 72px 1fr;column-gap:14px}
.v2 .timeline img{grid-row:span 2;width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px rgba(33,44,88,.18);display:block}
.v2 .timeline li.au{grid-template-columns:76px 72px 1fr}
.v2 .timeline .flagless{grid-row:span 2;width:54px;height:54px;border-radius:50%;background:var(--cyan-soft);display:flex;align-items:center;justify-content:center;color:var(--cyan-deep);font-family:'Outfit',sans-serif;font-weight:800;font-size:1.1rem}
@media (max-width:560px){.v2 .timeline li{grid-template-columns:64px 1fr}.v2 .timeline img,.v2 .timeline .flagless{display:none}}

/* ---- landing pages: soft-edged photos + home-page decoration ---- */
.v2 .split .media img,.v2 .page-hero2 .shot img{border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 13%,#000 87%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 13%,#000 87%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.v2 .page-hero2 .shot{border-radius:0;overflow:visible;box-shadow:none}
.v2 .page-hero2 .shot img{aspect-ratio:4/3;object-fit:cover}
.v2 .split .media{position:relative;z-index:2}

.v2 .globe-cta{text-align:center;margin-top:6px}
.v2 .globe-cta .tiny{margin-top:12px}
.v2 .band-world .cols{align-items:center}

/* ---- landing pages: bigger, wider photos ---- */
.v2 .split{grid-template-columns:.88fr 1.12fr;gap:40px}
.v2 .split .media{margin-right:-40px}
.v2 .split.flip .media{margin-right:0;margin-left:-40px}
.v2 .split .media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.v2 .page-hero2 .wrap{grid-template-columns:.92fr 1.08fr}
.v2 .page-hero2 .shot{margin-right:-50px}
.v2 .page-hero2 .shot img{aspect-ratio:3/2}
@media (max-width:860px){.v2 .split .media,.v2 .split.flip .media,.v2 .page-hero2 .shot{margin:0}}

/* ---- light section tints ---- */
.v2 .block.tint-cyan{background:linear-gradient(180deg,#eefaff 0%,#f8fdff 100%)}
.v2 .block.tint-lilac{background:linear-gradient(135deg,#f5edfd 0%,#fdf0f8 100%)}
.v2 .block.tint-warm{background:linear-gradient(180deg,#fff7ec 0%,#fffdf8 100%)}

/* ---- whole-section links (sections that lead to a landing page) ---- */
.v2 .section-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
.v2 .section-link:hover .btn{filter:brightness(.94)}

/* ---- girls page: handwritten accent words, hero photo backdrop ---- */
.v2 .hand-word{font-family:'Caveat',cursive;font-weight:700;font-size:1.32em;line-height:.85;letter-spacing:0}
.v2 .page-hero2 .shot{position:relative}
.v2 .page-hero2 .shot img{position:relative;z-index:1}
.v2 .page-hero2 .shot .splash,.v2 .page-hero2 .shot .dots{z-index:0}

/* ---- girls page: KPI row with proportion meters (one hue, lighter track) ---- */
.v2 .stats.viz .stat{background:#fff}
/* one colour per stage: school / work / university. Trio validated by scripts/validate_palette.js (all six checks pass, light surface). */
.v2 .stats.viz .stat.s1{background:#e9f8fd;border-color:#c9edf9}
.v2 .stats.viz .stat.s2{background:#fdf1e7;border-color:#f6dcc4}
.v2 .stats.viz .stat.s3{background:#f6edfd;border-color:#e6d4f8}
.v2 .stats.viz .stat.s1 .meter{background:#c9edf9} .v2 .stats.viz .stat.s1 .meter>span{background:#0797c2}
.v2 .stats.viz .stat.s2 .meter{background:#f6dcc4} .v2 .stats.viz .stat.s2 .meter>span{background:#d9530b}
.v2 .stats.viz .stat.s3 .meter{background:#e2cdf6} .v2 .stats.viz .stat.s3 .meter>span{background:#9d1fd6}
.v2 .stats.viz .stage{display:block;font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.v2 .stats.viz .stat b{color:var(--navy);font-size:2.9rem;margin-bottom:14px}
.v2 .meter{height:12px;border-radius:999px;background:#e2cdf6;overflow:hidden;margin:0 0 10px}
.v2 .meter>span{display:block;height:100%;background:var(--primary);border-radius:0 4px 4px 0}
.v2 .meter-lbl{display:block;font-family:'Outfit','Inter',sans-serif;font-weight:700;color:var(--navy);font-size:.9rem;margin-bottom:10px}

/* ---- named example inside a text column (why-technology) ---- */
.v2 .person-note{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:8px 0 18px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .person-note img{width:92px;height:92px;border-radius:50%;object-fit:cover;flex:0 0 92px;border:4px solid var(--cyan-soft)}
.v2 .person-note h3{font-size:1.05rem;margin:2px 0 8px}
.v2 .person-note p{font-size:.95rem;color:var(--muted);margin:0 0 8px}
.v2 .person-note .pn-line{color:var(--navy);font-weight:600;margin:0}
@media (max-width:620px){.v2 .person-note{flex-direction:column}.v2 .person-note img{flex:0 0 auto}}

/* ---- price line on the girls call-to-action ---- */
.v2 .cta-terms{font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:1.25rem;color:var(--navy);margin:0 auto 16px}

/* the career group photo sits on its own pale blue ground; keep its edges square and let the section carry the same tone */
/* career group photo: same soft edges as every other landing photo; the section keeps the standard alternating tone */

/* why-technology hero: the headline runs to five lines, so pull the photo up to sit with it */
.v2 #why-hero .shot{align-self:start;margin-top:14px}
@media (max-width:860px){.v2 #why-hero .shot{align-self:auto;margin-top:0}}

/* "Not just tech jobs": the text column is long (3 paragraphs + the Denholm card), so top-align the photo */
.v2 #industry-sec .split{align-items:start}
.v2 #industry-sec .media{margin-top:16px}
@media (max-width:860px){.v2 #industry-sec .media{margin-top:0}}

/* ---- the school pathway strip (why-technology) ---- */
.v2 .pathway{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 34px;counter-reset:pw}
.v2 .pw-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;box-shadow:0 8px 24px rgba(33,44,88,.05)}
.v2 .pw-step::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:18px 18px 0 0;background:var(--cyan)}
.v2 .pw-step:nth-child(2)::before{background:#5fd6f5}
.v2 .pw-step:nth-child(3)::before{background:var(--primary)}
.v2 .pw-step:nth-child(4)::before{background:var(--orange)}
.v2 .pw-step:not(:last-child)::after{content:"\2192";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:20px;font-weight:700;line-height:1;z-index:2}
.v2 .pw-when{display:block;font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:4px 0 6px}
.v2 .pw-step b{display:block;font-family:'Outfit','Inter',sans-serif;font-size:1.05rem;color:var(--navy);line-height:1.2;margin-bottom:10px}
.v2 .pw-tag{display:inline-block;font-weight:700;font-size:.75rem;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.v2 .pw-must{background:var(--cyan-soft);color:var(--cyan-deep)}
.v2 .pw-pick{background:#f1e6fa;color:var(--primary)}
.v2 .pw-hsc{background:var(--orange-soft);color:#c2410c}
.v2 .pw-step p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.45}
@media (max-width:900px){.v2 .pathway{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .v2 .pw-step:nth-child(2)::after{display:none}}
@media (max-width:560px){.v2 .pathway{grid-template-columns:1fr}
  .v2 .pw-step::after{display:none!important}}

/* why-technology hero: the headline is long, so set it smaller and give the column more width */
.v2 #why-hero .wrap{grid-template-columns:1.08fr .92fr}
.v2 #why-hero h1{font-size:clamp(1.75rem,3.1vw,2.5rem);line-height:1.15;max-width:none}
.v2 #why-hero .lede{font-size:1.06rem;max-width:620px}
.v2 #why-hero .shot{margin-top:6px}
@media (max-width:860px){.v2 #why-hero .wrap{grid-template-columns:1fr}}

/* curriculum text runs the full page width, above the pathway strip */
.v2 #curriculum .cur-text{max-width:none}
.v2 #curriculum .cur-text p{max-width:none}

/* why-technology: balanced splits, and the Denholm card as its own full-width row */
.v2 .lead-line{font-family:'Outfit','Inter',sans-serif;font-weight:700;color:var(--navy);font-size:1.08rem}
.v2 #industry-sec .split{align-items:center}
.v2 #industry-sec .media{margin-top:0}
.v2 .person-note.wide{margin:34px 0 0;padding:26px 30px;gap:26px;align-items:center}
.v2 .person-note.wide img{width:120px;height:120px;flex-basis:120px}
.v2 .person-note.wide h3{font-size:1.2rem}
.v2 .person-note.wide p{font-size:1rem}

/* why-technology hero: sit the photo level with the bold heading, not the eyebrow */
.v2 #why-hero .shot{margin-top:40px}
@media (max-width:860px){.v2 #why-hero .shot{margin-top:0}}

/* "what families already invest in" — four familiar, one highlighted */
.v2 .invest{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px 0 30px;align-items:stretch}
.v2 .inv{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 14px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;justify-content:center}
.v2 .inv i{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:#eef1f6;font-size:30px;color:#93a0b4}
.v2 .inv span{display:block;font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:1.02rem;color:var(--muted)}
.v2 .inv-new{background:linear-gradient(160deg,#eeddfb,#f7ecfd);border-color:#d3aef1;box-shadow:0 10px 26px rgba(157,31,214,.18)}
.v2 .inv-new i{width:78px;height:78px;font-size:36px;background:linear-gradient(145deg,var(--primary),#c541b9);color:#fff;box-shadow:0 10px 22px rgba(157,31,214,.32)}
.v2 .inv-new span{color:var(--navy)}
.v2 .inv-new small{display:block;margin-top:6px;font-size:.78rem;line-height:1.35;color:var(--primary);font-weight:600}
@media (max-width:900px){.v2 .invest{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.v2 .invest{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* statement band: two columns — heading + text together, photo beside */
.v2 .statement .wrap{grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.v2 .statement .st-text h2{margin-bottom:18px}
.v2 .statement .st-text p{max-width:560px;font-size:1.05rem}
.v2 .statement .st-text .hand{margin-top:6px;font-size:1.6rem}
.v2 .statement .blob-img{max-width:400px;margin-left:auto}
@media (max-width:900px){.v2 .statement .wrap{grid-template-columns:1fr}.v2 .statement .blob-img{margin:0 auto}}

/* Girls page: "almost every career" — the imagined-professions picture.
   Its own ratio so object-fit never crops a thought bubble; the soft edge
   fade from .split .media img still applies. The picture carries pale
   padding, so it is set wider than a normal .media to keep the girl the
   same visual size as the photos on the other pages. */
.v2 .split .media.imagine img{aspect-ratio:2000/1440;position:relative;z-index:1}
.v2 .split .media.imagine .dot{z-index:0}
/* Stuart asked for a bigger picture, and the text beside it was shortened,
   so this section gives the picture the larger half of the row. */
@media (min-width:1100px){
  .v2 #career-sec .split{grid-template-columns:1.18fr .82fr;gap:34px}
  .v2 .split.flip .media.imagine{margin-left:-130px;margin-right:-26px}
}

/* Phone fix. The two-column rules in the "bigger, wider photos" block above
   sit outside a media query, so they beat the earlier max-width:860px
   collapse and every landing-page split stayed two columns on a phone.
   Restore the single column here, after them. */
@media (max-width:860px){
  .v2 .split{grid-template-columns:1fr;gap:26px}
  .v2 .split.flip .media{order:0}
  .v2 .page-hero2 .wrap{grid-template-columns:1fr}
}

/* "A skill many children have not yet had the chance to build" — each tile
   now carries its own light tint and a matching icon colour. Technology
   keeps the saturated purple circle, the larger badge and the shadow, so it
   is still the tile the eye lands on. Hues are the site's categorical set
   (course cards): cyan, orange, magenta, amber, purple. Checked with the
   dataviz validator: lightness band, chroma, CVD separation and contrast
   all pass, and every tile also has a written label and its own icon. */
.v2 .inv-1{background:#dcf1fb;border-color:#bfe4f5}
.v2 .inv-1 i{background:#c2e8f7;color:#0a82ab}
.v2 .inv-2{background:#fde3cd;border-color:#f6cda4}
.v2 .inv-2 i{background:#f8cea6;color:#c24d0a}
.v2 .inv-3{background:#fbdcee;border-color:#f4c1df}
.v2 .inv-3 i{background:#f6c2e0;color:#b5148f}
.v2 .inv-4{background:#dcf4e6;border-color:#bce7d0}
.v2 .inv-4 i{background:#bfead2;color:#0d7a52}
/* The section behind this row is cream, so the tints are deeper than a
   tint on white would be, and Sport is green rather than amber: an amber
   fill measured only 14 RGB units from the cream and disappeared. */
.v2 .inv{padding:18px 12px 16px}
.v2 .inv-new small{font-size:.75rem;line-height:1.3}
@media (min-width:1100px){.v2 .narrow .invest{margin-left:-90px;margin-right:-90px}}

/* "Run a program? Let's build it together." — one light tint per card,
   matched to the icon colour that card already had. */
.v2 .partner .card:nth-child(1){background:#e9f8fd;border-color:#c9edf9}
.v2 .partner .card:nth-child(2){background:#f6edfd;border-color:#e6d4f8}
.v2 .partner .card:nth-child(3){background:#fdf1e7;border-color:#f6dcc4}

/* Girls hero. The H1 is long and the text column is the narrower half, so
   the global h1 clamp (up to 3.9rem) ran it to six lines. */
.v2 #girls-hero h1{font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.12}

/* ---- "The gap opens early, not late": interest by age ----
   A photo cannot show a decline across ages, so this section carries a
   chart instead. ONE measure across three ordered age bands, so ONE hue:
   three different colours would claim three unrelated categories.
   The scale is 0 to 100, not 0 to 36, because these are percentages of an
   age group and a cut axis would exaggerate the fall. The faint track is
   the rest of the hundred. Values are direct-labelled on every column, so
   the chart needs no legend and no tooltip to be readable.
   Figures: STEM Equity Monitor, Youth in STEM survey 2025-26 (source 4 on
   the page). Do not change a number here without changing that source. */
.v2 .agechart{margin:0;background:#fff;border:1px solid #e6d4f8;border-radius:22px;padding:26px 24px 20px;box-shadow:0 10px 30px rgba(33,44,88,.07)}
.v2 .agechart figcaption{font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:1.02rem;color:var(--muted);line-height:1.3;margin-bottom:22px}
.v2 .agechart figcaption b{color:var(--navy)}
.v2 .ac-plot{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:end}
.v2 .ac-col{display:flex;flex-direction:column;align-items:center}
/* The value sits directly on top of its own bar, not in a header row, so
   the reader never has to match a number to a mark. The three labels then
   step down with the data, which is the point of the section. */
.v2 .ac-val{position:absolute;left:0;right:0;top:-36px;text-align:center;font-family:'Outfit','Inter',sans-serif;font-weight:800;font-size:1.45rem;color:var(--navy)}
/* No overflow:hidden here, because the value label sits outside the top of
   the track. The bar repeats the track's bottom radius instead. */
.v2 .ac-track{position:relative;width:100%;max-width:92px;height:240px;margin-top:44px;background:#e6d4f8;border-radius:12px;display:flex;align-items:flex-end}
.v2 .ac-track>span{display:block;position:relative;width:100%;background:var(--primary);border-radius:4px 4px 12px 12px}
.v2 .ac-age{margin-top:12px;font-family:'Outfit','Inter',sans-serif;font-weight:700;font-size:.85rem;line-height:1.25;color:var(--muted);text-align:center}
.v2 .ac-note{margin:20px 0 0;font-size:.78rem;line-height:1.4;color:var(--muted)}
/* .split .media pulls photos 40px into the gutter; a bordered card must not. */
.v2 .split .media.chart-media{margin-right:0}
@media (max-width:860px){.v2 .ac-track{height:180px}.v2 .agechart{padding:22px 18px 18px}}

/* "Give girls the chance to start early" now carries the photo that used to
   sit in the section above. The checklist is the substance here, so the text
   column gets the larger half. .se-rest holds the rest of the section and is
   capped at the old .narrow width, lined up with the split's left edge. */
@media (min-width:861px){.v2 #start-early{grid-template-columns:1.12fr .88fr}}
.v2 .se-rest>*{max-width:780px}
.v2 .se-rest h2{margin-top:44px}

/* ===== REVERT BLOCK: floating icons pushed into the background =====
   Added 2026-09-22 at Stuart's request ("make the moving icons lighter so
   it looks like it is in the background").
   TO REVERT: delete everything between this comment and END REVERT BLOCK,
   then bump the ?v= stamp in the five pages. Nothing else was touched, so
   the icons go straight back to opacity .95.
   Affects all 12 floating icons: 6 in the home hero, 2 each on the girls,
   schools and why-technology pages. The plain .dot decorations are not
   changed, only the animated .sci drawings. */
.v2 .sci{opacity:.4}
/* ===== END REVERT BLOCK ===== */

/* Working With Children Check statement on the schools page. It was fine
   print inside a pricing note; a school checks clearances before it lets
   anyone near students, so it needs to be findable, not muted. */
.v2 .assure{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border:1px solid #cfe9f6;border-radius:14px;background:#f2fafd;color:var(--ink);font-size:.98rem;line-height:1.5}
.v2 .assure i{color:var(--cyan-deep);font-size:20px;line-height:1.5;flex:0 0 auto}
