/* Canonical header styles: scoped, independent of consumer Tailwind versions. */
.norri-site-header { position: sticky; top: 0; z-index: 50; background: rgba(15,23,42,.95); backdrop-filter: blur(4px); border-bottom: 1px solid #1e293b; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #94a3b8; }
.norri-site-header *, .norri-site-header *::before, .norri-site-header *::after { box-sizing: border-box; }
.norri-header-inner { max-width: 90rem; margin: 0 auto; padding: 0 1rem; height: 4rem; display: flex; align-items: center; }
.norri-header-logo { display: flex; flex-shrink: 0; }
.norri-header-logo svg { display: block; height: 2rem; width: auto; }
.norri-header-primary, .norri-header-tools { display: none; align-items: center; }
.norri-header-primary { margin-left: 1.25rem; }
.norri-header-tools { margin-left: auto; gap: .5rem; }
.norri-header-link { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border: 1px solid transparent; border-radius: .5rem; color: #94a3b8; font-size: .875rem; line-height: 1.25rem; font-weight: 500; text-decoration: none; white-space: nowrap; transition: color .15s, background-color .15s, border-color .15s; }
.norri-header-primary .norri-header-link { border: 0; }
.norri-header-link:hover { color: #fff; background: #334155; }
.norri-header-link.is-current { color: #0d9488; background: rgba(13,148,136,.1); }
.norri-header-utility { border-color: #334155; }
.norri-header-utility:hover { border-color: #94a3b8; }
.norri-header-utility.is-current { border-color: rgba(13,148,136,.5); }
.norri-header-link svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.norri-header-menu-button { margin-left: auto; padding: .5rem; border: 0; background: transparent; color: #94a3b8; cursor: pointer; }
.norri-header-menu-button:hover { color: white; }
.norri-header-menu-button svg { display: block; width: 1.5rem; height: 1.5rem; }
.norri-header-mobile { background: #1e293b; border-top: 1px solid #334155; max-height: calc(100dvh - 4rem); overflow-y: auto; }
.norri-header-mobile-inner { padding: .5rem 1rem 1rem; }
.norri-header-mobile .norri-header-link { margin-top: .25rem; white-space: normal; }
.norri-header-mobile-tools { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid #334155; }
.norri-header-mobile .norri-header-utility { border: 1px solid transparent; }
.norri-site-header [hidden] { display: none !important; }
.norri-site-header a:focus-visible, .norri-header-menu-button:focus-visible { outline: 2px solid #14b8a6; outline-offset: 3px; }
@media (min-width: 640px) { .norri-header-inner { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .norri-header-inner { padding: 0 2rem; } .norri-header-primary, .norri-header-tools { display: flex; } .norri-header-menu-button, .norri-header-mobile { display: none; } }
@media (prefers-reduced-motion: reduce) { .norri-header-link { transition: none; } }
