:root{
  --ink:#171717;--paper:#f4f0e8;--yellow:#f4d64e;--blue:#3158ff;--red:#ef4d3e;
  --line:rgba(23,23,23,.16);--muted:#6e6b65;--white:#fffaf0;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,240,232,.9);backdrop-filter:blur(14px);z-index:20}
.logo{font-family:"Space Grotesk";font-weight:700;font-size:25px;letter-spacing:-2px;display:flex;align-items:center;gap:3px}.logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--ink);color:var(--yellow);border-radius:50%;font-size:17px}
.nav{display:flex;gap:34px;font-size:13px;font-weight:700}.nav a:hover{opacity:.55}.header-cta{border:1px solid var(--ink);padding:11px 17px;border-radius:99px;font-size:12px;font-weight:800}
.hero{min-height:calc(100vh - 78px);padding:8vh 5vw 0;position:relative;overflow:hidden;display:flex;align-items:center}.hero-copy{width:54%;position:relative;z-index:5}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:24px}.pulse{width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 6px rgba(239,77,62,.12)}
h1,h2,h3{font-family:"Space Grotesk";margin:0;line-height:.92;letter-spacing:-.055em}h1{font-size:clamp(65px,8.5vw,132px)}h1 em{color:var(--blue);font-style:normal}h1 span,h2 span{color:var(--blue)}.hero-text{font-size:18px;line-height:1.55;max-width:600px;margin:30px 0 28px;color:#46433e}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:99px;padding:15px 21px;font-weight:800;font-size:12px;cursor:pointer}.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover{transform:translateY(-2px)}.btn-ghost{border:1px solid var(--ink);background:transparent}
.hero-city{position:absolute;right:-3vw;bottom:-3vh;width:53vw;height:74vh;min-height:450px}.city-label{position:absolute;font-size:10px;letter-spacing:.22em;font-weight:800;z-index:4}.saransk-label{left:5%;top:12%;color:var(--red)}.london-label{right:6%;top:29%;color:var(--blue)}
.skyline{position:absolute;bottom:20%;left:0;width:100%;height:55%}.building{position:absolute;bottom:0;background:#222}.b1{left:5%;width:9%;height:31%}.b2{left:14%;width:10%;height:52%}.b3{left:25%;width:8%;height:39%}.ushakov-dome{position:absolute;left:34%;bottom:0;width:18%;height:66%;background:#242424;border-radius:40% 40% 0 0}.ushakov-dome:before{content:"";position:absolute;left:16%;right:16%;top:-24%;height:45%;border-radius:50% 50% 10% 10%;background:#242424}.ushakov-dome i{position:absolute;left:48%;top:-43%;height:20%;width:4px;background:#242424}.tower{position:absolute;bottom:0;width:6%;background:#222}.tower-saransk{left:54%;height:72%}.tower-saransk:before{content:"";position:absolute;top:-12%;left:-30%;width:160%;height:14%;background:#222;transform:skewY(-8deg)}
.bridge{position:absolute;bottom:17%;left:7%;width:45%;height:24px;border-top:4px solid var(--red);z-index:3}.bridge-tower{position:absolute;bottom:0;width:15px;height:90px;background:var(--red)}.bridge-tower.left{left:14%}.bridge-tower.right{right:12%}.bridge-deck{position:absolute;left:13%;right:10%;bottom:20px;height:4px;background:var(--red)}
.london-skyline{left:45%;bottom:11%;height:58%;z-index:2}.parliament{position:absolute;right:17%;bottom:0;width:45%;height:36%;background:#263e74;clip-path:polygon(0 18%,100% 18%,100% 100%,0 100%)}.parliament i{display:block;float:left;width:13%;height:28%;margin:8% 3%;background:#f4d64e}.bigben{position:absolute;right:65%;bottom:0;width:10%;height:78%;background:#29447e;clip-path:polygon(0 7%,50% 0,100% 7%,90% 100%,10% 100%)}.clock{position:absolute;left:15%;top:11%;width:70%;aspect-ratio:1;border-radius:50%;background:var(--yellow);border:2px solid #171717}.wheel{position:absolute;right:-4%;bottom:5%;width:34%;aspect-ratio:1;border:7px solid var(--blue);border-radius:50%}.wheel:before,.wheel:after{content:"";position:absolute;inset:8%;border:2px solid var(--blue);border-radius:50%}.wheel:after{inset:49% 0 49%}.tower-london{right:7%;height:50%;background:#27427b}.river{position:absolute;bottom:0;left:-5%;width:115%;height:19%;background:#3158ff;transform:skewY(-2deg);opacity:.94}.hero-glow{position:absolute;width:55vw;height:55vw;right:-10vw;top:-18vw;background:radial-gradient(circle,rgba(244,214,78,.45),transparent 67%)}
.opening-banner{margin:0 5vw;background:var(--yellow);padding:18px 24px;display:flex;align-items:center;gap:22px;font-size:13px;border-radius:3px}.banner-tag{font-size:10px;font-weight:900;letter-spacing:.15em;border:1px solid var(--ink);padding:6px 9px}.opening-banner strong{font-family:"Space Grotesk";font-size:18px}.opening-banner a{margin-left:auto;font-weight:900;text-decoration:underline}
.section{padding:150px 5vw}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw}.intro h2,.section-head h2,.level-copy h2,.city-grid h2,.contact h2{font-size:clamp(52px,6.4vw,92px)}.intro p{font-size:25px;line-height:1.45;max-width:760px;margin:0;color:#45413c}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head p{max-width:320px;line-height:1.55;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.program-card{min-height:430px;padding:28px;position:relative;overflow:hidden}.card-yellow{background:var(--yellow)}.card-blue{background:var(--blue);color:white}.card-red{background:var(--red);color:white}.card-number,.card-age{font-size:11px;font-weight:800}.card-age{float:right}.program-card h3{font-size:56px;margin-top:120px}.program-card p{position:absolute;left:28px;right:60px;bottom:27px;line-height:1.5;font-size:13px}.arrow{position:absolute;right:25px;bottom:27px;font-size:24px}
.level-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--blue);color:white}.level-art{position:relative;overflow:hidden;background:var(--yellow);color:var(--ink)}.big-x{position:absolute;font:700 62vw/.7 "Space Grotesk";letter-spacing:-.13em;left:-8%;bottom:-3%;transform:rotate(-9deg)}.level-note{position:absolute;right:30px;top:30px;font-size:11px;font-weight:900;letter-spacing:.12em}.level-copy{padding:100px 9vw}.level-copy p{font-size:18px;line-height:1.55;max-width:520px;margin:35px 0}.levels{display:flex;gap:7px;flex-wrap:wrap}.levels span{border:1px solid rgba(255,255,255,.55);border-radius:99px;padding:10px 15px;font-size:11px;font-weight:800}
.city-story{padding:130px 5vw;background:#191919;color:var(--white)}.city-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.city-grid h2 span{color:var(--yellow)}.city-copy{align-self:end}.city-copy p{font-size:20px;line-height:1.55}.city-pills{display:flex;align-items:center;gap:12px;margin-top:38px}.city-pills span{border:1px solid #666;border-radius:99px;padding:9px 13px;font-size:10px;font-weight:800}.city-pills b{color:var(--yellow)}
.contact{padding:120px 5vw;background:var(--yellow)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2 span{color:var(--red)}.contact p{max-width:430px;line-height:1.6}.waitlist{display:flex;flex-direction:column;gap:13px}.waitlist label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.waitlist input{display:block;width:100%;margin-top:7px;border:1px solid var(--ink);border-radius:0;background:transparent;padding:16px;font:inherit;outline:0}.waitlist .btn{margin-top:8px}.waitlist small{font-size:9px;opacity:.65}
.footer{padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;border-top:1px solid var(--line)}.footer .logo{font-size:18px}.footer .logo-mark{width:23px;height:23px;font-size:13px}
@media(max-width:850px){.nav{display:none}.header-cta{display:none}.hero{min-height:auto;padding-top:80px;padding-bottom:30px;display:block}.hero-copy{width:100%}.hero-city{position:relative;right:auto;bottom:auto;width:115%;height:420px;margin:30px 0 -20px -7%}.hero-text{font-size:16px}.opening-banner{margin:0;flex-wrap:wrap}.opening-banner a{margin-left:0}.section{padding:90px 5vw}.intro,.section-head,.level-section,.city-grid,.contact-inner{grid-template-columns:1fr;display:grid}.intro h2{margin-bottom:30px}.section-head{gap:30px}.cards{grid-template-columns:1fr}.program-card{min-height:370px}.program-card h3{margin-top:90px}.level-art{height:430px}.level-copy{padding:70px 8vw}.city-grid{gap:50px}.contact-inner{gap:55px}.footer{gap:20px;flex-wrap:wrap}}

body.modal-open{overflow:hidden}.btn-test{border:1px solid var(--ink);background:var(--yellow)}
.test-preview{margin:0 5vw;padding:100px 5vw;display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;background:#e7e1d6}.test-preview h2{font-size:clamp(52px,6vw,82px)}.test-preview p{font-size:19px;line-height:1.55;max-width:530px;margin:0 0 28px}
.test-modal{position:fixed;inset:0;z-index:100;display:none}.test-modal.is-open{display:block}.test-backdrop{position:absolute;inset:0;background:rgba(15,15,15,.78);backdrop-filter:blur(8px)}.test-dialog{position:relative;z-index:2;width:min(900px,92vw);max-height:92vh;overflow:auto;margin:4vh auto;background:var(--paper);padding:42px 48px;box-shadow:0 25px 100px rgba(0,0,0,.35)}.test-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:35px;cursor:pointer}.test-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.test-top h2{font-size:clamp(38px,5vw,64px);margin-top:12px}.test-progress{width:190px;font-size:10px;font-weight:800;text-align:right}.test-progress>div{height:5px;background:#d3cec4;margin-top:9px}.test-progress i{display:block;width:8%;height:100%;background:var(--blue);transition:.25s}.question-number{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--red);margin-bottom:15px}.question-box h3{font-size:clamp(28px,3.5vw,44px);max-width:760px;margin-bottom:30px}.answer-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-option{border:1px solid var(--line);background:#fffaf0;text-align:left;padding:18px;font:600 14px Manrope;cursor:pointer;min-height:72px;display:flex;gap:15px;align-items:center}.answer-option:hover,.answer-option.selected{border-color:var(--blue);background:#e8ecff}.answer-option span{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;flex:none;font-size:11px}.test-nav{display:flex;justify-content:space-between;margin-top:35px}.test-nav button:disabled{opacity:.3;cursor:not-allowed}.shake{animation:shake .35s}.test-result{padding:20px 0 5px}.result-badge{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:var(--yellow);font:700 28px "Space Grotesk";margin-bottom:28px}.test-result h2{font-size:clamp(42px,5vw,66px);margin:12px 0 20px}.test-result>p{font-size:18px;line-height:1.55;max-width:680px}.result-note{border-left:3px solid var(--blue);padding:12px 16px;background:#e8ecff;font-size:12px;line-height:1.5;margin:25px 0}.level-choice{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.level-choice-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.level-choice-buttons button{border:1px solid var(--ink);background:transparent;padding:11px 15px;border-radius:99px;font:800 11px Manrope;cursor:pointer}.level-choice-buttons button.recommended{background:var(--yellow)}.level-choice-buttons button.chosen{background:var(--blue);color:white;border-color:var(--blue)}.result-continue{margin-top:28px}.chosen-level{font-size:11px;font-weight:800;margin-top:12px}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@media(max-width:850px){.test-preview{margin:0;padding:75px 5vw;grid-template-columns:1fr;gap:35px}.test-dialog{padding:32px 23px;margin:2vh auto;max-height:96vh}.test-top{display:block!important;margin-bottom:30px}.test-progress{width:100%;margin-top:25px}.answer-list{grid-template-columns:1fr}.question-box h3{font-size:30px}.test-nav{gap:10px}.test-nav .btn{padding:13px 14px}}
