/* Design tokens: "Forest and brass". Light is the default; dark follows the device, or the header toggle ([data-theme]).
   Change a value here and the whole site follows. */

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-wght-normal.260c81a4759b.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces-latin-wght-normal.eb2486760f75.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  color-scheme: light;

  /* Brand: deep forest + brass */
  --forest-950: #0b1510;
  --forest-900: #12261b;
  --forest-800: #1a3426;
  --forest-700: #1f3d2e;
  --moss-600: #2c5a42;
  --moss-500: #3d7656;
  --sage-100: #e9ece0;
  --sage-200: #d6dccb;
  --brass-500: #a8843f;
  --brass-300: #cdb07a;
  --brass-100: #f1e8d3;
  /* Kept so older templates and inline styles keep working */
  --sunset-600: var(--brass-500);
  --sunset-700: #8f6f31;
  --sunset-100: var(--brass-100);

  /* Semantic colours */
  --bg: #f6f2ea;
  --bg-alt: #eee8da;
  --surface: #fffdf8;
  --surface-2: #faf6ee;
  --text: #17231c;
  --text-muted: #566058;
  --line: #e3dccb;
  --line-strong: #b9ae93;
  --brand: #1f3d2e;
  --brand-strong: #12261b;
  --brand-contrast: #ffffff;
  --brand-soft: #e9ece0;
  --accent: #a8843f;
  --accent-strong: #8f6f31;
  --accent-contrast: #1a1408;
  --accent-soft: #f1e8d3;
  --accent-text: #7a5c20;
  --link: #1d5a3e;
  --danger: #b3261e;
  --danger-soft: #fbe5e2;
  --ok: #1f7a4a;
  --ok-soft: #dff2e6;
  --warn-soft: #fdf0cf;
  --ring: #8f6f31;

  --glass-bg: rgba(255, 253, 248, 0.84);
  --glass-border: rgba(255, 255, 255, 0.6);
  --header-bg: rgba(246, 242, 234, 0.9);
  --overlay: rgba(8, 18, 13, 0.55);
  --image-dim: 1;

  /* Depth: hairlines first, shadows only for things that float */
  --shadow-1: 0 1px 0 rgba(23, 35, 28, 0.04);
  --shadow-2: 0 10px 30px -14px rgba(23, 35, 28, 0.22);
  --shadow-3: 0 30px 60px -26px rgba(23, 35, 28, 0.32);

  /* Shape: architectural, small radii */
  --r-sm: 2px;
  --r-md: 4px;
  --r-lg: 6px;
  --r-pill: 999px;

  /* Type */
  --font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem);
  --fs-2xl: clamp(1.9rem, 1.4rem + 1.9vw, 3rem);
  --fs-3xl: clamp(2.2rem, 1.5rem + 3vw, 3.9rem);
  --fs-hero: clamp(2.5rem, 1.3rem + 5.6vw, 6rem);
  --track-caps: 0.2em;

  /* Layout */
  --header-h: 76px;
  --maxw: 1240px;
  --gutter: clamp(18px, 4.4vw, 40px);
  --section-y: clamp(72px, 9vw, 144px);

  /* Motion */
  --ease: cubic-bezier(0.22, 0.7, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dark theme: device preference unless the visitor picked light with the toggle */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #0d1612;
    --bg-alt: #111c16;
    --surface: #131f19;
    --surface-2: #182520;
    --text: #ece6d8;
    --text-muted: #a9b2a8;
    --line: #243229;
    --line-strong: #46594c;
    --brand: #2c6a4a;
    --brand-strong: #235a3d;
    --brand-soft: #1a2e24;
    --accent: #cdb07a;
    --accent-strong: #dcc08c;
    --accent-contrast: #1a1408;
    --accent-soft: #2a2417;
    --accent-text: #d9be88;
    --link: #9bd8b6;
    --danger: #ff9a92;
    --danger-soft: #3b1f1d;
    --ok: #7fdca5;
    --ok-soft: #173a27;
    --warn-soft: #3a3014;
    --ring: #cdb07a;
    --glass-bg: rgba(19, 31, 25, 0.82);
    --glass-border: rgba(255, 255, 255, 0.1);
    --header-bg: rgba(13, 22, 18, 0.9);
    --overlay: rgba(3, 9, 6, 0.64);
    --image-dim: 0.9;
    --shadow-1: 0 1px 0 rgba(0, 0, 0, 0.4);
    --shadow-2: 0 10px 30px -14px rgba(0, 0, 0, 0.6);
    --shadow-3: 0 30px 60px -26px rgba(0, 0, 0, 0.7);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1612;
  --bg-alt: #111c16;
  --surface: #131f19;
  --surface-2: #182520;
  --text: #ece6d8;
  --text-muted: #a9b2a8;
  --line: #243229;
  --line-strong: #46594c;
  --brand: #2c6a4a;
  --brand-strong: #235a3d;
  --brand-soft: #1a2e24;
  --accent: #cdb07a;
  --accent-strong: #dcc08c;
  --accent-contrast: #1a1408;
  --accent-soft: #2a2417;
  --accent-text: #d9be88;
  --link: #9bd8b6;
  --danger: #ff9a92;
  --danger-soft: #3b1f1d;
  --ok: #7fdca5;
  --ok-soft: #173a27;
  --warn-soft: #3a3014;
  --ring: #cdb07a;
  --glass-bg: rgba(19, 31, 25, 0.82);
  --glass-border: rgba(255, 255, 255, 0.1);
  --header-bg: rgba(13, 22, 18, 0.9);
  --overlay: rgba(3, 9, 6, 0.64);
  --image-dim: 0.9;
  --shadow-1: 0 1px 0 rgba(0, 0, 0, 0.4);
  --shadow-2: 0 10px 30px -14px rgba(0, 0, 0, 0.6);
  --shadow-3: 0 30px 60px -26px rgba(0, 0, 0, 0.7);
}
