/* OhWow v31 — single, shared editorial mobile navigation. */
:root{--mnav-height:76px;--mnav-ink:#1b251e;--mnav-paper:#f4f4ed;--mnav-olive:#627d68;--mnav-line:rgba(32,52,36,.17)}
@media (max-width:980px){
  html{scroll-padding-top:var(--mnav-height)}
  html.menu-open,body.menu-open{overflow:hidden!important;overscroll-behavior:none}
  .oh30-design-system .header{height:var(--mnav-height);min-height:var(--mnav-height);padding-inline:clamp(18px,4.8vw,34px);position:sticky;top:0;z-index:1001;display:flex;align-items:center;justify-content:space-between;background:#191d1a;border-bottom:1px solid rgba(255,255,255,.14)}
  .oh30-design-system.menu-open .header{position:fixed!important;top:0;left:0;right:0;width:100%;}
  .oh30-design-system .wordmark{font-size:clamp(31px,5.2vw,35px);line-height:1}
  .oh30-design-system .desktop-nav,.oh30-design-system .header-descriptor{display:none!important}
  .oh30-design-system .menu-toggle{margin-left:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-direction:row!important;padding:0 14px 0 18px;height:45px;min-width:107px;width:auto;background:transparent;border:1px solid rgba(236,245,233,.35);border-radius:999px;color:#f4f5ee;transition:border-color .2s,background .2s,color .2s;position:relative;z-index:1004}
  .oh30-design-system .menu-toggle:hover,.oh30-design-system .menu-toggle:focus-visible{border-color:#d8ff78}
  .oh30-design-system .menu-toggle[aria-expanded=true]{background:var(--lime);border-color:var(--lime);color:#1b251e}
  .oh30-design-system .menu-toggle>.mnav-toggle-text,.oh30-design-system .menu-toggle[aria-expanded=true]>.mnav-toggle-text{display:inline-block;width:auto;height:auto;background:transparent;transform:none!important;flex:none;}
  .oh30-design-system .menu-toggle>.mnav-toggle-glyph,.oh30-design-system .menu-toggle[aria-expanded=true]>.mnav-toggle-glyph{transform:none!important;background:transparent;}
  .oh30-design-system .mnav-toggle-text{font:700 12px/1 'DM Sans',sans-serif;letter-spacing:0;white-space:nowrap}
  .oh30-design-system .mnav-toggle-glyph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:18px;height:22px;flex:none}
  .oh30-design-system .mnav-toggle-glyph i{display:block;width:18px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .22s ease}
  .oh30-design-system .menu-toggle[aria-expanded=true] .mnav-toggle-glyph i:first-child{transform:translateY(3.25px) rotate(45deg)}
  .oh30-design-system .menu-toggle[aria-expanded=true] .mnav-toggle-glyph i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .oh30-design-system .mobile-nav{display:block;position:fixed;inset:var(--mnav-height) 0 0;inset:var(--mnav-height) 0 0 0;z-index:1000;background:var(--mnav-paper);color:var(--mnav-ink);height:calc(100vh - var(--mnav-height));height:calc(100dvh - var(--mnav-height));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .24s ease,visibility .32s;box-shadow:0 24px 80px rgba(5,17,10,.17)}
  .oh30-design-system .mobile-nav:before{content:'';position:absolute;inset:0 0 auto auto;width:min(65vw,390px);height:220px;background:radial-gradient(ellipse at 100% 0%,rgba(166,193,157,.19),transparent 70%);pointer-events:none}
  .oh30-design-system .mobile-nav.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .oh30-design-system .mnav-inner{position:relative;width:min(100%,840px);min-height:100%;margin:auto;display:flex;flex-direction:column;padding:clamp(27px,5vw,44px) clamp(20px,5vw,44px) max(28px,env(safe-area-inset-bottom));}
  .oh30-design-system .mnav-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:clamp(20px,4vh,36px);font:700 10px/1.4 'Space Grotesk',sans-serif;letter-spacing:.13em;color:#667e6b}
  .oh30-design-system .mnav-edition{color:#889b8c;text-align:right}
  .oh30-design-system .mnav-links{display:flex;flex-direction:column}
  .oh30-design-system .mnav-link{color:#1b241d;display:grid;grid-template-columns:33px minmax(0,1fr) 30px;gap:12px;align-items:center;min-height:clamp(70px,11vh,96px);border-top:1px solid var(--mnav-line);padding:12px 0;text-decoration:none;transition:color .2s,padding .2s;}
  .oh30-design-system .mnav-link:last-child{border-bottom:1px solid var(--mnav-line)}
  .oh30-design-system .mnav-link:hover{color:#416b4b;padding-left:5px}
  .oh30-design-system .mnav-link-index{align-self:start;margin-top:12px;font:700 10px/1.2 'Space Grotesk',sans-serif;letter-spacing:.11em;color:#75917b}
  .oh30-design-system .mnav-link-name{font:700 clamp(31px,7.2vw,56px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.07em;white-space:normal;overflow-wrap:normal}
  .oh30-design-system .mnav-link-arrow{font:400 26px/1 'DM Sans',sans-serif;justify-self:end;color:#6e8973;transition:transform .2s}
  .oh30-design-system .mnav-link:hover .mnav-link-arrow{transform:translate(3px,-3px)}
  .oh30-design-system .mobile-nav .mnav-link[aria-current]{color:#416b4b}
  .oh30-design-system .mnav-link[aria-current] .mnav-link-name:after{content:'';display:inline-block;vertical-align:middle;width:7px;height:7px;background:#7fa77e;border-radius:50%;margin-left:12px}
  .oh30-design-system .mnav-bottom{margin-top:auto;padding-top:clamp(25px,4vh,34px)}
  .oh30-design-system .mnav-bottom-copy>span{font:700 10px/1.4 'Space Grotesk',sans-serif;letter-spacing:.13em;color:#768d78}
  .oh30-design-system .mnav-bottom-copy p{margin:7px 0 18px;max-width:430px;font:500 16px/1.5 'DM Sans',sans-serif;letter-spacing:-.01em;color:#526357}
  .oh30-design-system .mnav-contact{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:62px;padding:0 20px 0 22px;background:#1c2a20;border:1px solid #1c2a20;border-radius:8px;color:#f5f6f0;font:700 16px/1.3 'Space Grotesk',sans-serif;transition:background .22s,transform .22s;text-decoration:none}
  .oh30-design-system .mnav-contact:hover{background:#324b38;transform:translateY(-2px)}
  .oh30-design-system .mnav-contact>span:last-child{display:grid;place-items:center;width:34px;height:34px;border:1px solid #789079;border-radius:50%;font:400 20px/1 sans-serif;color:#d8ff78}
  .oh30-design-system .mnav-footline{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--mnav-line);font:700 9px/1.5 'Space Grotesk',sans-serif;letter-spacing:.12em;color:#7d9182}
  .oh30-design-system .mobile-nav a:focus-visible{outline:2px solid #4a8554;outline-offset:2px}
  .oh30-design-system .mobile-nav .mnav-link[aria-current]{} /* all active states use same system */
}
@media(max-width:390px){
  :root{--mnav-height:70px}
  .oh30-design-system .mnav-inner{padding:24px 18px max(22px,env(safe-area-inset-bottom))}
  .oh30-design-system .mnav-edition{display:none}
  .oh30-design-system .mnav-top{margin-bottom:20px}
  .oh30-design-system .mnav-link{grid-template-columns:27px minmax(0,1fr) 26px;gap:8px;min-height:72px}
  .oh30-design-system .mnav-link-name{font-size:clamp(27px,8.3vw,34px)}
  .oh30-design-system .mnav-link-arrow{font-size:22px}
}
@media(max-height:620px) and (max-width:980px){
  .oh30-design-system .mnav-inner{padding-top:16px;padding-bottom:16px}
  .oh30-design-system .mnav-top{margin-bottom:8px}
  .oh30-design-system .mnav-link{min-height:58px;padding:8px 0}
  .oh30-design-system .mnav-link-name{font-size:clamp(29px,5.2vh,39px)}
  .oh30-design-system .mnav-bottom{padding-top:16px}
  .oh30-design-system .mnav-bottom-copy p{margin:5px 0 12px;font-size:14px}
  .oh30-design-system .mnav-contact{min-height:50px}
}
@media(min-width:981px){
  .oh30-design-system .mobile-nav{display:none!important}
  .oh30-design-system .menu-toggle{display:none!important}
}
@media(max-width:980px){
  html:not(.js-ready) .oh30-design-system .menu-toggle{display:none!important}
  html:not(.js-ready) .oh30-design-system .mobile-nav{position:relative;inset:auto;height:auto;max-height:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;overflow:visible;box-shadow:none}
  html:not(.js-ready) .oh30-design-system .mnav-inner{min-height:auto}
}
@media(prefers-reduced-motion:reduce){
  .oh30-design-system .mobile-nav,.oh30-design-system .mobile-nav *,.oh30-design-system .menu-toggle *{transition:none!important}
}
