/* ================= ARC ================= */
:root{
  --ink:#0E0D0B;--ink-2:#161512;--bone:#EDE8DD;--greige:#9A9284;
  --greige-dim:#5A554C;--brass:#A88A54;--brass-dim:rgba(168,138,84,0.22);
  --hair:rgba(237,232,221,0.08);
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.reveal.in{opacity:1;transform:none}
body::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;
  background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.5) .5px,transparent .6px),radial-gradient(circle at 65% 55%,rgba(255,255,255,.4) .5px,transparent .6px),radial-gradient(circle at 40% 85%,rgba(255,255,255,.45) .5px,transparent .6px);
  background-size:3px 3px,4px 4px,5px 5px}

.mark{position:fixed;top:34px;left:0;right:0;z-index:40;display:flex;justify-content:center;align-items:center;gap:.7rem;pointer-events:none}
.mark{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.mark-hidden{opacity:0;transform:translateY(-12px)}
.mark .glyph{width:15px;height:15px;opacity:.85}
.mark .word{font-family:var(--serif);font-size:1.05rem;letter-spacing:.62em;text-transform:uppercase;color:var(--bone);opacity:.9;padding-left:.62em}

section{position:relative;z-index:2}

/* ZONE 1 */
.gateway{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16vh 6vw 10vh;background:radial-gradient(ellipse at 50% 40%,#1a1815 0%,var(--ink) 66%)}
.gw-emblem{width:70px;height:70px;margin-bottom:3.8rem;opacity:.9}
.gw-pre{font-size:.66rem;letter-spacing:.44em;text-transform:uppercase;color:var(--greige);margin-bottom:2.4rem;font-weight:300}
.gw-title{font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.12;letter-spacing:.005em;max-width:17ch}
.gw-title em{font-style:italic;color:var(--brass)}
.gw-sub{margin-top:2.8rem;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--greige);font-weight:300;max-width:38ch;line-height:2.5}
.gw-cta{margin-top:3.8rem;display:inline-block;font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--bone);text-decoration:none;font-weight:300;padding-bottom:.5rem;border-bottom:1px solid var(--brass-dim);transition:border-color .6s var(--ease),color .6s var(--ease)}
.gw-cta:hover{border-color:var(--brass);color:var(--brass)}
.gw-scroll{position:absolute;bottom:5vh;left:50%;transform:translateX(-50%);width:1px;height:54px;background:linear-gradient(180deg,var(--brass-dim),transparent)}

/* ZONE 2 */
.manifesto{padding:22vh 6vw;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(180deg,var(--ink) 0%,#131210 50%,var(--ink) 100%)}
.mf-eyebrow{font-size:.64rem;letter-spacing:.44em;text-transform:uppercase;color:var(--brass);margin-bottom:5rem;font-weight:300}
.mf-line{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.8vw,3rem);line-height:1.34;letter-spacing:.01em;max-width:22ch;margin-bottom:clamp(3.4rem,8vh,6rem)}
.mf-line:last-child{margin-bottom:0}
.mf-line span{color:var(--greige)}

/* ZONE 3 */
.artifact{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#0A0908}
.art-visual{position:relative;overflow:hidden;min-height:100vh;background:linear-gradient(155deg,#2a2620,#0b0a08)}
.art-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.86) contrast(1.04) saturate(.95)}
.art-visual::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent 58%,rgba(10,9,8,.55) 100%),linear-gradient(180deg,rgba(10,9,8,.3),transparent 28%,transparent 72%,rgba(10,9,8,.5))}
.art-visual::after{content:"01 / 250";position:absolute;z-index:2;bottom:38px;left:38px;font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;color:var(--bone);opacity:.7;text-transform:uppercase}
.art-detail{display:flex;flex-direction:column;justify-content:center;padding:8vh clamp(2.5rem,6vw,7rem)}
.art-eyebrow{font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass);margin-bottom:1.6rem;font-weight:300}
.art-name{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.1;margin-bottom:2.8rem;color:var(--bone);min-height:1.1em}
.art-specs{display:flex;flex-direction:column;gap:0;margin-bottom:3.2rem;max-width:400px}
.spec{display:flex;justify-content:space-between;gap:2rem;padding:1.1rem 0;border-bottom:1px solid var(--hair)}
.spec dt{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--greige)}
.spec dd{font-size:.86rem;letter-spacing:.06em;color:var(--bone);text-align:right}
.locked{align-self:flex-start;font-family:var(--sans);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--greige);font-weight:300;background:transparent;border:1px solid var(--hair);padding:1.15rem 1.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.8rem;transition:color .6s var(--ease),border-color .6s var(--ease)}
.locked .dot{width:4px;height:4px;border-radius:50%;background:var(--brass)}
.locked:hover{color:var(--brass);border-color:var(--brass-dim)}

/* INDUCTION */
.induction{min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16vh 6vw 12vh;background:radial-gradient(ellipse at 50% 55%,#17140f 0%,var(--ink) 70%)}
.ind-emblem{width:38px;height:38px;opacity:.7;margin-bottom:2.6rem}
.ind-title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:1.2rem}
.ind-note{font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--greige);max-width:42ch;line-height:2.3;margin-bottom:3rem}
.ind-form{display:flex;flex-direction:column;gap:1.8rem;width:100%;max-width:420px}
.ind-form input{background:transparent;border:none;border-bottom:1px solid var(--brass-dim);color:var(--bone);font-family:var(--serif);font-weight:400;font-size:1.5rem;letter-spacing:.02em;text-align:center;padding:1rem .4rem;transition:border-color .5s var(--ease)}
.ind-form input::placeholder{color:var(--greige-dim);letter-spacing:.02em;font-style:italic;font-size:1.15rem}
.ind-form input:focus{outline:none;border-bottom-color:var(--brass)}
.ind-submit{font-family:var(--sans);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:300;color:var(--brass);background:transparent;border:1px solid var(--brass-dim);padding:1.15rem 2rem;cursor:pointer;transition:background .6s var(--ease),color .6s var(--ease)}
.ind-submit:hover{background:var(--brass);color:var(--ink)}
.ind-submit:disabled{opacity:.4;cursor:default}
.ind-submit:disabled:hover{background:transparent;color:var(--brass)}
.form-status{min-height:1.4em;margin-top:1.6rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--greige)}
.form-status.ok{color:var(--brass)}
.form-status.err{color:#b56b5a}

.footer{margin-top:9vh;display:flex;flex-direction:column;align-items:center;gap:1.2rem;color:var(--greige-dim)}
.footer .fglyph{width:18px;height:18px;opacity:.5}
.footer .fword{font-size:.6rem;letter-spacing:.5em;text-transform:uppercase;padding-left:.5em}
.legal-nav{display:flex;gap:1.6rem;margin-top:.4rem;flex-wrap:wrap;justify-content:center}
.legal-nav a{color:var(--greige-dim);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;transition:color .5s var(--ease)}
.legal-nav a:hover{color:var(--brass)}

@media(max-width:860px){
  .artifact{grid-template-columns:1fr}
  .art-visual{min-height:60vh}
  .art-visual::before{background:linear-gradient(180deg,rgba(10,9,8,.28),transparent 40%,transparent 70%,rgba(10,9,8,.55))}
  .art-detail{padding:9vh 8vw;text-align:center;align-items:center}
  .spec{width:100%}.locked{align-self:center}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ===== legal/policy pages ===== */
.legal-page{max-width:760px;margin:0 auto;padding:18vh 6vw 14vh}
.legal-page .back{display:inline-flex;align-items:center;gap:.6rem;color:var(--greige);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;margin-bottom:4rem;transition:color .5s var(--ease)}
.legal-page .back:hover{color:var(--brass)}
.legal-page h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:.8rem}
.legal-page .updated{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--greige-dim);margin-bottom:1.2rem}
.legal-page .disclaimer{border:1px solid var(--brass-dim);padding:1.2rem 1.4rem;font-size:.78rem;line-height:1.7;color:var(--greige);margin-bottom:3.4rem}
.legal-page h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--bone);margin:2.8rem 0 .9rem}
.legal-page p{font-size:.92rem;line-height:1.85;color:#cfc9bd;margin-bottom:1rem}
.legal-page ul{margin:0 0 1.2rem 1.2rem}
.legal-page li{font-size:.92rem;line-height:1.8;color:#cfc9bd;margin-bottom:.5rem}
.legal-page .blank{color:var(--brass);font-style:italic}
.legal-page .footer{margin-top:6rem}
