/* theme.css — THE single place for the site's look. Edit these values (or swap this file) to restyle everything.
 * Colour, fonts, type, spacing, shape, imagery treatment, and the hero WebGL palette (--hero-*) live here.
 * site.css and the JS read only these custom properties.
 * Direction: off-white ground, near-black type, one red accent; occasional full-black sections (.theme-dark). */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  /* colour */
  --bg:#FAFAF7; --fg:#111111; --muted:#4A4A4A; --line:rgb(17 17 17/.16); --line-art:rgb(17 17 17/.10);
  --accent:#A6311F;                       /* Edith's red: the ONLY accent */
  --nav-bg:rgb(250 250 247/.86); --media-bg:#111111; --btn-bg:var(--fg); --btn-fg:var(--bg);
  --scrim:linear-gradient(180deg,rgb(10 10 10/.25),rgb(10 10 10/.88)); --on-media-muted:rgb(255 255 255/.82);
  --img-filter:grayscale(1) contrast(1.05);  /* black-and-white imagery treatment */
  --logo-light:none; --logo-dark:block;      /* which Neolence logo shows on light vs dark nav */
  /* hero WebGL palette (read by js/hero/*.js at boot; 6-digit hex only) */
  --hero-bg:#FAFAF7; --hero-point:#111111; --hero-accent:#A6311F;
  /* AlphaX enzyme engine palette (read by js/enzyme.js; hex only). Monochrome + red. */
  --chain-a:#F4F4F1; --chain-b:#9A9A96; --chain-c:#A6311F; --edge:#0A0A0A; --sub:#A6311F;
  /* type: one heavy grotesk, self-hosted */
  --display:"Archivo","Helvetica Neue",Arial,sans-serif; --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --w-display:800; --w-h2:750; --w-body:400; --stretch:92%; --track-display:-.035em; --track-label:.12em;
  --t-display:clamp(48px,8vw,136px); --t-h2:clamp(32px,4.6vw,72px); --t-body:clamp(17px,.5vw + 15px,20px); --t-small:14px;
  --t-numeral:clamp(96px,14vw,220px);
  /* space, shape */
  --s1:8px; --s2:16px; --s3:32px; --s4:64px; --s5:128px; --r:0px; --gut:clamp(20px,5vw,72px); --nav-h:76px;
  color-scheme:light
}
/* full-black contrast sections: same tokens, inverted */
.theme-dark{
  --bg:#0A0A0A; --fg:#FFFFFF; --muted:rgb(255 255 255/.72); --line:rgb(255 255 255/.18); --line-art:rgb(255 255 255/.14);
  --btn-bg:#FFFFFF; --btn-fg:#0A0A0A; --accent:#E0533D;   /* lighter step of the same red for contrast on black */
  color-scheme:dark
}
/* foreground line-art compositions (art.py) */
:root{--art-ink:#111111; --art-accent:#A6311F; --art-panel:#F2F1EC; --art-frame:rgb(17 17 17/.16); --art-stroke:1.5}
.theme-dark{--art-ink:rgb(255 255 255/.86); --art-accent:#E0533D; --art-panel:#141414; --art-frame:rgb(255 255 255/.18)}
