/* ============ ANUVI — cinematic design system ============ */
:root{
  --ink:#0A1420;        /* near-black blue — film dark */
  --ink-2:#101F33;      /* raised dark surface */
  --paper:#FFFFFF;      /* pure white */
  --paper-2:#F5F5F6;    /* light gray surface */
  --white:#FFFFFF;
  --cobalt:#E3256B;     /* raspberry accent */
  --sky:#F58FB8;        /* blush — accent on dark */
  --muted:#5F6B78;      /* body on paper */
  --muted-d:#8B99A9;    /* body on ink */
  --line:rgba(10,20,32,.14);
  --line-d:rgba(255,255,255,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scrollbar-width:thin;scrollbar-color:var(--cobalt) transparent}
body{
  font-family:'Instrument Sans',sans-serif;
  font-size:16px;line-height:1.6;
  background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--cobalt);color:var(--paper)}
img,video{display:block;max-width:100%}
a{color:inherit}

.serif{font-family:'Instrument Serif',serif;font-weight:400}
.mono{font-family:'IBM Plex Mono',monospace}

h1,h2,h3,.display{
  font-family:'Instrument Serif',serif;font-weight:400;
  line-height:.98;letter-spacing:-.01em;
}
h1 em,h2 em,.display em{font-style:italic;color:var(--cobalt)}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--muted);display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--cobalt)}
.on-dark .eyebrow,.eyebrow.light{color:var(--muted-d)}

.container{max-width:1280px;margin:0 auto;padding:0 6vw}

/* ---------- film grain ---------- */
.grain{
  position:fixed;inset:-100px;z-index:90;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- progress ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:80;transform-origin:0 0;transform:scaleX(0);background:var(--cobalt)}

/* ---------- nav ---------- */
nav.site{
  position:fixed;top:0;left:0;right:0;z-index:70;
  display:flex;justify-content:space-between;align-items:center;
  padding:26px 6vw;mix-blend-mode:difference;color:#fff;
}
nav.site .wordmark{
  font-family:'Instrument Serif',serif;font-size:22px;letter-spacing:.01em;
  color:#fff;text-decoration:none;
}
nav.site .links{display:flex;gap:32px;align-items:center}
nav.site .links a{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(255,255,255,.72);text-decoration:none;
  transition:color .25s;
}
nav.site .links a:hover{color:#fff}
@media(max-width:820px){nav.site .links a:not(.always){display:none}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  padding:18px 34px;border-radius:100px;text-decoration:none;
  transition:all .35s cubic-bezier(.2,.7,.2,1);border:1px solid transparent;
}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--cobalt);transform:translateY(-2px)}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--cobalt);color:var(--cobalt);transform:translateY(-2px)}
.btn-paper{background:var(--paper);color:var(--ink)}
.btn-paper:hover{background:var(--sky);transform:translateY(-2px)}
.btn-line-d{border-color:var(--line-d);color:var(--paper);background:transparent}
.btn-line-d:hover{border-color:var(--paper);transform:translateY(-2px)}

/* ---------- reveal primitives ---------- */
.reveal{opacity:0;transform:translateY(28px)}
.line-mask{display:block;overflow:hidden}
.line-mask>span{display:block;transform:translateY(110%)}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:var(--paper);padding:90px 0 40px;position:relative}
footer.site .foot-grid{
  max-width:1280px;margin:0 auto;padding:0 6vw;
  display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-end;
}
footer.site .big{font-family:'Instrument Serif',serif;font-size:clamp(2.6rem,6vw,5rem);line-height:1}
footer.site .cols{display:flex;gap:70px;flex-wrap:wrap}
footer.site .col b{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-d);display:block;margin-bottom:14px;font-weight:500}
footer.site .col p{font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.9}
footer.site .base{
  max-width:1280px;margin:70px auto 0;padding:26px 6vw 0;border-top:1px solid var(--line-d);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-d);
}
footer.site .base a{color:inherit;text-decoration:none}
footer.site .base a:hover{color:var(--paper)}

/* ---------- static / QA mode ---------- */
html.static .reveal{opacity:1;transform:none}
html.static .line-mask>span{transform:none}
html.static #titlecard{display:none}
