*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --forest:    #1e4535;
    --mid:       #2d6a4f;
    --light-mid: #3d7a5f;
    --leaf:      #4a8c6a;
    --sage:      #8db89a;
    --slate:     #7a9eab;
    --slate-dark: #5f8a9a;
    --mist:      #ddeee4;
    --cream:     #edecea;
    --text:      #1a3028;
    --muted:     #4e6b5e;
    --rule:      #8db89a;
  }
  html { scroll-behavior: smooth; }
  section[id] { scroll-margin-top: 102px; }
  .contact-strip[id] { scroll-margin-top: 102px; }
  body { font-family: 'DM Sans', sans-serif; font-weight: 300; background: var(--cream); color: var(--text); line-height: 1.7; overflow-x: hidden; }

  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 1rem 4rem; background: rgba(30,69,53,0.97); backdrop-filter: blur(10px); border-bottom: 0.5px solid rgba(122,171,138,0.2); }
  .nav-logo { height: 70px; width: auto; display: block; }
  .nav-links { display: flex; gap: 2.5rem; list-style: none; }
  .nav-links a { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(221,238,228,0.75); text-decoration: none; transition: color 0.2s; }
  .nav-links a:hover { color: var(--mist); }
  .nav-links a.active { color: var(--mist); }
  section { padding: 6rem 4rem; }

  .section-label { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-style: italic; font-weight: 400; letter-spacing: 0.02em; text-transform: none; color: var(--mid); margin-bottom: 3rem; display: flex; align-items: center; gap: 1rem; }
  .section-label::after { content: ''; flex: 1; height: 0.5px; background: currentColor; opacity: 0.4; max-width: 80px; }

  footer { background: var(--forest); padding: 1.5rem 4rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
  .footer-logo { height: 45px; width: auto; margin-right: 125px; }
  .footer-tagline { font-size: 0.85rem; color: var(--sage); font-style: italic; letter-spacing: 0.05em; }
  .footer-geo { font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; color:  var(--sage); }

  .hero-wave { position: absolute; bottom: -1px; left: 0; right: 0; z-index: 3; line-height: 0; }
  .hero-wave svg { width: 100%; height: 70px; display: block; }

  /* ── PAGE HEADER ── */
  .page-header {
    padding: 10rem 4rem 5rem;
    background: var(--forest);
    text-align: center;
  }
  .page-hero-back { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(221,238,228,0.5); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; transition: color 0.2s; margin-bottom: 2rem; }
  .page-hero-back:hover { color: var(--sage); }
  .page-hero-back::before { content: '←'; }
  .page-hero-eyebrow { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-style: italic; font-weight: 400; letter-spacing: 0.02em; text-transform: none; color: var(--sage); margin-bottom: 1rem; }
  .page-header h1 { font-family: 'DM Sans', sans-serif; font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 200; letter-spacing: -0.02em; line-height: 1.05; color: #e8f2ec; margin-bottom: 1.5rem; }
  .page-header h1 em { font-style: italic; font-weight: 300; color: var(--sage); }
  .page-header-blurb { font-size: 1rem; color: rgba(221,238,228,0.7); max-width: 680px; margin: 0 auto; line-height: 1.6; }


  /* ── WAVE DIVIDER ── */
  .wave-divider { display: block; line-height: 0; margin-bottom: -1px; background: #ededed; }
  .wave-divider svg { width: 100%; height: 60px; display: block; }


  @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
  .fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .fade-in.visible { opacity: 1; transform: translateY(0); }

  /* ── HAMBURGER ── */
  .nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 4px;
    background: none;
    border: none;
  }
  .nav-hamburger span {
    display: block;
    width: 24px;
    height: 1.5px;
    background: rgba(221,238,228,0.85);
    transition: all 0.25s ease;
  }
  .nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-hamburger.open span:nth-child(2) { opacity: 0; }
  .nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }


@media (max-width: 768px) {
    .page-header { padding: 8rem 1.5rem 3.5rem; }
    section { padding: 4rem 1.5rem; }
    footer { padding: 1.5rem; flex-direction: column; align-items: flex-start; gap: 0.3rem;}
    nav { padding: 0.75rem 1.5rem; }
    .nav-logo { height: 50px; }
    .nav-hamburger { display: flex; }
    .nav-links {
      display: none;
      position: fixed;
      top: 72px;
      left: 0; right: 0;
      background: rgba(30,69,53,0.98);
      flex-direction: column;
      gap: 0;
      padding: 0.5rem 0 1rem;
      border-bottom: 0.5px solid rgba(122,171,138,0.2);
    }
    .nav-links.open { display: flex; }
    .nav-links li a { display: block; padding: 0.85rem 2rem; font-size: 0.82rem; }
    .footer-tagline {font-size: 0.9rem; color: rgba(255,255,255,0.7);}
    .footer-geo {font-size: 0.85rem; color: rgba(255,255,255,0.7);}
    .footer-logo {
      margin-bottom: 10px;
    }
}
