@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/bodoni-moda-italic-400.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/bodoni-moda-normal-400.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/inter-var.woff2) format("woff2")}
:root{--stone:#E9E3E0;--claret:#7D062A;--claret-dark:#5e0420;--ink:#3a2a2c;--muted:#5f5052;--rule:#cfc5c1;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--serif:"Bodoni Moda","Bodoni 72","Didot",Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--stone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;display:flex;flex-direction:column}
a{color:var(--claret)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--claret);outline-offset:3px}
.vh,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
.splash{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(48px,10vh,140px) 16px clamp(32px,6vh,80px)}
.brand{margin:0;font-size:inherit;line-height:0;width:min(84vw,clamp(260px,52vw,980px))}
.logo{display:block;width:100%;height:auto}
.soon{margin:clamp(28px,5vh,64px) 0 0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,1.1rem + 2.2vw,3.6rem);line-height:1.15;color:var(--claret);letter-spacing:.005em}
.notify{margin-top:clamp(32px,6vh,72px);width:min(100%,520px)}
.row{display:flex;gap:10px}
.notify input{flex:1;min-width:0;height:52px;padding:0 16px;border:1px solid #9c8f8c;border-radius:2px;background:#f6f2f0;color:var(--ink);font:inherit;font-size:17px}
.notify input::placeholder{color:#7a6c6e}
.notify button{height:52px;padding:0 22px;border:0;border-radius:2px;background:var(--claret);color:#fff;font:500 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.notify button:hover{background:var(--claret-dark)}
.notify button[disabled]{opacity:.65;cursor:progress}
.consent{margin:14px auto 0;max-width:44ch;font-size:14px;line-height:1.5;color:var(--muted)}
.status{min-height:1.5em;margin:12px 0 0;font-size:16px;color:var(--ink)}
.status.ok{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);color:var(--claret)}
.status.err{color:#8a0f2e;font-weight:500}
.notify.done .row,.notify.done .consent{display:none}
.foot{padding:20px 16px 28px;text-align:center;font-size:13px;color:var(--muted);border-top:1px solid var(--rule);margin:0 auto;width:min(100% - 32px,1100px)}
.foot p{margin:4px 0}
@media (max-width:520px){.row{flex-direction:column}.notify input{flex:none;width:100%}.notify button{width:100%}}
@media (min-width:2200px){.brand{width:min(60vw,1560px)}.soon{font-size:5.4rem}body{font-size:22px}.notify{width:min(100%,960px)}.notify input,.notify button{height:84px;font-size:27px;padding:0 28px}.consent{font-size:22px}.status{font-size:24px}.foot{font-size:19px}}
/* letter-by-letter build, like the reel's opening frame */
.js .logo .l{opacity:0;animation:rise .7s ease-out forwards}
.js .logo .l0{animation-delay:0.15s}.js .logo .l1{animation-delay:0.37s}.js .logo .l2{animation-delay:0.59s}.js .logo .l3{animation-delay:0.81s}.js .logo .l4{animation-delay:1.03s}.js .logo .l5{animation-delay:1.25s}
.js .soon{opacity:0;animation:rise 1s ease-out forwards;animation-delay:1.55s}
.js .notify{opacity:0;animation:rise .8s ease-out forwards;animation-delay:2.05s}
@keyframes rise{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.js .logo .l,.js .soon,.js .notify{opacity:1;animation:none}}
/* privacy */
.doc .privacy{flex:1;width:min(100% - 32px,680px);margin:0 auto;padding:48px 0 40px}
.privacy .back{display:block;width:180px;margin-bottom:36px}
.privacy h1{font-family:var(--serif);font-weight:400;font-size:2.4rem;color:var(--claret);margin:0 0 16px}
.privacy h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--claret);margin:28px 0 6px}
.privacy p{margin:0 0 10px}
.privacy .updated{margin-top:28px;font-size:14px;color:var(--muted)}
