/* =============================================================
   theme.css — GENERATED TOKENS. Do not hand-edit component styles here.
   Source: Site_draft3.png mockup + NR logo (navy #071F36 / gold).
   Every raw colour, size, radius, shadow and duration lives in this file.

   CONTRAST TABLE (WCAG 2.2, text / background → ratio)
   ------------------------------------------------------------------
   --ink        #112E49 on --surface-page  #FBF9F5   13.22  AA/AAA
   --ink        #112E49 on --surface-tint  #EDF5FA   12.60  AA/AAA
   --ink        #112E49 on --surface-chip  #F8F2E8   12.48  AA/AAA
   --ink-2      #3C4A5C on --surface-page             8.59  AA/AAA
   --ink-2      #3C4A5C on --surface-tint             8.19  AA/AAA
   --ink-3      #5A6676 on --surface-card  #FFFFFF    5.84  AA
   --ink-3      #5A6676 on --surface-chip             5.24  AA
   --brand-600  #8F6634 on --surface-card             5.10  AA  (eyebrows, small text OK)
   --brand-600  #8F6634 on --surface-tint             4.62  AA
   --brand-600  #8F6634 on --surface-chip             4.58  AA
   --on-brand   #FFFFFF on --brand-600                5.10  AA  (primary button)
   --link       #1F5A8F on --surface-card             7.20  AA/AAA
   --link       #1F5A8F on --surface-tint             6.53  AA
   --text-on-dark #F8F4EC on --surface-dark #112E49  12.67  AA/AAA
   --text-on-dark-2 #C3CEDB on --surface-dark         8.72  AA/AAA
   --brand-300  #D2B48A on --surface-dark             7.04  AA/AAA (eyebrows on dark)
   ------------------------------------------------------------------
   LARGE-TEXT / NON-TEXT ONLY
   --brand-500  #A77D47 on light surfaces          ~3.5  decorative rules & icons only
   --brand-500  #A77D47 on --surface-dark            3.75  large text / UI borders only
   FORBIDDEN
   --brand-600 on --surface-dark (2.73) · --ink-3 on --surface-dark (2.38)
   --link on --surface-dark (1.93) · --brand-300 on any light surface (<2)
   ============================================================= */

:root {
  /* ---- Brand ramp ---- */
  --brand-100: #f8f2e8;
  --brand-200: #ecdcc4;
  --brand-300: #d2b48a;
  --brand-500: #a77d47;
  --brand-600: #8f6634;
  --brand-700: #7a5629;

  /* ---- Neutral inks ---- */
  --ink: #112e49;
  --ink-2: #3c4a5c;
  --ink-3: #5a6676;
  --link: #1f5a8f;
  --link-hover: #143f66;
  --on-brand: #ffffff;
  --text-on-dark: #f8f4ec;
  --text-on-dark-2: #c3cedb;

  /* ---- Surfaces ---- */
  --surface-page: #fbf9f5;
  --surface-card: #ffffff;
  --surface-tint: #edf5fa;
  --surface-icon: #e2eef6;
  --surface-chip: #f8f2e8;
  --surface-dark: #112e49;
  --surface-deep: #0c2238;
  --surface-header: rgb(255 255 255 / 0.92);
  --surface-scrim: rgb(12 34 56 / 0.55);
  --placeholder-a: #e9e3d8;
  --placeholder-b: #dfe9f1;

  /* ---- Lines ---- */
  --line: #e4ddd2;
  --line-strong: #cdbfa9;
  --line-dark: rgb(248 244 236 / 0.18);
  --line-dashed: #d8c6aa;
  --border-w: 1px;
  --border-w-2: 2px;

  /* ---- Type ---- */
  --font-display: "Libre Caslon Display", "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --font-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --text-display: clamp(2.75rem, 1.6rem + 4.2vw, 4.25rem);
  --text-h2: clamp(2rem, 1.5rem + 1.9vw, 2.75rem);
  --text-h3: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem);
  --text-h4: 1.0625rem;
  --text-lede: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-eyebrow: 0.8125rem; /* 13px — the floor */
  --text-min: 0.8125rem;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-body: 1.6;
  --tracking-eyebrow: 0.2em;
  --tracking-wide: 0.12em;
  --tracking-display: -0.01em;
  --measure: 68ch;

  /* ---- Spacing (base unit --s = 8px) ---- */
  --s: 0.5rem;
  --s-half: calc(var(--s) / 2);
  --s-1: var(--s);
  --s-2: calc(var(--s) * 2);
  --s-3: calc(var(--s) * 3);
  --s-4: calc(var(--s) * 4);
  --s-5: calc(var(--s) * 5);
  --s-6: calc(var(--s) * 6);
  --s-8: calc(var(--s) * 8);
  --s-10: calc(var(--s) * 10);
  --s-12: calc(var(--s) * 12);
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
  --section-y: clamp(3.5rem, 2.5rem + 4vw, 6rem);
  --container: 75rem;
  --container-narrow: 48rem;

  /* ---- Sizes ---- */
  --tap: 2.75rem;          /* 44px minimum touch target */
  --header-h: 5rem;
  --header-h-slim: 4rem;
  --mark-size: 3.125rem;
  --mark-size-slim: 2.5rem;
  --icon-lg: 3rem;
  --icon-md: 1.5rem;
  --icon-sm: 1.125rem;
  --icon-circle: 3.5rem;
  --drawer-w: min(22rem, 86vw);
  --rail-w: 16rem;
  --focus-w: 3px;
  --focus-offset: 3px;

  /* ---- Radius ---- */
  --radius-sm: 3px;
  --radius: 6px;
  --radius-lg: 10px;
  --radius-round: 999px;

  /* ---- Shadow ---- */
  --shadow-card: 0 1px 2px rgb(17 46 73 / 0.06), 0 8px 24px rgb(17 46 73 / 0.06);
  --shadow-header: 0 1px 0 rgb(17 46 73 / 0.08), 0 6px 18px rgb(17 46 73 / 0.06);
  --shadow-drawer: -12px 0 40px rgb(12 34 56 / 0.25);
  --shadow-btn: 0 2px 6px rgb(143 102 52 / 0.25);

  /* ---- Focus ---- */
  --focus: #1f5a8f;
  --focus-on-dark: #d2b48a;

  /* ---- Motion ---- */
  --dur-fast: 150ms;
  --dur: 250ms;
  --dur-slow: 600ms;
  --dur-draw: 1600ms;
  --dur-ambient: 6000ms;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);

  /* ---- Layers ---- */
  --z-header: 50;
  --z-scrim: 90;
  --z-drawer: 100;
  --z-lightbox: 200;
  --z-skip: 300;
}
