@font-face {
  font-family: 'Fraunces';
  src: url('../fonts/Fraunces/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype-variations');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --pine: #0F271F;
  --pine-deep: #08130D;
  --olivine: #A09C33;
  --paprika: #D05D30;
  --bronze: #D09D38;
  --mahogany: #3D0000;
  --stone: #E8E4DC;
  --porcelain: #FFFFFB;
  --porcelain-warm: #FBFAF6;
  --olivine-wash: rgba(160, 156, 51, 0.06);
  --hairline: #E5E2D8;
  --pitch: #090001;

  --display: 'Gloock', serif;
  --serif: 'Fraunces', serif;
  --body: 'Inter', sans-serif;

  /* Type scale — fixed static sizes (clamp() headlines stay inline) */
  --text-2xs:  0.625rem;   /* 10px */
  --text-xs:   0.6875rem;  /* 11px */
  --text-sm:   0.75rem;    /* 12px */
  --text-btn:  0.8125rem;  /* 13px */
  --text-card: 0.875rem;   /* 14px — card decks, captions, dense lists */
  --text-body: 1rem;       /* 16px — paragraph prose (story, note, lodging body, FAQ) */
  --text-md:   0.9375rem;  /* 15px */
  --text-lg:   1rem;       /* 16px */
  --text-xl:   1.125rem;   /* 18px */
  --text-2xl:  1.25rem;    /* 20px */
  --text-3xl:  1.375rem;   /* 22px */
  --text-4xl:  1.5rem;     /* 24px */
  --text-5xl:  1.75rem;    /* 28px */
  --text-6xl:  2rem;       /* 32px */
  --text-7xl:  3rem;       /* 48px */

  --page-x: clamp(1.25rem, 6vw, 5rem);
  --section-y: clamp(96px, 16vw, 200px);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: var(--body); font-weight: 300; line-height: 1.5; }
img { display: block; max-width: 100%; height: auto; }
::selection { background: var(--olivine); color: var(--pine); }
