/* One shared header for SMP subpages; the home page keeps its own header. */
html body .smp-subpage-header { position:sticky !important; top:0 !important; z-index:50 !important; padding:0 !important; background:rgba(255,255,255,.88) !important; border-bottom:1px solid rgba(5,10,18,.08) !important; backdrop-filter:blur(18px); box-shadow:0 3px 14px rgba(4,14,34,.035) !important; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
html body .smp-subpage-header * { box-sizing:border-box; }
html body .smp-subpage-header .smp-header-inner { width:min(1180px,calc(100% - 48px)); margin:0 auto; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
html body .smp-subpage-header .brand { width:auto !important; display:flex !important; flex:0 0 auto; min-width:0; opacity:1 !important; transform:none !important; }
html body .smp-subpage-header .brand-logo { display:block; width:196px !important; height:58px !important; max-width:42vw !important; object-fit:contain; object-position:left center; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
html body .smp-subpage-header .nav { display:flex !important; flex:1; flex-wrap:wrap; justify-content:center !important; align-items:center; gap:4px !important; padding:0 !important; margin:0 !important; width:auto; overflow:visible !important; }
html body .smp-subpage-header .nav a { position:relative; display:inline-flex !important; align-items:center; justify-content:center; min-height:40px !important; padding:8px 11px !important; border:1px solid transparent !important; border-radius:999px; color:#44546d !important; background:transparent !important; font-size:.94rem !important; font-weight:650 !important; line-height:1.4; text-decoration:none; white-space:nowrap; transform:none !important; }
html body .smp-subpage-header .nav a::after { content:""; position:absolute; left:16px; right:16px; bottom:5px; height:2px; background:linear-gradient(90deg,#005cff,#6494ff); opacity:0; transform:scaleX(.4); border-radius:999px; }
html body .smp-subpage-header .nav a:hover, html body .smp-subpage-header .nav a.is-active { color:#005cff !important; background:rgba(0,92,255,.07) !important; border-color:rgba(0,92,255,.12) !important; }
html body .smp-subpage-header .nav a:hover::after, html body .smp-subpage-header .nav a.is-active::after { opacity:1; transform:scaleX(1); }
html body .smp-subpage-header .access-link { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:8px; width:auto !important; max-width:none !important; min-height:34px !important; padding:0 11px !important; margin:0 !important; border:1px solid rgba(5,10,18,.09); border-radius:999px; background:rgba(255,255,255,.66); color:#5e6b7d; font-size:.84rem !important; font-weight:750; line-height:1.4; text-decoration:none; white-space:nowrap; box-shadow:0 3px 12px rgba(4,14,34,.04); }
html body .smp-subpage-header .access-link::before { content:""; width:7px; height:7px; border-radius:50%; background:#005cff; opacity:.78; flex:0 0 auto; }
html body .smp-subpage-header a:focus-visible { outline:3px solid #005cff; outline-offset:3px; }
.tools-section-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; padding:16px; font-size:.9rem; }
@media(max-width:820px) {
 html body .smp-subpage-header .smp-header-inner { width:calc(100% - 28px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; min-height:auto; padding:10px 0; }
 html body .smp-subpage-header .brand-logo { width:160px !important; height:auto !important; max-width:48vw !important; }
 html body .smp-subpage-header .access-link { grid-column:2; grid-row:1; justify-self:end; min-height:32px !important; padding:0 10px !important; font-size:.78rem !important; }
 html body .smp-subpage-header .nav { grid-column:1 / -1; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; width:100%; gap:6px !important; }
 html body .smp-subpage-header .nav a { min-height:36px !important; padding:7px 4px !important; font-size:.78rem !important; border-color:rgba(5,10,18,.06) !important; background:rgba(255,255,255,.45) !important; }
}
@media(max-width:430px) {
 html body .smp-subpage-header .brand-logo { width:150px !important; }
 html body .smp-subpage-header .nav { gap:5px !important; }
 html body .smp-subpage-header .nav a { font-size:.72rem !important; padding-left:2px !important; padding-right:2px !important; }
 html body .smp-subpage-header .access-link { font-size:.72rem !important; }
}

/* Seven menu entries stay in two compact rows on small screens. */
@media(max-width:820px) {
 html body .smp-subpage-header .nav, .topbar-home .nav { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}
