:root { --site-header-row-height:88px; }
.policy-page { --site-header-row-height:82px; }
.site-header .header-inner { min-height:var(--site-header-row-height); }

@media screen and (max-width:760px),
       screen and (max-width:1000px) and (pointer:coarse) {
  :root,.policy-page { --site-header-row-height:62px; }

  .site-header .brand,
  .mobile-nav > summary,
  .header-nav > a { min-height:44px; }

  .mobile-nav > summary,
  .header-nav > a { display:flex; align-items:center; }

  .policy-page .header-inner { column-gap:.8rem; }
  .policy-page .header-nav { column-gap:.65rem; }
}

@media screen {
  html { scroll-padding-top:calc(var(--site-header-row-height) + 1px + .65rem); }
  .site-header { position:sticky; top:0; z-index:20; }
  .home-page .site-header { position:fixed; inset:0 0 auto; background:var(--ink); }
  .skip { position:fixed; z-index:30; }

  .mobile-panel,.nav-dropdown {
    max-height:calc(100svh - var(--site-header-row-height) - 1.5rem);
    overflow:auto;
  }
}
