/* ============================================================
   GazetteSearch — design tokens v2.0 (canonical)
   Source: current claude.design system (extracted verbatim from
   GazetteSearch brand asset, 2026-07-19). Supersedes v1
   (navy + sky-blue / Space Grotesk). Identity: navy-800 ink,
   leaf-green brand/action, sky-blue secondary accent,
   Archivo / Newsreader / IBM Plex Mono.
   ============================================================ */
:root {
  /* ---- Navy (brand indigo — dark surfaces, primary identity) ---- */
  --navy-950: #0A0A22;
  --navy-900: #0E0E30;
  --navy-800: #151542;  /* brand anchor (logo background) */
  --navy-700: #20205A;
  --navy-600: #2D2D75;
  --navy-500: #3C3C95;
  --navy-300: #9A9AC4;
  --navy-200: #C6C6DE;
  --navy-100: #E4E4EF;
  --navy-50:  #F1F1F8;

  /* ---- Leaf green (primary brand + action) ---- */
  --green-800: #3A5E2D;
  --green-700: #4C7A3B;
  --green-600: #5F9A48;
  --green-500: #81B967;  /* brand anchor (logo green) */
  --green-400: #99C883;
  --green-300: #B5D8A4;
  --green-200: #D2E7C8;
  --green-100: #E9F2E1;
  --green-50:  #F4F9F0;

  /* ---- Sky blue (secondary accent — links, info) ---- */
  --blue-800: #135E96;
  --blue-700: #1C84C7;
  --blue-600: #2BA6E5;
  --blue-500: #4FC3F7;  /* logo blue anchor */
  --blue-300: #A6DEFB;
  --blue-200: #C7EBFC;
  --blue-100: #E2F5FE;
  --blue-50:  #F0FAFE;

  /* ---- Neutral slate (text, borders — faint navy cast) ---- */
  --ink-950: #0E1020;
  --ink-900: #15172B;
  --ink-800: #20233A;
  --ink-700: #313650;
  --ink-600: #474D68;
  --ink-500: #626980;
  --ink-400: #858BA0;
  --ink-300: #ABB0C2;
  --ink-200: #CED2DE;
  --ink-150: #DEE1E9;
  --ink-100: #E9EBF1;
  --ink-50:  #F3F4F8;
  --paper:   #F5F6FA;  /* cool off-white */
  --white:   #FFFFFF;

  /* ---- Semantic accents ---- */
  --red-700:   #97241B;
  --red-600:   #C23A2E;
  --red-100:   #FBE3E0;
  --red-50:    #FDF1EF;
  --amber-700: #8A5709;
  --amber-600: #B0700C;
  --amber-100: #F7E7C6;
  --amber-50:  #FCF4E3;

  /* ---- Notice-category hues (fg / tint bg pairs) ---- */
  --cat-estate-fg:     #2D2D75;  --cat-estate-bg:     #E4E4EF;  /* deceased estates — navy */
  --cat-insolvency-fg: #C23A2E;  --cat-insolvency-bg: #FBE3E0;  /* insolvencies — red */
  --cat-liquidation-fg:#B0700C;  --cat-liquidation-bg:#F7E7C6;  /* liquidations — amber */
  --cat-execution-fg:  #1C84C7;  --cat-execution-bg:  #E2F5FE;  /* sales in execution — blue */
  --cat-curator-fg:    #4C7A3B;  --cat-curator-bg:    #E9F2E1;  /* curatorships — green */
  --cat-namechange-fg: #626980;  --cat-namechange-bg: #E9EBF1;  /* name changes — neutral */

  /* ============ Semantic aliases ============ */
  /* surfaces */
  --bg-page:     var(--paper);
  --bg-surface:  var(--white);
  --bg-subtle:   var(--ink-50);
  --bg-inset:    var(--ink-100);
  --bg-ink:      var(--navy-800);   /* dark sections, hero, footer */
  --bg-ink-soft: var(--navy-700);

  /* text */
  --text-strong:  var(--ink-950);
  --text-body:    var(--ink-800);
  --text-muted:   var(--ink-500);
  --text-faint:   var(--ink-400);
  --text-inverse: var(--paper);
  --text-inverse-muted: var(--navy-300);
  --text-brand:   var(--green-700);

  /* borders */
  --border-subtle:  var(--ink-150);
  --border-default: var(--ink-200);
  --border-strong:  var(--ink-300);
  --border-ink:     var(--navy-700);

  /* brand / action — green fill, navy text (the logo combo) */
  --brand:        var(--green-500);
  --brand-hover:  var(--green-600);
  --brand-active: var(--green-700);
  --brand-tint:   var(--green-50);
  --brand-tint-2: var(--green-100);
  --on-brand:     var(--navy-800);
  --focus-ring:   var(--green-600);

  /* accent (blue) */
  --accent:       var(--blue-500);
  --accent-strong:var(--blue-700);

  /* data (mono numerals) */
  --data-fg: var(--ink-900);

  /* status */
  --danger:  var(--red-600);
  --danger-bg: var(--red-50);
  --warning: var(--amber-600);
  --warning-bg: var(--amber-50);
  --info:    var(--blue-700);
  --info-bg: var(--blue-50);
  --success: var(--green-600);
  --success-bg: var(--green-50);
}

:root {
  /* families */
  --font-sans:  'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono:  'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* weights */
  --fw-regular:   400; /* @kind font */
  --fw-medium:    500; /* @kind font */
  --fw-semibold:  600; /* @kind font */
  --fw-bold:      700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */

  /* type scale (px) */
  --text-3xs: 11px;
  --text-2xs: 12px;
  --text-xs:  13px;
  --text-sm:  14px;
  --text-base:16px;
  --text-md:  18px;
  --text-lg:  20px;
  --text-xl:  24px;
  --text-2xl: 30px;
  --text-3xl: 38px;
  --text-4xl: 48px;
  --text-5xl: 60px;
  --text-6xl: 76px;

  /* line heights */
  --lh-tight:   1.05; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-normal:  1.5; /* @kind font */
  --lh-relaxed: 1.65; /* @kind font */

  /* letter spacing */
  --tracking-tighter: -0.03em; /* @kind font */
  --tracking-tight:   -0.015em; /* @kind font */
  --tracking-normal:  0; /* @kind font */
  --tracking-wide:    0.02em; /* @kind font */
  --tracking-caps:    0.09em; /* @kind font */  /* eyebrows / overlines */
}

:root {
  --space-0:  0;
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-7:  28px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* container widths */
  --container-prose: 680px;
  --container-narrow: 920px;
  --container:        1140px;
  --container-wide:   1320px;

  /* gutters */
  --gutter-page: clamp(20px, 5vw, 64px); /* @kind spacing */
}

:root {
  /* corner radii — modest, official; not pill-everything */
  --radius-xs:   3px;
  --radius-sm:   5px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  22px;
  --radius-full: 999px;

  /* border widths */
  --border-hairline: 1px; /* @kind other */
  --border-thick:    2px; /* @kind other */

  /* shadows — soft, paper-like; ink-tinted, low spread */
  --shadow-xs:  0 1px 2px rgba(14,17,22,.06);
  --shadow-sm:  0 1px 3px rgba(14,17,22,.08), 0 1px 2px rgba(14,17,22,.04);
  --shadow-md:  0 4px 12px rgba(14,17,22,.08), 0 2px 4px rgba(14,17,22,.04);
  --shadow-lg:  0 12px 28px rgba(14,17,22,.12), 0 4px 10px rgba(14,17,22,.05);
  --shadow-xl:  0 24px 50px rgba(14,17,22,.16), 0 8px 16px rgba(14,17,22,.06);

  /* focus */
  --shadow-focus: 0 0 0 3px rgba(18,145,99,.32);

  /* transitions */
  --ease-out: cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-in-out: cubic-bezier(.45,0,.2,1); /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur-base: 180ms; /* @kind other */
  --dur-slow: 280ms; /* @kind other */
}