.container { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.container--narrow { max-width: 42rem; }
.site-header {
    position: sticky;
    z-index: 20;
    top: 0;
    border-bottom: 1px solid var(--header-border, rgb(213 221 216 / 85%));
    background: var(--header-bg, rgb(255 255 255 / 88%));
    box-shadow: 0 0.25rem 1rem rgb(22 48 38 / 3%);
    backdrop-filter: blur(1rem) saturate(130%);
}
body[data-header-theme="soft"] { --header-bg: rgb(var(--accent-rgb) / 12%); --header-border: var(--color-border); --header-hover: rgb(255 255 255 / 55%); }
body[data-header-theme="dark"] { --header-bg: rgb(var(--accent-dark-rgb) / 96%); --header-border: rgb(255 255 255 / 15%); --header-text: #f5f8f6; --header-hover: rgb(255 255 255 / 9%); --header-active: rgb(255 255 255 / 13%); }
body[data-header-theme="accent"] { --header-bg: rgb(var(--accent-rgb) / 94%); --header-border: rgb(255 255 255 / 16%); --header-text: #fff; --header-hover: rgb(255 255 255 / 10%); --header-active: rgb(255 255 255 / 16%); }
.site-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 4.75rem; gap: var(--space-2); }
.site-brand,
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--header-text, var(--color-text));
    font-family: var(--font-display);
    font-size: 1.24rem;
    font-weight: 720;
    letter-spacing: -0.025em;
    text-decoration: none;
}
.site-brand:not(.brand--has-logo)::before,
.footer-brand:not(.brand--has-logo)::before {
    width: 0.72rem;
    height: 0.72rem;
    border: 2px solid var(--color-accent);
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px var(--color-surface), inset 0 0 0 5px var(--color-secondary);
    content: "";
}
.site-brand img { width: auto; max-width: min(13rem, 42vw); height: 2.7rem; object-fit: contain; }
.footer-brand img { width: auto; max-width: min(15rem, 60vw); height: 3.2rem; object-fit: contain; }
.site-brand:hover { color: var(--header-text, var(--color-text)); }
.site-nav { flex-basis: 100%; }
.site-nav ul { display: flex; flex-direction: column; gap: 0.2rem; margin: 0; padding: 0 0 var(--space-2); list-style: none; }
.site-nav a { position: relative; display: block; padding: 0.65rem 0.78rem; border-radius: var(--radius-small); color: var(--header-text, var(--color-text)); font-size: 0.94rem; text-decoration: none; transition: color 160ms ease, background-color 160ms ease; }
.site-nav a:hover { background: var(--header-hover, var(--color-bg)); color: var(--header-text, var(--color-text)); }
.site-nav a[aria-current="page"] { background: var(--header-active, var(--color-surface-soft)); color: var(--header-text, var(--color-accent-dark)); font-weight: 680; }
.menu-toggle { display: none; min-height: 2.75rem; padding: 0.5rem 0.8rem; border: 1px solid var(--color-border); border-radius: var(--radius-small); background: var(--color-surface); color: var(--color-text); cursor: pointer; }
html[data-js="true"] .menu-toggle { display: inline-flex; align-items: center; }
html[data-js="true"] .site-nav:not([data-open="true"]) { display: none; }
.site-footer { border-top: 1px solid var(--footer-border, #315247); background: var(--footer-bg, #18382f); color: var(--footer-text, #d1ddd7); }
body[data-footer-theme="navy"] { --footer-bg: #203b4d; --footer-border: #34556a; --footer-text: #d7e1e7; --footer-muted: #acbdc7; --footer-link: #e3ebef; --footer-brand: #fff; --footer-mark: #b9ced9; }
body[data-footer-theme="graphite"] { --footer-bg: #29332f; --footer-border: #46534d; --footer-text: #d7ddda; --footer-muted: #adb9b3; --footer-link: #e4e9e6; --footer-brand: #fff; --footer-mark: #c1cec7; }
body[data-footer-theme="warm"] { --footer-bg: #4d3829; --footer-border: #705441; --footer-text: #e7ddd4; --footer-muted: #c8b7aa; --footer-link: #f0e8e1; --footer-brand: #fff; --footer-mark: #d4b89f; }
body[data-footer-theme="light"] { --footer-bg: #eef2ef; --footer-border: #d2dbd6; --footer-text: #29342f; --footer-muted: #64726b; --footer-link: var(--color-accent); --footer-link-hover: var(--color-accent-dark); --footer-brand: var(--color-text); --footer-mark: var(--color-accent); }
.site-footer__inner { display: grid; gap: var(--space-4); padding-block: clamp(3rem, 7vw, 5rem); }
.site-footer p { margin: 0; }
.site-footer__about { max-width: 20rem; }
.site-footer__about p { margin-top: var(--space-2); color: var(--footer-muted, #aebfb7); }
.footer-brand { color: var(--footer-brand, #fff); font-size: 1.4rem; }
.footer-brand:hover { color: var(--footer-brand, #fff); }
.footer-brand::before { border-color: var(--footer-mark, #b8d0c5); box-shadow: inset 0 0 0 2px var(--footer-bg, #18382f), inset 0 0 0 5px #c1884f; }
.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem var(--space-3); align-content: start; }
.footer-nav a,
.site-footer__meta a { color: var(--footer-link, #dbe5e0); text-decoration-color: currentColor; }
.footer-nav a:hover,
.site-footer__meta a:hover { color: var(--footer-link-hover, #fff); text-decoration-color: currentColor; }
.site-footer__meta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); color: var(--footer-muted, #aebfb7); }

@media (min-width: 58rem) {
    .site-header__inner { flex-wrap: nowrap; }
    .site-nav, html[data-js="true"] .site-nav:not([data-open="true"]) { display: block; flex-basis: auto; }
    .site-nav ul { flex-direction: row; align-items: center; padding: 0; }
    .site-nav a[aria-current="page"]::after { position: absolute; right: 0.8rem; bottom: 0.35rem; left: 0.8rem; height: 1px; background: var(--color-accent); content: ""; }
    html[data-js="true"] .menu-toggle { display: none; }
    .site-footer__inner { grid-template-columns: 1.1fr 1.5fr 0.8fr; }
    .site-footer__meta { align-items: flex-end; text-align: right; }
}
