/* ==========================================================================
   Prime Trans LLC — carrier site · design tokens
   Brand: Prime Trans blue (PT monogram + bar). Public application: warm
   paper, near-black ink, ONE saturated hue (the brand blue) used only where it
   means something — the mark, the primary action, the route line, key rules.
   Navy bands (hero / footer) carry the brand without turning the page blue.
   Deliberately NOT the neon-blue, badge-soup carrier template.
   ========================================================================== */

:root {
  /* ---- Brand ---- */
  --brand:      #1A5BAF;                    /* matched by eye from the logo; swap for the real hex */
  --brand-deep: #123F7C;
  --navy:       #0B1E3D;                    /* hero / footer band */
  --navy-2:     #154078;                    /* widened from #102A52 -- see _audit/contrast-after.md: 1.04pp/1.16:1 -> 3.85pp/1.61:1 */
  --brand-soft: oklch(0.94 0.03 258);
  --brand-line: oklch(0.475 0.148 258 / 0.85); /* alpha 0.40 -> 0.85: border/focus-ring floor was 1.90-1.93:1, needed 3:1 */
  --on-brand:   #FFFFFF;

  /* ---- Photographic ground ----
     The page used to run three flat values -- navy, white, warm off-white -- with
     nothing between them, so nothing on it cast light. These are the mid and low
     ends that photography needs: asphalt is the ground a photograph sits on and the
     scrim that headline type sits over; steel is the one mid neutral between paper
     and ink, for rules and captions that must not read as either. */
  --asphalt:   oklch(0.185 0.008 60);       /* warm near-black ~#17150F */
  --asphalt-2: oklch(0.26 0.010 60);
  --steel:     oklch(0.62 0.008 250);
  --scrim:     oklch(0.16 0.010 60 / 0.70); /* mid-frame: headline over a photograph, 3:1 */
  --scrim-2:   oklch(0.16 0.010 60 / 0.90); /* under body copy and the mono line, 4.5:1 */

  /* ---- Paper & ink ---- */
  --paper:   oklch(0.975 0.006 85);         /* warm off-white ~#F8F6F1 */
  --paper-2: #FFFFFF;
  --paper-3: oklch(0.955 0.008 85);         /* inset panels */
  --ink:     oklch(0.19 0.012 250);         /* ~#111418 */
  --muted:   oklch(0.45 0.015 250);
  --faint:   oklch(0.52 0.012 250);         /* was L0.60: 3.67:1 on paper failed body 4.5 -- crm.css uses it for real hint/timestamp text, not label-only */
  --line:    oklch(0.19 0.012 250 / 0.50);  /* was a.12: hairline measured 1.28-1.29:1, needed 3:1 */
  --line-2:  oklch(0.19 0.012 250 / 0.60);  /* was a.24: measured 1.69-1.70:1, needed 3:1 */

  /* On navy bands */
  --band-text:  oklch(0.97 0.006 85);
  --band-muted: oklch(0.80 0.02 250);       /* was L0.78: modest bump keeps band body text clear against the lighter --navy-2 below */
  --band-line:  oklch(1 0 0 / 0.46);        /* was a.14: band hairline measured 1.52-1.54:1, needed 3:1 against both navy tones */

  /* ---- Signal (guarantees / verified ticks only) ---- */
  --signal:    oklch(0.48 0.13 150);        /* was L0.58: 4.04:1 on paper-2 failed body 4.5 (crm.css uses it near body-sized) */
  --signal-bg: oklch(0.48 0.13 150 / 0.12);

  /* ---- Typography ---- */
  --font-display: "Archivo", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  --fs-300: 0.8rem;
  --fs-350: 0.875rem;
  --fs-400: 1rem;
  --fs-500: 1.125rem;
  --fs-600: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  --fs-700: clamp(1.55rem, 1.25rem + 1.3vw, 2.1rem);
  --fs-800: clamp(2rem, 1.5rem + 2.2vw, 3rem);
  --fs-900: clamp(2.4rem, 1.6rem + 3.8vw, 4.4rem);

  /* ---- Spacing ---- */
  --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-5: 1.5rem; --sp-6: 2rem; --sp-7: 3rem; --sp-8: 4.5rem; --sp-9: 6.5rem;

  /* ---- Radius / elevation ---- */
  --r-card: 10px; --r-ctl: 8px; --r-sm: 5px; --r-pill: 999px;
  --shadow-card: 0 1px 2px oklch(0 0 0 / 0.06), 0 14px 34px -24px oklch(0 0 0 / 0.35);
  --shadow-pop:  0 24px 60px -28px oklch(0 0 0 / 0.45);

  /* ---- Layout ---- */
  --maxw: 1180px;
  --prose: 66ch;
  --header-h: 68px;

  color-scheme: light;
}
