/* Shared navigation only. Sticky stays in flow and never changes height on scroll. */
:root{--site-header-height:93px;--site-topline-height:35px}
html{scroll-padding-top:calc(var(--site-header-height) + 12px)}
.site-header{position:sticky;top:0;padding-top:env(safe-area-inset-top,0px)}
.site-header[data-stuck="true"]{box-shadow:0 5px 16px #4b3a2d12}
.header-inner{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.nav .nav-contact{display:none}
@media(min-width:901px) and (max-width:1150px){
 .header-inner{gap:16px}
 .header-inner>.brand{gap:10px}
 .nav{gap:12px}
 .nav .nav-cta{padding-inline:11px}
}
@media(max-width:900px){
 :root{--site-header-height:67px}
 .header-inner{min-height:66px}
 .nav .nav-cta{display:none}
 .nav .nav-contact{display:block}
 .site-header .nav{
  max-height:calc(100vh - var(--site-header-height) - var(--site-topline-height) - env(safe-area-inset-bottom,0px));
  max-height:calc(100dvh - var(--site-header-height) - var(--site-topline-height) - env(safe-area-inset-bottom,0px));
  padding-left:max(20px,env(safe-area-inset-left,0px));
  padding-right:max(20px,env(safe-area-inset-right,0px));
  overflow-y:auto;overscroll-behavior:contain;
 }
}
@media(max-width:700px){:root{--site-topline-height:28px}}
