.bfd-header { --header-bg: var(--bf-bg, #f4f4f5); --header-ink: var(--bf-accent, #18181b); --header-rule: var(--bf-border, #d4d4d8); position: sticky; top: 0; z-index: 60; width: 100%; background: var(--header-bg); color: var(--header-ink); border-bottom: 1px solid var(--header-rule); font: 500 13px/1.5 Montserrat, Arial, sans-serif; }
.bfd-header, .bfd-header * { box-sizing: border-box; }
.bfd-header[data-header-theme="dark"], .harness-page .bfd-header, html[data-blog-theme="dark"] .bfd-header[data-header-theme="journal"] { --header-bg: var(--bf-accent, #18181b); --header-ink: var(--bf-bg, #f4f4f5); --header-rule: color-mix(in srgb, var(--header-ink) 20%, transparent); }
.bfd-header-inner { width: min(1280px, 100%); min-height: 80px; margin: auto; padding-inline: clamp(22px, 4.7vw, 70px); display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.bfd-header .bfd-header-brand { display: flex; align-items: center; min-height: 44px; flex: 0 0 auto; }
.bfd-header .bfd-header-brand img { display: block; width: 108px; height: 36px; max-width: none; object-fit: contain; }
.bfd-header[data-header-theme="dark"] .bfd-header-brand img, .harness-page .bfd-header .bfd-header-brand img, html[data-blog-theme="dark"] .bfd-header[data-header-theme="journal"] .bfd-header-brand img { filter: brightness(0) invert(1); }
.bfd-header a { color: var(--header-ink); text-decoration: none; }
.bfd-header .bfd-header-desktop { display: flex; align-items: center; gap: 29px; }
.bfd-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.bfd-header a:hover, .bfd-header a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }
.bfd-header .bfd-header-talk { font-weight: 700; text-decoration: underline; text-underline-offset: 8px; }
.bfd-header :is(a,summary):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.bfd-header-menu { display: none; position: relative; }
.bfd-header-menu summary { display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 0; cursor: pointer; list-style: none; font: inherit; }
.bfd-header-menu summary::-webkit-details-marker { display: none; }
.bfd-header-menu summary span::after { content: '☰'; font-size: 20px; }
.bfd-header-menu[open] summary span::after { content: '×'; font-size: 25px; }
.bfd-header-menu nav { position: absolute; top: calc(100% + 13px); right: 0; width: min(250px, calc(100vw - 44px)); max-height: calc(100dvh - 100px); overflow: auto; padding: 16px 24px; border: 1px solid var(--header-rule); background: var(--header-bg); display: grid; gap: 4px; }
@media (max-width: 800px) { .bfd-header-inner { min-height: 70px; }.bfd-header .bfd-header-desktop { display: none; }.bfd-header-menu { display: block; }.bfd-header .bfd-header-brand img { width: 96px; height: 32px; } }
@media print { .bfd-header { position: static; }.bfd-header-menu { display: none; } }
.bfd-header-host { display: contents; }
/* Keyboard bypass links must sit above the shared sticky header. */
body.rebrand-page .skip, body.play-page .play-skip { z-index: 80; }
