/* Institutional navigation, shared by the light and dark themes. */
.site-header{
  border-bottom:1px solid #d7e5db;
  box-shadow:none;
  transition:box-shadow .2s,border-color .2s,background .2s;
}
.site-header.is-scrolled{box-shadow:0 10px 30px #143e2814}
.main-nav{height:82px}
.nav-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(22px,3vw,46px);
}
.brand{gap:12px}
.brand-mark{width:36px;height:36px;border-radius:4px;font-size:24px}
.brand-name strong{font-size:23px;letter-spacing:-.075em}
.brand-name small{font-size:8px;letter-spacing:.31em;margin-top:5px}
.nav-links{height:82px;justify-content:center;gap:clamp(22px,2.7vw,40px);margin:0}
.nav-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:100%;
  white-space:nowrap;
  color:#385449;
  font-size:13px;
  font-weight:650;
  letter-spacing:-.015em;
}
.nav-links a:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:#00a651;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .18s ease;
}
.nav-links a:hover:after,.nav-links a[aria-current="page"]:after{transform:scaleX(1)}
.nav-links a[aria-current="page"]{color:#075e38}
.nav-actions{display:flex;align-items:center;gap:14px;padding-left:18px;border-left:1px solid #d6e5da}
.nav-actions .theme-toggle{
  width:42px;min-width:42px;height:42px;min-height:42px;
  padding:0;border:0;border-radius:50%;
  background:transparent;color:#38584a;
  transform:none;
}
.nav-actions .theme-toggle:hover{background:#eaf4ec;color:#006d3d;transform:none}
.nav-actions .theme-toggle-icon{font-size:19px}
.nav-actions .theme-toggle-text{display:none}
.nav-actions>.button{
  min-height:44px;min-width:171px;
  padding:10px 17px;
  border:1px solid #0b3b2b;border-radius:5px;
  background:#0b3b2b;color:#fff;
  font-size:12px;font-weight:750;
  letter-spacing:0;
  box-shadow:none;
}
.nav-actions>.button:hover{background:#15533b;border-color:#15533b;transform:translateY(-1px)}
.nav-actions>.button svg{width:15px;height:15px}
.menu-toggle{width:42px;height:42px;border:1px solid #d4e4d9;border-radius:5px;padding:8px}
.menu-toggle svg{width:23px;height:23px}
html{scroll-padding-top:88px}
.hero{padding-top:82px}
.page-hero{padding-top:172px}
.subnav{top:82px}
.architecture{scroll-margin-top:82px}

[data-theme="dark"] .site-header{border-color:#294b3d}
[data-theme="dark"] .site-header.is-scrolled{box-shadow:0 10px 32px #03120fc2}
[data-theme="dark"] .nav-links a{color:#c1d5c7}
[data-theme="dark"] .nav-links a:hover,[data-theme="dark"] .nav-links a[aria-current="page"]{color:#f2faf4}
[data-theme="dark"] .nav-links a:after{background:#28be70}
[data-theme="dark"] .nav-actions{border-color:#345749}
[data-theme="dark"] .nav-actions .theme-toggle{color:#c9dfce}
[data-theme="dark"] .nav-actions .theme-toggle:hover{background:#173a2d;color:#7de4a5}
[data-theme="dark"] .nav-actions>.button{background:#007f43;border-color:#159956;color:#fff}
[data-theme="dark"] .nav-actions>.button:hover{background:#069f56;border-color:#32bd76}
[data-theme="dark"] .menu-toggle{border-color:#345749}

@media(max-width:1020px){
  .nav-inner{gap:16px}
  .nav-links{gap:17px}
  .nav-links a{font-size:12px}
  .nav-actions{gap:7px;padding-left:12px}
  .nav-actions>.button{min-width:148px;padding-inline:12px;font-size:11px}
}
@media(max-width:800px){
  .main-nav{height:72px}
  .nav-inner{display:flex;gap:12px}
  .nav-links{display:none;height:auto}
  .nav-links.open{top:72px;height:calc(100dvh - 72px);justify-content:flex-start}
  .nav-links.open a{height:auto;white-space:normal}
  .nav-links.open a:after{display:none}
  .nav-actions{margin-left:auto;padding:0;border:0}
  .nav-actions>.button{display:none}
  .menu-toggle{display:grid;place-items:center;flex:none}
  html{scroll-padding-top:76px}
  .hero{padding-top:72px}
  .page-hero{padding-top:151px}
  .subnav{top:72px}
  .architecture{scroll-margin-top:72px}
}
@media(max-width:560px){
  .brand-mark{width:36px;height:36px}
  .nav-actions .theme-toggle{width:40px;min-width:40px;height:40px;min-height:40px}
  .menu-toggle{width:40px;height:40px}
  .page-hero{padding-top:146px}
}
