/* ============================================================
   UrbIQ — shared visual identity (chrome re-skin)
   Loaded AFTER each page's inline <style>, so equal-specificity
   rules and redefined :root variables win the cascade.
   Only touches chrome (header, nav, buttons, cards, tables,
   typography). No layout, ids, or behaviour are altered.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700&family=Hanken+Grotesk:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  /* remap the original tokens to the new identity so every
     existing var(--navy/--blue/--teal/--bg) reference updates */
  --navy:#16242B;        /* deep teal-charcoal ink */
  --blue:#2C6E91;        /* civil blue — single accent */
  --teal:#5E6F5A;        /* muted eucalypt */
  --bg:#F3F1EC;          /* limestone paper */
  --line:#CBC6BB;        /* hairline */
  --muted:#5B6168;
  --ui-display:'Archivo',system-ui,Arial,sans-serif;
  --ui-body:'Hanken Grotesk',system-ui,Arial,sans-serif;
  --ui-mono:'IBM Plex Mono',ui-monospace,monospace;
}

body{
  font-family:var(--ui-body);
  background:#F3F1EC;
  -webkit-font-smoothing:antialiased;
}

/* headings → architectural display face */
h1,h2,h3{font-family:var(--ui-display);letter-spacing:-.012em;}

/* ── header: flat ink bar, hairline base, calmer wordmark ── */
header{
  background:#16242B;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.logo{font-family:var(--ui-display);font-weight:700;letter-spacing:-.02em;}
.logo span{color:#9fb6c2;font-weight:500;}

nav a{font-family:var(--ui-body);letter-spacing:.01em;}
nav a.active{border-bottom-color:#9fb6c2;}

/* ── buttons: square-ish, restrained ── */
.hbtn{
  background:#2C6E91;
  border-radius:3px;
  font-family:var(--ui-body);
  font-weight:600;
  letter-spacing:.01em;
}

/* ── cards: hairline border, low shadow, tighter radius ── */
.card{
  border:1px solid #E0DBD0;
  border-radius:6px;
  box-shadow:0 1px 2px rgba(22,36,43,.05);
}

/* ── tables: ink header, hairline rows ── */
th{background:#16242B;letter-spacing:.01em;}

/* KPI numerals read as data, not marketing */
.kpi .v,.kv{font-family:var(--ui-display);}
.kpi .l,.kl{font-family:var(--ui-mono);letter-spacing:.06em;}

/* eyebrow-style group headings (overview) */
.grpHead{font-family:var(--ui-mono);letter-spacing:.1em;}
