/* ILSPR Design System - tokens v1.0.0 */
:root{
  --ilspr-ink:#111820;
  --ilspr-paper:#eef0ef;
  --ilspr-surface:#fafbf9;
  --ilspr-accent:#f4c430;
  --ilspr-muted:#45505a;
  --ilspr-muted-on-dark:#c5cac8;
  --ilspr-soft-on-dark:#e4e7e5;
  --ilspr-hairline:rgba(17,24,32,.14);
  --ilspr-scrim:linear-gradient(180deg, rgba(17,24,32,.05), rgba(17,24,32,.82));

  --ilspr-font-sans:Archivo, Helvetica, sans-serif;
  --ilspr-font-mono:'IBM Plex Mono',monospace;
  --ilspr-size-body:18px;
  --ilspr-lh-body:1.5;

  --ilspr-shell:min(1440px, calc(100% - 64px));
  --ilspr-rule:2px solid var(--ilspr-ink);
  --ilspr-section-y:clamp(72px,9vw,130px);
  --ilspr-header-h:88px;

  --ilspr-ease:cubic-bezier(.23,1,.32,1);
  --ilspr-dur-enter:620ms;
  --ilspr-dur-reveal:700ms;
}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--ilspr-paper);color:var(--ilspr-ink);
  font-family:var(--ilspr-font-sans);font-size:var(--ilspr-size-body);
  line-height:var(--ilspr-lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:var(--ilspr-ink);text-underline-offset:4px;}
a:hover{color:var(--ilspr-muted);}
:focus-visible{outline:3px solid var(--ilspr-accent);outline-offset:4px;}
h1,h2,h3,p{margin:0;text-wrap:pretty;}

@keyframes ilsprEnter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes ilsprMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (prefers-reduced-motion:reduce){ *{animation:none !important;transition:none !important;} }
