:root{--ink:#09090b;--panel:#111115;--panel-2:#1a1719;--red:#e22635;--red-deep:#9c1321;--cream:#f5f1ed;--muted:#aaa3a3;--line:rgba(255,255,255,.15);--font-display:'Space Grotesk',Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--font-body);overflow:hidden}
body.entered{overflow:auto}
button,a{ -webkit-tap-highlight-color:transparent }
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
[hidden]{display:none!important}
::selection{background:var(--red);color:white}
:focus-visible{outline:2px solid #fff;outline-offset:4px}
.container{width:min(100% - 96px,1440px);margin-inline:auto}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:58px;padding:0 24px;border:1px solid transparent;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.11em;transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}
.button:hover{transform:translateY(-3px)}
.button span{font-size:19px;font-weight:400;line-height:1}
.button--red{background:var(--red);color:white}
.button--red:hover{background:#fa3445}
.button--outline{background:transparent;border-color:rgba(255,255,255,.34);color:white}
.button--outline:hover{border-color:white}
.button--white{background:var(--cream);color:var(--ink)}
.button--white:hover{background:white}
.eyebrow,.section-kicker,.hero__meta,.hero__bottom,.feature-card__number,.footer__bottom,.header-status,.header-cta,.nav,.text-link,.join__eyebrow,.join__pending,.age-gate__index,.age-gate__foot,.age-gate__side,.statement__label,.footer__up{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.14em}

/* Age entry */
.age-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow-x:hidden;overflow-y:auto;padding:32px;background:radial-gradient(ellipse at 74% 72%,rgba(154,9,25,.38),transparent 45%),radial-gradient(ellipse at 15% 4%,rgba(87,11,23,.28),transparent 48%),#080709}
.age-gate::before{content:"";position:absolute;width:65vw;height:65vw;max-width:850px;max-height:850px;border:1px solid rgba(226,38,53,.13);border-radius:50%;right:0;top:-20%;box-shadow:0 0 0 110px rgba(226,38,53,.025),0 0 0 240px rgba(226,38,53,.018);pointer-events:none}
.age-gate__grain{position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.age-gate__card{position:relative;width:min(100%,600px);padding:36px 44px 30px;background:linear-gradient(145deg,rgba(31,24,27,.93),rgba(12,12,14,.95));border:1px solid rgba(255,255,255,.13);box-shadow:0 35px 120px #0009}
.age-gate__top{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}
.brand-mark{font-family:var(--font-display);font-weight:700;color:var(--cream);font-size:34px;letter-spacing:-.09em;line-height:1}
.brand-mark__dot{color:var(--red)}
.age-gate__line{height:1px;background:var(--line);margin:28px 0 33px}
.age-gate__index{color:var(--red);margin:0 0 18px}
.age-gate h1{font-family:var(--font-display);font-size:clamp(54px,7vw,90px);font-weight:700;letter-spacing:-.075em;line-height:.91;margin:0 0 26px}
.age-gate h1 em,.join h2 em,.code h2 em{font-style:normal;color:var(--red)}
.age-gate__card>p:not(.age-gate__index):not(.age-gate__foot):not(.age-gate__denied){font-size:15px;line-height:1.7;color:#c7bfc0;max-width:430px;margin:0 0 28px}
.age-gate__actions{display:flex;gap:10px;flex-wrap:wrap}
.age-gate__actions .button--red{flex:1}
.age-gate__denied{color:var(--cream);font-size:16px;line-height:1.6;padding:18px 0}
.age-gate__foot{font-size:10px;color:#777074;line-height:1.5;margin:27px 0 0}
.age-gate__side{position:absolute;left:24px;bottom:30px;writing-mode:vertical-rl;transform:rotate(180deg);color:#7b555a}

/* Header and hero */
.site-header{height:88px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;padding:0 48px;border-bottom:1px solid rgba(255,255,255,.16);background:linear-gradient(#070709aa,#07070922)}
.logo,.footer__logo{font-family:var(--font-display);font-size:33px;font-weight:700;letter-spacing:-.09em;line-height:1}
.logo span,.footer__logo span{color:var(--red)}
.nav{display:flex;gap:38px;margin-left:90px;color:#d2c8c8}
.nav a{transition:color .2s}
.nav a:hover,.nav a:focus-visible{color:white}
.header-right{display:flex;align-items:center;gap:34px;margin-left:auto}
.header-status{display:flex;align-items:center;gap:9px;color:#b3a8a8;white-space:nowrap;font-size:10px}
.status-dot{width:6px;height:6px;background:var(--red);border-radius:50%;box-shadow:0 0 12px var(--red)}
.header-cta{display:flex;align-items:center;gap:23px;border:1px solid rgba(255,255,255,.45);padding:12px 17px;white-space:nowrap;transition:background .2s}
.header-cta:hover{background:var(--red)}
.header-cta span{font-size:17px;font-weight:400}
.menu-toggle{display:none}
.hero{position:relative;min-height:780px;height:min(960px,100svh);background:#0b090b;overflow:hidden}
.hero__image{position:absolute;inset:0;background-image:url('/assets/club-hero.png');background-size:cover;background-position:center;opacity:.84;filter:saturate(.85)}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#08080af2 0%,#08080add 29%,#08080a54 64%,#08080a44 100%),linear-gradient(0deg,#08080bee 0%,transparent 24%,transparent 75%,#08080a77 100%)}
.hero__inner{position:relative;z-index:1;padding-top:clamp(185px,22vh,265px)}
.hero__meta{display:flex;align-items:center;gap:13px;color:#c9b7b7;font-size:10px;white-space:nowrap}
.hero__slash{width:20px;height:2px;background:var(--red);transform:rotate(-54deg)}
.hero__meta-line{width:35px;height:1px;background:#77686b;margin:0 2px}
.hero h1{font-family:var(--font-display);font-size:clamp(76px,9.4vw,156px);font-weight:700;letter-spacing:-.085em;line-height:.84;margin:33px 0 34px;max-width:1100px;text-shadow:0 10px 60px #0005}
.hero h1 em{font-style:normal;color:var(--red);white-space:nowrap}
.hero__lede{font-size:16px;line-height:1.75;color:#d5cbcb;max-width:525px;margin:0 0 32px}
.hero__actions{display:flex;align-items:center;gap:37px}
.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #746b6b;padding:14px 0;transition:border-color .2s}
.text-link:hover{border-color:white}
.text-link span{font-size:19px;font-weight:400}
.hero__bottom{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:space-between;color:#948989;z-index:1;font-size:10px}
.hero__bottom span:last-child span{color:var(--red);font-size:16px;margin-left:6px}
.hero__vertical{position:absolute;right:20px;top:45%;writing-mode:vertical-rl;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.18em;color:#c3a7a9;z-index:1}
.ticker{height:62px;display:flex;align-items:center;overflow:hidden;background:var(--red);color:#140709;font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.04em}
.ticker__track{min-width:max-content;white-space:nowrap;animation:marquee 30s linear infinite}
.ticker__track span{font-size:26px;margin:0 30px;vertical-align:-2px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Experience */
.section-pad{padding-top:125px;padding-bottom:140px}
.section-kicker{display:flex;align-items:center;gap:18px;color:#8b8183;font-size:10px;white-space:nowrap}
.section-number{color:var(--red)}
.section-rule{height:1px;background:#4c4143;flex:1}
.intro__grid{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;margin:66px 0 75px}
.intro h2,.code h2{font-family:var(--font-display);font-size:clamp(56px,7vw,112px);font-weight:700;letter-spacing:-.08em;line-height:.91;margin:0}
.intro h2 span{color:var(--red)}
.intro__aside{max-width:390px;padding-bottom:3px}
.spark{font-family:var(--font-display);font-size:57px;color:var(--red);line-height:1}
.intro__aside p{font-size:16px;line-height:1.8;color:#bdb3b3;margin:26px 0 0}
.intro__aside p:last-child{color:var(--cream);margin-top:15px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feature-card{position:relative;min-height:395px;padding:24px 28px;background:#171518;border:1px solid #30272b;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s,transform .25s,border-color .25s}
.feature-card:hover{background:#21181b;border-color:#7a2731;transform:translateY(-5px)}
.feature-card::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-115px;background:radial-gradient(circle,rgba(190,27,45,.2),transparent 69%);pointer-events:none}
.feature-card--two{background:#1c1116}.feature-card--three{background:#141517}
.feature-card__number{font-size:10px;color:#9e8e90}
.feature-card__content{position:relative;z-index:1}
.feature-card__icon{color:var(--red);font-family:var(--font-display);font-size:43px;font-weight:400;display:block;margin-bottom:25px;height:48px}
.feature-card h3{font-family:var(--font-display);font-size:clamp(30px,3vw,47px);letter-spacing:-.065em;line-height:.99;margin:0 0 20px}
.feature-card p{font-size:14px;line-height:1.7;color:#aaa0a1;max-width:285px;margin:0}
.feature-card__arrow{position:absolute;right:26px;bottom:25px;color:var(--red);font-size:24px}
.statement{background:var(--red);color:#15090b;overflow:hidden}
.statement__inner{position:relative;padding-top:78px;padding-bottom:86px}
.statement__label{display:block;color:#49141b}
.statement p{font-family:var(--font-display);font-size:clamp(48px,6.6vw,105px);letter-spacing:-.08em;line-height:.98;font-weight:700;margin:40px 0 0;position:relative;z-index:1}
.statement p em{font-style:normal;color:var(--cream)}
.statement__asterisk{position:absolute;font-family:var(--font-display);font-size:410px;line-height:1;right:15px;top:0;color:#fb5060;opacity:.4;transform:rotate(-15deg)}

/* House code and invitation */
.code__grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;margin-top:68px}
.code h2{font-size:clamp(68px,7vw,112px)}
.code__lede{font-size:16px;color:#aaa1a2;line-height:1.8;max-width:340px;margin:32px 0 0}
.code__list{border-top:1px solid #4b3a3d}
.code__item{display:grid;grid-template-columns:40px 1fr 18px;gap:18px;padding:27px 0 28px;border-bottom:1px solid #4b3a3d;align-items:start}
.code__item>span:first-child{font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--red);padding-top:4px}
.code__item>span:last-child{color:var(--red);font-size:19px;line-height:1}
.code__item h3{font-family:var(--font-display);font-size:18px;letter-spacing:-.02em;margin:0 0 7px}
.code__item p{color:#9f9697;font-size:14px;line-height:1.6;margin:0}
.join{position:relative;background:linear-gradient(120deg,#640e1b 0%,#9e1828 52%,#520c16 100%);overflow:hidden}
.join__glow{position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,#fc4a5842,transparent 38%),linear-gradient(135deg,#0d090a22,transparent 55%)}
.join__inner{position:relative;padding-top:90px;padding-bottom:125px;z-index:1}
.section-kicker--light{color:#ebbac0}
.section-kicker--light .section-number{color:white}
.section-kicker--light .section-rule{background:#e9959d80}
.join__eyebrow{margin:110px 0 20px;color:#ffc5c9}
.join h2{font-family:var(--font-display);font-size:clamp(84px,12vw,188px);font-weight:700;letter-spacing:-.09em;line-height:.82;margin:0;position:relative;z-index:2}
.join h2 em{color:#ff4f60}
.join__copy{font-size:16px;line-height:1.7;color:#f3cbd0;max-width:465px;margin:36px 0 27px;position:relative;z-index:2}
.join__links{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:2}
.join__pending{display:inline-flex;align-items:center;gap:28px;border:1px solid #ed909a;padding:18px 22px;color:#ffd8dc}
.join__pending span{font-size:19px;font-weight:400}
.join__outline{position:absolute;right:2%;bottom:-30%;font-family:var(--font-display);font-size:min(68vw,950px);font-weight:700;line-height:1;letter-spacing:-.15em;color:transparent;-webkit-text-stroke:1px #ffc1c42b;pointer-events:none}
.footer{background:#09090b}
.footer__top{min-height:225px;padding-top:62px;padding-bottom:58px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;border-bottom:1px solid #312b2e}
.footer__logo{font-size:53px}
.footer__top p{font-size:14px;line-height:1.65;color:#9f9697;margin:0}
.footer__up{justify-self:end;border-bottom:1px solid #61575a;padding-bottom:10px}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:30px;color:#6e6668;font-size:9px}

@media(max-width:1200px){.nav{gap:22px;margin-left:55px}.header-status{display:none}.hero h1{font-size:clamp(75px,9vw,125px)}.intro h2{font-size:clamp(56px,7vw,92px)}}
@media(max-width:820px){.container{width:min(100% - 40px,700px)}.site-header{height:72px;padding:0 20px}.header-cta{display:none}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #ffffff55;background:#09090b77}.menu-toggle span{width:19px;height:1px;background:#fff}.nav{display:none;position:absolute;top:72px;left:0;right:0;margin:0;padding:20px;background:#121013;border-bottom:1px solid #ffffff33;flex-direction:column;gap:0}.nav--open{display:flex}.nav a{padding:15px 3px;border-bottom:1px solid #ffffff18}.hero{min-height:760px;height:100svh}.hero__image{background-position:56% center}.hero__shade{background:linear-gradient(90deg,#08080af0,#08080a66),linear-gradient(0deg,#08080bf5,transparent 32%,#08080a88)}.hero__inner{padding-top:clamp(190px,24vh,250px)}.hero h1{font-size:clamp(62px,11vw,105px)}.hero__vertical{display:none}.intro__grid{grid-template-columns:1fr;gap:25px;margin:45px 0 50px}.intro__aside{max-width:600px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card{min-height:360px}.feature-card:last-child{grid-column:span 2;min-height:320px}.code__grid{gap:40px}.section-pad{padding-top:90px;padding-bottom:100px}}
@media(max-width:600px){.age-gate{padding:16px}.age-gate::before{right:0}.age-gate__card{padding:28px 24px 25px}.age-gate__side{display:none}.age-gate__actions{flex-direction:column}.age-gate__actions .button{width:100%;min-height:54px}.age-gate h1{font-size:clamp(55px,15vw,76px)}.hero{min-height:710px}.hero__image{background-position:58% center}.hero__inner{padding-top:190px}.hero__meta{font-size:8px;gap:8px}.hero__meta-line{width:18px}.hero h1{font-size:clamp(54px,12vw,82px);margin:30px 0}.hero h1 em{white-space:normal}.hero__lede{font-size:14px;max-width:360px}.hero__actions{gap:20px;align-items:flex-start;flex-direction:column}.hero__actions .button{min-height:55px}.hero__bottom{font-size:8px;bottom:19px}.hero__bottom>span:last-child{display:none}.ticker{height:48px;font-size:16px}.ticker__track span{font-size:20px;margin:0 18px}.section-kicker{font-size:8px;gap:10px}.intro h2,.code h2{font-size:clamp(50px,12vw,75px)}.intro__aside p{font-size:14px}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card:last-child{grid-column:auto;min-height:315px}.feature-card h3{font-size:40px}.statement__inner{padding-top:62px;padding-bottom:70px}.statement p{font-size:clamp(48px,11vw,72px)}.statement__asterisk{font-size:270px;right:-65px;top:25px}.code__grid{grid-template-columns:1fr;gap:35px;margin-top:45px}.code__lede{font-size:14px}.join__inner{padding-top:70px;padding-bottom:90px}.join__eyebrow{margin-top:85px;font-size:9px}.join h2{font-size:clamp(82px,19vw,130px)}.join__copy{font-size:14px}.join__outline{right:-15%;bottom:0;font-size:140vw}.footer__top{grid-template-columns:1fr 1fr;gap:22px;min-height:0}.footer__top p{grid-column:1/-1;grid-row:2}.footer__up{align-self:center}.footer__bottom{flex-direction:column;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker__track{animation:none}.button,.feature-card{transition:none}}

/* Motion and imagery */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#ff4556;z-index:90;transform:scaleX(0);transform-origin:left;box-shadow:0 0 15px #e22635a8;pointer-events:none}
.age-gate::before{animation:gatePulse 9s ease-in-out infinite alternate}
.age-gate__card{animation:gateIn .85s cubic-bezier(.2,.8,.2,1) both}
.age-gate__line{position:relative;overflow:hidden}
.age-gate__line::after{content:"";position:absolute;inset:0;width:30%;background:linear-gradient(90deg,transparent,#fa485a,transparent);animation:lineSweep 4s ease-in-out infinite}
.age-gate__card .button--red{position:relative;overflow:hidden}
.age-gate__card .button--red::after{content:"";position:absolute;top:-100%;bottom:-100%;left:-55%;width:35%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#ffffff4f,transparent);transition:left .55s ease}
.age-gate__card .button--red:hover::after{left:125%}
.hero__image{animation:heroDrift 18s ease-in-out infinite alternate;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 75% 36%,#ff172f31,transparent 28%);mix-blend-mode:screen;animation:lightShift 9s ease-in-out infinite alternate}
body.entered .hero__meta{animation:riseIn .7s .1s both}
body.entered .hero h1{animation:riseIn .9s .2s both}
body.entered .hero__lede{animation:riseIn .8s .45s both}
body.entered .hero__actions{animation:riseIn .8s .6s both}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;bottom:-10px;left:0;right:100%;height:2px;background:var(--red);transition:right .25s ease}
.nav a:hover::after,.nav a:focus-visible::after{right:0}
.button span,.text-link span,.header-cta span{transition:transform .2s ease}
.button:hover span,.text-link:hover span,.header-cta:hover span{transform:translate(3px,-3px)}
.feature-card{min-height:450px;isolation:isolate}
.feature-card::before{display:none}
.feature-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#09090b72 0%,#09090b12 30%,#09090ba8 58%,#09090bf5 100%)}
.feature-card__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.85);transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.feature-card:hover .feature-card__photo{transform:scale(1.09);filter:saturate(1.08)}
.feature-card__number,.feature-card__content,.feature-card__arrow{position:relative;z-index:2}
.feature-card__number{color:#f2e7e7;text-shadow:0 1px 12px #000}
.feature-card__content{margin-top:auto}
.feature-card__icon{color:#ff4859;text-shadow:0 0 28px #e2263580}
.feature-card p{color:#e1d6d7;text-shadow:0 1px 12px #000}
.feature-card__arrow{position:absolute;color:#ff5565}
.statement__asterisk{animation:slowSpin 28s linear infinite}
.join__glow{animation:glowMove 10s ease-in-out infinite alternate}
.join__outline{animation:outlineFloat 9s ease-in-out infinite alternate}
.motion-ready [data-reveal]{opacity:0;transform:translateY(46px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),border-color .25s ease,background .25s ease;transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.motion-ready .feature-card.is-visible:hover{transform:translateY(-8px)}
@keyframes gateIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gatePulse{from{transform:scale(.94);opacity:.5}to{transform:scale(1.1);opacity:1}}
@keyframes lineSweep{0%,18%{transform:translateX(-150%)}55%,100%{transform:translateX(450%)}}
@keyframes heroDrift{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.1) translateX(-2%)}}
@keyframes lightShift{from{opacity:.45;transform:translateX(-4%)}to{opacity:1;transform:translateX(4%)}}
@keyframes riseIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@keyframes slowSpin{to{transform:rotate(345deg)}}
@keyframes glowMove{to{transform:translate(5%,-3%) scale(1.12)}}
@keyframes outlineFloat{to{transform:translateY(-4%)}}
@media(max-width:820px){.feature-card{min-height:400px}}
@media(max-width:600px){.feature-card,.feature-card:last-child{min-height:390px}.feature-card__photo{object-position:center 42%}}
@media(prefers-reduced-motion:reduce){.age-gate::before,.age-gate__card,.age-gate__line::after,.hero__image,.hero::after,body.entered .hero__meta,body.entered .hero h1,body.entered .hero__lede,body.entered .hero__actions,.statement__asterisk,.join__glow,.join__outline{animation:none!important}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.feature-card__photo,.nav a::after,.button span,.text-link span,.header-cta span{transition:none}.feature-card:hover .feature-card__photo{transform:none}}
