:root{
  /* Color — deep forest green as the major hero/background color,
     warm off-white for light sections, charcoal for dark sections,
     one muted green used sparingly as accent. */
  --ink:#111312;
  --paper:#f3f1e8;
  --paper-tint:#eaeee0;
  --hero-deep:#0d332b;
  --hero-deep-2:#164a3b;
  --acid:#7ed957;
  --acid-deep:#7ed957;
  --forest:#164a3b;
  --forest-soft:#1c2b25;
  --clay:#bd613c;
  --navy:#283875;
  --line:rgba(17,19,18,.16);
  --line-light:rgba(243,241,232,.24);
  --muted:#6b6f68;
  --muted-light:#a3a89d;

  /* Type */
  --mono:'DM Mono',monospace;
  --sans:'Manrope',sans-serif;
  --display:'DM Sans',sans-serif;
  --plastic-display:'Manrope',sans-serif;

  /* Fluid type scale — shared across every page */
  --fs-hero:clamp(2.6rem,5.6vw,4.6rem);
  --fs-h1:clamp(2.2rem,4.4vw,3.6rem);
  --fs-h2:clamp(1.9rem,3.2vw,3rem);
  --fs-h3:clamp(1.3rem,1.8vw,1.7rem);
  --fs-stat:clamp(3rem,7vw,6rem);
  --fs-body-lg:clamp(1.05rem,1.25vw,1.25rem);
  --fs-body:1rem;
  --fs-label:11px;

  /* Scale */
  --gutter:clamp(24px,5vw,72px);
  --section-pad:clamp(64px,9vw,128px);

  /* Easing */
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --ease-inout:cubic-bezier(.77,0,.18,1);
  --ease-magnet:cubic-bezier(.16,1,.3,1);
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
