html{overflow-y:scroll}
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{display:block;max-width:100%;height:auto}
/* Avoid 100vw traps */
.hero,.banner,.container-full,[data-fullwidth="true"]{width:100%!important}
/* Flex/grid children must not force overflow */
.row,.flex,.grid{min-width:0}
.row>*,.flex>*,.grid>*{min-width:0}
/* Long text/URLs */
p,li,.text,.content{overflow-wrap:anywhere;word-break:break-word}
/* Tables/code that might overflow */
table,.code-block{max-width:100%;display:block;overflow-x:auto}
/* Footer + back-to-top button */
footer,.site-footer{max-width:100%;overflow-x:clip}
.back-to-top,.scroll-top{position:fixed;inset-inline-end:16px;inset-block-end:16px;transform:none}
/* Anchor jump stability if header is sticky */
:root{--header-h:72px}
[id]{scroll-margin-top:var(--header-h)}
/* === NAVBAR HARD-LOCK ADDENDUM === */
:root{--header-h-desktop:64px;--header-h-mobile:56px}
.header-outer,.header-inner,.nav-wrapper{overflow:visible!important;transform:none!important}
.site-header,header[role="banner"]{
  box-sizing:border-box; position:sticky; top:0; left:0; right:0; width:100%;
  min-height:var(--header-h-desktop); padding-block:0; border-bottom:0;
  backface-visibility:hidden; overflow-x:clip; transform:none; will-change:auto; z-index:1000;
}
.header-inner{min-height:var(--header-h-desktop); display:flex; align-items:center; gap:1rem}
.site-header nav ul,.nav-drawer .nav-links,.site-header .nav-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;min-width:0;max-width:100%}
.site-header nav li,.nav-drawer .nav-links li,.site-header .nav-links li{min-width:0}
.site-header nav a,.nav-drawer .nav-link,.site-header .nav-link{
  display:flex; align-items:center; padding:0 14px; height:var(--header-h-desktop);
  line-height:var(--header-h-desktop); border-bottom:2px solid transparent;
  text-decoration:none; white-space:nowrap; font-weight:inherit;
}
.site-header nav a:hover,.site-header nav a:focus,.site-header nav a[aria-current="page"],.nav-drawer .nav-link:hover,.nav-drawer .nav-link:focus,.nav-drawer .nav-link[aria-current="page"],.site-header .nav-link:hover,.site-header .nav-link:focus,.site-header .nav-link[aria-current="page"]{border-bottom-color:currentColor}
@media (max-width:768px){
  .site-header,header[role="banner"]{min-height:var(--header-h-mobile)}
  .header-inner{min-height:var(--header-h-mobile)}
  .site-header nav a,.nav-drawer .nav-link,.site-header .nav-link{height:auto;line-height:1.2;padding:12px 14px}
}
html{scrollbar-gutter:stable both-edges}
body.nav-open{overflow:hidden}
.site-header.scrolled,header[role="banner"].scrolled{
  padding-block:0!important; min-height:inherit!important; border-width:0!important;
}
/* === NAVBAR STABILITY PATCH === */
html{scrollbar-gutter:stable both-edges}

.site-header,
header,
header[role="banner"]{
  left:0;
  right:0;
  width:100%;
  overflow-x:clip;
  transform:none;
  will-change:auto;
  z-index:1000;
}

.site-header .nav-container,
.site-header nav{
  max-width:100%;
  overflow-x:hidden;
}

.site-header .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin:0;
  padding:0;
  list-style:none;
  min-width:0;
}

.site-header .nav-links li{
  min-width:0;
}

.site-header .nav-link{
  display:flex;
  align-items:center;
  width:100%;
  padding:0.7rem 0.85rem;
  text-decoration:none;
  border-bottom:2px solid transparent;
  line-height:1.2;
  white-space:nowrap;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-link[aria-current="page"]{
  border-bottom-color:currentColor;
  font-weight:inherit;
}

.site-header .nav-link i,
.site-header .nav-link svg{
  width:1em;
  height:1em;
  vertical-align:-0.15em;
  display:inline-block;
}

body.nav-open{
  overflow:hidden;
}

.header-inner,
.nav-wrapper{
  transform:none !important;
  max-width:100%;
  min-width:0;
}
@media (min-width:960px){
  .site-header .nav-link{
    width:auto;
  }
}

