.app-root{min-height:100%;display:flex;flex-direction:column}.app-main{flex:1;display:block}:root{--brand-bg:#000;--brand-surface:#000;--brand-primary:#f9de44;--brand-primary-600:#e6cc3e;--brand-secondary:#fff;--brand-text:#f7f7fb;--brand-muted:#b9bed1;--brand-border:#2a2c36;--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.25);--maxw:1200px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--brand-text);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(1200px 800px at 10% -10%,rgba(255,46,134,.12),transparent 40%),radial-gradient(1000px 700px at 110% 20%,rgba(94,224,255,.12),transparent 40%),var(--brand-bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:800}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.section{padding:64px 0}.card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.soft,.card{background:transparent;border:none;box-shadow:none}.section .container>.card,.section .container>*:not(.card){border-radius:var(--radius)}.brand-logo{display:block;width:190px;height:auto;margin:0 0 0 -25px}@media (max-width:899px){.brand-logo{width:150px}}.nav{position:sticky;top:0;z-index:50;background:#0f0f12b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--brand-border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:80px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.5px}.nav-menu{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav-link{padding:10px 12px;border-radius:10px;color:#fff;font-weight:700;letter-spacing:.2px;position:relative}.nav-link:hover{background:#ffffff0f}.nav-link.active:after,.nav-link:hover:after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:3px;border-radius:3px;background:var(--brand-primary)}.nav-cta{display:flex;gap:10px;flex-wrap:wrap}.btn{padding:10px 14px;border-radius:999px;font-weight:700;letter-spacing:.3px;border:1px solid var(--brand-border);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary{background:var(--brand-primary);color:#0b0b0f;border-color:transparent;box-shadow:0 0 0 1px #0000000a inset}.btn-outline{background:transparent;color:var(--brand-text)}.nav-toggle{display:none;background:transparent;border:1px solid var(--brand-border);color:var(--brand-text);border-radius:12px;padding:8px 10px}.nav-toggle:hover{background:#ffffff0f}.nav-mobile-panel{display:none;border-top:1px solid var(--brand-border);background:#0f0f12e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-mobile-panel.open{display:block}@media (max-width:899px){.nav-menu.desktop,.nav-cta.desktop{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.brand span{display:none!important}.nav-menu.mobile{display:flex;flex-direction:column;padding:8px 0;gap:0}.nav-menu.mobile .nav-link{display:block;padding:14px 12px;border-radius:0;background:transparent;border:0;color:#fff;font-weight:700;border-bottom:1px solid var(--brand-border)}.nav-menu.mobile .nav-link:last-child{border-bottom:0}.nav-cta.mobile .btn{width:100%;text-align:center}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--brand-border)}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .7s ease;background-size:cover;background-position:center}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0006,#000000a6)}.hero-content{position:relative;z-index:2;display:flex;align-items:center;min-height:60vh}.hero-title{font-size:clamp(32px,6vw,64px);line-height:1.05;margin:0}.hero-sub{font-size:clamp(16px,2.4vw,20px);color:var(--brand-muted);max-width:60ch}.hero-dots{position:absolute;z-index:3;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:#ffffff73;border:1px solid rgba(255,255,255,.7)}.dot.active{background:var(--brand-secondary);border-color:var(--brand-secondary)}.styles-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.style-card{grid-column:span 6;border-radius:var(--radius);overflow:hidden;border:1px solid var(--brand-border);background:#ffffff08}.style-img{height:180px;background-size:cover;background-position:center}.style-body{padding:16px 16px 18px}@media (max-width:900px){.style-card{grid-column:span 12}}.tt-headbar{display:flex;align-items:center;gap:12px;background:var(--brand-primary);color:#000;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.15)}.tt-title{margin:0;font-weight:800;font-size:20px}.tt-grid{display:flex;flex-direction:column;gap:22px;padding:18px}.tt-day{border:1px solid var(--brand-border);border-radius:var(--radius);overflow:hidden;background:#ffffff05}.tt-day-head{padding:12px 16px;background:#ffffff0a;border-bottom:1px solid var(--brand-border)}.tt-day-title{margin:0;font-weight:800;letter-spacing:.2px}.tt-rooms{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;padding:14px}.tt-room{grid-column:span 6;border:1px solid var(--brand-border);border-radius:12px;overflow:hidden;background:#00000040}.tt-room-title{margin:0;padding:10px 14px;background:#ffffff0f;border-bottom:1px solid var(--brand-border);font-weight:800}.tt-table{width:100%;border-collapse:collapse}.tt-table thead th{text-align:left;padding:10px 14px;color:#fff;font-weight:800;letter-spacing:.2px}.tt-table tbody td{padding:10px 14px;border-top:1px solid var(--brand-border)}.tt-table tbody tr:nth-child(odd){background:#ffffff05}@media (max-width:900px){.tt-room{grid-column:span 12}}@media (max-width:700px){.tt-table thead{display:none}.tt-table tbody tr{display:grid;grid-template-columns:1fr 2fr}.tt-table tbody td{border:none;border-bottom:1px solid var(--brand-border)}.tt-table tbody td:nth-last-child(1){border-bottom:none}.tt-table tbody td:before{content:attr(data-col);color:var(--brand-muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px;margin-right:8px}}.tt-notes{padding:18px 20px;border-top:1px dashed var(--brand-border)}.cal-wrap{display:flex;flex-direction:column;gap:12px}.cal-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.cal-filters{display:flex;gap:18px;flex-wrap:wrap}.cal-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cal-filter-label{color:var(--brand-muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px}.chip{padding:6px 10px;border-radius:999px;border:1px solid var(--brand-border);background:#ffffff14;color:#fff;font-weight:700}.chip.on{outline:2px solid var(--brand-primary);background:#ffffff29}.cal-actions{display:flex;gap:10px;flex-wrap:wrap}.cal-scroller{overflow:auto;border:1px solid var(--brand-border);border-radius:var(--radius);background:var(--brand-border)}.cal{position:relative;display:grid;grid-template-columns:90px repeat(var(--days,4),minmax(240px,1fr));grid-auto-rows:22px;gap:1px;background:var(--brand-border);min-width:calc(90px + var(--days,4) * 240px)}.cal-header{position:sticky;top:0;background:#15161ae6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.cal-day{padding:10px;font-weight:800;text-align:center}.cal-gutter{background:#15161acc}.cal-hour{height:88px;border-top:1px dashed var(--brand-border);font-size:12px;color:var(--brand-muted);padding:4px 6px}.cal-col{position:relative;background:#0f0f1299}.cal-body{position:relative}.cal-event{position:absolute;left:8px;right:8px;background:#ffffff0f;border:1px solid var(--brand-border);border-left-width:4px;border-radius:10px;padding:8px 10px 10px;line-height:1.2}.cal-event-time{font-size:12px;color:var(--brand-muted);margin-bottom:2px}.cal-event-name{font-weight:600;letter-spacing:.1px}.cal-event-meta{font-size:12px;color:var(--brand-muted);margin-top:4px}.cal-event.r-s1{border-left-color:#5ee0ff}.cal-event.r-s2{border-left-color:#ff8bd6}.cal-event.r-s3{border-left-color:#9cff7a}.cal-event.r-gym{border-left-color:#ffd166}.cal-event.r-default{border-left-color:var(--brand-primary)}@media (max-width:1200px){.cal{grid-template-columns:80px repeat(var(--days,4),minmax(220px,1fr));min-width:calc(80px + var(--days,4) * 220px)}}@media (max-width:900px){.cal{display:none}}.footer-pop{background:var(--brand-primary);color:#000;border-top:1px solid rgba(0,0,0,.1)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:start;gap:32px;padding:36px 0}.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.foot-brand-col{display:flex;flex-direction:column;gap:4px;padding-left:15px}.footer-logo{width:220px;height:52px;background:#000;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:contain;mask-size:contain;margin:0 0 0 -15px}.foot-links{display:flex;flex-direction:column;gap:10px}.foot-link{color:#000;font-weight:700}.foot-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.foot-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start}.footer-bottom{border-top:1px dashed rgba(0,0,0,.25);padding:12px 0;font-weight:700}.footer-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width:900px){.footer-grid{grid-template-columns:1fr;gap:22px}.footer-logo{width:200px;height:48px}.footer-bottom .container{flex-direction:column;align-items:flex-start;gap:6px}}.team-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.team-card{grid-column:span 6;display:flex;flex-direction:column;border:1px solid var(--brand-border);border-radius:var(--radius);overflow:hidden;background:#ffffff08}.team-body{padding:16px 18px 20px;flex:1}.team-name{margin:0 0 4px;font-size:20px;font-weight:800;color:var(--brand-primary)}.team-role{color:var(--brand-muted);font-size:13px;margin-bottom:8px}.team-bio{margin:0;line-height:1.55}@media (max-width:900px){.team-card{grid-column:span 12}}.img-frame{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--brand-border);background:#ffffff08;--fit: cover;--pos: 50% 5%;--ratio: 1 / 1;--minh: clamp(220px, 32vw, 420px);--maxh: 620px;aspect-ratio:var(--ratio);min-height:var(--minh);max-height:var(--maxh)}.img-frame>img{width:100%;height:100%;display:block;object-fit:var(--fit);object-position:var(--pos)}.fit-cover{--fit:cover}.fit-contain{--fit:contain;background:transparent;border-color:transparent}.pos-top{--pos: top center}.pos-bottom{--pos: bottom center}.pos-center{--pos:center}.ratio-3x2{--ratio: 3 / 2}.ratio-4x3{--ratio: 4 / 3}.ratio-1x1{--ratio: 1 / 1}.ratio-5x2{--ratio: 5 / 2}.fade-bottom{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 70%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000 70%,#0000)}.team-photo{--ratio: 1 / 1;--fit: cover;--pos: 50% 40%;width:100%;max-width:none;margin:0}.founder-band{--pos: 22% 30%;--vh: min(62vw, 660px);--shade: .7;position:relative;isolation:isolate;min-height:clamp(420px,var(--vh),660px);background-color:#000;background-position:var(--pos);background-size:cover;background-repeat:no-repeat}.founder-band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0000,#0000002e 42%,#00000061 62%,rgba(0,0,0,var(--shade))),linear-gradient(180deg,#0000 70%,#00000059)}.founder-band-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(420px,58%) minmax(320px,560px);align-items:center;min-height:inherit;padding:clamp(24px,4vw,40px) 20px}.founder-text{grid-column:2;margin:clamp(12px,2vw,24px) 0 clamp(16px,3vw,28px) auto;max-width:560px;background:#00000094;border:1px solid var(--brand-border);border-radius:14px;box-shadow:var(--shadow);padding:clamp(16px,2.2vw,24px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.founder-eyebrow{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--brand-primary);margin:0 0 6px}.founder-name{margin:0 0 8px}@media (max-width:1100px){.founder-band-inner{grid-template-columns:minmax(360px,54%) minmax(300px,520px)}}@media (max-width:900px){.founder-band{min-height:auto}.founder-band-inner{display:block;padding-top:clamp(200px,54vw,300px)}.founder-text{max-width:none;margin:0;border-radius:12px}.founder-band:after{background:linear-gradient(0deg,#0000008c,#0000 40%),linear-gradient(180deg,#0000 70%,#00000059)}}.band{width:100%;margin:0}.band-yellow{background:var(--brand-primary);color:#000;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}.band-inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:28px 20px}.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width:900px){.band-grid{grid-template-columns:1fr}}.band-yellow h2,.band-yellow h3,.band-yellow h4,.band-yellow p{color:#000}.band-yellow a{color:#000;text-decoration:underline;text-underline-offset:3px}:root{--award-size: 180px}.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;align-items:start;justify-items:center}.award-card{margin:0}.award-link{display:block;width:min(100%,var(--award-size))}.award-img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}@media (max-width:900px){:root{--award-size: 160px}}.foot-social{display:flex;gap:12px;margin-top:6px;margin-left:15px}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid #000;border-radius:999px;color:#000;transition:transform .15s ease,background .2s ease,color .2s ease}.social-link:hover{background:#000;color:var(--brand-primary);transform:translateY(-1px)}.ico{width:20px;height:20px;display:inline-block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.ico-ig{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 4a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm6.75-2.25a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 4a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm6.75-2.25a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z'/></svg>")}.ico-fb{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 12a10 10 0 1 0-11.56 9.9v-7h-2.7V12h2.7V9.8c0-2.66 1.58-4.14 4-4.14 1.16 0 2.37.21 2.37.21v2.6h-1.34c-1.32 0-1.73.82-1.73 1.66V12h2.95l-.47 2.9h-2.48v7A10 10 0 0 0 22 12z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 12a10 10 0 1 0-11.56 9.9v-7h-2.7V12h2.7V9.8c0-2.66 1.58-4.14 4-4.14 1.16 0 2.37.21 2.37.21v2.6h-1.34c-1.32 0-1.73.82-1.73 1.66V12h2.95l-.47 2.9h-2.48v7A10 10 0 0 0 22 12z'/></svg>")}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1,1);white-space:nowrap;border:0}.founder-split{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.founder-media{--ratio: 1 / 1;--fit: cover;--pos: 50% 38%;border:1px solid var(--brand-border);background:#ffffff08}.founder-copy h2{margin:0 0 6px}.founder-copy h3{margin:0 0 8px}@media (max-width: 900px){.founder-split{grid-template-columns:1fr;gap:18px}}.founder-bio{margin:0;padding:0;background:transparent;border:0;box-shadow:none}.founder-grid,.founder-band,.founder-text{all:unset}.styles-grid.classes-grid{grid-template-columns:repeat(12,1fr)}.classes-card{grid-column:span 3}@media (max-width: 1100px){.classes-card{grid-column:span 4}}@media (max-width: 900px){.classes-card{grid-column:span 12}}.classes-card h3{font-weight:800}.mosaic{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:6px 0}.mosaic-tile{display:block;padding:0;margin:0;border:0;cursor:pointer;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;background:#ffffff08;border:1px solid var(--brand-border);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .2s ease}.mosaic-tile:hover{transform:translateY(-2px)}.mosaic-tile img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s ease}.mosaic-tile:hover img{transform:scale(1.04)}@media (max-width: 900px){.mosaic{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lightbox-inner{position:relative;z-index:1;width:100%;max-width:min(1100px,92vw);padding:0 52px}.lightbox-figure{margin:0;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--brand-border);box-shadow:var(--shadow)}.lightbox-figure img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain}.lightbox-cap{padding:10px 12px;font-size:13px;color:var(--brand-muted);background:#ffffff08;border-top:1px solid var(--brand-border)}.lightbox-close{position:absolute;top:-10px;right:4px;width:36px;height:36px;border-radius:999px;border:2px solid #fff;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:2px solid #fff;background:#00000059;color:#fff;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}.lightbox-nav:hover{background:#0000008c}.lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}@media (max-width: 700px){.lightbox-inner{padding:0 40px}.lightbox-nav{width:38px;height:38px;font-size:24px}.lightbox-close{top:-8px;right:0}}.lightbox ul,.lightbox ol{list-style:none;padding-left:0;margin:0}.lightbox-thumbs,.lightbox-thumbs ul{list-style:none;padding:0;margin:0;display:flex;gap:8px}.lightbox-thumbs li{list-style:none}.lightbox li::marker,.lightbox-thumbs li::marker{content:""}
