/* Shared navigation. Scoped so inner-page content keeps its existing styles. */
.shared-header.home-header {
  --header-bg:#f7f5f0; --header-ink:#0a2a4e; --header-line:#dcdedb;
  box-sizing:border-box; min-height:96px; width:100%; margin:0;
  padding:14px max(4vw,24px); display:flex; align-items:center; gap:36px;
  background:var(--header-bg); color:var(--header-ink); position:relative; z-index:105;
  font-family:'Inter',system-ui,sans-serif; line-height:1.4;
}
body[data-theme="dark"] .shared-header { --header-bg:#102c43; --header-ink:#f6f4ef; --header-line:#3b5362; }
.shared-header * { box-sizing:border-box; }
.shared-header a { text-decoration:none; color:var(--header-ink); }
.shared-header button { font-family:inherit; cursor:pointer; }
.shared-header .brand { flex:0 0 auto; display:block; padding:0; }
.shared-header .brand img { width:240px; height:auto; display:block; }
body[data-theme="dark"] .shared-header .brand { background:#f7f5f0; border-radius:4px; padding:6px 10px; }
.shared-header .home-nav { display:flex; align-items:center; gap:25px; margin-left:auto; font-size:13px; font-weight:600; }
.shared-header .home-nav a { padding:12px 0; white-space:nowrap; }
.shared-header a:hover, .shared-header a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
.shared-header .header-actions { display:flex; align-items:center; gap:14px; }
.shared-header .theme-switch, .shared-header .home-menu-toggle { border:1px solid var(--header-line); padding:9px 12px; background:none; color:var(--header-ink); border-radius:4px; font-size:12px; line-height:1.4; }
.shared-header .home-menu-toggle { display:none; }
.shared-header .header-samples { display:inline-flex; align-items:center; justify-content:center; gap:22px; background:#D6263A; color:white; padding:16px 21px; border:1px solid transparent; border-radius:4px; font-size:13px; font-weight:700; line-height:1.4; white-space:nowrap; }
.shared-header .header-samples:hover { background:#b91e30; text-decoration:none; }
.shared-header .home-mobile-nav { position:absolute; top:100%; left:0; right:0; background:var(--header-bg); border-bottom:1px solid var(--header-line); padding:20px 24px; box-shadow:0 16px 20px #0002; max-height:calc(100dvh - 130px); overflow-y:auto; }
.shared-header .home-mobile-nav[hidden] { display:none; }
.shared-header .home-mobile-nav a { display:block; padding:12px 0; font-size:16px; font-weight:600; }
.shared-header .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.shared-header :focus-visible { outline:3px solid #D6263A; outline-offset:3px; }
@media(min-width:1600px) { .shared-header.home-header { padding-left:max(4vw,calc((100vw - 1450px)/2)); } }
@media(max-width:1200px) {
 .shared-header.home-header { gap:18px; }
 .shared-header .home-nav { gap:14px; font-size:12px; }
 .shared-header .brand img { width:190px; }
 .shared-header .header-actions { gap:8px; }
 .shared-header .theme-switch { padding:8px; }
 .shared-header .header-samples { padding:12px 15px; }
}
@media(max-width:1100px) {
 .shared-header.home-header { min-height:80px; }
 .shared-header .home-nav { display:none; }
 .shared-header .header-actions { margin-left:auto; }
 .shared-header .home-menu-toggle { display:block; }
}
@media(max-width:620px) {
 .shared-header.home-header { padding:13px 16px; min-height:76px; gap:10px; }
 .shared-header .brand img { width:clamp(140px,45vw,180px); }
 .shared-header .header-samples { display:none; }
 .shared-header .theme-switch { padding:9px; }
}
