/* ============================================================
   DESIGN TOKENS — Terra Design Studio
   Brand palette: #F07820 orange · White · #444 text
   ============================================================ */

:root {

  /* ── Colour ──────────────────────────────────────────────── */
  --clr-bg:           #FFFFFF;
  --clr-bg-alt:       #F6F6F6;
  --clr-fg:           #444444;
  --clr-fg-muted:     #888888;
  --clr-border:       #E8E8E8;
  --clr-white:        #FFFFFF;
  --clr-dark:         #1A1A1A;   /* footers, hero overlays, dark sections */

  --clr-accent:       #F07820;   /* primary orange (logo) */
  --clr-accent-dark:  #D4640F;   /* hover / pressed */
  --clr-accent-light: #F59550;   /* tint */
  --clr-secondary:    #F59550;

  --clr-overlay:      rgba(26, 26, 26, 0.55);
  --clr-overlay-deep: rgba(26, 26, 26, 0.75);

  /* ── Typography ──────────────────────────────────────────── */
  --font-display: 'DM Sans', Helvetica, Arial, sans-serif;   /* headings */
  --font-body:    'Work Sans', Helvetica, Arial, sans-serif; /* body */

  --fs-2xs:  0.625rem;   /* 10px */
  --fs-xs:   0.75rem;    /* 12px */
  --fs-sm:   0.875rem;   /* 14px */
  --fs-base: 1rem;       /* 16px */
  --fs-md:   1.125rem;   /* 18px */
  --fs-lg:   1.375rem;   /* 22px */
  --fs-xl:   1.75rem;    /* 28px */
  --fs-2xl:  2.25rem;    /* 36px */
  --fs-3xl:  3rem;       /* 48px */
  --fs-4xl:  4rem;       /* 64px */
  --fs-hero: clamp(2.75rem, 6.5vw, 5.5rem);

  --fw-regular: 300;
  --fw-medium:  400;
  --fw-semi:    500;
  --fw-bold:    600;

  --lh-tight:  1.1;
  --lh-snug:   1.25;
  --lh-normal: 1.6;
  --lh-loose:  1.8;

  --ls-wide:  0.06em;
  --ls-wider: 0.12em;

  /* ── Spacing ─────────────────────────────────────────────── */
  --sp-1:   0.25rem;
  --sp-2:   0.5rem;
  --sp-3:   0.75rem;
  --sp-4:   1rem;
  --sp-5:   1.25rem;
  --sp-6:   1.5rem;
  --sp-8:   2rem;
  --sp-10:  2.5rem;
  --sp-12:  3rem;
  --sp-16:  4rem;
  --sp-20:  5rem;
  --sp-24:  6rem;
  --sp-32:  8rem;
  --sp-40:  10rem;

  /* ── Layout ──────────────────────────────────────────────── */
  --max-w:       1320px;
  --max-w-text:  720px;
  --gutter:      clamp(1.25rem, 4vw, 3rem);
  --header-h:    72px;

  /* ── Reference lines (text + image split layouts) ────────── */
  --layout-left:  25mm;   /* left margin — all content blocks align here */
  --layout-right: 25mm;   /* right margin — images bleed to this line */
  --layout-gap:   4rem;   /* gap between text and image columns */

  /* ── Motion ──────────────────────────────────────────────── */
  --ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:   cubic-bezier(0, 0, 0.2, 1);
  --ease-in:    cubic-bezier(0.4, 0, 1, 1);
  --ease-back:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   150ms;
  --dur-base:   280ms;
  --dur-slow:   560ms;
  --dur-xslow:  900ms;

  /* ── Radius ──────────────────────────────────────────────── */
  --radius-sm:   3px;
  --radius-md:   6px;
  --radius-lg:   12px;
  --radius-pill: 999px;

  /* ── Shadows ─────────────────────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.07);
  --shadow-md:  0 4px 16px rgba(0, 0, 0, 0.09);
  --shadow-lg:  0 12px 40px rgba(0, 0, 0, 0.12);
}

@media (max-width: 600px) {
  :root {
    --header-h:  60px;
    --fs-3xl:    2.25rem;
    --fs-4xl:    2.75rem;
  }
}
