
@font-face{font-family:"corm";src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"corm";src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"corm";src:url(/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"corm";src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}

:root{--blk:#13110F;--wht:#ECE4D1;--gold:#AE8D58;--soft:rgba(236,228,209,.62);--faint:rgba(236,228,209,.36);--line:rgba(236,228,209,.18);--t:"corm",Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
html{-webkit-text-size-adjust:100%;background:var(--blk)}
body{background:var(--blk);color:var(--wht);font:500 18px/1.5 var(--t);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
svg{display:block;height:auto}
.door{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 24px 40px}
.mark{width:clamp(76px,9vw,104px);opacity:0;animation:rise 1.6s .2s cubic-bezier(.2,.7,.2,1) forwards}
h1{font:400 italic clamp(34px,4.4vw,48px)/1.1 var(--t);letter-spacing:.005em;margin-top:clamp(36px,5vh,52px);opacity:0;animation:rise 1.6s .7s cubic-bezier(.2,.7,.2,1) forwards}
form{width:min(100%,360px);margin-top:clamp(44px,7vh,64px);opacity:0;animation:rise 1.6s 1.2s cubic-bezier(.2,.7,.2,1) forwards}
label.sr,.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
input[type=email]{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--wht);font:500 19px/1.3 var(--t);padding:12px 2px;text-align:center;outline:none;transition:border-color .5s}
input[type=email]::placeholder{color:var(--faint)}
input[type=email]:focus{border-bottom-color:var(--gold)}
button{width:100%;margin-top:22px;background:transparent;border:1px solid var(--gold);color:var(--wht);font:600 12px/1 var(--t);letter-spacing:.32em;text-transform:uppercase;padding:17px 0 16px .32em;cursor:pointer;transition:background .5s,color .5s}
button:hover,button:focus-visible{background:var(--gold);color:var(--blk);outline:none}
button:disabled{opacity:.5;cursor:default}
.msg{min-height:1.5em;margin-top:18px;font:400 italic 17px/1.5 var(--t);color:var(--soft)}
.msg.err{color:#C9A27A}
.done form{display:none}
.done .msg{margin-top:clamp(44px,7vh,64px);font-size:22px;color:var(--wht)}
footer{padding:0 24px 34px;text-align:center;font:600 11px/1 var(--t);letter-spacing:.42em;text-transform:uppercase;color:var(--soft)}
footer span{padding-left:.42em}
.nf h1{margin-top:44px}
.nf a{display:inline-block;margin-top:40px;font:600 12px/1 var(--t);letter-spacing:.32em;text-transform:uppercase;color:var(--wht);text-decoration:none;border:1px solid var(--gold);padding:16px 26px 15px calc(26px + .32em);transition:background .5s,color .5s}
.nf a:hover{background:var(--gold);color:var(--blk)}
.chip{position:fixed;left:12px;bottom:12px;font:600 10px/1 system-ui,sans-serif;letter-spacing:.06em;color:#000;background:#f5d76e;padding:6px 8px;border-radius:3px}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mark,h1,form{animation:none;opacity:1}}
