/* Shared navigation is isolated so product pages can retain their own design. */
.site-nav,.site-nav.scrolled {
  position:sticky;
  top:0;
  z-index:100;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  width:100%;
  min-height:88px;
  padding:16px max(32px,calc((100% - 1152px)/2));
  background:#f8f7f1;
  border-bottom:1px solid #d7ddcf;
  backdrop-filter:none;
  transition:none;
  box-sizing:border-box;
  font-family:'DM Sans',sans-serif;
}

.site-nav .logo {
  display:flex;
  align-items:center;
  gap:10px;
  color:#173d2c;
  text-decoration:none;
  flex-shrink:0;
}

.site-nav .logo-icon {
  width:34px;
  height:34px;
}

.site-nav .logo-text {
  font-family:'Fraunces',serif;
  font-size:1.2rem;
  font-weight:400;
  letter-spacing:-.03em;
}

.site-nav .nav-links {
  display:flex;
  align-items:center;
  gap:25px;
  list-style:none;
  padding:0;
  margin:0;
}

.site-nav .nav-links a {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:44px;
  font-size:.8rem;
  font-weight:500;
  color:#365540;
  text-decoration:none;
  position:static;
}

.site-nav .nav-links a:after {
  content:none;
}

.site-nav .nav-links a:hover,.site-nav .nav-links a.active {
  color:#173d2c;
  text-decoration:underline;
  text-underline-offset:5px;
}

.site-nav a[data-contact-cta] {
  background:#173d2c;
  color:#f8f7f1;
  border-radius:4px;
  padding:10px 17px;
}

.site-nav a[data-contact-cta]:hover,.site-nav a[data-contact-cta].active {
  background:#29553c;
  color:#fff;
  text-decoration:none;
}

.site-nav .nav-toggle {
  display:none;
  border:1px solid #899a87;
  border-radius:4px;
  background:transparent;
  color:#173d2c;
  font:500 .85rem 'DM Sans',sans-serif;
  min-height:44px;
  padding:8px 12px;
  cursor:pointer;
}

.nav-toggle span {
  margin-left:10px;
}

.site-nav [hidden] {
  display:none!important;
}

.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  z-index:200;
  padding:12px 20px;
  background:#173d2c;
  color:#fff;
  border-radius:4px;
  font:500 1rem 'DM Sans',sans-serif;
}

.skip-link:focus {
  top:12px;
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #a36919;
  outline-offset:4px;
}

main:focus {
  outline:none;
}

main [id] {
  scroll-margin-top:110px;
}

@media(max-width:920px) {
  .site-nav,.site-nav.scrolled {
    padding:14px 22px;
    min-height:76px;
    position:relative;
  }
  .site-nav .nav-links {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:8px 24px;
    border-top:1px solid #d7ddcf;
    padding-top:12px;
  }
  .site-nav.menu-ready {
    position:sticky;
  }
  .site-nav.menu-ready .nav-toggle {
    display:block;
  }
  .site-nav.menu-ready .nav-links {
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    max-height:calc(100dvh - 100px);
    overflow-y:auto;
  }
  .site-nav.menu-ready.menu-open .nav-links {
    display:flex;
  }
  .site-nav .nav-links a {
    width:100%;
    padding:8px 10px;
  }
  .site-nav .nav-links li:last-child {
    margin-top:4px;
  }
  .site-nav .logo-text {
    font-size:1.12rem;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto!important;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
