@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/saira-condensed-vietnamese-500-normal.36of4yd6xde46.woff2)format("woff2"),url(../media/saira-condensed-vietnamese-500-normal.40ec7eni6so_b.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/saira-condensed-latin-ext-500-normal.1johzrp7ffwc2.woff2)format("woff2"),url(../media/saira-condensed-latin-ext-500-normal.363c165jkq-tt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/saira-condensed-latin-500-normal.15a1pq541_f9y.woff2)format("woff2"),url(../media/saira-condensed-latin-500-normal.3j39f6ex66v84.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/saira-condensed-vietnamese-700-normal.3w6heck84keal.woff2)format("woff2"),url(../media/saira-condensed-vietnamese-700-normal.221xj2akxs4_0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/saira-condensed-latin-ext-700-normal.0s9op711hohmy.woff2)format("woff2"),url(../media/saira-condensed-latin-ext-700-normal.15b4wvggiva3q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/saira-condensed-latin-700-normal.3i8da3nj4_c01.woff2)format("woff2"),url(../media/saira-condensed-latin-700-normal.2a_96dmhivntr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/saira-condensed-vietnamese-800-normal.35tmpsaeohdua.woff2)format("woff2"),url(../media/saira-condensed-vietnamese-800-normal.33dchy0y4y-fw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/saira-condensed-latin-ext-800-normal.1v9eanre_rw-v.woff2)format("woff2"),url(../media/saira-condensed-latin-ext-800-normal.3cvgn2kccjshc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/saira-condensed-latin-800-normal.309c_20-mdats.woff2)format("woff2"),url(../media/saira-condensed-latin-800-normal.1i6v8_kqevqn5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(../media/saira-condensed-vietnamese-900-normal.00rbiw7q86sdz.woff2)format("woff2"),url(../media/saira-condensed-vietnamese-900-normal.14tq5f4_mkiqe.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(../media/saira-condensed-latin-ext-900-normal.2l_wcyl40xdgp.woff2)format("woff2"),url(../media/saira-condensed-latin-ext-900-normal.0uxxg38h0ly03.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(../media/saira-condensed-latin-900-normal.0bl6kam7eg7xz.woff2)format("woff2"),url(../media/saira-condensed-latin-900-normal.0dcpvdta0-762.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-vietnamese-400-normal.1p7a6n-wg7475.woff2)format("woff2"),url(../media/barlow-vietnamese-400-normal.0k-idquqjs3ou.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-ext-400-normal.3428h6_4no53c.woff2)format("woff2"),url(../media/barlow-latin-ext-400-normal.3-5gl67tny_vk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-400-normal.0ttnbqtks8pz8.woff2)format("woff2"),url(../media/barlow-latin-400-normal.2q232q7nmze6k.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-vietnamese-500-normal.34vh5f-6yju0-.woff2)format("woff2"),url(../media/barlow-vietnamese-500-normal.0fgg28h67ffz5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-ext-500-normal.0y48t30zsg1-x.woff2)format("woff2"),url(../media/barlow-latin-ext-500-normal.3tpb058eqjlba.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-500-normal.07ksy-a4avz1m.woff2)format("woff2"),url(../media/barlow-latin-500-normal.2gp2c7bmfr47a.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-vietnamese-600-normal.1m5b9nf7zu8da.woff2)format("woff2"),url(../media/barlow-vietnamese-600-normal.2fsgphdgpmz4d.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-ext-600-normal.2h29y9nb1nz0g.woff2)format("woff2"),url(../media/barlow-latin-ext-600-normal.45cip6q06fzn7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-600-normal.2ekrofpr7xv99.woff2)format("woff2"),url(../media/barlow-latin-600-normal.2r--11ob1d7-_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--black:#0a0a0a;--ink:#111;--char:#1a1a1a;--line:#2a2a2a;--red:#d7141a;--red-dark:#a80e13;--white:#fff;--paper:#f4f2ee;--muted:#8d8d8d;--muted-dark:#5c5c5c;--display:"Saira Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--radius:4px;--wrap:1200px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}body.no-scroll{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer}.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 .5em;font-weight:900;line-height:.92}h2{font-size:clamp(2.6rem,6vw,4.6rem)}h3{font-size:1.6rem}p{margin:0 0 1em}.red{color:var(--red)}.outline{color:#0000;-webkit-text-stroke:2px var(--white)}.outline--light{-webkit-text-stroke-color:var(--white)}.kicker{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;font-size:.95rem;font-weight:700}.kicker--light{color:var(--white);opacity:.8}.btn{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:background .25s var(--ease), color .25s var(--ease), border-color .25s, transform .25s var(--ease);border:2px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:1em 1.8em;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--red{background:var(--red);color:var(--white)}.btn--red:hover{background:var(--red-dark)}.btn--ghost{color:var(--white);border-color:#ffffff80}.btn--ghost:hover{border-color:var(--white);background:var(--white);color:var(--black)}.btn--light{background:var(--white);color:var(--black)}.btn--light:hover{background:var(--red);color:var(--white)}.btn--black{background:var(--black);color:var(--white)}.btn--black:hover{background:var(--ink)}.btn--sm{white-space:nowrap;padding:.6em 1.2em;font-size:.9rem}.btn--full{width:100%}.nav{z-index:50;color:var(--white);transition:background .3s,box-shadow .3s;position:fixed;inset:0 0 auto}.nav.is-scrolled,.nav.is-open{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);background:#0a0a0af0}.nav__inner{justify-content:space-between;align-items:center;height:76px;display:flex}.nav__brand{font-family:var(--display);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:12px;font-size:1.35rem;font-weight:900;text-decoration:none;display:flex}.nav__brand em{color:var(--red);margin-left:2px;font-style:normal;font-weight:500}.nav__links{align-items:center;gap:28px;display:flex}.nav__links a:not(.btn){font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:1rem;font-weight:700;text-decoration:none;position:relative}.nav__links a:not(.btn):after{content:"";background:var(--red);transform-origin:0;width:100%;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav__links a:not(.btn):hover{opacity:1}.nav__links a:not(.btn):hover:after{transform:scaleX(1)}.nav__toggle{background:0 0;border:0;width:44px;height:44px;display:none;position:relative}.nav__toggle span{background:var(--white);height:2px;transition:transform .3s var(--ease), top .3s;position:absolute;left:10px;right:10px}.nav__toggle span:first-child{top:17px}.nav__toggle span:last-child{top:26px}.nav.is-open .nav__toggle span:first-child{top:21px;transform:rotate(45deg)}.nav.is-open .nav__toggle span:last-child{top:21px;transform:rotate(-45deg)}.hero{min-height:100svh;color:var(--white);background:var(--black);align-items:center;padding:120px 0 140px;display:flex;position:relative;overflow:hidden}.hero__bg{filter:grayscale()contrast(1.1);animation:18s ease-out forwards heroZoom;position:absolute;inset:0;transform:scale(1.05)}@keyframes heroZoom{to{transform:scale(1)}}.hero__shade{background:linear-gradient(90deg,#0a0a0af5 0%,#0a0a0ad1 45%,#0a0a0a59 100%),linear-gradient(#0a0a0a00 60%,#0a0a0a 100%);position:absolute;inset:0}.hero__shade:after{content:"";mix-blend-mode:screen;background:radial-gradient(circle at 80% 60%,#d7141a59,#0000 55%);position:absolute;inset:0}.hero__ring{opacity:.9;pointer-events:none;width:min(70vw,760px);position:absolute;top:50%;right:-8vw;transform:translateY(-50%)}.hero__ring circle{fill:none;stroke:var(--red);stroke-width:3px;stroke-linecap:butt;stroke-dasharray:500 10 30 10 15.5;transform-origin:50%;animation:60s linear infinite ringSpin;transform:rotate(-195deg)}@keyframes ringSpin{to{transform:rotate(165deg)}}.hero__content{z-index:2;position:relative}.eyebrow{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;border:1px solid #ffffff40;border-radius:100px;align-items:center;gap:10px;margin-bottom:28px;padding:.45em 1em;font-size:.95rem;font-weight:700;display:inline-flex}.dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0 #d7141ab3}@keyframes pulse{70%{box-shadow:0 0 0 10px #d7141a00}to{box-shadow:0 0 #d7141a00}}.hero__title{margin-bottom:28px;font-size:clamp(3.6rem,11vw,9rem);line-height:.85}.hero__lead{color:#ffffffc7;max-width:520px;margin-bottom:36px;font-size:1.15rem}.hero__actions{flex-wrap:wrap;gap:14px;display:flex}.next-class{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);background:#0a0a0abf;gap:2px;min-width:240px;padding:18px 22px 16px;display:grid;position:absolute;bottom:40px;right:24px}.next-class__label{font-family:var(--display);letter-spacing:.25em;text-transform:uppercase;color:var(--red);font-size:.8rem;font-weight:700}.next-class__name{font-family:var(--display);text-transform:uppercase;font-size:1.2rem;font-weight:800}.next-class__clock{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:2.4rem;font-weight:900;line-height:1}.next-class__when{color:var(--muted);font-size:.9rem}.belt{background:var(--black);color:var(--white);border-top:1px solid var(--line);position:relative;overflow:hidden}.belt:after{content:"";background:var(--red);background-image:repeating-linear-gradient(90deg, transparent 0 22px, var(--white) 22px 30px);z-index:2;background-position:50%;background-repeat:no-repeat;background-size:120px 100%;width:140px;position:absolute;top:0;bottom:0;right:8%}.belt__track{align-items:center;gap:36px;width:max-content;padding:18px 0;animation:30s linear infinite marquee;display:flex}.belt__item{align-items:center;gap:36px;display:flex}.belt__track span{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:1.5rem;font-weight:800}.belt__track i{background:var(--red);width:10px;height:10px;transform:rotate(45deg)}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:clamp(80px,11vw,140px) 0}.section--dark{background:var(--black);color:var(--white)}.section--dark p{color:#ffffffbf}.section__head{max-width:760px;margin-bottom:56px}.section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none;display:flex}.section__head--row h2{margin-bottom:0}.split{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(40px,6vw,90px);display:grid}.split--reverse .split__media{order:2}.split__media{position:relative}.split__media>img{aspect-ratio:4/3.4;object-fit:cover;border-radius:var(--radius);width:100%;height:auto}.split__media--tall>img{aspect-ratio:4/5}.split__media:before{content:"";border:2px solid var(--red);border-radius:var(--radius);z-index:-1;position:absolute;inset:18px -18px -18px 18px}.section--dark .split__media:before{z-index:0;pointer-events:none}.section--dark .split__media>img{z-index:1;position:relative}.stamp{background:var(--black);border-radius:50%;place-items:center;width:120px;height:120px;animation:30s linear infinite spinSlow;display:grid;position:absolute;top:-26px;right:-26px;box-shadow:0 10px 30px #00000040}.stamp img{width:78%;height:auto}@keyframes spinSlow{to{transform:rotate(360deg)}}.stats{border-top:2px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:40px 0 0;padding:0;list-style:none;display:grid}.stats li{padding:20px 12px 0 0}.stats strong{font-family:var(--display);color:var(--red);font-size:clamp(2.6rem,5vw,3.6rem);font-weight:900;line-height:1;display:block}.stats li>span{color:var(--muted-dark);font-size:.95rem}.stats .stats__num{font-size:inherit;color:inherit}.programs{background:var(--line);border:2px solid var(--line);grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.program{background:var(--black);min-height:340px;transition:background .35s var(--ease);flex-direction:column;padding:36px 28px 32px;display:flex;position:relative;overflow:hidden}.program:before{content:"";background:var(--red);transform-origin:0;width:100%;height:4px;transition:transform .4s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.program:hover{background:var(--char)}.program:hover:before{transform:scaleX(1)}.program__num{font-family:var(--display);color:#0000;-webkit-text-stroke:1.5px var(--red);margin-bottom:24px;font-size:4rem;font-weight:900;line-height:1}.program h3{color:var(--white)}.program p{flex:1;font-size:.98rem}.program__tag{font-family:var(--display);letter-spacing:.15em;text-transform:uppercase;color:#ffffffd9;border:1px solid #ffffff4d;border-radius:100px;align-self:flex-start;padding:.35em .8em;font-size:.8rem;font-weight:700}.filters{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--ink);color:var(--ink);background:0 0;border-radius:100px;padding:.55em 1.1em;font-size:.9rem;font-weight:700;transition:background .2s,color .2s}.chip:hover{background:var(--ink);color:var(--white)}.chip.is-active{background:var(--red);border-color:var(--red);color:var(--white)}.schedule{grid-template-columns:repeat(var(--cols,5), 1fr);gap:12px;display:grid}.day{background:var(--white);border-radius:var(--radius);border-top:4px solid var(--ink);padding:16px 12px 12px}.day.is-today{border-top-color:var(--red);box-shadow:0 10px 30px #d7141a1f}.day__name{justify-content:space-between;align-items:center;margin:0 0 14px;font-size:1.35rem;display:flex}.day__name .short{display:none}.day__name em{letter-spacing:.15em;background:var(--red);color:var(--white);border-radius:2px;padding:.3em .6em;font-size:.7rem;font-style:normal}.slot{background:var(--paper);border-left:3px solid var(--ink);transition:opacity .3s, transform .3s var(--ease);border-radius:3px;margin-bottom:8px;padding:10px 12px;display:grid}.slot:hover{transform:translate(3px)}.slot__time{font-family:var(--display);font-size:1.05rem;font-weight:800}.slot__name{font-weight:600;line-height:1.25}.slot__meta{color:var(--muted-dark);font-size:.8rem}.slot--gi{border-left-color:var(--ink)}.slot--nogi{border-left-color:var(--red)}.slot--fund{border-left-color:var(--muted)}.slot--open{background:var(--black);color:var(--white);border-left-color:var(--red)}.slot--open .slot__meta{color:var(--muted)}.slot.is-dim{opacity:.18}.note{color:var(--muted-dark);margin-top:20px;font-size:.9rem}.coaches{gap:14px;margin:32px 0 0;padding:0;list-style:none;display:grid}.coaches li{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:18px;padding:16px 18px;transition:border-color .3s;display:flex}.coaches li:hover{border-color:var(--red)}.coaches strong{font-family:var(--display);text-transform:uppercase;font-size:1.25rem;display:block}.coaches span{color:var(--muted);font-size:.92rem}.belt-mini{border-radius:2px;flex:none;width:56px;height:14px;position:relative}.belt-mini i{background:var(--black);width:16px;position:absolute;top:0;bottom:0;right:8px}.belt-mini--black{background:#222;box-shadow:inset 0 0 0 1px #444}.belt-mini--black i{background:var(--red)}.belt-mini--brown{background:#6b3f1e}.belt-mini--purple{background:#5b2a86}.podium{color:var(--white);background:var(--red);padding:clamp(100px,14vw,180px) 0;position:relative;overflow:hidden}.podium__bg{filter:grayscale()contrast(1.15);mix-blend-mode:multiply;opacity:.9;background-position:50% 30%;background-size:cover;position:absolute;inset:0 0 0 40%}.podium:before{content:"";background:linear-gradient(90deg, var(--red) 0%, transparent 50%);z-index:1;position:absolute;inset:0 0 0 40%}.podium__inner{z-index:2;max-width:var(--wrap);position:relative}.podium h2{font-size:clamp(3rem,8vw,6.5rem)}.podium h2 .red{color:var(--black)}.podium p{color:#ffffffeb;max-width:460px;margin-bottom:32px;font-size:1.1rem}.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;grid-auto-flow:dense;gap:10px;display:grid}.gallery__item{border-radius:var(--radius);background:var(--black);border:0;padding:0;position:relative;overflow:hidden}.gallery__item img{object-fit:cover;transition:transform .6s var(--ease), filter .4s;filter:grayscale(.25)}.gallery__item:after{content:"+";background:var(--red);width:36px;height:36px;color:var(--white);opacity:0;transition:opacity .3s, transform .3s var(--ease);border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;display:grid;position:absolute;bottom:10px;right:12px;transform:scale(.6)}.gallery__item:hover img{filter:grayscale(0);transform:scale(1.06)}.gallery__item:hover:after{opacity:1;transform:scale(1)}.g-wide{grid-column:span 2}.g-tall{grid-row:span 2}.lightbox{z-index:100;background:#0a0a0af2;justify-content:center;align-items:center;padding:60px 70px;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox .lightbox__img{object-fit:contain;border-radius:var(--radius);width:auto;max-width:100%;height:auto;max-height:calc(100vh - 120px)}.lightbox button{color:var(--white);background:0 0;border:0;width:56px;height:56px;font-size:3rem;line-height:1;transition:color .2s;position:absolute}.lightbox button:hover{color:var(--red)}.lightbox__close{top:12px;right:16px}.lightbox__prev{left:10px}.lightbox__next{right:10px}.location{grid-template-columns:1fr 1.3fr;align-items:stretch;gap:clamp(40px,5vw,70px);display:grid}.info-list{gap:0;margin:0 0 36px;display:grid}.info-list div{border-bottom:1px solid var(--line);padding:16px 0}.info-list dt{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:4px;font-size:.8rem;font-weight:700}.info-list dd{color:var(--white);margin:0;font-size:1.05rem}.info-list a{text-decoration:none}.info-list a:hover{color:var(--red)}.location__map{border-radius:var(--radius);border:2px solid var(--line);min-height:420px;overflow:hidden}.location__map iframe{filter:grayscale()invert(.92)contrast(.9);border:0;width:100%;height:100%;min-height:420px}.faq-wrap{grid-template-columns:1fr 1.4fr;align-items:start;gap:60px;display:grid}.faq-wrap .section__head{margin-bottom:0;position:sticky;top:110px}.faq details{border-bottom:2px solid var(--ink)}.faq details:first-child{border-top:2px solid var(--ink)}.faq summary{font-family:var(--display);text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:1.35rem;font-weight:800;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";border:2px solid var(--ink);width:34px;height:34px;transition:transform .3s var(--ease), background .3s, color .3s, border-color .3s;border-radius:50%;flex:none;place-items:center;font-size:1.3rem;display:grid}.faq details[open] summary:after{background:var(--red);border-color:var(--red);color:var(--white);transform:rotate(45deg)}.faq details p{color:#444;max-width:600px;padding-bottom:22px}.cta{background:var(--red);color:var(--white);padding:clamp(80px,10vw,130px) 0;position:relative;overflow:hidden}.cta:before{content:"";border:26px solid #0000001f;border-radius:50%;width:620px;height:620px;position:absolute;bottom:-260px;left:-160px}.cta__inner{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;display:grid;position:relative}.cta h2{font-size:clamp(3rem,7.5vw,6rem)}.cta__text p{max-width:420px;font-size:1.15rem}.form{background:var(--white);color:var(--ink);border-radius:var(--radius);gap:16px;padding:32px;display:grid;box-shadow:0 30px 60px #00000040}.form label{gap:6px;display:grid}.form label span{font-family:var(--display);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:700}.form input,.form select{font:inherit;border-radius:var(--radius);background:var(--paper);color:var(--ink);border:2px solid #ddd;padding:14px;transition:border-color .2s}.form input:focus,.form select:focus{border-color:var(--red);outline:none}.form__msg{color:var(--red-dark);min-height:1.2em;margin:0;font-size:.9rem}.footer{background:var(--black);color:var(--white);padding:64px 0 28px}.footer__inner{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px;display:grid}.footer__brand{align-items:center;gap:18px;display:flex}.footer__brand p{color:var(--muted);max-width:240px;margin:0}.footer__links,.footer__social{align-content:start;gap:8px;display:grid}.footer a{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf;font-weight:700;text-decoration:none}.footer a:hover{color:var(--red)}.footer__bottom{color:var(--muted);justify-content:space-between;padding-top:24px;font-size:.9rem;display:flex}.wa-float{z-index:60;background:var(--red);width:58px;height:58px;color:var(--white);transition:transform .3s var(--ease), background .3s, opacity .3s;opacity:0;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:22px;right:22px;transform:scale(.7);box-shadow:0 10px 30px #d7141a73}.wa-float.is-visible{opacity:1;pointer-events:auto;transform:none}.wa-float.is-visible:hover{background:var(--black);transform:scale(1.08)}.wa-float svg{fill:currentColor;width:30px;height:30px}.js .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(30px)}.js .reveal.is-visible{opacity:1;transform:none}.programs .reveal:nth-child(2),.gallery .reveal:nth-child(2){transition-delay:80ms}.programs .reveal:nth-child(3),.gallery .reveal:nth-child(3){transition-delay:.16s}.programs .reveal:nth-child(4),.gallery .reveal:nth-child(4){transition-delay:.24s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}@media (max-width:1080px){.programs{grid-template-columns:repeat(2,1fr)}.schedule{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.nav__toggle{display:block}.nav__links{background:var(--black);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;flex-direction:column;align-items:flex-start;gap:6px;padding:30px 24px;position:fixed;inset:76px 0 0;transform:translateY(-12px)}.nav.is-open .nav__links{opacity:1;visibility:visible;transform:none}.nav__links a:not(.btn){padding:6px 0;font-size:2rem;font-weight:900}.nav__cta{margin-top:20px}.split,.location,.faq-wrap,.cta__inner{grid-template-columns:1fr}.split--reverse .split__media{order:0}.faq-wrap .section__head{position:static}.stamp{width:90px;height:90px;top:-20px;right:-8px}.split__media:before{inset:12px -10px -10px 12px}.hero{align-items:flex-end;padding-bottom:200px}.hero__ring{opacity:.5;width:120vw;top:35%;right:-50vw}.next-class{bottom:28px;left:24px;right:24px}.podium__bg{opacity:.35;inset:0}.podium:before{display:none}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.footer__inner{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media (max-width:600px){body{font-size:16px}.container{padding:0 16px}.nav__brand span{font-size:1.15rem}.hero__actions .btn{width:100%}.eyebrow{letter-spacing:.12em;font-size:.8rem}.next-class{left:16px;right:16px}.programs{grid-template-columns:1fr}.program{min-height:0}.schedule{grid-template-columns:1fr}.day__name .long{display:inline}.stats{grid-template-columns:repeat(3,1fr)}.stats li>span{font-size:.8rem}.belt:after{width:80px;right:4%}.gallery{grid-auto-rows:140px;gap:6px}.g-tall{grid-row:span 2}.form{padding:22px}.lightbox{padding:60px 8px}.lightbox__prev,.lightbox__next{top:auto;bottom:6px}.footer__bottom{flex-direction:column;gap:6px}}.info-list small{color:var(--muted);font-size:.92rem}.slot{padding:16px 14px}.slot__time{font-size:1.15rem}.slot__name{margin:2px 0;font-size:1.1rem}.soon{background:var(--red);color:var(--white);padding:56px 0;position:relative;overflow:hidden}.soon:before{content:"";border:22px solid #00000024;border-bottom-color:#0000;border-radius:50%;width:420px;height:420px;position:absolute;top:50%;right:-120px;transform:translateY(-50%)}.soon__inner{grid-template-columns:auto 1fr auto;align-items:center;gap:40px;display:grid;position:relative}.soon__badge{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;background:var(--black);white-space:nowrap;border-radius:100px;align-items:center;gap:10px;padding:.55em 1.1em;font-size:.9rem;font-weight:800;display:inline-flex}.soon__badge .dot{background:var(--white);box-shadow:0 0 #ffffffb3}.soon h2{margin-bottom:.25em;font-size:clamp(2.2rem,4.5vw,3.4rem)}.soon p{color:#ffffffeb;max-width:620px;margin:0}.team__head{grid-template-columns:1.1fr 1fr;align-items:end;gap:40px;margin-bottom:48px;display:grid}.team__head h2{margin-bottom:0}.team__head p{margin:0}.team__photo{position:relative}.team__photo img{aspect-ratio:16/9;object-fit:cover;object-position:center 30%;border-radius:var(--radius);z-index:1;width:100%;height:auto;position:relative}.team__photo:before{content:"";border:2px solid var(--red);border-radius:var(--radius);position:absolute;inset:18px -18px -18px 18px}.coaches{grid-template-columns:repeat(3,1fr);margin-top:48px}.rating{align-items:center;gap:16px;display:flex}.rating strong{font-family:var(--display);color:var(--white);font-size:4rem;font-weight:900;line-height:1}.rating span{color:var(--muted);font-size:.95rem;display:block}.stars{gap:3px;display:inline-flex}.stars svg{fill:#444;width:18px;height:18px}.stars svg.on{fill:var(--red)}.reviews{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.review{background:var(--char);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:16px;padding:28px 26px;transition:border-color .3s;display:flex}.review:hover{border-color:var(--red)}.section--dark .review__text{color:#ffffffe0;-webkit-line-clamp:7;-webkit-box-orient:vertical;flex:1;margin:0;display:-webkit-box;overflow:hidden}.review__author{align-items:center;gap:12px;display:flex}.review__author img,.review__avatar{border-radius:50%;flex:none;width:40px;height:40px}.review__avatar{background:var(--red);color:var(--white);font-family:var(--display);place-items:center;font-size:1.2rem;font-weight:800;display:grid}.review__author a,.review__author strong{color:var(--white);font-weight:600;text-decoration:none;display:block}.review__author a:hover{color:var(--red)}.review__author span{color:var(--muted);font-size:.85rem}.reviews__more{flex-wrap:wrap;gap:28px;margin-top:28px;display:flex}.reviews__more a{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--white);border-bottom:2px solid var(--red);padding-bottom:2px;font-weight:700;text-decoration:none}.reviews-cta{background:var(--char);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:40px;display:grid}.reviews-cta__g{width:56px;height:56px}.reviews-cta h3{color:var(--white);margin-bottom:.3em;font-size:1.9rem}.reviews-cta p{margin:0}.reviews-cta__actions{flex-wrap:wrap;gap:12px;display:flex}.btn--outline{color:var(--white);border-color:#ffffff80}.btn--outline:hover{background:var(--white);color:var(--black);border-color:var(--white)}@media (max-width:900px){.soon__inner{grid-template-columns:1fr;justify-items:start;gap:20px}.team__head{grid-template-columns:1fr;gap:20px}.team__photo:before{inset:12px -10px -10px 12px}.team__photo img{aspect-ratio:4/3}.reviews-cta{grid-template-columns:1fr;gap:20px;padding:28px 22px}.coaches{grid-template-columns:1fr;margin-top:36px}}@media (max-width:600px){.schedule{grid-template-columns:1fr}.rating strong{font-size:3rem}}
