/* Self-hosted variable fonts (latin subset). Preloaded from inc/enqueue.php. */
@font-face {
  font-family:'Newsreader';
  font-style:normal;
  font-weight:500 600;
  font-display:swap;
  src:url(../fonts/newsreader-latin.woff2) format('woff2');
}
@font-face {
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url(../fonts/hanken-grotesk-latin.woff2) format('woff2');
}

/* Design tokens. Every colour, size, space and radius used by the theme lives here. */
:root{
  /* colour: core */
  --color-primary:#12372e;
  --color-primary-deep:#0d2a23;
  --color-primary-700:#23463c;
  --color-primary-600:#2c5246;
  --color-primary-500:#2f5d50;
  --color-secondary:#1f6f49;
  --color-secondary-dark:#1a5e3d;
  --color-accent:#b5451b;
  --color-accent-hover:#9c3a16;
  --color-accent-dark:#8a3413;
  --color-text:#10231d;
  --color-text-body:#14201c;
  --color-text-soft:#2e3b35;
  --color-text-mid:#3f4d46;
  --color-muted:#4a5751;
  --color-muted-soft:#5e6b65;
  --color-placeholder:#6b766f;
  --color-white:#ffffff;
  --color-background:#faf7f2;
  --color-surface-alt:#f1ebdf;
  --color-surface-warm:#fbf8f1;
  --color-surface-paper:#fffdf9;
  --color-surface-tint:#f5f0e4;
  --color-surface-tint-2:#f0ebdf;
  --color-border:#ddd5c5;
  --color-border-soft:#e6e0d4;
  --color-border-strong:#d5cdbb;
  --color-border-2:#dcd4c3;
  --color-border-3:#dfd8c9;
  --color-border-faint:#ece6d9;
  --color-border-4:#e3dccd;
  --color-line:#cfc7b5;
  --color-line-strong:#a99f8a;
  --color-dot:#a79f8c;
  --color-dash:#b9b0a0;
  --color-input-border:#8a8270;
  --color-muted-warm:#7a6f5b;
  --color-on-dark:#f4f1ea;
  --color-on-dark-accent:#9cc9b3;
  --color-on-dark-muted:#c9ddd3;
  --color-on-dark-soft:#d7e6de;
  --color-on-dark-line:#8fb2a3;
  --color-on-dark-dim:#9fb8ad;
  --color-success-tint:#ddebe3;
  --color-success-bg:#e7f0ea;
  --color-success-bg-2:#e6f0ea;
  --color-success-wash:#f6faf7;
  --color-success-wash-2:#f6fbf8;
  --color-warn-text:#5a4a1e;
  --color-warn:#7a5a12;
  --color-warn-deep:#3e3208;
  --color-warn-muted:#4b4a3a;
  --color-warn-bg:#f6e7b8;
  --color-warn-wash:#fff6dd;
  --color-warn-dot:#c08a1e;
  --color-danger:#b42318;
  --color-danger-dark:#8a2c1e;
  --color-danger-bg:#f3e1dc;
  --color-danger-bg-2:#f6ddd2;
  --color-danger-bg-3:#fbede8;
  --color-danger-wash:#fff8f7;
  --color-info:#3c6e8f;
  /* colour: alpha and shadows */
  --shadow-tint:rgba(18,55,46,.35);
  --shadow-tint-strong:rgba(18,55,46,.4);
  --focus-ring-color:rgba(18,55,46,.22);
  --white-a05:rgba(255,255,255,.05);
  --white-a14:rgba(255,255,255,.14);
  --white-a92:rgba(255,255,255,.92);
  --white-a75:rgba(255,255,255,.75);
  --white-a94:rgba(255,255,255,.94);
  --shadow-hero:0 1px 0 var(--color-border-soft),0 24px 48px -28px var(--shadow-tint);
  --shadow-card:0 24px 48px -32px var(--shadow-tint);
  --shadow-lift:0 28px 40px -24px var(--shadow-tint-strong);
  --shadow-focus:0 0 0 3px var(--focus-ring-color);

  /* typography */
  --font-heading:'Newsreader',Georgia,'Times New Roman',serif;
  --font-body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-size-xs:13px;
  --font-size-sm:15.5px;
  --font-size-md:17px;
  --font-size-lg:20px;
  --font-size-xl:32px;
  --font-size-xxl:44px;
  --fs-9:9px;
  --fs-10_5:10.5px;
  --fs-11:11px;
  --fs-11_5:11.5px;
  --fs-12:12px;
  --fs-12_5:12.5px;
  --fs-13_5:13.5px;
  --fs-14:14px;
  --fs-14_5:14.5px;
  --fs-15:15px;
  --fs-16:16px;
  --fs-16_5:16.5px;
  --fs-17_5:17.5px;
  --fs-18:18px;
  --fs-18_5:18.5px;
  --fs-19:19px;
  --fs-19_5:19.5px;
  --fs-21:21px;
  --fs-22:22px;
  --fs-23:23px;
  --fs-24:24px;
  --fs-26:26px;
  --fs-27:27px;
  --fs-28:28px;
  --fs-30:30px;
  --fs-34:34px;
  --fs-36:36px;
  --fs-38:38px;
  --fs-40:40px;
  --fs-42:42px;
  --fs-52:52px;
  --fs-56:56px;
  --fs-60:60px;
  --fs-64:64px;
  --fs-76:76px;
  --fs-84:84px;
  --fs-104:104px;
  --fs-112:112px;
  --fs-120:120px;
  --fs-200:200px;

  /* spacing scale (4px base) */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-14:56px;
  --space-16:64px;
  --space-18:72px;
  --space-20:80px;
  --space-24:96px;

  /* radius */
  --radius-xs:4px;
  --radius-sm:6px;
  --radius-md:8px;
  --radius-lg:10px;
  --radius-xl:12px;
  --radius-round:50%;

  /* layout */
  --container:1240px;
  --container-app:1120px;
  --measure:680px;
  --measure-wide:760px;
  --control-height:56px;
  --tap-size:44px;
  --sticky-offset:104px;
  --header-height:64px;

  /* motion */
  --transition-base:150ms ease;
}
