/* Shared public header. Scoped independently from individual page styles. */
.sb-header{position:sticky;top:0;z-index:50;width:100%;margin:0;padding:0;border:0;border-bottom:1px solid #dedfea;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18181b}
.sb-header *{box-sizing:border-box}
.sb-header .sb-nav{display:flex;align-items:center;gap:30px;width:min(1180px,calc(100% - 40px));min-height:70px;margin:0 auto;padding:0}
.sb-header a{text-decoration:none;text-transform:none;letter-spacing:normal;font-family:inherit;line-height:1.2}
.sb-header .sb-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;margin:0 auto 0 0;padding:0;border:0;color:#18181b;font-size:17px;font-weight:780;letter-spacing:-.015em;white-space:nowrap}
.sb-header .sb-former{padding-left:12px;border-left:1px solid #dedfea;color:#777985;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.sb-header .sb-mark{display:grid;width:24px;height:24px;flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:2px;padding:2px;border:1px solid #18181b;border-radius:7px;transform:rotate(-4deg);background:#fff}
.sb-header .sb-mark i{display:block;border-radius:2px;background:#3044da}
.sb-header .sb-mark i:nth-child(2){background:#ff7066}
.sb-header .sb-mark i:nth-child(3){background:#dbf66f}
.sb-header .sb-mark i:nth-child(4){background:#ffdb65}
.sb-header .sb-links{display:flex;align-items:center;gap:26px;margin:0;padding:0}
.sb-header .sb-links a{display:inline-flex;align-items:center;min-height:44px;padding:0;color:#4f5059;font-size:12px;font-weight:650}
.sb-header .sb-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;margin:0;padding:13px 20px;border:1px solid #3044da;border-radius:12px;background:#3044da;color:#fff;font-size:13px;font-weight:720;white-space:nowrap}
.sb-header .sb-links a:hover{color:#3044da}
.sb-header .sb-cta:hover{background:#2536bd}
.sb-header a:focus-visible{outline:3px solid #737ffd;outline-offset:4px}
.sb-header .sb-nav{width:min(1200px,calc(100% - 80px));min-height:76px}.sb-header .sb-brand{font-size:20px;letter-spacing:-.025em}.sb-header .sb-mark{width:27px;height:27px}.sb-header .sb-links a{font-size:14px}.sb-header .sb-cta{font-size:14px;font-weight:700}.sb-header .sb-links{gap:24px}
@media(max-width:1000px){.sb-header .sb-former{display:none}.sb-header .sb-nav{gap:20px}.sb-header .sb-links{gap:20px}}
@media(max-width:650px){.sb-header .sb-nav{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding-top:10px;width:calc(100% - 24px)}.sb-header .sb-brand{font-size:16px;gap:7px}.sb-header .sb-mark{width:22px;height:22px}.sb-header .sb-cta{grid-column:2;grid-row:1;font-size:12px;padding:12px}.sb-header .sb-links{grid-column:1/-1;grid-row:2;justify-content:center;gap:26px}.sb-header .sb-links a{font-size:12px;min-height:40px}}
@media(min-width:651px) and (max-width:920px){.sb-header .sb-nav{width:calc(100% - 40px);gap:16px}.sb-header .sb-links{gap:16px}.sb-header .sb-links a{font-size:12px}.sb-header .sb-cta{padding:12px;font-size:12px}.sb-header .sb-brand{font-size:17px}}
@media(max-width:360px){.sb-header .sb-nav{gap:0 6px}.sb-header .sb-brand{font-size:15px}.sb-header .sb-cta{padding:11px 8px;font-size:11px}.sb-header .sb-links{gap:20px}}
/* The header button is shown and hidden by visibility alone, never faded. Fading its opacity under the header's backdrop blur makes Chrome sometimes paint the label as a solid white bar (designers page, 2026-10-06). Pages keep their own hide rules; they all set visibility:hidden too. */
.sb-header .sb-cta{transition:none!important;opacity:1!important}
