/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
   Palette: warm obsidian ink as the new primary dark (richer than
   flat black), deep forest kept as a secondary brand tone (it's
   real brand equity — the logo and EHO mark are built around it),
   antique brass refined, and clay/terracotta added as a second warm
   accent — a color this site didn't have before, evoking autumn
   in the Smokies rather than the expected "real estate green."
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* Darks */
  --obsidian:      #15130F;
  --obsidian-soft: #1D1B16;
  --forest:        #1B2B21;
  --forest-deep:   #0F1A14;
  --forest-mid:    #2C4A38;

  /* Lights */
  --parchment:  #F5EFE2;
  --linen:      #FAF6ED;
  --paper:      #FEFDFA;

  /* Accents */
  --brass:       #B8863E;
  --brass-light: #D9AE6C;
  --brass-pale:  #EFDBA9;
  --clay:        #A85236;
  --clay-light:  #C97A57;
  --clay-pale:   #E9C4B2;

  /* Supporting neutrals */
  --sage:  #7C9481;
  --mist:  #B7C4B9;
  --fog:   #DDD6C6;
  --taupe: #8A7F6C;
  --ink-40: rgba(21,19,15,0.4);
  --ink-70: rgba(21,19,15,0.7);
  --brass-hair: rgba(184,134,62,0.35);

  /* Type */
  --display: 'Fraunces', 'Playfair Display', Georgia, serif;
  --serif:   'Playfair Display', Georgia, serif;
  --sans:    'Outfit', system-ui, -apple-system, sans-serif;

  /* Motion */
  --ease:      cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --spring:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:  0.25s;
  --dur-med:   0.55s;
  --dur-slow:  0.9s;

  /* Layout */
  --max: 1280px;
  --pad: clamp(1.5rem, 5vw, 4.5rem);
  --radius-sm: 3px;
  --radius: 6px;
  --radius-lg: 14px;

  /* Shadow language — tinted, never flat grey/black */
  --shadow-xs: 0 2px 8px rgba(15,17,13,0.06);
  --shadow-sm: 0 6px 20px rgba(15,17,13,0.10);
  --shadow-md: 0 16px 44px rgba(15,17,13,0.16);
  --shadow-lg: 0 32px 80px rgba(15,17,13,0.24);
  --shadow-brass: 0 14px 36px rgba(184,134,62,0.30);
  --shadow-clay:  0 14px 36px rgba(168,82,54,0.26);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  font-family: var(--sans);
  color: var(--obsidian);
  background: var(--linen);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }
svg { display: block; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── TYPE SCALE ── */
h1, h2, h3, h4 { font-family: var(--display); font-weight: 500; line-height: 1.1; }
.kicker {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--clay);
  display: block;
  margin-bottom: 0.5rem;
}
.h-display { font-size: clamp(2.6rem, 5.5vw, 4.4rem); letter-spacing: -0.01em; }
.h-section { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.005em; }
.h-card    { font-size: clamp(1.3rem, 2vw, 1.6rem); }
.lede { font-size: 1.08rem; font-weight: 300; color: var(--ink-70); line-height: 1.7; }

.rule {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 68px;
  height: 1px;
  background: linear-gradient(90deg, var(--brass), transparent);
  margin: 0 0 1.75rem;
  position: relative;
}
.rule::before {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--clay);
  flex-shrink: 0;
}
