.site-header { position: relative; z-index: 10; background: var(--color-navy); color: #fff; }
.header-inner, .footer-inner, .site-main { width: min(calc(100% - 2rem), var(--content-width)); margin-inline: auto; }
.header-inner { display: flex; align-items: center; min-height: 5.6rem; gap: 1.5rem; }
.brand { display: block; flex: 0 0 auto; color: #fff; text-decoration: none; }
.brand:hover { color: #fff; }
.brand-logo { display: block; width: 7.5rem; height: auto; }
.main-navigation { margin-left: auto; }
.main-navigation ul, .site-footer ul { display: flex; margin: 0; padding: 0; list-style: none; }
.main-navigation ul { align-items: center; gap: 0.25rem; }
.main-navigation a { display: block; padding: 0.65rem 0.75rem; border-radius: var(--radius-small); color: #eaf0f5; font-weight: 650; text-decoration: none; }
.main-navigation a:hover, .main-navigation a[aria-current="page"] { background: rgba(255, 255, 255, 0.12); color: #fff; }
.morse-line { overflow: hidden; padding: 0.25rem 1rem; background: var(--color-navy-dark); color: var(--color-accent); font-family: var(--font-mono); text-align: center; white-space: nowrap; }
.site-main { min-height: 65vh; padding-block: clamp(2.5rem, 6vw, 5.5rem); }
.site-main-home { padding-top: clamp(0.9rem,2vw,1.5rem); }
.site-footer { border-top: 1px solid var(--color-border); background: var(--color-surface); }
.footer-inner { display: flex; justify-content: space-between; gap: 2rem; padding-block: 2rem; }
.site-footer ul { flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem 1.25rem; }
.site-footer a { color: var(--color-text-muted); }
