:root{--ink:#10110f;--paper:#f2f0e9;--gold:#d9b66d;--line:#34352f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:99;background:white;color:black;padding:15px}.skip:focus{top:0}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#050505;position:sticky;top:0;z-index:10;border-bottom:1px solid #333}header .logo{width:128px;height:78px;overflow:hidden}header .logo img{width:155px;margin:-1px 0 0 -13px}nav{display:flex;gap:40px;font-size:12px;letter-spacing:.05em}nav a:hover{color:var(--gold)}.join{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;border:1px solid var(--gold);background:var(--gold);color:#151510;padding:19px 26px;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700;transition:background .2s}.join:hover{background:#f0d59d}.join span{font-size:20px;line-height:12px}.menu{display:none}.hero{position:relative;min-height:760px;height:calc(100svh - 92px);max-height:1100px;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.4),transparent),url('assets/space.png');background-size:cover,cover,auto 180%;background-position:center,center,center top}.hero-content{position:relative;padding:65px 7%;width:100%}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:600;margin:0 0 32px;line-height:1.7}.hero .eyebrow{color:#e7c78b}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,6.7vw,110px);font-weight:500;letter-spacing:-.055em;line-height:.99;margin-bottom:29px}em{font-style:normal;color:var(--gold)}.hero-copy{font-size:15px;line-height:1.8;color:#e0ded7}.actions{display:flex;align-items:center;gap:36px;margin-top:33px}.text-link{display:inline-flex;gap:30px;align-items:center;background:none;border:0;border-bottom:1px solid #89897c;padding:13px 0;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:inherit}.text-link:hover{color:var(--gold)}.hero-bottom{position:absolute;bottom:23px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.15em;color:#d1d0c8}.section{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 3fr;background:var(--paper);color:var(--ink);gap:30px}h2{font-size:clamp(40px,4.4vw,72px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin-bottom:35px}.intro h2 span{color:#74766e}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:830px}p{font-size:15px;line-height:1.8}.intro-copy p{color:#585b53}.dark-link{border-color:#aaa}.dark-link:hover{color:#8b6524}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}.section-head p:last-child{color:#aaa;font-size:14px}.section-head h2{margin-bottom:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}.filters button{background:transparent;border:1px solid #46473e;color:#ccc;padding:12px 18px;font-size:11px}.filters button.active{background:var(--paper);border-color:var(--paper);color:var(--ink)}.class-row{border-top:1px solid var(--line)}.class-row:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1.1fr 1fr 30px;align-items:center;gap:18px;padding:27px 0}summary::-webkit-details-marker{display:none}.number{font-size:10px;color:#9c8b65}h3{font-size:clamp(22px,2.5vw,38px);font-weight:500;letter-spacing:-.035em;margin:0}.focus{font-size:14px;color:#a6a79f}.plus{font-size:28px;color:var(--gold);font-weight:300;justify-self:end}.class-row[open] .plus{transform:rotate(45deg)}.class-row[open] h3,summary:hover h3{color:var(--gold)}.class-description{padding:0 0 27px 73px;display:flex;align-items:center;justify-content:space-between;gap:35px}.class-description p{max-width:630px;color:#bbb;margin:0}.class-description button{white-space:nowrap}.community{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:var(--ink)}.community-image{position:relative;min-height:640px;overflow:hidden;background:#25251e}.space-detail{position:absolute;inset:0;background-image:url('assets/space.png');background-size:auto 295%;background-position:35% 8%}.community-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 50%)}.community-image>span{position:absolute;bottom:28px;left:30px;z-index:1;color:white;font-size:9px;letter-spacing:.13em}.community-copy{padding:85px 13%}.community-copy h2{font-size:clamp(40px,4vw,66px)}.community-copy em{color:#9a7738}.community-copy p:not(.eyebrow){color:#62655d}.manifesto{text-align:center;padding:100px 5%;border-bottom:1px solid var(--line)}.manifesto .eyebrow{color:#aaa}.manifesto h2{font-size:clamp(28px,4vw,64px);margin:0}.closing{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.closing h2{font-size:clamp(64px,7.5vw,120px);margin:0}.closing-copy{padding-left:15%}.closing-copy>p{font-size:20px;color:#ccc}.closing-copy .small{font-size:11px;color:#93958c;margin:25px 0 0}footer{border-top:1px solid var(--line);padding:40px 7%;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.footer-brand{font-size:21px;letter-spacing:.1em;font-weight:bold}.footer-brand span{display:block;font-size:9px;color:var(--gold);letter-spacing:.3em;margin-top:9px}footer p{font-size:11px;color:#aaa;margin:0 auto 0 0}footer>a:not(.footer-brand){font-size:11px}.copyright{font-size:9px;color:#888}dialog{background:var(--paper);color:var(--ink);border:1px solid #a78b52;padding:60px;width:min(560px,90vw)}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}dialog h2{font-size:48px}dialog p{color:#555}.close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:32px}.close-action{margin-top:20px}[hidden]{display:none!important}@media(min-width:1700px){.hero-image{background-size:cover,cover,100% auto}}@media(max-width:760px){header{height:76px;padding:0 5%}header .logo{width:105px;height:65px}header .logo img{width:133px}header>.join{margin-left:auto;padding:14px 17px;gap:20px}.menu{display:block;background:none;color:white;border:0;font-size:24px;margin-left:17px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#080808;padding:25px 7%;flex-direction:column;gap:25px}nav.open{display:flex}.hero{min-height:690px;height:calc(100svh - 76px);max-height:900px}.hero-image{background-position:center,center,54% top;background-size:cover,cover,auto 160%}.hero-content{padding:45px 7% 85px}h1{font-size:clamp(49px,11vw,80px)}.hero .eyebrow{font-size:8px}.hero-copy{font-size:13px}.actions{gap:18px;flex-wrap:wrap}.hero-bottom{font-size:7px;line-height:1.8}.hero-bottom span:last-child{text-align:right;max-width:110px}.section{padding:65px 7%}.intro{grid-template-columns:1fr;gap:0}.intro-copy{grid-template-columns:1fr;gap:0}.section-head{display:block;margin-bottom:28px}.section-head h2{margin-bottom:22px}.filters{gap:7px}.filters button{padding:10px 12px;font-size:10px}summary{grid-template-columns:25px 1fr 24px;gap:12px;padding:23px 0}summary h3{font-size:27px}.focus{grid-column:2;grid-row:2;font-size:12px}.plus{grid-column:3;grid-row:1/3}.number{grid-row:1/3}.class-description{padding:0 0 24px 37px;display:block}.class-description p{font-size:13px}.community{grid-template-columns:1fr}.community-image{min-height:400px}.community-copy{padding:60px 7%}.community-copy h2{font-size:52px}.manifesto{padding:60px 7%}.closing{grid-template-columns:1fr;gap:30px}.closing-copy{padding:0}footer{gap:27px}footer p{width:50%}.copyright{margin-left:auto}dialog{padding:45px 25px}dialog h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Motion: one-time entrances and restrained, scroll-linked depth. */
.hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.055);transform-origin:center;will-change:transform}
.hero-content>.eyebrow{animation:arrive .9s .1s both}.hero-content h1{animation:arrive 1.15s .22s both}.hero-copy{animation:arrive 1.1s .4s both}.hero-content .actions{animation:arrive 1s .55s both}
@keyframes arrive{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
.join{transition:background .25s,box-shadow .25s,transform .25s}.join span,.text-link span{display:inline-block;transition:transform .3s}.join:hover{transform:translateY(-3px);box-shadow:0 9px 26px #0002}.join:hover span,.text-link:hover span{transform:translate(3px,-3px)}.join:active{transform:translateY(0)}
summary{transition:background .3s,padding .3s}summary h3,.plus{transition:color .3s,transform .35s}summary:hover{background:#ffffff04}summary:hover h3{transform:translateX(7px)}.class-row[open] .class-description{animation:arrive .4s both}.space-detail{transform:scale(1.04) translateY(var(--space-shift,0px));will-change:transform}
header:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
nav a{position:relative}nav a:after{content:'';height:1px;position:absolute;bottom:-7px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}
dialog[open]{animation:arrive .3s both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-image,.space-detail{transform:none;will-change:auto}}
/* A short, once-per-session brand introduction. */
.brand-intro{display:none;position:fixed;inset:0;z-index:100;background:#000;color:var(--paper);align-items:center;justify-content:center}
.intro-loading .brand-intro{display:flex}.intro-loading{overflow:hidden}
.intro-centre{width:min(520px,80vw);text-align:center}.intro-centre img{display:block;width:100%;height:auto;animation:intro-logo 1.3s cubic-bezier(.16,1,.3,1) both}.intro-location{font-size:9px;letter-spacing:.25em;color:#b4ac96;animation:arrive .7s .1s both}.intro-track{height:1px;width:180px;max-width:60%;margin:20px auto 28px;background:#343024;overflow:hidden}.intro-track span{display:block;height:100%;background:var(--gold);transform-origin:left;animation:intro-line 1.6s cubic-bezier(.45,0,.2,1) both}.intro-motto{font-size:10px;letter-spacing:.35em;color:var(--gold);animation:arrive .8s .3s both}.intro-skip{position:absolute;bottom:40px;right:7%;background:transparent;color:#ccc;border:0;border-bottom:1px solid #63563a;padding:12px 0;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.intro-skip span{margin-left:24px;color:var(--gold)}
.brand-intro.intro-exiting{animation:intro-out .65s cubic-bezier(.76,0,.24,1) forwards;pointer-events:none}
.intro-loading .hero-content>.eyebrow,.intro-loading .hero-content h1,.intro-loading .hero-copy,.intro-loading .hero-content .actions{animation-play-state:paused}
@keyframes intro-logo{from{opacity:0;transform:translateY(15px) scale(.93);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-out{to{transform:translateY(-101%)}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none!important}.intro-loading{overflow:auto}}
/* Training photography, composed as a pair of editorial covers. */
.training-editorial{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#111}.athlete-panel{position:relative;min-height:600px;height:48vw;max-height:780px;overflow:hidden;display:flex;align-items:flex-end;background:#202320}.athlete-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;filter:saturate(.65);transition:transform 1.2s cubic-bezier(.2,.65,.2,1),filter 1.2s}.athlete-drive>img{object-position:64% center}.athlete-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.12) 65%,rgba(0,0,0,.05));pointer-events:none}.athlete-caption{position:relative;z-index:1;padding:55px 11%;width:100%}.athlete-caption .eyebrow{font-size:9px;margin-bottom:22px;color:#ddd}.athlete-caption h2{font-size:clamp(34px,3.7vw,60px);margin-bottom:28px}.athlete-link{display:flex;justify-content:space-between;align-items:center;max-width:260px;border-top:1px solid #ffffff50;padding-top:17px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.athlete-link>span{font-size:23px;color:var(--gold);transition:transform .3s}.athlete-panel:hover>img,.athlete-panel:focus-visible>img{transform:scale(1.045);filter:saturate(.9)}.athlete-panel:hover .athlete-link>span{transform:translate(3px,-3px)}.athlete-panel:focus-visible{outline-offset:-5px}
@media(max-width:760px){.training-editorial{grid-template-columns:1fr}.athlete-panel{min-height:500px;height:125vw;max-height:650px}.athlete-caption{padding:38px 7%}.athlete-caption h2{font-size:43px}.athlete-strength>img{object-position:58% center}.athlete-drive>img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.athlete-panel>img,.athlete-link>span{transition:none;transform:none!important}}
/* Dedicated high-resolution interior replaces the cropped concept board. */
.hero-image{background-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.4),transparent),url('assets/space-enhanced.png');background-size:cover;background-position:center}
.space-detail{background-image:url('assets/space-enhanced.png');background-size:cover;background-position:35% center}
@media(max-width:760px){.hero-image{background-position:center,center,54% center}.space-detail{background-position:35% center}}
