/* One header composition for every page. The accepted hero/sticky styles remain. */
#productsMenu[hidden] { display: none; }
@media (min-width: 901px) {
  .site-header { transition: background-color 220ms ease, box-shadow 220ms ease; }
  .site-header:not(.is-scrolled) { padding-top: 1.7vw; }
  .site-header .header-inner { position: relative; width: 88.8%; max-width: 1680px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; padding: 0; gap: clamp(12px,1.5vw,25px); border-radius: 0; }
  .site-header .brand { justify-self: start; }
  .site-header .header-actions { justify-self: end; }
  .site-header .brand-logo { width: clamp(84px,7.5vw,128px); height: auto; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .site-header:not(.is-scrolled) .brand-logo { filter: brightness(0) invert(1); }
  .site-header .main-nav { justify-self: center; margin: 0; }
  .site-header .nav-list { gap: clamp(8px,1.05vw,20px); }
  .site-header .nav-list > li { display: flex; align-items: center; order: 0; }
  .site-header .nav-link { position: relative; min-height: 44px; padding: 10px 3px; font-family: 'Poppins',sans-serif; font-size: clamp(12px,.98vw,16px); font-weight: 500; line-height: 1.3; white-space: nowrap; transition: color 200ms ease; }
  .site-header .nav-link::after { content: ''; position: absolute; right: 3px; bottom: 3px; left: 3px; height: 2px; border-radius: 2px; background: #f9cf16; opacity: 0; transform: scaleX(0); transform-origin: left; transition: transform 220ms,opacity 180ms; }
  .site-header:not(.is-scrolled) .nav-link { color: #edf7f1; }
  .site-header:not(.is-scrolled) .nav-link:is(:hover,:focus-visible) { color: #fff; }
  .site-header .nav-link:is(:hover,:focus-visible,.active)::after, .rh-products.is-open > .nav-link::after { opacity: 1; transform: scaleX(1); }
  .site-header.is-scrolled .nav-link:is(:hover,.active) { background: transparent; }
  .rh-products-toggle { display: grid; place-items: center; width: 44px; height: 44px; margin-left: -8px; color: #edf7f1; border-radius: 50%; transition: background 200ms; }
  .rh-products-toggle svg { width: 10px; height: 8px; transition: transform 200ms; }
  .rh-products-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .rh-products-toggle:hover { background: #ffffff12; }
  .site-header.is-scrolled .rh-products-toggle { color: #104534; }
  .site-header.is-scrolled .rh-products-toggle:hover { background: #edf5ed; }
  .rh-mega { position: absolute; top: calc(100% + 12px); left: 0; right: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; padding: 24px; background: #fff; color: #104534; border: 1px solid #d2e1d8; border-radius: 22px; box-shadow: 0 18px 38px #052c2224; animation: rh-open 220ms cubic-bezier(.2,.7,.2,1); max-height: calc(100dvh - 145px); overflow-y: auto; overscroll-behavior: contain; }
  /* Bridge the visual gap so the pointer can reach the large menu without a flicker. */
  .rh-products::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 13px; pointer-events: none; }
  .rh-products.is-open::after { pointer-events: auto; }
  .rh-menu-column { display: flex; flex-direction: column; gap: 3px; }
  .rh-menu-column + .rh-menu-column { border-left: 1px solid #e0e9e3; padding-left: 18px; }
  .rh-menu-column a { display: flex; align-items: center; min-height: 46px; padding: 11px 12px; color: #104534; border-radius: 10px; font: 500 clamp(12px,.95vw,15px)/1.55 'Poppins',sans-serif; transition: background 180ms,color 180ms; }
  .rh-menu-column a:hover { background: #fff5c8; color: #104534; }
  .site-header .btn-nav-cta { min-height: 46px; padding: 11px clamp(14px,1.6vw,25px); gap: clamp(8px,1vw,16px); border-width: 1px; border-color: #d6eee579; font: 500 clamp(10px,.86vw,14px)/1.4 'Poppins',sans-serif; letter-spacing: .025em; white-space: nowrap; transition: color 200ms,background 200ms,border-color 200ms,transform 200ms; }
  .site-header .btn-nav-cta .btn-icon { width: 19px; transition: transform 200ms; }
  .site-header .btn-nav-cta:hover, .site-header.is-scrolled .btn-nav-cta:hover { color: #104534; background: #f9cf16; border-color: #f9cf16; transform: translateY(-2px); }
  .site-header .btn-nav-cta:hover .btn-icon { transform: translateX(3px); }
  .site-header .btn-nav-cta:active { transform: translateY(0); }
  .site-header.is-scrolled { top: 12px; left: clamp(12px,1.4vw,24px); right: clamp(12px,1.4vw,24px); padding-top: 0; background: #fff; border: 1px solid #d2e1d8; border-radius: 999px; box-shadow: 0 6px 20px #10453412; }
  .site-header.is-scrolled .header-inner { width: 88.8vw; max-width: 1680px; min-height: 76px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
  .site-header.is-scrolled .brand-logo { width: 88px; }
  .site-header.is-scrolled .nav-link { color: #315648; }
  .site-header.is-scrolled .btn-nav-cta { min-height: 46px; }
  .site-header :is(a,button):focus-visible { outline: 3px solid #f9cf16; outline-offset: 4px; }
  .site-header.is-scrolled :is(a,button):focus-visible, .site-header .rh-menu-column a:focus-visible { outline-color: #104534; }
  .site-header .rh-menu-column a:focus-visible { background: #fff5c8; outline-offset: -2px; outline-width: 2px; }
  body:has(.site-header:not(.is-scrolled)) > .wa-float { visibility: hidden; }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .site-header .header-inner, .site-header.is-scrolled .header-inner { width: calc(100vw - 72px); gap: 9px; }
  .site-header .nav-list { gap: 7px; }
  .site-header .nav-link { padding-inline: 2px; font-size: 12px; }
  .site-header .brand-logo, .site-header.is-scrolled .brand-logo { width: 72px; }
  .site-header .btn-nav-cta { font-size: 10px; padding: 11px 13px; }
  .site-header .btn-nav-cta .btn-icon { display: none; }
  .rh-products-toggle { margin-left: -8px; width: 44px; }
  .rh-mega { padding: 16px; gap: 10px; }
  .rh-menu-column + .rh-menu-column { padding-left: 10px; }
  .rh-menu-column a { font-size: 12px; padding-inline: 8px; }
}
@media (max-width: 900px) {
  .rm-drawer { padding-top: 0; }
  .rm-drawer-top { margin: 0 -20px 16px; padding: max(16px,env(safe-area-inset-top)) 20px 8px; }
  .rm-products { min-width: 0; }
  .rm-products summary { list-style: none; cursor: pointer; }
  .rm-products summary::-webkit-details-marker { display: none; }
  .rm-products[open] > summary { background: #eaf2eb; color: #104534; }
  .rm-products[open] > summary::after { transform: rotate(135deg); }
  .rm-products summary::after { transition: transform 200ms; }
  .rm-products-list { margin: 6px 0 9px 24px; padding-left: 16px; border-left: 1px solid #d2e1d8; }
  .rm-products-list ul { margin: 0; padding: 0; list-style: none; }
  .rm-products-list a { display: flex; align-items: center; min-height: 46px; padding: 10px 7px; color: #104534; font-size: 13px; line-height: 1.55; border-radius: 8px; }
  .rm-products-list a:is(:hover,:focus-visible) { background: #fff5c8; }
  .rm-products-all { font-weight: 600; gap: 15px; border-bottom: 1px solid #d2e1d8; margin-bottom: 5px; }
  .rm-products-all svg { width: 19px; height: 19px; }
  .rm-drawer .rm-drawer-link { font-size: 13px; }
}
.rh-mega a[aria-current="page"], .rm-products-list a[aria-current="page"] { color: #104534; font-weight: 600; background: #edf4ee; }
@keyframes rh-open { from { opacity: .4; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header .header-inner, .site-header .nav-link, .site-header .nav-link::after, .site-header .btn-nav-cta, .site-header .btn-nav-cta .btn-icon, .rh-products-toggle, .rh-products-toggle svg, .rh-menu-column a, .rm-products summary::after { transition: none; }
  .rh-mega { animation: none; }
  .site-header .btn-nav-cta:hover, .site-header.is-scrolled .btn-nav-cta:hover, .site-header .btn-nav-cta:hover .btn-icon { transform: none; }
}
