/* People's Path — design tokens v2.1 Luminous Tile (2026-10).
   Transcribed verbatim from Appendix A of the Digital Identity & Website Experience Manual v2.1.
   Do not edit by hand: change the manual, then regenerate. */
:root {
  /* colour — primitives */
  --pp-color-indigo: #052873;
  --pp-color-night: #020C22;
  --pp-color-deep: #02143A;
  --pp-color-grout: #010715;
  --pp-color-indigo-85: #2B4888;
  --pp-color-indigo-72: #4B649A;
  --pp-color-indigo-55: #7589B2;
  --pp-color-indigo-30: #B4BED5;
  --pp-color-indigo-14: #DCE1EB;
  --pp-color-mist: #EBEEF5;
  --pp-color-white: #FFFFFF;

  /* colour — semantic (Lime default; Glaze below) */
  --pp-bg: var(--pp-color-white);
  --pp-bg-alt: var(--pp-color-mist);
  --pp-bg-inverse: var(--pp-color-indigo);
  --pp-fg: var(--pp-color-indigo);
  --pp-fg-muted: var(--pp-color-indigo-72);
  --pp-fg-inverse: var(--pp-color-white);
  --pp-rule: rgba(5, 40, 115, 0.14);
  --pp-rule-strong: var(--pp-color-indigo);
  --pp-rule-inverse: rgba(255, 255, 255, 0.24);
  --pp-link: var(--pp-color-indigo);
  --pp-focus: var(--pp-color-indigo);
  --pp-focus-inverse: var(--pp-color-white);
  --pp-error: var(--pp-color-indigo);
  --pp-placeholder: var(--pp-color-mist);
  --pp-placeholder-line: var(--pp-color-indigo-30);

  /* type — families */
  --pp-font-latin: 'Anek Latin', sans-serif;
  --pp-font-deva: 'Anek Devanagari', 'Anek Latin', sans-serif;
  --pp-deva-scale: 1.06; /* Doc A p47 */

  /* type — sizes and line-heights (fluid 360→1440) */
  --pp-fs-display-xl: clamp(3.5rem, 1.6667rem + 8.1481vw, 9rem);
  --pp-lh-display-xl: clamp(3.5rem, 1.8333rem + 7.4074vw, 8.5rem);
  --pp-ls-display-xl: -0.04em;
  --pp-fw-display-xl: 300;
  --pp-fs-display-l: clamp(2.75rem, 1.6667rem + 4.8148vw, 6rem);
  --pp-lh-display-l: clamp(2.75rem, 1.6667rem + 4.8148vw, 6rem);
  --pp-ls-display-l: -0.035em;
  --pp-fw-display-l: 300;
  --pp-fs-h1: clamp(2.25rem, 1.6667rem + 2.5926vw, 4rem);
  --pp-lh-h1: clamp(2.5rem, 1.9167rem + 2.5926vw, 4.25rem);
  --pp-ls-h1: -0.03em;
  --pp-fw-h1: 300;
  --pp-fs-h2: clamp(1.75rem, 1.4167rem + 1.4815vw, 2.75rem);
  --pp-lh-h2: clamp(2rem, 1.6667rem + 1.4815vw, 3rem);
  --pp-ls-h2: -0.02em;
  --pp-fw-h2: 400;
  --pp-fs-h3: clamp(1.375rem, 1.2500rem + 0.5556vw, 1.75rem);
  --pp-lh-h3: clamp(1.75rem, 1.6667rem + 0.3704vw, 2rem);
  --pp-ls-h3: -0.01em;
  --pp-fw-h3: 500;
  --pp-fs-h4: clamp(1.125rem, 1.0833rem + 0.1852vw, 1.25rem);
  --pp-lh-h4: clamp(1.5rem, 1.4167rem + 0.3704vw, 1.75rem);
  --pp-ls-h4: 0em;
  --pp-fw-h4: 600;
  --pp-fs-lead: clamp(1.25rem, 1.1250rem + 0.5556vw, 1.625rem);
  --pp-lh-lead: clamp(1.75rem, 1.5833rem + 0.7407vw, 2.25rem);
  --pp-ls-lead: -0.005em;
  --pp-fw-lead: 300;
  --pp-fs-body-l: 1.125rem;
  --pp-lh-body-l: 1.75rem;
  --pp-ls-body-l: 0em;
  --pp-fw-body-l: 400;
  --pp-fs-body-m: 1rem;
  --pp-lh-body-m: 1.5rem;
  --pp-ls-body-m: 0em;
  --pp-fw-body-m: 400;
  --pp-fs-body-s: 0.875rem;
  --pp-lh-body-s: 1.25rem;
  --pp-ls-body-s: 0.005em;
  --pp-fw-body-s: 400;
  --pp-fs-caption: 0.8125rem;
  --pp-lh-caption: 1.25rem;
  --pp-ls-caption: 0.005em;
  --pp-fw-caption: 500;
  --pp-fs-credit: 0.75rem;
  --pp-lh-credit: 1rem;
  --pp-ls-credit: 0.01em;
  --pp-fw-credit: 400;
  --pp-fs-nav: 1rem;
  --pp-lh-nav: 1.5rem;
  --pp-ls-nav: 0em;
  --pp-fw-nav: 500;
  --pp-fs-menu: 2rem;
  --pp-lh-menu: 2.25rem;
  --pp-ls-menu: -0.015em;
  --pp-fw-menu: 600;
  --pp-fs-button: 1rem;
  --pp-lh-button: 1.5rem;
  --pp-ls-button: 0.01em;
  --pp-fw-button: 600;
  --pp-fs-eyebrow: 0.75rem;
  --pp-lh-eyebrow: 1rem;
  --pp-ls-eyebrow: 0.16em;
  --pp-fw-eyebrow: 500;
  --pp-fs-meta: 0.8125rem;
  --pp-lh-meta: 1.25rem;
  --pp-ls-meta: 0.01em;
  --pp-fw-meta: 500;
  --pp-fs-footnote: 0.75rem;
  --pp-lh-footnote: 1.125rem;
  --pp-ls-footnote: 0.01em;
  --pp-fw-footnote: 400;
  --pp-fs-fig: 0.75rem;
  --pp-lh-fig: 1rem;
  --pp-ls-fig: 0.08em;
  --pp-fw-fig: 600;
  --pp-fs-index: 0.8125rem;
  --pp-lh-index: 1rem;
  --pp-ls-index: 0.02em;
  --pp-fw-index: 500;
  --pp-fs-quote: clamp(1.625rem, 1.3333rem + 1.2963vw, 2.5rem);
  --pp-lh-quote: clamp(2rem, 1.6667rem + 1.4815vw, 3rem);
  --pp-ls-quote: -0.01em;
  --pp-fw-quote: 300;
  --pp-fs-interp: 1.125rem;
  --pp-lh-interp: 1.75rem;
  --pp-ls-interp: 0em;
  --pp-fw-interp: 400;
  --pp-fs-art-title: clamp(2.25rem, 1.6667rem + 2.5926vw, 4rem);
  --pp-lh-art-title: clamp(2.5rem, 1.9167rem + 2.5926vw, 4.25rem);
  --pp-ls-art-title: -0.025em;
  --pp-fw-art-title: 500;

  /* space (4px base) */
  --pp-space-1: 0.25rem;  /* 4px */
  --pp-space-2: 0.5rem;   /* 8px */
  --pp-space-3: 0.75rem;  /* 12px */
  --pp-space-4: 1rem;     /* 16px */
  --pp-space-5: 1.5rem;   /* 24px */
  --pp-space-6: 2rem;     /* 32px */
  --pp-space-7: 3rem;     /* 48px */
  --pp-space-8: 4rem;     /* 64px */
  --pp-space-9: 6rem;     /* 96px */
  --pp-space-10: 8rem;    /* 128px */
  --pp-space-11: 12rem;   /* 192px */
  --pp-space-12: 16rem;   /* 256px */

  /* grid (xs defaults; overridden per breakpoint) */
  --pp-cols: 4; --pp-margin: 16px; --pp-gutter: 12px; --pp-container-max: 1600px;
  --pp-section: var(--pp-space-9); --pp-section-minor: var(--pp-space-8);
  --pp-header-h: 80px; --pp-logo-w: 100px;
  --pp-measure: 66ch;

  /* motion */
  --pp-dur-1: 120ms;
  --pp-dur-2: 200ms;
  --pp-dur-3: 320ms;
  --pp-dur-4: 480ms;
  --pp-dur-5: 900ms;
  --pp-dur-6: 1400ms;
  --pp-ease-out: cubic-bezier(0.2, 0, 0, 1);
  --pp-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --pp-ease-linear: linear;

  /* borders, focus, targets */
  --pp-hairline: 1px; --pp-rule-w: 1px; --pp-rule-strong-w: 2px;
  --pp-focus-w: 2px; --pp-focus-offset: 2px; /* Doc A p47 */
  --pp-target-min: 44px; /* Doc A p47, p49 */
  --pp-radius: 0; /* no rounded corners anywhere */
}

/* material modes: Lime (light, default) and Glaze (dark). Set data-mode on <body>. */
[data-mode="glaze"] {
  --pp-bg: var(--pp-color-night); --pp-bg-alt: var(--pp-color-deep); --pp-bg-inverse: var(--pp-color-deep);
  --pp-fg: var(--pp-color-white); --pp-fg-muted: var(--pp-color-indigo-30); --pp-fg-inverse: var(--pp-color-white);
  --pp-rule: rgba(180, 190, 213, 0.16); --pp-rule-strong: var(--pp-color-indigo-30);
  --pp-link: var(--pp-color-white); --pp-focus: var(--pp-color-white);
  --pp-placeholder: var(--pp-color-indigo-85); --pp-placeholder-line: var(--pp-color-indigo-55);
}

/* tile field */
:root {
  --pp-tile-gap: 2px; --pp-tile-max: 176px; --pp-tile-across: 4;
  --pp-tile-line-w: 0.0272; --pp-tile-knock-r: 0.2758; --pp-tile-bloom: 0.551;
  --pp-tile-unlit-ink: 0.16; --pp-tile-dawn-ink: 0.32; --pp-tile-lit-ink: 0.70;
  --pp-tile-halo: 0 0 60px 10px rgba(43, 72, 136, 0.55);
  --pp-tile-edge: inset 0 0 0 1px rgba(180, 190, 213, 0.45);
  --pp-tile-lit-ground: radial-gradient(circle at 50% 45%, #2B4888 0%, #052873 48%, #02143A 100%);
  --pp-tile-dawn-ground: radial-gradient(circle at 50% 50%, #03194C 0%, #02143A 80%);
  --pp-dur-light: 900ms; --pp-dur-dawn: 1400ms;
}
@media (min-width: 600px) { :root { --pp-tile-across: 6; } }
@media (min-width: 1200px) { :root { --pp-tile-across: 10; } }

@media (min-width: 360px) { :root { --pp-margin: 20px; --pp-gutter: 16px; } }
@media (min-width: 600px) { :root { --pp-cols: 8; --pp-margin: 32px; --pp-gutter: 16px; --pp-header-h: 88px; --pp-logo-w: 112px; --pp-section: var(--pp-space-10); --pp-section-minor: var(--pp-space-9); } }
@media (min-width: 900px) { :root { --pp-margin: 40px; --pp-gutter: 24px; } }
@media (min-width: 1200px) { :root { --pp-cols: 12; --pp-margin: 64px; --pp-gutter: 32px; --pp-header-h: 96px; --pp-logo-w: 128px; --pp-section: var(--pp-space-11); --pp-section-minor: var(--pp-space-10); } }
