@font-face{font-family:Inter;src:url('../fonts/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:Jost;src:url('../fonts/jost-latin.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--bg:#080c12;--bg2:#0b1119;--panel:#0f1620;--panel2:#131c28;--text:#f7f8fa;--muted:#aab4c0;--yellow:#fbbf24;--yellow2:#f59e0b;--line:rgba(255,255,255,.10);--max:1180px;--radius:28px;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:90px 0}.section.soft{background:var(--bg2)}.kicker{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:850;color:var(--yellow)}.kicker:before{content:"";width:18px;height:2px;background:var(--yellow);border-radius:9px}.display{font-family:Jost,Inter,sans-serif;letter-spacing:-.045em;line-height:.98}.lead{font-size:18px;line-height:1.75;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--yellow)}
/* NAV */
.site-nav{position:sticky;top:0;z-index:100;background:rgba(8,12,18,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{min-height:78px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.brand-mark{width:44px;height:44px;border-radius:13px;background:var(--yellow);display:grid;place-items:center;color:#090d13;font:900 21px/1 Jost,sans-serif;box-shadow:0 8px 30px rgba(251,191,36,.14)}.brand-copy{display:flex;flex-direction:column;line-height:1.03}.brand-copy b{font:800 20px/1 Jost,sans-serif;letter-spacing:-.03em}.brand-copy span{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--yellow);font-weight:800;margin-top:5px}.navlinks{margin-left:auto;display:flex;align-items:center;gap:17px}.navlinks a{text-decoration:none;font-size:12.5px;color:#d9dee5;white-space:nowrap;transition:.18s}.navlinks a:hover,.navlinks a.active{color:#fff}.navlinks .exam-link{background:var(--yellow);color:#080c12!important;padding:10px 14px;border-radius:999px;font-weight:850}.menu-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;padding:8px}.navlinks a.active:not(.exam-link){position:relative}.navlinks a.active:not(.exam-link):after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--yellow);border-radius:4px}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s;cursor:pointer}.btn.primary{background:var(--yellow);color:#080c12}.btn.primary:hover{background:var(--yellow2);transform:translateY(-1px)}.btn.ghost{border-color:rgba(255,255,255,.19);color:#fff;background:rgba(255,255,255,.02)}.btn.ghost:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.05)}.btn.dark{background:#080c12;color:white}.actions{display:flex;gap:12px;flex-wrap:wrap}
/* HERO */
.hero{position:relative;padding:95px 0 70px;min-height:700px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 65% 20%,rgba(251,191,36,.12),transparent 34%)}.hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(251,191,36,.09);border-radius:50%;right:-180px;top:-170px;box-shadow:0 0 0 80px rgba(251,191,36,.025),0 0 0 160px rgba(251,191,36,.015)}.hero h1{font-size:clamp(56px,7.4vw,104px);max-width:1060px;margin:13px 0 23px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero .lead{max-width:790px}.hero .actions{margin-top:28px}.pathways{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:46px}.path{min-height:248px;border-radius:30px;padding:31px;border:1px solid var(--line);position:relative;overflow:hidden}.path.learn{background:linear-gradient(135deg,#131c28,#0c121a)}.path.exam{background:var(--yellow);color:#080c12}.path h3{font:750 35px/1 Jost,sans-serif;letter-spacing:-.035em;margin:8px 0 12px}.path p{max-width:440px;margin:0;opacity:.76}.path a{position:absolute;right:28px;bottom:26px;text-decoration:none;font-weight:850}.path .path-num{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:850;opacity:.68}
/* PAGE HERO */
.page-hero{padding:92px 0 60px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 75% 25%,rgba(251,191,36,.10),transparent 30%)}.page-hero h1{font-size:clamp(50px,6.3vw,86px);margin:12px 0 18px;max-width:900px}.page-hero .lead{max-width:760px}.crumb{display:flex;gap:9px;align-items:center;color:#7f8a98;font-size:12px}.crumb a{text-decoration:none}.crumb b{color:#d8dee5;font-weight:600}.page-hero .hero-card{margin-top:38px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel));border-radius:var(--radius);padding:25px;max-width:760px;display:flex;gap:18px;align-items:center}.hero-stat{min-width:74px;height:74px;border-radius:22px;background:var(--yellow);color:#080c12;display:grid;place-items:center;font:900 20px Jost}
/* GRIDS/CARDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 0 0 rgba(0,0,0,0);transition:.2s}.card.hover:hover{transform:translateY(-3px);border-color:rgba(251,191,36,.28);box-shadow:var(--shadow)}.card h2,.card h3{font-family:Jost,Inter,sans-serif;letter-spacing:-.025em}.card h3{margin:8px 0 9px}.card p:last-child{margin-bottom:0}.num{color:var(--yellow);font-size:12px;font-weight:850}.icon{width:48px;height:48px;border-radius:15px;background:rgba(251,191,36,.12);color:var(--yellow);display:grid;place-items:center;font-size:20px;font-weight:900}.feature-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.feature-row h2{font-size:clamp(42px,5vw,68px);margin:10px 0 18px}.values .card h3{font-size:20px}.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.proof .card strong{display:block;color:var(--yellow);font:800 38px/1 Jost,sans-serif;margin-bottom:10px}.proof .card span{color:#c0c8d1;font-size:14px}
/* IMAGE CARDS */
.media-card{border-radius:30px;overflow:hidden;position:relative;min-height:430px;background:var(--panel);border:1px solid var(--line)}.media-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.media-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(8,12,18,.94) 100%)}.media-card .content{position:absolute;left:28px;right:28px;bottom:27px;z-index:2}.media-card h3{font:750 32px/1 Jost,sans-serif;margin:8px 0}.media-card p{color:#ccd3db;max-width:520px}.pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(251,191,36,.13);color:var(--yellow);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.curr-card{display:grid;grid-template-columns:210px 1fr;background:var(--panel);border:1px solid var(--line);border-radius:28px;overflow:hidden}.curr-card img{width:100%;height:100%;object-fit:cover;min-height:310px}.curr-card .body{padding:27px}.curr-card h3{font:750 29px/1.08 Jost,sans-serif;margin:13px 0}.link-arrow{color:var(--yellow);text-decoration:none;font-weight:800}.link-arrow:hover{text-decoration:underline}
/* PRICING/INFO */
.price-card{position:relative;overflow:hidden}.price-card .price{font:800 38px/1 Jost,sans-serif;color:var(--yellow);margin:14px 0 7px}.price-card .tag{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#7f8995;font-weight:800}.notice{border:1px solid rgba(251,191,36,.28);background:rgba(251,191,36,.07);border-radius:24px;padding:24px}.notice strong{color:var(--yellow)}
/* PARTNERS */
.logo-strip{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.logo-tile{background:#fff;border-radius:22px;padding:19px 24px;min-width:220px;min-height:105px;display:grid;place-items:center}.logo-tile img{max-width:190px;max-height:65px;object-fit:contain}.logo-tile.darklogo img{filter:none}
/* TEAM */
.team-card{overflow:hidden;padding:0}.team-card .portrait{aspect-ratio:1/1;overflow:hidden;background:#171f2a}.team-card .portrait img{width:100%;height:100%;object-fit:cover}.team-card .body{padding:24px}.team-card h3{font-size:26px;line-height:1.12;margin:4px 0;overflow-wrap:break-word}.team-card .role{color:var(--yellow);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.team-card p{color:var(--muted);font-size:14px}
/* TIMELINE / COUNTRY LINKS */
.timeline{display:grid;gap:16px}.timeline .item{display:grid;grid-template-columns:64px 1fr;gap:18px}.timeline .badge{width:50px;height:50px;border-radius:15px;background:var(--yellow);color:#080c12;display:grid;place-items:center;font-weight:900}.timeline .item h3{margin:0 0 7px}.countries{display:flex;flex-wrap:wrap;gap:10px}.countries a{display:inline-flex;padding:10px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:#dbe1e7;font-size:13px}.countries a:hover{background:rgba(251,191,36,.10);border-color:rgba(251,191,36,.28);color:#fff}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px}.contact-list{display:grid;gap:14px}.contact-item{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:0}.contact-item .ico{width:40px;height:40px;border-radius:12px;background:rgba(251,191,36,.13);color:var(--yellow);display:grid;place-items:center;flex:0 0 auto}.contact-item a{text-decoration:none;color:#fff}.contact-item small{display:block;color:#7f8a98;margin-bottom:2px}.contact-visual{min-height:460px;border-radius:30px;overflow:hidden;position:relative;background:linear-gradient(140deg,#182332,#0c121a)}.contact-visual:before{content:"";position:absolute;width:340px;height:340px;background:var(--yellow);border-radius:50%;right:-100px;top:-110px;filter:blur(1px);opacity:.94}.contact-visual:after{content:"YOLO";position:absolute;left:40px;bottom:24px;font:900 clamp(80px,12vw,160px)/.8 Jost,sans-serif;letter-spacing:-.07em;color:rgba(255,255,255,.08)}.contact-visual .quote{position:absolute;left:34px;right:34px;top:34px;max-width:420px;font:650 30px/1.15 Jost,sans-serif;letter-spacing:-.03em;z-index:2}.contact-visual .quote span{color:var(--yellow)}
/* CTA */
.exam-cta{border-radius:32px;padding:44px;background:var(--yellow);color:#080c12;display:flex;justify-content:space-between;gap:28px;align-items:center}.exam-cta h2{font-size:clamp(32px,4vw,55px);margin:4px 0 8px}.exam-cta p{margin:0;opacity:.74}.exam-cta .btn{flex:none}.split-cta{display:grid;grid-template-columns:1fr 1fr;gap:18px}.split-cta .cta-card{border-radius:30px;padding:32px;min-height:245px;position:relative}.split-cta .cta-card:first-child{background:var(--panel);border:1px solid var(--line)}.split-cta .cta-card:last-child{background:var(--yellow);color:#080c12}.split-cta h3{font:750 35px/1 Jost;margin:8px 0 12px}.split-cta a{position:absolute;bottom:28px;right:28px;text-decoration:none;font-weight:850}
/* VIDEO EMBED */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:30px;overflow:hidden;border:1px solid var(--line);background:#000}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-facade{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.video-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.66;transition:opacity .25s}
.video-facade:hover img{opacity:.86}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--yellow);color:#080c12;display:grid;place-items:center;font-size:30px;line-height:1;padding-left:6px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
/* FOOTER */
.footer{padding:58px 0 28px;border-top:1px solid var(--line);background:#070a0f}.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer h4{font:700 14px Jost;margin:0 0 15px;color:#fff}.footer p,.footer a{font-size:13px;color:#9ba6b2}.footer a{text-decoration:none}.footer a:hover{color:#fff}.footer-links{display:grid;gap:9px}.footer .brand{margin-bottom:16px}.socials{display:flex;gap:8px}.socials a{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800}.footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:#697583;font-size:12px}
/* REVEAL */
.reveal{opacity:0;transform:translateY(12px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1120px){.navlinks{display:none}.menu-btn{display:block}.site-nav.open .navlinks{display:flex;position:absolute;left:20px;right:20px;top:72px;flex-direction:column;align-items:stretch;padding:20px;background:#101720;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.navlinks a{font-size:14px;padding:8px}.navlinks a.active:not(.exam-link):after{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}.footer .cols{grid-template-columns:1.5fr 1fr 1fr}.footer .cols>div:last-child{grid-column:2/4}}
@media(max-width:850px){.hero{min-height:auto;padding:75px 0 58px}.pathways,.proof,.grid-3,.split-cta{grid-template-columns:1fr}.grid-2,.feature-row,.contact-grid{grid-template-columns:1fr}.curr-card{grid-template-columns:1fr}.curr-card img{height:270px;min-height:0}.feature-row{gap:26px}.page-hero{padding-top:70px}.footer .cols{grid-template-columns:1fr 1fr}.footer .cols>div:last-child{grid-column:auto}.exam-cta{align-items:flex-start;flex-direction:column}.contact-visual{min-height:340px}}
@media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 28px))}.section{padding:64px 0}.grid-4,.footer .cols{grid-template-columns:1fr}.pathways{grid-template-columns:1fr}.hero h1{font-size:clamp(50px,15vw,74px)}.page-hero h1{font-size:clamp(45px,14vw,66px)}.lead{font-size:16px}.path{min-height:230px}.hero .actions .btn,.page-hero .actions .btn{width:100%}.card{padding:23px}.exam-cta{padding:30px}.footer-bottom{flex-direction:column}.brand-copy span{display:none}.logo-tile{min-width:100%}.timeline .item{grid-template-columns:48px 1fr}.timeline .badge{width:42px;height:42px}.contact-visual .quote{font-size:25px}.hero:after{display:none}.video-play{width:64px;height:64px;font-size:24px}}

/* CONTACT FORM (server-validated maths CAPTCHA) */
.contact-form-wrap{max-width:100%}
.contact-form{display:grid;gap:18px}
.contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form .field{display:grid;gap:8px}
.contact-form .field--full{grid-column:1/-1}
.contact-form label{font-size:13px;font-weight:700;color:#dfe5ec}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:13px 15px;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6f7a87}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(251,191,36,.16)}
.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.16)}
.contact-form .captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-form .captcha-question{font:800 22px/1 Jost,sans-serif;letter-spacing:.06em;white-space:nowrap;color:#fff}
.contact-form .captcha-row input{flex:0 1 160px;width:160px;min-width:140px;max-width:220px;padding-left:12px;padding-right:12px;text-align:center}
.contact-form .captcha-refresh{padding:10px 14px;font-size:13px}
.contact-form .captcha-hint{margin:0;font-size:12.5px;color:#7f8a98}
.contact-form .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;white-space:nowrap}
.contact-form .form-actions{display:flex;justify-content:flex-start}
.contact-form .form-status{font-size:14.5px;line-height:1.5;min-height:0}
.contact-form .form-status.ok{color:#34d399;font-weight:700}
.contact-form .form-status.err{color:#f87171;font-weight:700}
.contact-form button[disabled]{opacity:.6;cursor:not-allowed;transform:none}
@media(max-width:620px){.contact-form .form-grid{grid-template-columns:1fr}.contact-form .captcha-question{flex:1 0 100%;font-size:20px}.contact-form .captcha-row input{flex:0 1 160px;min-width:140px}}

/* --- Homepage: curriculum cards + partners balance ---------------------- */

/* Curriculum cards: wider artwork column, artwork keeps its own proportion. */
.curr-card{grid-template-columns:42% 1fr;align-items:stretch}
.curr-card img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}

/* Narrower viewports wrap the text and would force a heavy crop,
   so the artwork moves on top with a controlled aspect ratio. */
@media(max-width:1180px){
.curr-card{grid-template-columns:1fr}
.curr-card img{width:100%;height:auto;aspect-ratio:768/847;max-height:380px;min-height:0;object-fit:cover;object-position:center}
}
@media(max-width:620px){
.curr-card img{max-height:320px}
}

/* Partners: give the two brands real presence, still left aligned to the grid. */
.partners-section{padding-top:72px;padding-bottom:78px}
.logo-strip--feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:760px}
.logo-strip--feature .logo-tile{min-width:0;min-height:132px;padding:26px 30px}
.logo-strip--feature .logo-tile img{max-width:270px;max-height:92px}
@media(max-width:620px){
.partners-section{padding-top:52px;padding-bottom:58px}
.logo-strip--feature{grid-template-columns:1fr;max-width:420px}
.logo-strip--feature .logo-tile{min-height:118px}
}

/* Tablet: full artwork, centred and width-capped (no text cut). */
@media(min-width:621px) and (max-width:1180px){
.curr-card img{width:auto;height:auto;max-width:min(100%,480px);max-height:none;aspect-ratio:768/847;justify-self:center;object-fit:cover}
}

/* --- Registration / exam forms + partners row --------------------------- */

/* Selects follow the same field styling as the shared form inputs. */
.contact-form select{width:100%;background-color:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:13px 15px;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(251,191,36,.16)}
.contact-form select[aria-invalid=true]{border-color:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.16)}
.contact-form textarea{min-height:130px}

/* Educational partners: text + CambriLearn on one intentional grid. */
.partners-row{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:44px}
.partners-row .logo-strip{justify-content:center}
.partners-row .logo-tile{width:100%;min-width:0;max-width:430px;min-height:180px;padding:30px}
.partners-row .logo-tile img{max-width:310px;max-height:120px}
@media(max-width:850px){
.partners-row{grid-template-columns:1fr;gap:26px}
.partners-row .logo-tile{max-width:430px;margin:0 auto}
}

/* REGISTRATION FORM ACCORDION (collapsed by default; entered values are kept) */
.reg-toggle{margin-top:4px}
.reg-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}
.reg-panel>.reg-panel-inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .26s}
.reg-card.open .reg-panel{grid-template-rows:1fr}
.reg-card.open .reg-panel>.reg-panel-inner{visibility:visible;transition-delay:0s}
.reg-card.open .reg-toggle{margin-bottom:22px;background:transparent;color:var(--muted);border-color:var(--line);font-weight:700}
.reg-card.open .reg-toggle:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.3);color:#fff;transform:none}
@media(prefers-reduced-motion:reduce){.reg-panel,.reg-panel>.reg-panel-inner{transition:none}}

/* Exam Centre: keep a clear gap between the three steps and the enquiry form. */
#exam-registration{margin-top:20px}
