/* Industrial petrol palette. Single light theme on a white ground.
   Every text pair here is verified by tools/check-contrast.mjs (npm run contrast). */
:root {
  /* Brand ramp */
  --petrol-900: #0E3B3B;  /* darkest, bands and panels */
  --petrol-600: #167D7D;  /* mid, the interactive accent */
  --petrol-400: #37C1B8;  /* bright, fills and on-dark accents only */
  --petrol-050: #EDF3F2;  /* tint, alternating section bands */

  --paper:       #FFFFFF;
  --paper-warm:  #EDF3F2;
  --panel-dark:  #0E3B3B;

  /* Ink alphas sit above 0.69, the point below which they fall under 4.5:1 on
     the tint band. Hierarchy comes from size and weight, not opacity alone. */
  --ink:         #0E3B3B;
  --ink-soft:    rgba(14, 59, 59, 0.82);
  --ink-muted:   rgba(14, 59, 59, 0.76);
  --ink-faint:   rgba(14, 59, 59, 0.70);

  /* Hairline dividers. Decorative separation, not UI boundaries, so the 3:1
     graphical-object threshold does not apply to them. */
  --rule:        rgba(14, 59, 59, 0.14);
  --rule-strong: rgba(14, 59, 59, 0.26);

  --on-dark:       #EDF3F2;
  --on-dark-soft:  rgba(237, 243, 242, 0.80);
  --on-dark-muted: rgba(237, 243, 242, 0.72);

  /* One step darker than the #167D7D swatch. The swatch itself is 4.39:1 on the
     tint band, just under AA, and accent text lands on that band. The shift is
     imperceptible and it clears both grounds: 5.63:1 on white, 5.01:1 on tint. */
  --accent:        #157373;
  --accent-deep:   #0E3B3B;
  --accent-bright: #37C1B8;  /* 2.24:1 on white, never text on light */
  --teal-deep:     #0E3B3B;
  --on-accent:     #FFFFFF;

  /* Semantically reserved: pursue and decline only, never decorative.
     Deliberately outside the brand ramp so they read as signals, not styling.
     Two variants each, because the verdict appears on white and on the panel. */
  --pursue:          #3F7A16;
  --decline:         #A63A21;
  --pursue-on-dark:  #8FD14F;
  --decline-on-dark: #F08A70;

  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   clamp(16px, 1.05vw, 18px);
  --text-lg:   clamp(17px, 1.35vw, 20px);
  --text-xl:   clamp(19px, 1.7vw, 24px);
  --text-2xl:  clamp(22px, 2.2vw, 30px);
  --text-3xl:  clamp(26px, 2.9vw, 38px);
  --text-hero: clamp(32px, 4.4vw, 54px);

  --leading-tight: 1.15;
  --leading-snug:  1.35;
  --leading-body:  1.6;

  /* Corner radii. Restrained on purpose: enough to soften the panels, not so
     much that the page stops reading as an industrial document. */
  --radius-sm: 6px;   /* buttons, chips */
  --radius-md: 10px;  /* cards, panels  */

  --container: 90vw;
  --gutter: clamp(20px, 5vw, 64px);
  --reveal-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}
