@font-face{font-family:Firjar;src:url('/assets/fonts/firjar/fonts/webfonts/Firjar-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:Trox;src:url('/assets/fonts/trox/TROX.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--ink:#172338;--muted:#687181;--gold:#c59120;--line:rgba(23,35,56,.14)}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Firjar,Tahoma,sans-serif;color:var(--ink);background:radial-gradient(circle at 82% 0,rgba(255,255,255,.98),transparent 31rem),repeating-linear-gradient(115deg,rgba(23,35,56,.018) 0 1px,transparent 1px 7px),linear-gradient(155deg,#e9e5de,#faf7f2 58%,#dfddd8)}
button,input{font:inherit}
.access-shell{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:30px 18px}
.access-card{width:min(100%,520px);display:grid;justify-items:center;gap:22px;padding:38px;border:1px solid rgba(23,35,56,.13);border-radius:34px;background:linear-gradient(145deg,rgba(255,253,249,.96),rgba(235,232,225,.94));box-shadow:0 30px 80px rgba(23,35,56,.16)}
.access-art{position:relative;overflow:hidden;width:118px;aspect-ratio:5/7;border:1px solid rgba(197,145,32,.55);border-radius:18px;background:#f3efe8;box-shadow:0 18px 35px rgba(23,35,56,.2);animation:tempt 3.2s ease-in-out infinite}.access-art img{position:absolute;inset:-5%;display:block;width:110%;max-width:none;height:110%;object-fit:cover}
.access-copy{text-align:center}.eyebrow{display:inline-flex;border:1px solid rgba(197,145,32,.32);border-radius:999px;padding:7px 13px;color:#745716;background:rgba(255,255,255,.58)}
h1{margin:14px 0 8px;font-family:Trox,Firjar,sans-serif;font-size:clamp(2rem,8vw,3.6rem);font-weight:500;line-height:1.2}
.access-copy p{max-width:420px;margin:0;color:var(--muted);line-height:1.8}
form{width:100%;display:grid;gap:10px}label{font-weight:700}input{width:100%;border:1px solid var(--line);border-radius:16px;padding:16px 18px;color:var(--ink);background:rgba(255,255,255,.82);font:700 1.45rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.14em;text-align:center;text-transform:uppercase;outline:none}input:focus{border-color:rgba(197,145,32,.75);box-shadow:0 0 0 4px rgba(197,145,32,.12)}
button{min-height:54px;border:0;border-radius:16px;padding:13px 18px;color:#fff;background:linear-gradient(145deg,#2c3b53,#131f32);box-shadow:0 14px 28px rgba(23,35,56,.2);cursor:pointer;font-weight:700}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}
.access-status{min-height:1.6em;margin:0;color:#a42f42;text-align:center}.access-status.success{color:#16785d}
@keyframes tempt{50%{transform:translateY(-8px) rotate(1.5deg);box-shadow:0 26px 42px rgba(23,35,56,.22)}}
@media(max-width:520px){.access-card{padding:28px 20px;border-radius:26px}.access-art{width:100px}}

/* The invitation opens into the same ivory and midnight auction room. */
body { background:#f3efe8; }
.access-shell { grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,110px); width:min(1200px,100%); margin:auto; padding:50px 45px; }
.access-invitation { position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-width:0; padding-block:55px; overflow:hidden; }
.access-wordmark { position:absolute; top:0; font:2rem Trox,Firjar,sans-serif; padding:.2em; color:#172338; text-decoration:none; }
.invitation-kicker { color:#987019; font-size:.83rem; }
.access-invitation h2 { font-size:clamp(3rem,5.7vw,5.3rem); line-height:1.45; margin:20px 0; letter-spacing:-.04em; }
.access-invitation em { color:#b18324; font-style:normal; }
.access-invitation p { line-height:2; color:var(--muted); font-size:1rem; }
.invitation-foot { position:absolute; bottom:0; font-size:.7rem; color:var(--muted); }
.invitation-orbit { position:absolute; z-index:-1; width:340px; aspect-ratio:1; border:1px solid rgba(197,145,32,.2); border-radius:50%; left:-80px; top:90px; color:var(--gold); font-size:2rem; }
.access-card { width:100%; max-width:460px; gap:21px; padding:38px 35px; border-radius:18px; border-color:var(--line); background:#fffdf8; box-shadow:0 16px 50px rgba(23,35,56,.06); }
.access-art { width:88px; border-radius:12px; box-shadow:0 12px 25px rgba(23,35,56,.12); }
.access-copy .eyebrow { border:0; border-radius:0; padding:0; background:none; color:#987019; font-size:.75rem; }
.access-copy h1 { font-family:Firjar,Tahoma,sans-serif; font-size:1.85rem; line-height:1.65; }
.access-copy p { font-size:.85rem; line-height:1.9; }
.access-card label { font-size:.8rem; }
.access-card input { border-radius:9px; min-height:60px; font-size:1.4rem; background:#f7f3ed; }
.access-card button { border-radius:9px; color:#172338; background:linear-gradient(115deg,#eac56b,#c59120); box-shadow:0 7px 0 -4px rgba(134,92,9,.25); }
.access-card button:focus-visible,.access-wordmark:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
@media(max-width:750px) { .access-shell { grid-template-columns:1fr; gap:25px; padding:28px 20px; }.access-invitation { min-height:160px; width:min(100%,460px); padding:50px 0 0; }.access-invitation h2 { font-size:2.2rem; margin:8px 0; }.access-invitation h2 br { display:none; }.access-invitation p,.invitation-foot,.invitation-orbit { display:none; }.access-wordmark { font-size:1.65rem; }.access-card { padding:26px 24px; }.access-copy h1 { font-size:1.65rem; }.access-art { width:72px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
