/* ============================================================================
   OrthoBio Consulting — Foundations: Color + Type
   "Ink & Plasma" system
   ----------------------------------------------------------------------------
   - Ink navy   = authority, evidence, trust (primary brand + text)
   - Plasma amber = the warm, living accent (the golden PRP/plasma layer)
   - Vital teal  = regeneration / clinical, used sparingly
   - Warm bone/paper neutrals = premium, human, not stark-clinical
   Fonts (Google Fonts): Source Serif 4 (display serif), Libre Franklin (sans),
   DM Mono (data/labels). Load via:
   <link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Franklin:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&display=swap" rel="stylesheet">
   ========================================================================== */

:root {
  /* ---- Color primitives ------------------------------------------------- */

  /* Ink — primary brand navy / text anchor */
  --ink-950: #0a1726;
  --ink-900: #0f2336;
  --ink-800: #173047;
  --ink-700: #21425d;
  --ink-600: #305777;
  --ink-500: #436f91;
  --ink-400: #6d93af;

  /* Plasma — warm amber accent (the golden plasma layer) */
  --plasma-700: #97601a;
  --plasma-600: #b5731f;
  --plasma-500: #cf8a2b;   /* primary accent */
  --plasma-400: #e0a24a;
  --plasma-300: #edbe7f;
  --plasma-200: #f6dcb3;
  --plasma-100: #faecd5;
  --plasma-50:  #fcf6ea;

  /* Vital — regenerative teal-green (supporting, used sparingly) */
  --vital-700: #195a4a;
  --vital-600: #1f6f5c;
  --vital-500: #2a8a72;
  --vital-100: #dcefe9;
  --vital-50:  #eef7f3;

  /* Warm neutrals — bone / paper */
  --white:  #ffffff;
  --paper:  #f6f7f9;   /* default page background — cool neutral */
  --bone:   #eceff3;   /* deeper cool surface (legacy name) */
  --n-50:   #f1f3f6;
  --n-100:  #e6e9ee;
  --n-200:  #d6dbe2;
  --n-300:  #bcc3cd;
  --n-400:  #97a0ac;
  --n-500:  #6c757f;
  --n-600:  #4c545d;
  --n-700:  #333a42;
  --n-800:  #20262c;

  /* Cool slate (secondary text on light, keeps clinical edge) */
  --slate-600: #4e5d6b;
  --slate-500: #687784;

  /* Semantic status */
  --success: #1f7a52;
  --success-bg: #e4f3ea;
  --warning: #b5731f;
  --warning-bg: #faecd5;
  --danger:  #b23b2e;
  --danger-bg: #f7e4e1;
  --info:    #305777;
  --info-bg: #e6eef4;

  /* ---- Semantic tokens (use THESE in components) ----------------------- */
  --bg:            var(--paper);
  --bg-elev:       var(--white);
  --surface:       var(--white);
  --surface-bone:  var(--bone);
  --surface-ink:   var(--ink-900);   /* dark sections */

  --fg:            var(--ink-900);   /* primary text */
  --fg-muted:      var(--slate-600); /* secondary text */
  --fg-subtle:     var(--n-500);     /* tertiary / captions */
  --fg-on-ink:     #eaf0f5;          /* text on ink surfaces */
  --fg-on-ink-mut: #9fb2c2;

  --brand:         var(--ink-900);
  --brand-fg:      var(--white);
  --accent:        var(--plasma-500);
  --accent-strong: var(--plasma-600);
  --accent-fg:     var(--ink-950);   /* text on amber */
  --accent-wash:   var(--plasma-100);

  --border:        var(--n-200);     /* hairline dividers / card borders */
  --border-strong: var(--n-300);
  --border-ink:    rgba(255,255,255,0.14);
  --ring:          color-mix(in oklch, var(--plasma-500) 55%, transparent);

  /* ---- Type families ---------------------------------------------------- */
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans:    "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ---- Type scale (fluid; tuned for editorial authority) ---------------- */
  --fs-display: clamp(2.85rem, 1.6rem + 5.4vw, 5rem);   /* hero serif */
  --fs-h1:      clamp(2.25rem, 1.4rem + 3.4vw, 3.5rem);
  --fs-h2:      clamp(1.75rem, 1.2rem + 2.1vw, 2.5rem);
  --fs-h3:      clamp(1.35rem, 1.05rem + 1.1vw, 1.75rem);
  --fs-h4:      1.25rem;
  --fs-lead:    clamp(1.15rem, 1.02rem + 0.5vw, 1.375rem); /* intro paragraph */
  --fs-body:    1.0625rem;   /* 17px base body */
  --fs-sm:      0.9375rem;
  --fs-xs:      0.8125rem;
  --fs-eyebrow: 0.75rem;     /* mono eyebrow / kicker */

  --lh-tight:   1.08;
  --lh-snug:    1.22;
  --lh-body:    1.62;
  --lh-relaxed: 1.7;

  --tracking-eyebrow: 0.16em;
  --tracking-tight:   -0.02em;
  --tracking-normal:  0;

  /* ---- Radii ------------------------------------------------------------ */
  --r-xs: 4px;
  --r-sm: 7px;
  --r-md: 11px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* ---- Spacing scale (4px base) ----------------------------------------- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;

  /* ---- Elevation (soft, warm-tinted; restrained) ----------------------- */
  --shadow-xs: 0 1px 2px rgba(15, 35, 54, 0.06);
  --shadow-sm: 0 1px 3px rgba(15, 35, 54, 0.07), 0 1px 2px rgba(15, 35, 54, 0.05);
  --shadow-md: 0 6px 16px -6px rgba(15, 35, 54, 0.14), 0 2px 6px -2px rgba(15, 35, 54, 0.08);
  --shadow-lg: 0 18px 40px -12px rgba(15, 35, 54, 0.20), 0 6px 14px -8px rgba(15, 35, 54, 0.10);
  --shadow-focus: 0 0 0 3px var(--ring);
}

/* ============================================================================
   Base element styles — semantic, ready to use
   ========================================================================== */

body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Display & headings use the serif */
.display, h1.display {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  color: var(--fg);
  text-wrap: balance;
}

h1, .h1 {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-wrap: balance;
}
h2, .h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-wrap: balance;
}
h3, .h3 {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  line-height: 1.3;
  font-weight: 500;
}
h4, .h4 {
  font-family: var(--font-sans);
  font-size: var(--fs-h4);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.lead {
  font-size: var(--fs-lead);
  line-height: var(--lh-relaxed);
  color: var(--fg-muted);
  font-weight: 400;
}

p, .body {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--fg);
  text-wrap: pretty;
}

small, .text-sm { font-size: var(--fs-sm); }
.text-xs { font-size: var(--fs-xs); }

.muted   { color: var(--fg-muted); }
.subtle  { color: var(--fg-subtle); }

/* Eyebrow / kicker — mono, all-caps, tracked. A signature device. */
.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--accent-strong);
}

/* Data / figures — tabular mono for prices, stats, tables */
.data, .figure {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

a { color: var(--ink-700); text-underline-offset: 0.18em; }
a:hover { color: var(--accent-strong); }

::selection { background: var(--plasma-200); color: var(--ink-950); }

/* OrthoBio Consulting — Marketing site kit styles. Tokens come from ../../colors_and_type.css */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--fg);font-family:var(--font-sans)}
img{display:block;max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.btn{font-family:var(--font-sans);font-weight:600;font-size:15px;border-radius:8px;padding:13px 22px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:9px;line-height:1;white-space:nowrap;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ink-900);color:#fff}
.btn-primary:hover{background:#0a1b2c}
.btn-accent{background:var(--plasma-500);color:var(--ink-950)}
.btn-accent:hover{background:var(--plasma-600)}
.btn-outline{background:transparent;color:var(--ink-900);border-color:var(--border-strong)}
.btn-outline:hover{border-color:var(--ink-700);background:#fff}
.btn-ghost{background:transparent;color:#fff;padding:13px 6px}
.btn-ghost:hover{color:var(--plasma-300)}
.btn .ar{font-family:var(--font-mono);font-weight:500}

.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong)}

/* ---- Header ---- */
.hdr{position:sticky;top:0;z-index:40;background:rgba(246,247,249,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .wm{font-family:var(--font-display);font-weight:500;font-size:23px;color:var(--ink-900);letter-spacing:-.02em;line-height:1}
.wm .pp{color:var(--accent-strong)}
.brand .sub{font-family:var(--font-mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-500);margin-top:3px;display:block}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-size:14.5px;font-weight:500;color:var(--ink-800);text-decoration:none}
.nav a:hover{color:var(--accent-strong)}
@media(max-width:860px){.nav .navlink{display:none}}

/* ---- Hero ---- */
.hero{padding:74px 0 60px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,1.5rem + 2.7vw,3.55rem);line-height:1.08;letter-spacing:-.025em;font-weight:600;margin:18px 0 0;color:var(--ink-900);text-wrap:balance}
.hero .lead{font-size:1.28rem;line-height:1.6;color:var(--fg-muted);margin:26px 0 30px;max-width:34ch}
.hero .lead .lead-em{color:var(--accent-strong);font-weight:700}
.hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-note{margin-top:22px;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:0;color:var(--fg-muted);display:flex;align-items:center;gap:9px}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:34px}}

/* proof card in hero */
.proof{background:var(--ink-900);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}
.proof .img{height:300px;background:#0f2336;position:relative;overflow:hidden}
.proof .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.proof .pbody{padding:20px 22px 22px;color:#fff}
.proof .pbody h3{font-family:var(--font-display);font-weight:500;font-size:20px;margin:0 0 6px}
.proof .pbody p{margin:0;font-size:13.5px;color:var(--fg-on-ink-mut);line-height:1.55}

/* ---- Section frame ---- */
section{scroll-margin-top:90px}
.sec{padding:84px 0}
.sec-head{max-width:640px;margin-bottom:44px}
.sec-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,1.3rem + 1.8vw,2.7rem);line-height:1.12;letter-spacing:-.02em;margin:14px 0 0;color:var(--ink-900);text-wrap:balance}
.sec-head p{font-size:1.15rem;line-height:1.6;color:var(--fg-muted);margin:16px 0 0}
.sec-ink{background:var(--ink-900);color:#fff}
.sec-bone{background:var(--bone)}

/* ---- Stat band ---- */
.statband{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.stat .n{font-family:var(--font-display);font-size:clamp(2.6rem,1.6rem + 2.6vw,3.6rem);font-weight:500;letter-spacing:-.02em;line-height:1;color:#fff}
.stat .n .u{font-family:var(--font-mono);font-size:.5em;color:var(--plasma-400);font-weight:500;margin-left:3px}
.stat .c{margin-top:12px;font-size:14.5px;line-height:1.5;color:var(--fg-on-ink-mut);max-width:26ch}
.stat{border-top:2px solid rgba(255,255,255,.14);padding-top:20px}
@media(max-width:760px){.statband{grid-template-columns:1fr;gap:26px}}

/* ---- Problem grid (the gap we close) ---- */
.problist{display:grid;grid-template-columns:1fr 1fr;gap:28px 52px;margin-top:4px}
.prob{border-top:2px solid var(--plasma-500);padding-top:18px}
.prob h4{color:#fff;font-size:19px;font-weight:600;margin:0 0 7px;font-family:var(--font-sans)}
.prob p{color:var(--fg-on-ink-mut);font-size:15px;line-height:1.55;margin:0;max-width:42ch}
.prob-close{margin:56px auto 0;text-align:center;font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,1rem + 1.25vw,2rem);line-height:1.36;color:#fff;max-width:64ch}
.prob-close span{color:var(--plasma-400)}
@media(max-width:680px){.problist{grid-template-columns:1fr;gap:24px}}

/* ---- Services ---- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-grid.two{grid-template-columns:repeat(2,1fr)}
.svc-grid.two .svc{border-top:3px solid var(--ink-900)}
.svc{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;transition:box-shadow .18s ease,transform .18s ease;cursor:default}
.svc:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.svc .ix{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--accent-strong)}
.svc .ic{width:40px;height:40px;border-radius:9px;background:var(--plasma-100);display:flex;align-items:center;justify-content:center;color:var(--plasma-700);flex:none}
.svc-top{display:flex;align-items:center;gap:13px;margin:0 0 12px}
.svc-top h3{margin:0}
.svc h3{font-family:var(--font-display);font-weight:500;font-size:19px;margin:0 0 7px;color:var(--ink-900)}
.svc p{margin:0;font-size:14px;line-height:1.55;color:var(--fg-muted)}
.sop-cols{margin:12px 0 0;padding:0;list-style:none;columns:2;column-gap:24px;font-size:13.5px;line-height:1.45;color:var(--fg-muted)}
.sop-cols li{break-inside:avoid;position:relative;padding-left:15px;margin-bottom:7px}
.sop-cols li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent-strong)}
.svc p.sop-note{margin-top:13px;font-size:13.5px}
@media(max-width:600px){.sop-cols{columns:1}}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid,.svc-grid.two{grid-template-columns:1fr}}

/* phase labels + lead card + continuation gate */
.phase-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.phase-head .pl{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-950);background:var(--plasma-500);padding:5px 11px;border-radius:999px;white-space:nowrap}
.phase-head .pm{font-size:14.5px;font-weight:700;color:var(--fg)}
.svc-lead{background:var(--ink-900);color:#fff;border-radius:14px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:34px;box-shadow:var(--shadow-md)}
.svc-lead .ix{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--plasma-400)}
.svc-lead .ic{width:40px;height:40px;border-radius:9px;background:rgba(224,162,74,.16);display:flex;align-items:center;justify-content:center;color:var(--plasma-300);flex:none}
.svc-lead .svc-top{margin:14px 0 12px}
.svc-lead h3{font-family:var(--font-display);font-weight:500;font-size:22px;margin:0;color:#fff}
.svc-lead p{margin:0;font-size:14.5px;line-height:1.55;color:var(--fg-on-ink-mut);max-width:54ch}
.svc-lead-aside{flex:none;width:300px;border-left:1px solid var(--border-ink);padding-left:34px}
.svc-lead-aside .al{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--plasma-300);margin-bottom:15px}
.svc-lead-aside ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.svc-lead-aside li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:#eef3f7}
.svc-lead-aside li svg{flex:none;margin-top:2px}
.phase-link{display:flex;align-items:center;gap:16px;padding:20px 0}
.phase-link .rule{flex:1;height:1px;background:var(--border)}
.phase-link .txt{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}
.svc-after{margin-top:18px;display:flex;align-items:center;gap:14px;background:var(--bone);border:1px solid var(--border);border-radius:12px;padding:16px 22px;font-size:14px;color:var(--fg-muted);line-height:1.5}
.svc-after strong{color:var(--ink-900);font-weight:600}
@media(max-width:640px){.svc-lead{flex-direction:column;align-items:flex-start;gap:20px}.svc-lead-aside{width:100%;border-left:0;border-top:1px solid var(--border-ink);padding-left:0;padding-top:18px}}

/* ---- Comparison ---- */
.cmp{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cmp .col{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column}
.cmp .col.us{background:var(--ink-900);border-color:var(--ink-900);box-shadow:var(--shadow-lg)}
.cmp .col h4{font-size:15px;font-weight:700;margin:0 0 4px;color:var(--ink-900)}
.cmp .col.us h4{color:#fff}
.cmp .col .meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:16px}
.cmp .col.us .meta{color:var(--plasma-300)}
.cmp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;flex:1;justify-content:space-between}
.cmp li{font-size:13px;line-height:1.45;color:var(--fg-muted);display:flex;gap:9px;align-items:flex-start}
.cmp .col.us li{color:var(--fg-on-ink-mut)}
.cmp li i{flex:none;margin-top:1px}
.cmp .x{color:var(--n-400)}.cmp .ok{color:var(--vital-500)}
.cmp .col.us .ok{color:var(--plasma-400)}
@media(max-width:900px){.cmp{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cmp{grid-template-columns:1fr}}

/* ---- Founders ---- */
.fdr{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fcard{display:flex;gap:20px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}
.fcard .ph{width:96px;height:96px;flex:none;border-radius:12px;overflow:hidden;background:linear-gradient(150deg,#21425d,#305777);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:30px}
.fcard .ph img{width:100%;height:100%;object-fit:cover;display:block}
.fcard h3{margin:0 0 2px;font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--ink-900)}
.fcard .role{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:11px}
.fcard p{margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-muted)}
.creds{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.creds .cr{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:11.5px;font-weight:600;color:var(--ink-800);background:var(--n-50);border:1px solid var(--border);border-radius:999px;padding:4px 11px}
.creds .cr svg{color:var(--accent-strong)}
@media(max-width:780px){.fdr{grid-template-columns:1fr}}

/* ---- Economics ---- */
.econ{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.econ-rows{background:#fff;border:1px solid var(--border);border-radius:16px;padding:8px 24px;box-shadow:var(--shadow-sm)}
.erow{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);font-size:15px}
.erow:last-child{border-bottom:0}
.erow .lab{color:var(--fg)}
.erow .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink-900)}
.erow.total{font-weight:700}
.erow.total .lab{font-weight:700}
.erow.total .val{font-size:21px;color:var(--vital-600)}
@media(max-width:820px){.econ{grid-template-columns:1fr;gap:30px}}

/* ---- CTA ---- */
.cta{background:var(--ink-900);border-radius:22px;padding:60px;text-align:center;position:relative;overflow:hidden}
.cta h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,1.4rem + 2vw,2.9rem);color:#fff;margin:14px auto 0;max-width:24ch;letter-spacing:-.02em;line-height:1.14;text-wrap:balance}
.cta p{color:var(--fg-on-ink-mut);font-size:1.15rem;margin:16px auto 30px;max-width:40ch}

/* ---- Footer ---- */
.ftr{padding:54px 0 40px;border-top:1px solid var(--border)}
.ftr-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.ftr .wm{font-family:var(--font-display);font-weight:500;font-size:21px;color:var(--ink-900)}
.ftr .loc{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--fg-subtle);margin-top:8px}
.ftr-cols{display:flex;gap:56px;flex-wrap:wrap}
.ftr-cols h5{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 12px}
.ftr-cols a{display:block;font-size:14px;color:var(--ink-800);text-decoration:none;margin-bottom:9px}
.ftr-cols a:hover{color:var(--accent-strong)}
.ftr-disc{margin-top:36px;font-size:11.5px;line-height:1.55;color:var(--fg-subtle);max-width:780px}


/* ===== production build extras (no-React static site) ===== */
.i-vital{color:var(--vital-600)}
.i-accent{color:var(--accent-strong)}
.i-ink6{color:var(--ink-600)}
.svc-lead-aside li svg{color:var(--plasma-400)}
.econ h2.econ-h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,1.3rem + 1.8vw,2.7rem);letter-spacing:-.02em;line-height:1.12;margin:14px 0 16px;color:var(--ink-900)}
.econ p.econ-p{font-size:1.12rem;line-height:1.6;color:var(--fg-muted);margin:0}
.econ-disc{margin:14px 4px 0;font-size:12px;line-height:1.5;color:var(--fg-subtle)}
