/* tokens.css - :root vars, reset, .container */
  :root{
    --paper:#F6F2EA;
    --paper-soft:#EDE8DD;
    --ink:#1F1E23;
    --muted:#6B6862;
    --char:#2B2A30;       /* charcoal — straight from the badge */
    --char-deep:#1B1A1F;
    --red:#C92B1E;        /* race-day crimson */
    --red-bright:#E2543E;
    --line:rgba(31,30,35,.14);
    --card:#FCFAF4;
    --ease:cubic-bezier(.16,1,.3,1);
    --ease-io:cubic-bezier(.76,0,.24,1);
    --pad:clamp(20px,4.5vw,64px);
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:auto}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;
    font-size:16px;
    line-height:1.7;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--red);color:var(--paper)}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  ul,ol{list-style:none}
  button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
  :focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}

  .container{max-width:1360px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
  section{scroll-margin-top:104px}

  .grain{
    position:fixed;inset:-50%;z-index:990;pointer-events:none;opacity:.05;
    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.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
