/* Cinematic Scroll Package — design tokens.
   All brand/product theming comes from project.config.json -> :root (set by config.js).
   These are neutral defaults so the template renders standalone. */

:root{
  /* themeable (overridden per client via config.theme) */
  --bg:#0E0F12;          /* page / canvas letterbox */
  --surface:#161720;
  --text:#F1ECE3;
  --text-dim:#cfc8bd;
  --muted:#8A8178;
  --accent:#FF5A36;      /* product identity color */
  --accent-ink:#0E0F12;  /* text on accent */
  --hair:rgba(241,236,227,0.12);

  /* fixed */
  --maxw:1180px;
  --ease:cubic-bezier(.16,1,.3,1);
  --display:'Archivo','Arial Narrow',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--bg); color:var(--text);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased; line-height:1.6;
  overflow-x:hidden;
}
::selection{ background:var(--accent); color:var(--accent-ink); }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

h1,h2,h3,.display{
  font-family:var(--display); font-weight:800;
  letter-spacing:-0.02em; line-height:0.98; text-transform:uppercase;
}

.eyebrow{
  font-size:12px; font-weight:600; letter-spacing:0.24em;
  text-transform:uppercase; color:var(--accent);
}
.lede{ color:var(--text-dim); font-size:clamp(15px,1.7vw,19px); line-height:1.55; }

.btn{
  display:inline-flex; align-items:center; gap:.5em;
  background:var(--accent); color:var(--accent-ink);
  font-weight:700; font-size:14px; letter-spacing:.01em;
  padding:.85em 1.4em; border-radius:999px;
  transition:transform .25s var(--ease), filter .25s var(--ease);
}
.btn:hover{ transform:translateY(-2px); filter:brightness(1.05); }

:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
