.site-header { position: sticky; z-index: 50; top: 0; height: var(--header-height); border-bottom: 1px solid rgba(8,8,8,.12); background: rgba(247,246,242,.9); backdrop-filter: blur(14px); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 1.8rem; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-mark { width: 6.5rem; height: auto; flex: 0 0 auto; object-fit: contain; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(.9rem, 1.7vw, 1.7rem); margin-left: auto; }
.primary-nav a { position: relative; color: #454545; font-size: .76rem; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.primary-nav a::after { content: ""; position: absolute; right: 0; bottom: -.55rem; left: 0; height: 1px; background: var(--color-brand); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.primary-nav a:hover { color: var(--color-text); }
.primary-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.button { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; gap: .8rem; border: 1px solid transparent; font-weight: 600; font-size: .86rem; letter-spacing: -.01em; transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
.button svg { width: 1rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.button:hover { transform: translateY(-2px); }
.button--header { min-height: 2.75rem; padding: 0 1rem; color: #080808; background: var(--color-brand); }
.button--primary { min-height: 3.5rem; padding: 0 1.5rem; color: #080808; background: var(--color-brand); }
.button--primary:hover, .button--header:hover { background: #ffd04c; }
.button--text { padding: 0 .2rem; color: var(--color-text); border-bottom-color: #9b9a95; }
.button--text:hover { border-bottom-color: var(--color-brand); color: var(--color-brand); }
.menu-toggle { display: none; width: 2.75rem; height: 2.75rem; margin-left: auto; border: 1px solid var(--color-line); background: rgba(255,255,255,.3); }
.menu-toggle span:not(.sr-only) { display: block; width: 1.1rem; height: 1px; margin: .33rem auto; background: var(--color-text); transition: transform .2s ease; }
.stage-boundary { width: min(calc(100% - 3rem), var(--container-main)); margin: 0 auto 2rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; color: #777; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.stage-boundary p { display: flex; align-items: center; gap: 1rem; margin: 0; }
.stage-boundary p::before, .stage-boundary p::after { content: ""; height: 1px; flex: 1; background: var(--color-line); }
.future-anchor { height: 0; }
