:root{--glow:255,90,0;--glow2:255,170,80;--serif:Montserrat,'Plus Jakarta Sans',sans-serif;--sans:'Plus Jakarta Sans',Manrope,sans-serif}
body{font-family:var(--sans);font-feature-settings:'ss01','cv11';letter-spacing:-.005em}
h1,h2,.vision-grid h3,.compro-cards h3{font-family:var(--serif)!important;font-weight:800!important;letter-spacing:-.025em;line-height:1.06!important}
h1{font-weight:900!important;font-size:clamp(40px,5.4vw,74px)!important;letter-spacing:-.03em}
h2{font-size:clamp(28px,3.5vw,46px)!important}
.u-hero h1,.assoc-hero h1{font-size:clamp(38px,4.8vw,66px)!important}
h1 em,h2 em{font-style:normal;font-weight:900;letter-spacing:-.03em}
.collaboration blockquote,.preface blockquote{font-family:var(--sans)!important;font-weight:600!important;font-style:italic;letter-spacing:-.015em;line-height:1.35!important}
h3,.unit h3,.program h3,.trainer h3{font-family:var(--sans);font-weight:700;letter-spacing:-.02em}
.menu a,.btn,.kicker,.eyebrow,.badge,.ticker div,.stats strong,.assoc-stats strong,.text-logo strong,.hub-brand span{font-family:var(--sans)!important}
.stats strong,.assoc-stats strong{font-family:var(--serif)!important;font-weight:900!important;letter-spacing:-.03em}
.ticker div{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:17px}
.menu a{font-weight:600;letter-spacing:.02em;position:relative}
.menu a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--glow)),transparent);transform:scaleX(0);transition:transform .5s var(--ease)}
.menu a:hover:after{transform:scaleX(1)}
.kicker,.eyebrow{letter-spacing:.32em!important;font-weight:700!important}
.eyebrow{display:inline-flex!important;align-items:center;gap:12px}
.eyebrow:before{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--glow)))}
.btn{letter-spacing:.02em;font-weight:700}

body:after{content:'';position:fixed;inset:-50%;z-index:9998;pointer-events:none;opacity:.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}
@keyframes grain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}}

.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(var(--glow),.13),transparent 62%);transform:translate3d(var(--mx,-999px),var(--my,-999px),0);transition:opacity .4s;mix-blend-mode:screen}
.cursor-dot{position:fixed;left:0;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:rgb(var(--glow2));pointer-events:none;z-index:9999;transform:translate3d(var(--dx,-99px),var(--dy,-99px),0) scale(var(--ds,1));transition:transform .18s var(--ease),opacity .3s;box-shadow:0 0 18px rgba(var(--glow),.9)}
.cursor-ring{position:fixed;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:1px solid rgba(var(--glow2),.55);pointer-events:none;z-index:9999;transform:translate3d(var(--rx,-99px),var(--ry,-99px),0) scale(var(--rs,1));transition:transform .5s var(--ease),border-color .3s,background .3s}
.cursor-ring.hot{--rs:1.8;background:rgba(var(--glow),.08);border-color:rgba(var(--glow2),.9)}

.unit,.compro-cards article,.vision-grid article,.method-card,.trainer,.test-grid blockquote,.stats div,.social,.press a,.wa-list a,.program.text,.class-board,.assoc-stats>div,.scope-grid>*{position:relative;isolation:isolate}
.unit:before,.compro-cards article:before,.vision-grid article:before,.method-card:before,.test-grid blockquote:before,.stats div:before,.class-board:before,.assoc-stats>div:before,.scope-grid>*:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--cx,50%) var(--cy,50%),rgba(var(--glow),.18),transparent 45%)}
.unit:hover:before,.compro-cards article:hover:before,.vision-grid article:hover:before,.method-card:hover:before,.test-grid blockquote:hover:before,.stats div:hover:before,.class-board:hover:before,.assoc-stats>div:hover:before,.scope-grid>*:hover:before{opacity:1}
.unit:after,.compro-cards article:after,.vision-grid article:after,.method-card:after,.stats div:after,.assoc-stats>div:after,.scope-grid>*:after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(260px circle at var(--cx,50%) var(--cy,50%),rgba(var(--glow2),.95),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.unit:hover:after,.compro-cards article:hover:after,.vision-grid article:hover:after,.method-card:hover:after,.stats div:hover:after,.assoc-stats>div:hover:after,.scope-grid>*:hover:after{opacity:1}
.tilt{transform-style:preserve-3d;transition:transform .6s var(--ease),box-shadow .6s var(--ease)!important;will-change:transform}
.tilt:hover{box-shadow:0 40px 80px -40px rgba(var(--glow),.55)!important}
.tilt .unit-logo img,.tilt>img{transform:translateZ(30px)}

.lx-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .12em;margin:0 -.04em -.12em}
.lx-w>span{display:inline-block;transform:translateY(110%) rotate(4deg);filter:blur(8px);opacity:0;transition:transform 1.1s var(--ease),filter 1.1s var(--ease),opacity 1.1s var(--ease);transition-delay:calc(var(--i)*70ms + .35s)}
.lx-on .lx-w>span{transform:none;filter:none;opacity:1}

.lx-stagger>*{opacity:0;transform:translateY(40px) scale(.97);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.lx-stagger.lx-in>*{opacity:1;transform:none;filter:none}
.reveal{filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)!important}
.reveal.visible{filter:none}

.hero-logo-tile img,.u-logo img,.assoc-logo{transition:transform .2s linear}
.lx-halo{position:relative}
.lx-halo:before{content:'';position:absolute;inset:6%;border-radius:50%;z-index:-1;background:conic-gradient(from var(--a,0deg),transparent 0 20%,rgba(var(--glow),.55) 32%,transparent 45% 70%,rgba(var(--glow2),.45) 82%,transparent 95%);filter:blur(38px);animation:halo 9s linear infinite;opacity:.8}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes halo{to{--a:360deg}}

.hero,.u-hero,.hub-hero,.assoc-hero{isolation:isolate}
.lx-lines{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.lx-lines i{position:absolute;top:-30%;width:1px;height:60%;background:linear-gradient(180deg,transparent,rgba(var(--glow2),.7),transparent);animation:fall linear infinite;opacity:.5}
@keyframes fall{to{transform:translateY(260%)}}
.hero>.wrap,.u-hero>.wrap,.hub-hero>.wrap,.assoc-hero>.wrap,.hero-inner,.hub-hero-grid,.u-hero-grid{position:relative;z-index:2}

.btn{transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s!important}
.btn.mag{will-change:transform}
.progress{height:2px!important;background:linear-gradient(90deg,rgb(var(--glow)),rgb(var(--glow2)))!important;box-shadow:0 0 14px rgba(var(--glow),.9)}
.topbar{transition:background .4s,backdrop-filter .4s,border-color .4s}
.topbar.lx-scrolled{background:rgba(0,0,0,.6)!important;backdrop-filter:blur(22px) saturate(1.4)}
.loader{background:#000!important}
.loader img{width:150px!important;border-radius:0!important;box-shadow:none!important;animation:loaderIn 1.6s var(--ease) infinite!important}
.loader:after{content:'';position:absolute;left:50%;top:calc(50% + 105px);width:140px;height:1px;margin-left:-70px;background:linear-gradient(90deg,transparent,rgb(var(--glow)),transparent);animation:loadBar 1.3s ease-in-out infinite}
@keyframes loaderIn{0%,100%{transform:scale(.96);filter:drop-shadow(0 0 0 rgba(var(--glow),0))}50%{transform:scale(1.03);filter:drop-shadow(0 0 30px rgba(var(--glow),.7))}}
@keyframes loadBar{0%{transform:scaleX(0)}50%{transform:scaleX(1)}100%{transform:scaleX(0);opacity:0}}
.loaded .loader{transition:opacity .9s var(--ease),visibility .9s,clip-path 1s var(--ease)!important;clip-path:inset(0 0 100% 0)}

::selection{background:rgb(var(--glow));color:#fff}
html{scrollbar-color:rgb(var(--glow)) #000}

@media(hover:none),(max-width:950px){.cursor-glow,.cursor-dot,.cursor-ring{display:none}}
@media(max-width:580px){h1,.u-hero h1,.assoc-hero h1{font-size:clamp(30px,8.6vw,38px)!important}h2{font-size:clamp(24px,6.8vw,30px)!important}.lx-lines{display:none}.eyebrow:before{width:20px}body:after{opacity:.035}}
@media(prefers-reduced-motion:reduce){.lx-w>span,.lx-stagger>*{opacity:1!important;transform:none!important;filter:none!important}.cursor-glow,.cursor-dot,.cursor-ring,.lx-lines,body:after{display:none}.lx-halo:before{animation:none}}
.lx-halo-wrap{display:flex;justify-content:center;align-items:center}
