/* ==========================================================================
   Design tokens — Prime Excavation & Co
   Dark industrial. Anton display + Inter body. Single accent: work-light blue.
   ========================================================================== */
:root{
  /* --- surface ramp: black -> carbon -> steel --- */
  --black:#070a0d;
  --carbon:#0d1217;
  --steel:#141b22;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.16);

  /* --- accent --- */
  --blue:#45b6e6;
  --blue-deep:#1d80b8;
  --blue-glow:rgba(69,182,230,.35);

  /* --- text --- */
  --white:#f4f8fb;
  --grey:#8b98a5;
  /* 4.9:1 on --carbon, 5.3:1 on --black — clears WCAG AA for small text.
     Do not darken this: it is used for footer meta, breadcrumbs and form notes. */
  --grey-dim:#78848f;

  /* --- semantic --- */
  --ok:#4ade80;
  --warn:#fbbf24;

  /* --- type --- */
  --font-display:'Anton',Impact,'Haettenschweiler','Arial Narrow Bold',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  --text-sm:.875rem;
  --text-base:clamp(.95rem,.92rem + .18vw,1.05rem);
  --text-lead:clamp(1rem,.95rem + .3vw,1.15rem);
  --text-h3:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --text-h2:clamp(2.4rem,1.6rem + 3.2vw,4.6rem);
  --text-h1:clamp(3.4rem,1.4rem + 8vw,9rem);

  /* --- kicker / eyebrow --- */
  --track-wide:.3em;
  --track-mid:.18em;

  /* --- spacing --- */
  --gutter:5vw;
  --space-section:clamp(4.5rem,3rem + 5vw,7rem);
  --space-stack:clamp(1.25rem,1rem + .8vw,1.75rem);
  --maxw:1300px;
  --maxw-prose:65ch;

  /* --- chrome --- */
  --nav-h:84px;
  --nav-h-scrolled:68px;
  --callbar-h:0px;           /* overridden on mobile where the call bar shows */

  /* --- motion --- */
  --duration-fast:150ms;
  --duration-normal:300ms;
  --duration-slow:600ms;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-out-quart:cubic-bezier(.22,1,.36,1);

  /* --- shape: the angled cut used on every CTA --- */
  --cut:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  --cut-sm:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}

/* ---------------------------------------------------------------------------
   Mobile: tighter rhythm so more of the page fits per screen.
   Desktop keeps the generous editorial spacing; phones get roughly half the
   section padding and a smaller heading floor, which lifts about a section and
   a half into every viewport.
   --------------------------------------------------------------------------- */
@media(max-width:680px){
  :root{
    --gutter:5.5vw;
    --nav-h:68px;
    --callbar-h:60px;

    --space-section:clamp(2.6rem,1.6rem + 4.5vw,3.75rem);
    --space-stack:clamp(.9rem,.7rem + .8vw,1.2rem);

    --text-base:.95rem;
    --text-lead:1rem;
    --text-h2:clamp(1.85rem,1.2rem + 3.6vw,2.6rem);
    --text-h3:1.05rem;
    --text-h1:clamp(2.6rem,1.2rem + 11vw,4rem);

    --track-wide:.24em;
  }
}

@media(max-width:380px){
  :root{
    --gutter:5vw;
    --text-h2:clamp(1.7rem,1.1rem + 3.4vw,2.2rem);
  }
}
