@font-face{font-family:"Tenor";src:url("/assets/tenor-sans.woff2") format("woff2");font-display:swap;}
:root{--ow:#F2EDE4;--dim:rgba(242,237,228,.5);--faint:rgba(242,237,228,.32);--line:rgba(242,237,228,.28);}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#000;color:var(--ow);font-family:"Tenor",serif;-webkit-font-smoothing:antialiased}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
header{display:flex;justify-content:flex-end;padding:40px 56px 0}
.private{font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--dim)}
main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.logo{width:420px;max-width:78vw;display:block}
.logo img{width:100%;display:block}
form{width:280px;max-width:100%;margin-top:104px}
.field{position:relative;margin-bottom:34px}
label{display:block;font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ow);font-family:inherit;font-size:14px;letter-spacing:.12em;padding:0 0 10px;outline:none;border-radius:0}
input::placeholder{color:transparent}
button{margin-top:14px;width:100%;height:46px;background:transparent;border:1px solid var(--line);color:var(--ow);font-family:inherit;font-size:10.5px;letter-spacing:.46em;text-transform:uppercase;cursor:pointer;padding-left:.46em}
.alt{margin-top:22px;text-align:center}
.alt a{font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);text-decoration:none}
footer{display:flex;justify-content:space-between;align-items:center;padding:0 56px 40px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.enc{display:flex;align-items:center;gap:10px}
.enc svg{width:9px;height:11px;opacity:.6}
@media (max-width:600px){
  header{padding:22px 24px 0;justify-content:center}
  main{padding:12px 24px}
  .logo{width:270px}
  form{width:100%;max-width:290px;margin-top:clamp(36px,7svh,64px)}
  .field{margin-bottom:28px}
  .alt{margin-top:18px}
  .msg{margin-top:16px}
  footer{flex-direction:column-reverse;gap:10px;padding:0 24px 22px;font-size:8.5px;letter-spacing:.24em;text-align:center}
}
.msg{margin-top:26px;min-height:14px;text-align:center;font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);opacity:0;transition:opacity .8s ease}
.msg.on{opacity:1}

input{caret-color:#F2EDE4;accent-color:#F2EDE4}
::selection{background:rgba(242,237,228,.22);color:#F2EDE4}
input:-webkit-autofill{-webkit-text-fill-color:#F2EDE4;-webkit-box-shadow:0 0 0 1000px #000 inset;caret-color:#F2EDE4}
/* rev 5: one quiet Instagram link; no default blue anywhere */
html{-webkit-tap-highlight-color:transparent}
a{color:#F2EDE4}
.ig{color:var(--dim);text-decoration:none;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;border-bottom:1px solid transparent;transition:border-color .4s ease,color .4s ease}
.ig:hover,.ig:focus-visible{color:#F2EDE4;border-bottom-color:rgba(242,237,228,.4);outline:none}
a:focus-visible,button:focus-visible{outline:1px solid #F2EDE4;outline-offset:4px}
input{font-size:16px}
@media (max-width:600px){.ig{font-size:8.5px;letter-spacing:.24em}}
/* rev 6: access-code entry + unlocked link */
.code,.open{width:280px;max-width:100%;margin-top:104px;text-align:center;opacity:0;transition:opacity .9s ease}
.code.in,.open.in{opacity:1}
form.in{opacity:1;transition:opacity .9s ease}
.code label{text-align:center;padding-left:.36em}
.code input{text-align:center;font-size:20px;letter-spacing:.62em;padding:0 0 10px .62em;caret-color:#F2EDE4}
.code input:disabled{opacity:.45}
.code .msg{margin-top:22px}
.code .alt{margin-top:18px}
.open a{font-size:10.5px;letter-spacing:.46em;text-transform:uppercase;padding:0 0 6px .46em;color:#F2EDE4;text-decoration:none;border-bottom:1px solid rgba(242,237,228,.28);transition:border-color .5s ease}
.open a:hover,.open a:focus-visible{border-bottom-color:#F2EDE4;outline:none}
[hidden]{display:none!important}
@media (max-width:600px){.code,.open{margin-top:clamp(36px,7svh,64px)}}
