:root{--ink:#090b10;--ink-2:#0e1118;--panel:#141821;--white:#f7f7f4;--muted:#9ca2ad;--red:#d31920;--red-dark:#a90d13;--blue:#12428a;--line:rgba(255,255,255,.11);--display:"Barlow Condensed",Impact,sans-serif;--body:"Inter",Arial,sans-serif;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.7;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:9999;top:-80px;left:20px;background:var(--white);color:var(--ink);padding:10px 18px}.skip-link:focus{top:10px}.eyebrow{margin:0 0 16px;color:#e1272d;font-family:var(--display);font-size:.88rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";display:inline-block;width:32px;height:2px;margin:0 12px 4px 0;background:currentColor}h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;line-height:.94;text-transform:uppercase}h2{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.035em}h2 span,h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}.section{padding:120px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:0 26px;border:1px solid transparent;font-family:var(--display);font-size:1rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:.25s ease}.button span{font-size:1.3rem;transition:transform .25s}.button:hover span{transform:translateX(5px)}.button-primary{background:var(--red);color:white}.button-primary:hover{background:#f0242b;box-shadow:0 10px 35px rgba(211,25,32,.3)}.button-ghost{border-color:rgba(255,255,255,.45);background:rgba(0,0,0,.15);backdrop-filter:blur(7px)}.button-ghost:hover{background:white;color:var(--ink)}.button-light{background:white;color:var(--ink)}.button-light:hover{background:var(--ink);color:white}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(7,9,13,.94);border-color:var(--line);backdrop-filter:blur(15px)}.header-inner{width:min(1400px,calc(100% - 48px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{position:relative;z-index:2;display:flex;width:225px;height:62px;padding:8px 12px;background:white;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}.brand img{width:100%;object-fit:contain}.site-nav{display:flex;align-items:center;gap:34px}.site-nav>a:not(.nav-cta){position:relative;font-family:var(--display);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:2px;background:var(--red);transition:.25s}.site-nav>a:hover:after{width:100%}.nav-cta{padding:11px 20px;background:var(--red);font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:28px;height:2px;margin:6px;background:white;transition:.25s}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-slides,.hero-slide,.hero-shade,.hero-lines{position:absolute;inset:0}.hero-slide{z-index:-3;background-position:center;background-size:cover;opacity:0;transform:scale(1.08);transition:opacity 1s ease,transform 7s linear}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(4,6,10,.98) 0%,rgba(4,6,10,.77) 42%,rgba(4,6,10,.18) 75%),linear-gradient(0deg,rgba(4,6,10,.8),transparent 45%)}.hero-lines{z-index:-1;opacity:.1;background:repeating-linear-gradient(110deg,transparent 0,transparent 180px,#fff 181px,#fff 182px)}.hero-content{padding-top:90px}.hero h1{max-width:900px;font-size:clamp(4.3rem,10vw,9.2rem);letter-spacing:-.055em}.hero-copy{max-width:610px;margin:28px 0 34px;color:#d2d5da;font-size:clamp(1rem,1.5vw,1.22rem)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-social-proof{position:absolute;right:42px;bottom:38px;display:flex;align-items:center;gap:22px;color:#d4d6da;font-family:var(--display);font-size:.84rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}.proof-line{height:58px;width:1px;background:rgba(255,255,255,.5)}.slide-dots{position:absolute;left:calc((100% - min(var(--max),calc(100% - 48px)))/2);bottom:35px;display:flex;gap:9px}.slide-dot{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:.3s}.slide-dot.is-active{width:55px;background:var(--red)}.scroll-cue{position:absolute;left:50%;bottom:22px;width:24px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:20px}.scroll-cue span{position:absolute;left:10px;top:8px;width:2px;height:7px;background:white;animation:scroll 1.8s infinite}@keyframes scroll{0%{opacity:0;transform:translateY(-3px)}45%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--red);transform:rotate(-1deg) scale(1.02)}.ticker-track{display:flex;width:max-content;align-items:center;animation:ticker 28s linear infinite}.ticker span{padding:13px 25px;font-family:var(--display);font-size:1.6rem;font-style:italic;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ticker i{color:var(--ink);font-style:normal}@keyframes ticker{to{transform:translateX(-50%)}}
.about{background:var(--ink-2)}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10%;align-items:center}.about-media{position:relative;padding:0 60px 65px 0}.image-frame{position:relative}.image-frame:before{content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid rgba(255,255,255,.18);z-index:-1}.image-frame-main img{width:100%;height:660px;object-fit:cover;filter:saturate(.75) contrast(1.08)}.image-frame-float{position:absolute;right:0;bottom:0;width:43%}.image-frame-float img{width:100%;aspect-ratio:.86;object-fit:cover;border:7px solid var(--ink-2)}.est-badge{position:absolute;top:33px;right:18px;width:108px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--red);clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%);transform:rotate(8deg)}.est-badge strong{font-family:var(--display);font-size:2rem;line-height:1}.est-badge span{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em}.about-copy .lead{margin:30px 0 15px;color:white;font-size:1.15rem;font-weight:600}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:34px 0}.values div{padding-top:17px;border-top:2px solid var(--red)}.values strong,.values span{display:block}.values strong{font-family:var(--display);font-size:1.12rem;text-transform:uppercase}.values span{color:var(--muted);font-size:.75rem}.text-link{font-family:var(--display);font-weight:800;letter-spacing:.09em;text-transform:uppercase}.text-link span{margin-left:13px;color:var(--red)}
.classes{background:#090b10}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-heading>p{max-width:400px;margin:0 0 5px;color:var(--muted)}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.class-card{position:relative;height:520px;overflow:hidden}.class-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.45) saturate(.7);transition:.6s}.class-card:hover img{transform:scale(1.06);filter:grayscale(0)}.card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,8,.98),transparent 70%)}.card-number{position:absolute;top:20px;right:20px;color:rgba(255,255,255,.7);font-family:var(--display);font-weight:800}.card-content{position:absolute;bottom:0;left:0;width:100%;padding:28px}.card-content p{margin:0 0 7px;color:#ff343b;font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.card-content h3{font-size:clamp(1.8rem,2.7vw,2.6rem)}.card-content>span{display:block;margin-top:11px;color:#b7bbc2;font-size:.78rem}.class-card:after{content:"";position:absolute;bottom:0;left:0;width:0;height:4px;background:var(--red);transition:.4s}.class-card:hover:after{width:100%}
.schedule{position:relative;overflow:hidden;background:#f0f0ed;color:#15171b}.schedule-glow{position:absolute;top:-250px;left:-250px;width:600px;height:600px;border:100px solid rgba(211,25,32,.05);border-radius:50%}.schedule-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:center}.schedule h2 span{color:transparent;-webkit-text-stroke:1px rgba(20,23,27,.7)}.schedule-copy>p:not(.eyebrow){color:#555b64}.schedule-note{display:flex;gap:15px;margin:28px 0}.schedule-note>span{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font-weight:bold}.schedule-note p{margin:0;font-size:.85rem}.schedule-image{position:relative;border:0;background:white;padding:0;box-shadow:0 25px 70px rgba(15,18,25,.18);cursor:zoom-in;transform:rotate(1deg)}.schedule-image:before{content:"";position:absolute;inset:-10px;border:1px solid rgba(15,18,25,.15);z-index:-1}.schedule-image img{width:100%}.zoom-hint{position:absolute;right:14px;bottom:14px;padding:7px 12px;background:rgba(8,10,14,.85);color:white;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.achievements{background:var(--ink-2)}.award-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.award-strip figure{margin:0;aspect-ratio:.78;overflow:hidden;background:#222}.award-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5);transition:.4s}.award-strip figure:nth-child(even){transform:translateY(20px)}.award-strip figure:hover img{filter:none;transform:scale(1.05)}
.gallery{padding-bottom:130px}.gallery-controls{display:flex;gap:10px}.gallery-controls button{width:54px;height:54px;border:1px solid var(--line);background:transparent;font-size:1.4rem;cursor:pointer;transition:.2s}.gallery-controls button:hover{background:var(--red);border-color:var(--red)}.gallery-viewport{width:min(1500px,calc(100% - 30px));margin-left:auto;overflow:hidden}.gallery-track{display:flex;gap:16px;transition:transform .55s cubic-bezier(.22,.75,.2,1)}.gallery-item{position:relative;flex:0 0 min(420px,75vw);height:520px;margin:0;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:.5s}.gallery-item:hover img{transform:scale(1.04);filter:saturate(1)}.gallery-item:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-item figcaption{position:absolute;z-index:1;bottom:20px;left:22px;font-family:var(--display);font-size:1.2rem;font-weight:700;text-transform:uppercase}
.cta-banner{position:relative;min-height:650px;display:grid;place-items:center;text-align:center;overflow:hidden}.cta-bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:grayscale(1)}.cta-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(162,7,14,.93),rgba(211,25,32,.76))}.cta-content{position:relative;z-index:1}.cta-content .eyebrow{color:white}.cta-content h2{font-size:clamp(4rem,8vw,8rem)}.cta-content p:not(.eyebrow){margin:25px auto 30px;font-size:1.1rem}.cta-content .button{min-width:270px}
.contact{background:#0d1016}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.contact-copy>p:not(.eyebrow){max-width:570px;color:var(--muted);margin:25px 0 35px}.contact-detail{display:flex;align-items:flex-start;gap:18px;margin:24px 0}.detail-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;background:var(--red);font-weight:800}.contact-detail small,.contact-detail strong{display:block}.contact-detail small{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.contact-detail strong,.contact-detail a{font-size:.9rem;font-weight:600;line-height:1.5}.contact-copy>.button{margin-top:14px}.map-card{position:relative;min-height:500px;overflow:hidden;background:#171c25;border:1px solid var(--line)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;transform:rotate(12deg) scale(1.3)}.map-road{position:absolute;height:24px;background:#2a303b;border:1px solid #343b47;transform-origin:left}.road-one{width:120%;top:25%;left:-10%;transform:rotate(24deg)}.road-two{width:115%;top:75%;left:4%;transform:rotate(-38deg)}.map-label{position:absolute;right:25px;bottom:20px;color:#626a77;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.map-pin{position:absolute;z-index:2;top:50%;left:50%;display:flex;align-items:center;gap:12px;transform:translate(-50%,-50%)}.map-pin>span{position:relative;width:54px;height:54px;border:14px solid var(--red);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 13px rgba(211,25,32,.14)}.map-pin strong{padding:7px 10px;background:white;color:var(--ink);font-family:var(--display);font-size:.92rem;line-height:1;text-transform:uppercase}.map-card:hover .map-pin>span{animation:pulse 1s infinite alternate}@keyframes pulse{to{box-shadow:0 0 0 22px rgba(211,25,32,.04)}}
.site-footer{padding-top:70px;background:#07080b;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.6fr .7fr 1fr 1fr;gap:50px;padding-bottom:60px}.footer-brand img{width:240px;padding:10px;background:white}.footer-brand p,.footer-links p{color:#777e89;font-size:.84rem}.footer-links,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-links strong,.footer-social>strong{margin-bottom:10px;font-family:var(--display);font-size:.85rem;letter-spacing:.13em;text-transform:uppercase}.footer-links a{color:#969ca6;font-size:.84rem}.footer-links a:hover{color:white}.footer-social a{display:flex;align-items:center;gap:10px;color:#b1b5bc;font-size:.85rem}.footer-social a span{width:34px;height:34px;display:grid;place-items:center;background:var(--blue);color:white;font-weight:bold}.footer-bottom{display:flex;justify-content:space-between;padding-block:20px;border-top:1px solid var(--line);color:#606671;font-size:.72rem}.footer-bottom p{margin:0}.image-modal{max-width:min(1000px,92vw);max-height:92vh;padding:8px;border:0;background:white;box-shadow:0 30px 100px #000}.image-modal::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(5px)}.image-modal img{max-height:88vh}.modal-close{position:fixed;top:20px;right:25px;width:48px;height:48px;border:0;border-radius:50%;background:white;color:black;font-size:2rem;line-height:1;cursor:pointer}
@media(max-width:1050px){.site-nav{gap:19px}.class-grid{grid-template-columns:repeat(2,1fr)}.award-strip{grid-template-columns:repeat(3,1fr)}.award-strip figure:nth-child(even){transform:none}.about-grid{gap:6%}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-social{grid-column:2}.contact-grid{gap:5%}}
@media(max-width:800px){.container{width:min(100% - 32px,var(--max))}.section{padding:85px 0}.header-inner{width:calc(100% - 30px);height:74px}.brand{width:180px;height:53px}.menu-toggle{display:block;position:relative;z-index:2}.site-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:90px 12%;background:rgba(7,9,13,.98);transform:translateX(100%);transition:.35s}.site-nav.open{transform:none}.site-nav>a:not(.nav-cta){font-size:2rem}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero-content{padding-top:50px}.hero-social-proof,.scroll-cue{display:none}.slide-dots{left:16px}.about-grid,.schedule-grid,.contact-grid{grid-template-columns:1fr;gap:65px}.about-media{order:2}.image-frame-main img{height:550px}.schedule-copy{max-width:600px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:38px}.section-heading>p{max-width:570px}.award-strip{grid-template-columns:repeat(3,1fr)}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-social{grid-column:auto}.map-card{min-height:400px}}
@media(max-width:560px){body{font-size:15px}.section{padding:70px 0}.hero h1{font-size:3.8rem}.hero-copy{font-size:.95rem}.hero-actions{align-items:stretch;flex-direction:column;max-width:290px}.hero .button{width:100%}.ticker span{font-size:1.25rem}.about-media{padding:0 36px 48px 0}.image-frame-main img{height:420px}.image-frame-float{width:48%}.est-badge{width:85px;height:85px}.values{grid-template-columns:1fr}.values div{display:grid;grid-template-columns:1fr 1fr}.class-grid{grid-template-columns:1fr}.class-card{height:430px}.award-strip{grid-template-columns:repeat(2,1fr)}.award-strip figure:last-child{display:none}.gallery-item{height:430px}.cta-banner{min-height:570px}.contact-grid{gap:45px}.map-card{min-height:340px}.footer-main{grid-template-columns:1fr}.footer-brand,.footer-social{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.schedule-image{transform:none}h2{font-size:3.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.ticker-track{animation:none}.hero-slide{transition:none}.scroll-cue span{animation:none}}
