/* Shared, native disclosure navigation: usable before JavaScript arrives. */
.site-header{justify-content:space-between}
.site-header>.brand{position:relative;z-index:2}
.site-menu{margin-left:auto}
.site-menu>.menu-toggle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-height:44px;padding:10px;border:0;border-radius:0;background:transparent;list-style:none;cursor:pointer}
.menu-toggle::-webkit-details-marker{display:none}
.menu-toggle::marker{content:""}
.menu-icon{display:grid;gap:6px;width:30px}
.menu-icon>span{display:block;width:30px;height:2px;background:var(--ink);transition:transform .2s var(--ease),opacity .15s}
.site-menu[open] .menu-icon>span:first-child{transform:translateY(8px) rotate(45deg)}
.site-menu[open] .menu-icon>span:nth-child(2){opacity:0}
.site-menu[open] .menu-icon>span:last-child{transform:translateY(-8px) rotate(-45deg)}
.site-header:has(.site-menu[open]){background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:transparent}
.site-header:has(.site-menu[open])::before{content:"";position:absolute;inset:0;background:var(--paper);z-index:2}
.menu-panel{position:fixed;z-index:1;inset:0;background:var(--paper);height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:148px 5% max(36px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.site-header .menu-navigation{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;width:min(1360px,100%);min-height:0;margin:auto;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.site-header .menu-links>a{display:block;min-height:44px;padding:0;border:0;font-size:clamp(38px,4.5vw,68px);font-weight:550;line-height:1.13;letter-spacing:-.035em;text-wrap:balance;transition:color .15s}
.site-header .menu-links>a:hover,.site-header .menu-links>a[aria-current="page"]{color:#596d44}
.menu-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:4px}
.site-header .menu-contact>a{min-height:44px;border:0;font-size:15px;line-height:1.5}
.site-header .menu-contact>.button{display:inline-flex;border:1px solid var(--ink);padding:15px 24px;margin-bottom:12px;gap:28px}
.site-header .menu-contact>.menu-email,.site-header .menu-contact>.menu-social{padding:10px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
html:has(.site-menu[open]){overflow:hidden}
.site-menu[open] .menu-navigation{animation:menu-enter .23s var(--ease)}
@keyframes menu-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){
  .menu-panel{padding-top:124px}
  .site-header .menu-navigation{grid-template-columns:1fr;gap:30px}
  .site-header .menu-links>a{font-size:clamp(32px,6vw,52px)}
  .menu-contact{gap:2px}
  .site-header .menu-contact>.button{margin-bottom:10px}
}
@media(max-width:700px){
  .site-menu>.menu-toggle{width:48px;height:48px;padding:8px}
  .menu-panel{padding:116px 6% max(24px,env(safe-area-inset-bottom))}
  .menu-links{gap:8px}
  .site-header .menu-links>a{font-size:clamp(30px,8.5vw,42px);line-height:1.15;letter-spacing:-.035em}
  .site-header .menu-navigation{gap:25px}
  .site-header .menu-contact>a{font-size:14px}
}
@media(max-height:600px) and (min-width:701px){.menu-panel{padding-top:124px}.site-header .menu-links>a{font-size:34px}.menu-links{gap:4px}}
@media(prefers-reduced-motion:reduce){.site-menu[open] .menu-navigation{animation:none}.menu-icon>span,.site-header .menu-links>a{transition:none}}
