@font-face{font-family:Neue Montreal;src:url('./assets/ppneuemontreal-thin.otf') format('opentype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Neue Montreal;src:url('./assets/ppneuemontreal-book.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Neue Montreal;src:url('./assets/ppneuemontreal-medium.otf') format('opentype');font-style:normal;font-weight:500 700;font-display:swap}
:root{color-scheme:dark;font-family:Neue Montreal,Arial,sans-serif;color:#fff;background:#111110;--ease:cubic-bezier(.22,1,.36,1);--label-size:11px;--logo-top:clamp(32px,3.245svh,53px);--location-top:clamp(252px,29.883svh,488px)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a{color:inherit}h1,h2,p{margin:0}[hidden]{display:none!important}
.scene{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;overflow:clip}
.backdrop{position:absolute;z-index:-3;inset:0;overflow:hidden;background:#171716}.backdrop img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;filter:blur(clamp(12px,1.56vw,22px));transform:scale(1.08)}.backdrop::before{content:"";position:absolute;inset:0;z-index:1;background:url('./assets/grain.svg');opacity:.2;mix-blend-mode:soft-light;pointer-events:none}.backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.12),transparent 38%,rgba(0,0,0,.08) 60%,rgba(0,0,0,.35) 100%);pointer-events:none}
.intro-shade{position:absolute;inset:0;z-index:-2;background:#000;pointer-events:none;opacity:0}.intro-emblem{display:none;position:absolute;z-index:2;top:50svh;left:50%;width:min(71.33vw,913px);transform:translate(-50%,-50%);pointer-events:none}.intro-emblem img{display:block;width:100%;height:auto}
.brand{position:absolute;top:var(--logo-top);left:50%;width:176px;transform:translateX(-50%);z-index:1}.brand h1{line-height:0}.brand img{display:block;width:100%;height:auto}
.club-emblem{position:absolute;top:clamp(136px,15.554svh,254px);left:50%;width:100px;height:100px;transform:translateX(-50%)}
main{padding-top:var(--location-top);padding-bottom:80px;outline:none}.location{position:relative;top:-8px;text-align:center;text-transform:uppercase;font-size:27px;line-height:34px;font-weight:400}.location span{display:block}.location span:last-child{font-weight:500}
.signup{width:min(65%,820px);margin:157px auto 0;padding:31px 25px 28px;border-radius:14px;background:rgba(0,0,0,.45)}
form{display:grid;gap:17px}.field{min-width:0}input{display:block;width:100%;height:35px;border:1px solid transparent;border-radius:4px;padding:0 7px;background:rgba(0,0,0,.5);color:#fff;font-size:16px;line-height:1.2;transition:background-color .15s,border-color .15s}input::placeholder{font-size:var(--label-size);font-weight:300;color:#c2c2c2;opacity:1}input:hover{background:rgba(0,0,0,.72)}input:focus-visible{outline:2px solid #fff;outline-offset:3px}input[aria-invalid=true]{border-color:#ffbab0}
.join-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:57px;margin-top:5px;border:0;border-radius:4px;background:#fff;color:#080808;font-size:18px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:background-color .15s,transform .15s}.join-button:hover{background:#e6e6e1}.join-button:active{transform:translateY(1px)}.join-button:disabled{cursor:wait;background:#e6e6e1}.join-button:focus-visible,.footer a:focus-visible{outline:2px solid white;outline-offset:5px}
.footer{width:min(65%,820px);margin:auto auto calc(57px + env(safe-area-inset-bottom));color:#bfbfbf}.club-copy{text-align:center;margin:0 0 26px;font-size:var(--label-size);line-height:18px;font-weight:300;color:#b7b7b7}.mobile-break{display:none}.footer nav{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:56px;padding:0 28px;border-radius:10px;background:rgba(0,0,0,.65)}.footer a{display:flex;justify-content:center;align-items:center;min-height:56px;text-align:center;font-size:var(--label-size);font-weight:300;text-decoration:none;text-transform:uppercase;padding:0 4px}.footer a:first-child{justify-self:start}.footer a:last-child{justify-self:end}.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

.field-error{margin:7px 0 0;color:#ffd4ce;font-size:13px;line-height:1.35}.form-status{color:#fff;font-size:14px;line-height:1.45;text-align:center}.consent{font-size:12px;line-height:1.45;text-align:center;color:#e0e0e0}.consent a{white-space:nowrap;text-underline-offset:3px}.success{text-align:center;min-height:217px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;outline:none}.success h2{font-weight:400;font-size:24px}.success p{font-size:14px;line-height:1.5;max-width:340px}.spinner{width:15px;height:15px;border:1.5px solid #888;border-top-color:#111;border-radius:50%;animation:spin .8s linear infinite}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:12px 18px;background:#fff;color:#111;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
/* The supplied original photograph uses a static blur and vignette. Only opacity and transforms animate. */
.intro .intro-shade{animation:brighten 1.15s .2s both}.intro .intro-emblem{display:block;animation:emblem-out .5s 1.3s both}.intro .brand{animation:wordmark 3.35s var(--ease) both}.intro .reveal{animation:reveal .8s 2.8s both}.intro .club-emblem{animation:mark-reveal .8s 2.7s both}.intro .signup{animation-delay:2.95s}.intro .club-copy{animation-delay:3.1s}.intro .footer{animation-delay:3.2s}
@keyframes brighten{from{opacity:.83}to{opacity:0}}@keyframes emblem-out{0%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.97)}}@keyframes wordmark{0%,40%{opacity:0;transform:translate(-50%,calc(50svh - var(--logo-top) - 28.875px)) scale(.94)}60%,71%{opacity:1;transform:translate(-50%,calc(50svh - var(--logo-top) - 28.875px)) scale(1)}100%{opacity:1;transform:translate(-50%,0)}}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mark-reveal{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:700px) and (max-height:1100px){.signup{margin-top:48px;width:min(65%,640px)}.club-emblem{width:70px;height:70px}.location{font-size:20px;line-height:26px}.signup{padding-top:25px;padding-bottom:25px}.join-button{height:48px}main{padding-bottom:65px}.footer{width:min(65%,640px);margin-bottom:32px}.footer nav,.footer a{min-height:48px}}
@media(max-width:699px){.backdrop img{filter:blur(12px);transform:scale(1.13)}:root{--label-size:10px;--logo-top:49px;--location-top:clamp(192px,26.526svh,226px)}.brand{width:102px}.club-emblem{width:46px;height:46px;top:130px}.intro-emblem{width:100vw;max-width:510px}.location{top:-4px;font-size:14px;line-height:18px}.signup{width:calc(100% - 48px);max-width:416px;margin-top:35px;padding:23px 22px 22px;border-radius:10px}form{gap:15px}input{height:30px;border-radius:3px;padding:0 6px}.join-button{height:45px;margin-top:3px;border-radius:3px;font-size:14px}.club-copy{margin:0 0 24px;line-height:14px}.mobile-break{display:block}.footer{width:calc(100% - 48px);max-width:416px;margin-bottom:calc(20px + env(safe-area-inset-bottom))}.footer nav{min-height:45px;padding:0 24px;border-radius:7px}.footer a{min-height:45px;padding:0 4px}main{padding-bottom:72px}.success{min-height:185px}.success h2{font-size:21px}.success p{font-size:13px}.consent{font-size:11px}@keyframes wordmark{0%,40%{opacity:0;transform:translate(-50%,calc(50svh - var(--logo-top) - 16.734375px)) scale(.94)}60%,71%{opacity:1;transform:translate(-50%,calc(50svh - var(--logo-top) - 16.734375px)) scale(1)}100%{opacity:1;transform:translate(-50%,0)}}}
/* Continue clockwise after the introduction; preserve the centered position. */
:root:not(.intro) .club-emblem{animation:emblem-rotate 40s linear infinite}.success>img{animation:spin 40s linear infinite}
@keyframes emblem-rotate{from{transform:translateX(-50%) rotate(0deg)}to{transform:translateX(-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.intro .intro-emblem{display:none}.intro-shade{opacity:0}.spinner{border-color:#111}}
@media(forced-colors:active){input,.signup,.join-button{border:1px solid CanvasText}.join-button{background:ButtonFace;color:ButtonText}}

/* Legal notices remain separate from the single landing-page layout. */
.legal-page{min-height:100svh;display:flex;align-items:flex-start;justify-content:center;padding:clamp(32px,8vw,100px) 24px;background:#141413}.legal-content{width:min(100%,560px);padding:0}.legal-brand{display:inline-block;margin-bottom:64px}.legal-brand img{display:block;width:150px;height:auto}.legal-content h1{font-size:32px;font-weight:400;margin-bottom:24px}.legal-content p{font-size:17px;line-height:1.6;color:#d0d0cb;margin:0 0 18px}.legal-content .legal-status{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin-bottom:14px}.legal-back{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;text-underline-offset:4px}.legal-content a:focus-visible{outline:2px solid white;outline-offset:5px}

/* Explicit, independent marketing consent without changing the page's visual language. */
.sms-options{display:grid;gap:10px}.consent-left{text-align:left}.sms-choice{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;cursor:pointer}.sms-choice input{appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#fff}.sms-choice:has(input:disabled){cursor:default;color:#bfbfbf}input:disabled{opacity:.65;cursor:not-allowed}.legal-content h2{font-size:21px;font-weight:500;margin:30px 0 12px}.legal-content ul{padding-left:22px;line-height:1.6;color:#d0d0cb}.legal-content li{margin-bottom:10px}
