/* Generated by scripts/build-tokens.mjs from tokens/*.json — do not edit by hand. */

/* Scale primitives — identical under every colour scheme. */
:root {
  --nk-font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nk-font-heading: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nk-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --nk-fw-regular: 400;
  --nk-fw-medium: 500;
  --nk-fw-semibold: 600;
  --nk-fw-bold: 700;
  --nk-fw-extrabold: 800;
  --nk-fs-10: 10px;
  --nk-fs-11: 11px;
  --nk-fs-12: 12px;
  --nk-fs-13: 13px;
  --nk-fs-14: 14px;
  --nk-fs-15: 15px;
  --nk-fs-16: 16px;
  --nk-fs-18: 18px;
  --nk-fs-20: 20px;
  --nk-fs-22: 22px;
  --nk-fs-26: 26px;
  --nk-fs-32: 32px;
  --nk-fs-38: 38px;
  --nk-fs-46: 46px;
  --nk-display-sm: clamp(32px, 3.2vw, 46px);
  --nk-display-md: clamp(38px, 4.2vw, 60px);
  --nk-display-lg: clamp(42px, 4.6vw, 68px);
  --nk-lh-none: 1;
  --nk-lh-tight: 1.06;
  --nk-lh-snug: 1.2;
  --nk-lh-heading: 1.3;
  --nk-lh-base: 1.45;
  --nk-lh-relaxed: 1.55;
  --nk-lh-loose: 1.65;
  --nk-ls-tightest: -0.04em;
  --nk-ls-tighter: -0.035em;
  --nk-ls-tight: -0.03em;
  --nk-ls-snug: -0.02em;
  --nk-ls-normal: 0;
  --nk-ls-wide: 0.08em;
  --nk-ls-wider: 0.1em;
  --nk-ls-widest: 0.12em;
  --nk-space-0: 0;
  --nk-space-2: 2px;
  --nk-space-4: 4px;
  --nk-space-6: 6px;
  --nk-space-8: 8px;
  --nk-space-10: 10px;
  --nk-space-12: 12px;
  --nk-space-14: 14px;
  --nk-space-16: 16px;
  --nk-space-20: 20px;
  --nk-space-24: 24px;
  --nk-space-28: 28px;
  --nk-space-32: 32px;
  --nk-space-40: 40px;
  --nk-space-48: 48px;
  --nk-space-56: 56px;
  --nk-space-64: 64px;
  --nk-space-72: 72px;
  --nk-space-96: 96px;
  --nk-gutter-page: clamp(18px, 3vw, 48px);
  --nk-gutter-nav: clamp(12px, 2vw, 32px);
  --nk-radius-none: 0;
  --nk-radius-xs: 4px;
  --nk-radius-sm: 6px;
  --nk-radius-md: 8px;
  --nk-radius-lg: 12px;
  --nk-radius-xl: 14px;
  --nk-radius-2xl: 16px;
  --nk-radius-3xl: 20px;
  --nk-radius-4xl: 24px;
  --nk-radius-5xl: 28px;
  --nk-radius-pill: 999px;
  --nk-radius-circle: 50%;
  --nk-shadow-xs: 0 1px 3px rgba(var(--nk-shadow-rgb), 0.08);
  --nk-shadow-sm: 0 4px 14px rgba(var(--nk-shadow-rgb), 0.08);
  --nk-shadow-md: 0 4px 14px rgba(var(--nk-shadow-rgb), 0.12);
  --nk-shadow-lg: 0 12px 36px rgba(var(--nk-shadow-rgb), 0.10);
  --nk-shadow-xl: 0 18px 48px rgba(var(--nk-shadow-rgb), 0.14);
  --nk-shadow-2xl: 0 24px 60px rgba(var(--nk-shadow-rgb), 0.24);
  --nk-container-rail: 248px;
  --nk-container-prose: 620px;
  --nk-container-narrow: 520px;
  --nk-container-form: 600px;
  --nk-container-panel: 940px;
  --nk-container-content: 1000px;
  --nk-container-page: clamp(1180px, 92vw, 1560px);
  --nk-bp-sm: 576px;
  --nk-bp-md: 768px;
  --nk-bp-lg: 992px;
  --nk-bp-xl: 1200px;
  --nk-bp-xxl: 1400px;
  --nk-z-base: 1;
  --nk-z-raised: 5;
  --nk-z-sticky: 30;
  --nk-z-header: 40;
  --nk-z-dropdown: 90;
  --nk-z-overlay: 100;
  --nk-z-modal: 110;
  --nk-z-toast: 120;
  --nk-duration-fast: 0.18s;
  --nk-duration-base: 0.2s;
  --nk-duration-slow: 0.24s;
  --nk-duration-slower: 0.3s;
  --nk-ease-standard: cubic-bezier(0.2, 0, 0.2, 1);
  --nk-ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --nk-ease-exit: cubic-bezier(0.4, 0, 1, 1);
}

/* Default scheme: Pine & Terracotta. Override by setting data-nk-theme on <html>. */
:root {
  --nk-bg: #fffcf7;
  --nk-surface: #f7f2e9;
  --nk-card: #ffffff;
  --nk-text: #191713;
  --nk-muted: #6f6a63;
  --nk-line: #ece5da;
  --nk-brand: #17564a;
  --nk-brand-dark: #0f4237;
  --nk-brand-soft: #e7f0ec;
  --nk-accent: #d1613c;
  --nk-accent-dark: #b94f2d;
  --nk-accent-soft: #fdeae1;
  --nk-shadow-rgb: 25, 23, 19;
}

/* Pine & Terracotta — Green reads safe and outdoorsy; warm clay CTA. */
[data-nk-theme="pine"] {
  --nk-bg: #fffcf7;
  --nk-surface: #f7f2e9;
  --nk-card: #ffffff;
  --nk-text: #191713;
  --nk-muted: #6f6a63;
  --nk-line: #ece5da;
  --nk-brand: #17564a;
  --nk-brand-dark: #0f4237;
  --nk-brand-soft: #e7f0ec;
  --nk-accent: #d1613c;
  --nk-accent-dark: #b94f2d;
  --nk-accent-soft: #fdeae1;
  --nk-shadow-rgb: 25, 23, 19;
}

/* Ink & Coral — Neutral chrome, one hot CTA — highest click contrast. */
[data-nk-theme="ink"] {
  --nk-bg: #fbfaf9;
  --nk-surface: #f2f0ee;
  --nk-card: #ffffff;
  --nk-text: #14110f;
  --nk-muted: #6b6560;
  --nk-line: #e7e3df;
  --nk-brand: #14110f;
  --nk-brand-dark: #000000;
  --nk-brand-soft: #eeecea;
  --nk-accent: #f0563a;
  --nk-accent-dark: #d13f24;
  --nk-accent-soft: #ffe8e2;
  --nk-shadow-rgb: 20, 17, 15;
}

/* Midnight & Amber — Navy reads as institutional trust; amber carries book-now urgency. */
[data-nk-theme="midnight"] {
  --nk-bg: #fbfbfd;
  --nk-surface: #f1f2f7;
  --nk-card: #ffffff;
  --nk-text: #131a2b;
  --nk-muted: #626b80;
  --nk-line: #e3e5ee;
  --nk-brand: #1b2a4a;
  --nk-brand-dark: #101b33;
  --nk-brand-soft: #e6eaf3;
  --nk-accent: #e08a1e;
  --nk-accent-dark: #c07310;
  --nk-accent-soft: #fdf0da;
  --nk-shadow-rgb: 19, 26, 43;
}

/* Slate & Sky — Blue is the most-trusted hue — reads utility, low risk. */
[data-nk-theme="slate"] {
  --nk-bg: #fbfcfd;
  --nk-surface: #eff3f7;
  --nk-card: #ffffff;
  --nk-text: #131820;
  --nk-muted: #60697a;
  --nk-line: #e2e8ef;
  --nk-brand: #263544;
  --nk-brand-dark: #1a2632;
  --nk-brand-soft: #e7eef5;
  --nk-accent: #1f7ae0;
  --nk-accent-dark: #1663bb;
  --nk-accent-soft: #e2eefc;
  --nk-shadow-rgb: 19, 24, 32;
}

/* Forest & Sand — Nature palette for cabin and countryside inventory. */
[data-nk-theme="forest"] {
  --nk-bg: #fbfaf6;
  --nk-surface: #f2efe6;
  --nk-card: #ffffff;
  --nk-text: #1a1c16;
  --nk-muted: #66695c;
  --nk-line: #e6e3d8;
  --nk-brand: #2c3a24;
  --nk-brand-dark: #1e2818;
  --nk-brand-soft: #e9ede3;
  --nk-accent: #b8813c;
  --nk-accent-dark: #9c6a2b;
  --nk-accent-soft: #f8ecd9;
  --nk-shadow-rgb: 26, 28, 22;
}

/* Espresso & Ochre — Warm browns feel domestic — "someone lives here". */
[data-nk-theme="espresso"] {
  --nk-bg: #fdfaf6;
  --nk-surface: #f5eee5;
  --nk-card: #ffffff;
  --nk-text: #1f1712;
  --nk-muted: #6e6257;
  --nk-line: #ebe1d5;
  --nk-brand: #3b2415;
  --nk-brand-dark: #2a190e;
  --nk-brand-soft: #f0e6db;
  --nk-accent: #cf8a2a;
  --nk-accent-dark: #b0721c;
  --nk-accent-soft: #fbeed6;
  --nk-shadow-rgb: 31, 23, 18;
}

/* Plum & Blush — Desaturated purple signals premium without shouting. */
[data-nk-theme="plum"] {
  --nk-bg: #fdfbfc;
  --nk-surface: #f6f0f3;
  --nk-card: #ffffff;
  --nk-text: #1d1418;
  --nk-muted: #6e6169;
  --nk-line: #ece2e7;
  --nk-brand: #4a1f3a;
  --nk-brand-dark: #38152b;
  --nk-brand-soft: #f3e8ef;
  --nk-accent: #c4557a;
  --nk-accent-dark: #a83f62;
  --nk-accent-soft: #fbe6ed;
  --nk-shadow-rgb: 29, 20, 24;
}

/* Teal & Magenta — Near-complementary pair — loudest, best for young travel. */
[data-nk-theme="teal"] {
  --nk-bg: #f9fcfc;
  --nk-surface: #ecf4f4;
  --nk-card: #ffffff;
  --nk-text: #10201f;
  --nk-muted: #5c6f6e;
  --nk-line: #dceaea;
  --nk-brand: #0d4f4f;
  --nk-brand-dark: #073a3a;
  --nk-brand-soft: #e0efee;
  --nk-accent: #d63b7a;
  --nk-accent-dark: #b82a63;
  --nk-accent-soft: #fce4ee;
  --nk-shadow-rgb: 16, 32, 31;
}
