:root{--bg:#09090b;--panel:#121216;--paper:#f2f0eb;--red:#e3262e;--red2:#ff4148;--muted:#9b9ba2;--line:rgba(255,255,255,.12);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#111;font-family:Inter,Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:white;background:linear-gradient(#050506dd,transparent);transition:.3s}.site-header.scrolled{background:#09090bf2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}.brand>span{width:38px;height:38px;border:2px solid var(--red);display:grid;place-items:center;font-weight:800;font-family:"Barlow Condensed";font-size:19px}.brand strong{display:block;font-family:"Barlow Condensed";font-size:20px;letter-spacing:2px;line-height:.85}.brand small{font-size:8px;letter-spacing:2px;color:#aaa}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.nav a{opacity:.85}.nav a:hover{opacity:1;color:#fff}.nav-cta{padding:12px 18px;background:var(--red);opacity:1!important}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}
.hero{min-height:100vh;background:#070708;color:white;position:relative;overflow:hidden;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(120deg,#17171b,#333 48%,#111);background-size:cover;background-position:center}.hero-bg.has-image{background-image:var(--image);}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050506f2 0%,#050506b9 45%,#05050635 100%)}.hero-content{position:relative;z-index:2;width:min(900px,90%);margin-left:10vw;padding-top:80px}.eyebrow,.section-label{font-size:11px;letter-spacing:3px;font-weight:800;color:var(--red);text-transform:uppercase}.hero h1,.section h2,.statement h2,.contact h2{font-family:"Barlow Condensed";text-transform:uppercase;line-height:.82;letter-spacing:-1px;margin:20px 0;font-size:clamp(65px,9vw,142px)}.hero h1 span,.section h2 em,.statement h2 span,.contact h2 em{font-style:normal;color:var(--red)}.hero-copy{max-width:540px;color:#d0d0d2;line-height:1.7;font-size:16px}.hero-actions{display:flex;gap:12px;margin:32px 0}.btn{display:inline-flex;justify-content:center;align-items:center;padding:16px 25px;border:1px solid transparent;font-weight:800;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red2)}.btn-ghost{border-color:#ffffff55;color:white}.btn-ghost:hover{background:white;color:#111}.hero-note{font-size:10px;letter-spacing:1px;color:#999}.hero-note span{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:8px}.vertical-word{position:absolute;right:2vw;bottom:5vh;color:#ffffff16;font-family:"Barlow Condensed";font-size:16vw;font-weight:800;writing-mode:vertical-rl}
.ticker{display:grid;grid-template-columns:repeat(5,1fr);background:var(--red);color:white;text-align:center;font:700 13px "Barlow Condensed";letter-spacing:2px;padding:19px}.ticker div{border-right:1px solid #ffffff40}.ticker div:last-child{border:0}
.section{max-width:var(--max);margin:auto;padding:130px 5vw}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:45px}.portrait{min-height:650px;background:linear-gradient(145deg,#d0cec8,#888);position:relative}.image-placeholder{background-size:cover;background-position:center}.placeholder-label{position:absolute;left:20px;bottom:20px;background:#000c;color:#fff;padding:9px 12px;font-size:9px;letter-spacing:1.5px}.photo-number{position:absolute;right:20px;top:20px;font:800 45px "Barlow Condensed";color:#fff8}.about-copy{padding-top:20px}.section h2{font-size:clamp(70px,8vw,110px)}.lead{font-size:20px;line-height:1.55;max-width:600px}.muted{color:#6e6e73;line-height:1.8;max-width:600px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:45px 0}.facts div{border-top:2px solid #111;padding-top:14px}.facts strong{font:700 30px "Barlow Condensed";display:block}.facts span{font-size:10px;line-height:1.5;color:#777}.facts b{color:#111}.text-link{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1px}.text-link span{color:var(--red);margin-left:10px}
.dark{max-width:none;background:var(--bg);color:white;padding-left:max(5vw,calc((100vw - var(--max))/2));padding-right:max(5vw,calc((100vw - var(--max))/2))}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head>p,.gallery-head p{max-width:410px;color:#888;line-height:1.7;font-size:14px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.program-card{background:var(--bg);min-height:290px;padding:30px;position:relative;border:1px solid transparent;transition:.3s}.program-card:hover,.program-card.featured{background:#15151a}.program-card span{color:#666;font:700 14px "Barlow Condensed"}.program-card h3{font:700 38px "Barlow Condensed";text-transform:uppercase;margin:45px 0 12px}.program-card p{color:#888;font-size:13px;line-height:1.7;max-width:310px}.program-card a{position:absolute;bottom:28px;color:#fff;font-size:10px;font-weight:800;letter-spacing:1.5px}.program-card a:hover{color:var(--red)}
.statement{height:650px;position:relative;display:grid;place-items:center;background:#17171a;color:white;overflow:hidden}.statement-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 40%,#3a1618,#151518 55%)}.statement-inner{position:relative;width:min(var(--max),90%)}.statement h2{font-size:clamp(75px,10vw,150px);margin:0}
.classes{background:var(--paper)}.schedule{border-top:2px solid #111}.schedule-row{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr .7fr;gap:20px;padding:22px 0;border-bottom:1px solid #ccc;font-size:12px;align-items:center}.schedule-row.head{font-size:9px;letter-spacing:2px;color:#888}.schedule-row a{font-weight:800;color:var(--red);text-align:right}.location-box{margin-top:45px;background:#111;color:#fff;padding:25px 30px;display:grid;grid-template-columns:.7fr 2fr 1fr;align-items:center;gap:20px}.location-box span{font-size:9px;color:#888;letter-spacing:2px}.location-box strong{font:700 25px "Barlow Condensed";text-transform:uppercase}.location-box a{font-size:10px;text-align:right;color:#fff}
.gallery-section{padding-bottom:150px}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin:15px 0 50px}.gallery-head h2{font:700 clamp(65px,8vw,110px) "Barlow Condensed";text-transform:uppercase;line-height:.8;margin:0}.gallery-head em{font-style:normal;color:var(--red)}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:250px;gap:10px}.gallery-item{background:linear-gradient(145deg,#29292e,#101014);position:relative}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}
.testimonials{background:#e6e3dc;text-align:center}.quote-wrap{max-width:900px;margin:50px auto 0}.quote-mark{font:100px "Barlow Condensed";color:var(--red);height:60px}.quote-wrap blockquote{font:600 38px/1.25 "Barlow Condensed";text-transform:uppercase;margin:20px 0}.quote-wrap p{font-size:10px;letter-spacing:2px;text-transform:uppercase}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.faq{border-top:1px solid #bbb}.faq details{border-bottom:1px solid #bbb;padding:22px 0}.faq summary{list-style:none;cursor:pointer;font-weight:700;font-size:15px;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--red);font-size:22px}.faq p{color:#777;line-height:1.7;font-size:13px;max-width:600px}
.contact{background:#0a0a0c;color:white;padding:110px max(5vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy h2{font-size:clamp(80px,9vw,130px)}.contact-copy>p{color:#999;max-width:400px;line-height:1.7}.contact-detail{border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;max-width:430px}.contact-detail span{font-size:9px;color:#777;letter-spacing:2px}.contact-detail strong{font-size:11px}.trial-form{background:#151519;padding:35px}.form-title{font:700 34px "Barlow Condensed";margin-bottom:25px}.trial-form label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#999;margin-bottom:15px}.trial-form input,.trial-form textarea,.trial-form select{width:100%;margin-top:7px;border:1px solid #333;background:#0d0d10;color:#fff;padding:13px;outline:0}.trial-form input:focus,.trial-form textarea:focus,.trial-form select:focus{border-color:var(--red)}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{width:100%;border:0;margin-top:5px}.form-note{font-size:9px;color:#666;text-align:center;margin-bottom:0}
footer{background:#050506;color:#777;padding:50px 5vw 90px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:30px}.footer-brand strong{font:700 32px/.8 "Barlow Condensed";color:white}.footer-brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:12px}.footer-links{display:flex;gap:25px;justify-content:center}.footer-links a{font-size:9px;text-transform:uppercase;letter-spacing:1px}.footer-links a:hover{color:white}footer p{text-align:right;font-size:9px}.mobile-cta{display:none}
.toast{position:fixed;right:20px;bottom:25px;background:var(--red);color:white;padding:16px 22px;font-size:12px;font-weight:700;z-index:100;transform:translateY(120px);transition:.3s}.toast.show{transform:none}
.reveal{opacity:0;transform:translateY(30px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:68px;padding:0 20px}.menu-toggle{display:block}.nav{position:absolute;display:none;top:68px;left:0;right:0;background:#0b0b0df8;padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:15px;border-bottom:1px solid var(--line)}.nav-cta{text-align:center}.hero-content{margin-left:20px;padding-top:60px}.hero h1{font-size:67px}.hero-copy{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start}.ticker{grid-template-columns:repeat(2,1fr);gap:10px}.ticker div:nth-child(odd){border-right:1px solid #ffffff40}.ticker div:nth-child(even){border:0}.section{padding:85px 20px}.about-grid,.contact,.faq-section{grid-template-columns:1fr}.portrait{min-height:470px}.facts{grid-template-columns:1fr}.section-head,.gallery-head{display:block}.section-head>p,.gallery-head p{margin-top:25px}.program-grid{grid-template-columns:1fr}.statement{height:500px}.statement-inner{width:90%}.statement h2{font-size:72px}.schedule{overflow:auto}.schedule-row{min-width:650px}.location-box{grid-template-columns:1fr;gap:10px}.location-box a{text-align:left}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.quote-wrap blockquote{font-size:29px}.contact{padding:85px 20px}.contact h2{font-size:82px}.trial-form{padding:25px 20px}.two{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}footer{grid-template-columns:1fr;padding-bottom:80px}.footer-links{gap:15px}footer p{text-align:left}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--red);text-align:center}.mobile-cta a{display:block;color:#fff;padding:16px;font-size:11px;font-weight:800;letter-spacing:1.5px}.vertical-word{display:none}}
