  :root {
    --sage: #7A9E7E;
    --sage-light: #A8C5AC;
    --sage-pale: #EAF2EB;
    --mint: #C8E6C9;
    --teal: #4A8B8C;
    --teal-deep: #2E6B6C;
    --gold: #C9A84C;
    --gold-light: #E8D5A3;
    --cream: #FAF8F4;
    --warm-white: #F5F2EC;
    --parchment: #EDE8DF;
    --charcoal: #1C2B2B;
    --deep: #0F1F1F;
    --text-body: #3A4A3F;
    --text-muted: #6B7D70;
    --border: rgba(74,139,140,0.18);
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; font-size: 16px; }

  body {
    font-family: 'DM Sans', sans-serif;
    background: var(--cream);
    color: var(--text-body);
    overflow-x: hidden;
  }
 
 
  /* ── TICKER ── */
  .ticker-bar {
    background: var(--teal-deep);
    padding: 13px 0;
    overflow: hidden;
  }
  .ticker-inner {
    display: flex; white-space: nowrap;
    animation: ticker 30s linear infinite;
  }
  .ticker-item {
    display: inline-flex; align-items: center; gap: 14px;
    padding: 0 40px;
    font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase;
    color: rgba(255,255,255,0.7); font-weight: 400;
  }
  .ticker-dot {
    width: 4px; height: 4px; border-radius: 50%;
    background: var(--gold); flex-shrink: 0;
  }
  @keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

  /* ── SECTIONS SHARED ── */
  section { position: relative; }
  .container { max-width: 1200px; margin: 0 auto; padding: 0 5vw; }

 






  /* ── SCROLL REVEALS ── */
  .reveal {
    opacity: 1; transform: translateY(40px);
    transition: opacity 0.85s cubic-bezier(0.22,1,0.36,1), transform 0.85s cubic-bezier(0.22,1,0.36,1);
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .reveal-left {
    opacity: 1; transform: translateX(-40px);
    transition: opacity 0.85s cubic-bezier(0.22,1,0.36,1), transform 0.85s cubic-bezier(0.22,1,0.36,1);
  }
  .reveal-left.visible { opacity: 1; transform: translateX(0); }
  .reveal-right {
    opacity: 1; transform: translateX(40px);
    transition: opacity 0.85s cubic-bezier(0.22,1,0.36,1), transform 0.85s cubic-bezier(0.22,1,0.36,1);
  }
  .reveal-right.visible { opacity: 1; transform: translateX(0); }

  .delay-1 { transition-delay: 0.1s; }
  .delay-2 { transition-delay: 0.2s; }
  .delay-3 { transition-delay: 0.3s; }
  .delay-4 { transition-delay: 0.4s; }

  /* ── KEYFRAMES ── */
  @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
  @keyframes fadeIn { to { opacity: 1; } }

