:root{--void:#000;--bone:#fff;--char:#1d1a1a;--ink:#111212;--graph:#3d3d3d;--mist:#d9d9d9;--parch:#f3f3ef;--mag:#fc74dd;--ember:#ff4c33;
--mono:'Martian Mono',ui-monospace,Menlo,Consolas,monospace;--sans:'Schibsted Grotesk',ui-sans-serif,system-ui,sans-serif;--disp:'Anton','Arial Narrow',sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--void);color:var(--bone);font:400 18px/1.45 var(--sans);letter-spacing:-.008em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.sec{padding-top:80px;padding-bottom:20px}
h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.035em}
h2{font-size:clamp(34px,5.2vw,72px);margin-bottom:28px}h3{font-size:clamp(22px,2.4vw,32px)}
p{margin-bottom:16px;color:var(--mist)}
.label,.pill,.btn,.tag,.k,.brand,.live,.burger,h4,summary,.price,.stagehead{font-family:var(--mono);font-weight:200;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.label{display:flex;align-items:center;gap:10px;color:var(--bone);margin-bottom:18px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ember)}
.lead{font-size:22px;max-width:760px;line-height:1.25}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,3vw,34px);mix-blend-mode:normal;background:#000}
.brand{text-decoration:none;color:#fff}.live{display:flex;gap:8px;align-items:center}
.topr{display:flex;gap:10px;align-items:center}
.pill,.burger{border:1px solid var(--graph);border-radius:96px;padding:10px 22px;color:#fff;background:none;text-decoration:none;cursor:pointer;font-weight:200}
.pill:hover,.burger:hover{border-color:#fff}
#menu{position:fixed;inset:0;z-index:40;background:#000;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(18px,6vw,80px);gap:4px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
#menu.open{transform:none}#menu a{font:400 clamp(36px,8vw,92px)/1.05 var(--sans);letter-spacing:-.04em;text-decoration:none}#menu a:hover{color:var(--mag)}
/* buttons */
.btn{display:inline-block;background:var(--mag);color:var(--char);border:1px solid var(--mag);border-radius:96px;padding:12px 26px;text-decoration:none;cursor:pointer;font-weight:400}
.btn.ghost{background:none;color:#fff;border-color:var(--graph)}.btn.ghost:hover{border-color:#fff}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
/* hero */
.hero{position:relative;min-height:100svh;padding:110px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero .label{padding:0 clamp(18px,4vw,48px)}
.hero-art{position:absolute;right:-6vw;top:8vh;width:min(62vw,760px);opacity:.95;pointer-events:none}
.wordmark{position:relative;font:400 clamp(44px,17.4vw,320px)/.83 var(--disp);letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;text-align:center;margin:0 0 28px;display:flex;justify-content:center;overflow:hidden;padding-top:.04em}
.wordmark span{display:inline-block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px)}
.manifesto{margin-bottom:8px}.m1{font-size:22px;line-height:1.2;color:#fff}.m2{font-size:18px}
.marquee{overflow:hidden;border-top:1px solid var(--graph);margin-top:36px;padding:14px 0;white-space:nowrap}
.track{display:inline-flex}.track span{font:200 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff}
/* banner */
.banner{margin-top:80px;position:relative}.banner img{width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:30px}
.bcap{display:flex;gap:10px 28px;flex-wrap:wrap;margin-top:16px;font:200 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff}
/* catalog */
.catalog{display:grid;grid-template-columns:1fr 1fr;gap:56px clamp(20px,3vw,48px);margin-top:40px}
.item{display:block;text-decoration:none;position:relative}.item:nth-child(even){margin-top:90px}
.art{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:4/3}.art img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.item:hover .art img{transform:scale(1.05)}
.tag{position:absolute;left:16px;top:16px;background:var(--char);color:#fff;border-radius:30px;padding:5px 12px;font-weight:400}
.meta{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 0 0 16px;border-left:4px solid var(--mag);margin-top:18px}
.meta h3{grid-column:1}.meta p{grid-column:1;margin:0}.price{grid-row:1;grid-column:2;color:#fff;font-weight:400;align-self:start;padding-top:8px}
/* benefits */
.ben{display:grid;grid-template-columns:60px 1fr minmax(240px,.8fr);gap:24px 40px;align-items:center;border-top:1px solid var(--graph);padding:36px 0}
.n{font:200 12px var(--mono);letter-spacing:.1em;color:#fff;align-self:start;padding-top:8px}
.cap{border-radius:300px;overflow:hidden;aspect-ratio:2/1}.cap img{width:100%;height:100%;object-fit:cover}
.ben p{margin:12px 0 0;max-width:520px}
/* paths */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3vw,48px);margin-top:48px}
.stage{position:relative;padding-top:28px;border-top:1px solid var(--graph)}
.stage::before{content:"";position:absolute;left:0;top:-3px;height:5px;width:var(--w,40%);background:var(--mag)}
.stage:not(:last-child)::after{content:"→";position:absolute;right:-.9em;top:-.8em;font:200 18px var(--mono);background:#000;padding:0 2px;z-index:1}
.stagehead{color:#fff;margin-bottom:8px}.stage h3{font-size:clamp(34px,4vw,56px);margin-bottom:10px}
.stage ul{list-style:none;padding:0;margin-top:22px}.stage li a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--char);text-decoration:none}
.stage li a:hover{color:var(--mag)}.stage li span:last-child{font:200 12px var(--mono);letter-spacing:.1em}
/* rules list */
.rules{list-style:none;padding:0}.rules li{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:20px;padding:18px 0;border-top:1px solid var(--graph);color:var(--mist)}
.rules li:last-child{border-bottom:1px solid var(--graph)}.k{color:#fff;font-weight:400;line-height:1.5}
/* practice */
.practice{margin-top:30px}.ex{display:grid;grid-template-columns:90px 1.1fr 1fr;gap:24px 40px;padding:36px 0;border-top:1px solid var(--graph)}
.ex .big{font:400 clamp(48px,7vw,100px)/.9 var(--disp);color:#fff}.ex h3{margin:10px 0 12px}.ex ul{padding-left:18px;color:var(--mist)}.ex li{margin:6px 0}
.ex .q{font-size:22px;line-height:1.25;color:#fff}
/* faq */
details{border-top:1px solid var(--graph);padding:18px 0}details:last-of-type{border-bottom:1px solid var(--graph)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;color:#fff;font-weight:400;line-height:1.5}
summary::after{content:"+";font-size:18px}details[open] summary::after{content:"–"}summary::-webkit-details-marker{display:none}
details p{margin:14px 0 0;max-width:720px}.fg{font:200 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:46px 0 10px}
.faq{max-width:980px;padding-bottom:20px}
/* page head */
.phead{padding-top:150px}.phead h1{font-size:clamp(44px,8vw,120px);letter-spacing:-.04em;margin-bottom:24px;max-width:1100px}
/* product */
.prod{padding-top:120px}.pgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}
.pimg{border-radius:30px;overflow:hidden;aspect-ratio:4/3;position:sticky;top:90px}.pimg img{width:100%;height:100%;object-fit:cover}
.pinfo h1{font-size:clamp(44px,6.5vw,96px);letter-spacing:-.04em;margin:6px 0 14px}.bigprice{font:400 40px var(--sans);color:#fff;margin:18px 0}
.small{font-size:14px;color:var(--mist)}.pdet{margin-top:70px}
.pdet .two{border-top:1px solid var(--graph);padding:36px 0}.pdet ol,.pdet ul{padding-left:20px;color:var(--mist)}.pdet li{margin:8px 0}
.pdet h2{font-size:clamp(26px,3vw,40px);margin:0}
.nextp{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* loading */
.load{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.load h1{font-size:clamp(34px,6vw,72px);margin:28px 0 10px}.spin{width:64px;height:64px;border-radius:50%;border:2px solid var(--graph);border-top-color:var(--mag);animation:s 1s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}
/* forms */
.form{display:grid;gap:16px}label{font:200 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;display:grid;gap:8px}
input,textarea{background:var(--parch);color:var(--ink);border:1px solid var(--ink);border-radius:96px;padding:12px 22px;font:400 16px var(--sans)}textarea{border-radius:30px;resize:vertical}
.note{font-size:14px}
/* curriculum, legal */
.cur{border-top:1px solid var(--graph);padding:30px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:20px 40px}.cur h3{margin-bottom:6px}.cur ol{padding-left:20px;color:var(--mist)}
.curstage{font:200 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:60px 0 6px}
.legal{max-width:860px;padding-top:50px;padding-bottom:40px}.legal h2{font-size:clamp(24px,3vw,34px);margin:44px 0 14px}.legal p,.legal li{color:var(--mist)}.legal ul,.legal ol{padding-left:22px;margin-bottom:16px}.legal li{margin:6px 0}
.legal a,p a,.note a{text-decoration-color:var(--graph);text-underline-offset:3px}
/* footer */
.foot{margin-top:120px;border-top:1px solid var(--graph);padding-top:60px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.foot h4{color:#fff;font-weight:400;margin-bottom:18px}
.foot ul{list-style:none;padding:0}.foot li{margin:8px 0}.foot a{text-decoration:none}.foot a:hover{color:var(--mag)}.foot p{font-size:16px}
.legalline{font-size:13px;color:var(--mist);padding-top:40px;padding-bottom:40px;max-width:900px;margin:0 auto 0 auto;text-align:left}
@media(max-width:900px){
.two,.cur,.ben,.ex,.pgrid,.fgrid,.rules li{grid-template-columns:1fr}.catalog{grid-template-columns:1fr}.item:nth-child(even){margin-top:0}
.paths{grid-template-columns:1fr;gap:48px}.stage::after{display:none}.pimg{position:static}.live{display:none}.cap{aspect-ratio:2/1}
.hero-art{width:90vw;top:12vh}.banner img{aspect-ratio:16/9}.sec{padding-top:56px}.n{padding:0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Operating-company footer and social icon links */
.foot p strong{color:var(--bone);font-weight:500}
.foot .legalline{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.foot .legalline>span{max-width:860px}
.social-footer{display:flex;align-items:center;gap:10px;margin-left:auto}
.social-footer a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--graph);border-radius:50%;color:#fff;text-decoration:none;transition:background-color .2s,border-color .2s}
.social-footer a:hover,.social-footer a:focus-visible{background:var(--char);border-color:var(--mag);color:var(--mag)}
.social-footer svg{width:22px;height:22px;display:block}
@media(max-width:650px){.foot .legalline{align-items:flex-start;flex-direction:column}.social-footer{margin-left:0}.foot p{overflow-wrap:anywhere}}
