:root{--site-shell-width:1180px;--site-nav-text:#4c5667;--site-line:#dbe4ee;--site-navy:#051a62;--site-muted:#5c6878}

/* One shared width and visual system for public and subscriber shells. */
.nav-inner,.dashboard-site-header .nav,footer,.dashboard-site-footer .shell{width:100%;max-width:var(--site-shell-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:22px!important;padding-right:22px!important}

header:not(.dashboard-site-header),.dashboard-site-header{position:sticky!important;top:0;z-index:50;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--site-line)!important;backdrop-filter:blur(14px)}
.nav-inner,.dashboard-site-header .nav{min-height:76px;height:76px!important;display:flex;align-items:center;gap:20px}
.brand-logo,.dashboard-site-header .brand img{width:auto!important;height:70px!important;max-width:220px!important;object-fit:contain}
.brand-home,.dashboard-site-header .brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand-icons{display:flex;align-items:center;gap:12px}
.brand-icons a{display:inline-flex;color:#aeb7c5!important}
.brand-icons a:hover{color:var(--site-nav-text)!important}

.nav-links,.dashboard-site-header .links{display:flex;align-items:center;justify-content:flex-end;gap:0!important;margin-left:auto!important}
html body header .nav-inner .nav-links>a,html body .dashboard-site-header .links>a{padding:0 13px!important;border-right:1px solid var(--site-line)!important;color:var(--site-nav-text)!important;font-size:14px!important;font-weight:400!important;letter-spacing:.1em!important;line-height:1.2;text-transform:uppercase;text-decoration:none!important;white-space:nowrap}
html body header .nav-inner .nav-links>a:hover,html body .dashboard-site-header .links>a:hover{color:#303947!important;text-decoration:underline!important;text-underline-offset:4px}
.nav-links>a:nth-of-type(5),.dashboard-site-header .links>a:last-child{border-right:0!important}
.nav-member-stack{display:grid!important;grid-template-columns:auto;grid-template-rows:auto auto;align-items:center;justify-items:center;gap:3px!important;margin-left:0;padding-left:18px;border-left:1px solid var(--site-line)}
.nav-member-stack .nav-subscribe{grid-row:1;display:inline-flex!important;align-items:center;justify-content:center;min-width:100px;padding:7px 16px!important;border:0!important;border-radius:999px!important;background:var(--site-navy)!important;color:#fff!important;font-size:12px!important;letter-spacing:.1em!important;text-decoration:none!important}
.nav-member-stack .member-sign-in{grid-row:2;padding:0!important;border:0!important;color:#6d7685!important;font-size:11px!important;letter-spacing:.12em!important;text-decoration:none!important}
.mobile-extra-nav{display:none!important}
.mobile-menu-toggle,.dashboard-site-header .menu{display:none}

footer,.dashboard-site-footer{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(420px,1.35fr);grid-template-rows:auto auto;column-gap:32px;row-gap:15px;align-items:start;max-width:var(--site-shell-width)!important;margin:0 auto!important;padding-top:20px!important;padding-bottom:26px!important;border-top:1px solid var(--site-line)!important;background:#fff!important;color:var(--site-muted)!important;font-size:12px!important}
footer>div:nth-child(1){grid-column:1;grid-row:1}
footer>div:nth-child(2){grid-column:2;grid-row:1;text-align:left}
footer>.footer-links{grid-column:1;grid-row:2;display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}
footer a,.dashboard-site-footer a{color:var(--site-navy)!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;text-underline-offset:3px}
footer a:hover,.dashboard-site-footer a:hover{text-decoration:underline!important}

/* Dashboard uses the same shell dimensions and typography, with its signed-in navigation. */
.dashboard-site-header .links>a:last-child{padding-right:0!important}
.dashboard-site-footer{width:100%}

@media(max-width:940px){
  .nav-inner,.dashboard-site-header .nav{height:70px!important;min-height:70px}
  .brand-logo,.dashboard-site-header .brand img{height:62px!important;max-width:185px!important}
  .brand-icons{gap:8px}
  .mobile-menu-toggle,.dashboard-site-header .menu{display:inline-flex!important;margin-left:auto}
  .nav-links{display:none!important;position:absolute;top:100%;left:22px;right:22px;flex-direction:column;align-items:stretch!important;padding:8px 0;background:#fff;border:1px solid var(--site-line);border-radius:12px;box-shadow:0 16px 36px rgba(15,23,42,.10)}
  .nav-links.mobile-open{display:flex!important}
  .nav-links>a,.nav-member-stack a{width:100%!important;padding:12px 16px!important;border:0!important;border-bottom:1px solid var(--site-line)!important;border-radius:0!important;background:#fff!important;color:var(--site-nav-text)!important;text-align:left!important}
  .nav-member-stack{display:flex!important;flex-direction:column-reverse;align-items:stretch;justify-items:stretch;padding:0;border:0}
  .mobile-extra-nav{display:block!important}
  .dashboard-site-header .links{display:none!important}
  .dashboard-site-header .mobile-panel.open{display:block}
  footer,.dashboard-site-footer{grid-template-columns:1fr;grid-template-rows:auto;row-gap:10px}
  footer>div:nth-child(1),footer>div:nth-child(2),footer>.footer-links{grid-column:1;grid-row:auto;text-align:left}
}

@media(max-width:560px){
  .nav-inner,.dashboard-site-header .nav{padding-left:14px!important;padding-right:14px!important}
  .brand-logo,.dashboard-site-header .brand img{height:56px!important;max-width:160px!important}
  .brand-icons{gap:6px}
  footer,.dashboard-site-footer{padding-left:14px!important;padding-right:14px!important}
}

/* Universal three-line mobile navigation control */
.mobile-menu-toggle,.dashboard-site-header .menu{
  width:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid var(--site-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:5px!important;
  color:transparent!important;
  font-size:0!important;
  cursor:pointer;
}
.mobile-menu-toggle span,.dashboard-site-header .menu span{
  display:block!important;
  width:22px!important;
  height:2px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--site-nav-text)!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
.mobile-menu-toggle:hover span,.dashboard-site-header .menu:hover span{
  background:var(--site-navy)!important;
}


/* Permanent footer lock: identical placement and appearance on every page. */
html body>footer,
html body footer.dashboard-site-footer{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:var(--site-shell-width)!important;
  min-height:104px!important;
  margin:0 auto!important;
  padding:20px 22px 26px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(420px,1.35fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:32px!important;
  row-gap:15px!important;
  align-items:start!important;
  border-top:1px solid var(--site-line)!important;
  background:#fff!important;
  color:var(--site-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
html body>footer>div:nth-child(1),
html body footer.dashboard-site-footer>div:nth-child(1){grid-column:1!important;grid-row:1!important}
html body>footer>div:nth-child(2),
html body footer.dashboard-site-footer>div:nth-child(2){grid-column:2!important;grid-row:1!important;text-align:left!important}
html body>footer>.footer-links,
html body footer.dashboard-site-footer>.footer-links{grid-column:1!important;grid-row:2!important;display:flex!important;align-items:center!important;gap:10px!important}
html body>footer a,
html body footer.dashboard-site-footer a{color:var(--site-navy)!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important}
html body>footer a:hover,
html body footer.dashboard-site-footer a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
@media(max-width:940px){
  html body>footer,
  html body footer.dashboard-site-footer{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  html body>footer>div:nth-child(1),
  html body>footer>div:nth-child(2),
  html body>footer>.footer-links,
  html body footer.dashboard-site-footer>div:nth-child(1),
  html body footer.dashboard-site-footer>div:nth-child(2),
  html body footer.dashboard-site-footer>.footer-links{grid-column:1!important;grid-row:auto!important;text-align:left!important}
}
