.site-header {
    background: rgb(254 254 255 / 0.90);
    border-bottom: 1px solid rgb(223 225 231 / 0.88);
    position: sticky;
    top: 0;
    z-index: var(--dd-layer-header);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .site-header {
        background: var(--dd-surface);
    }
}

.site-header__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 64px;
}

.site-branding__link {
    align-items: center;
    display: inline-flex;
    font-size: 0.8125rem;
    font-weight: 700;
    gap: 0.625rem;
    letter-spacing: 0.08em;
    min-height: 44px;
    text-decoration: none;
    text-transform: uppercase;
}

.site-branding__mark {
    background: radial-gradient(circle at 30% 0, var(--dd-surface) 0, var(--dd-accent) 42%, var(--dd-text) 100%);
    border-radius: var(--dd-radius-pill);
    box-shadow: 0 8px 20px rgb(var(--dd-shadow-color) / 0.20);
    height: 22px;
    width: 22px;
}

.primary-navigation__list,
.site-footer__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: inline-grid;
    height: 44px;
    justify-content: center;
    padding: 0;
    width: 44px;
}

.nav-toggle > span[aria-hidden="true"] {
    background: var(--dd-text);
    border-radius: var(--dd-radius-pill);
    display: block;
    height: 2px;
    margin-block: 3px;
    width: 20px;
}

.primary-navigation {
    background: var(--dd-surface);
    border-bottom: 1px solid var(--dd-border);
    box-shadow: var(--dd-shadow-soft);
    display: none;
    left: 0;
    padding: var(--dd-space-3) max(var(--dd-gutter), env(safe-area-inset-right)) var(--dd-space-4) max(var(--dd-gutter), env(safe-area-inset-left));
    position: absolute;
    right: 0;
    top: 100%;
}

.primary-navigation.is-open {
    display: block;
}

.primary-navigation__list {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.primary-navigation a {
    align-items: center;
    color: var(--dd-text-muted);
    display: flex;
    font-size: var(--dd-type-small);
    min-height: 44px;
    text-decoration: none;
}

.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a {
    color: var(--dd-text);
    font-weight: 650;
}

.foundation-hero {
    background: linear-gradient(180deg, var(--dd-surface-muted), var(--dd-bg) 72%);
    display: grid;
    min-height: 68vh;
    place-items: center;
}

.foundation-hero__inner {
    padding-block: var(--dd-section-space);
}

.foundation-hero__copy {
    color: var(--dd-text-muted);
    font-size: 1.125rem;
    max-width: 38rem;
}

.foundation-status {
    border-top: 1px solid var(--dd-border);
    color: var(--dd-text-muted);
    margin-top: var(--dd-space-5);
    max-width: 42rem;
    padding-top: var(--dd-space-3);
}

.foundation-status strong {
    color: var(--dd-text);
}

.button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--dd-radius-pill);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    padding: 0.6875rem 1.25rem;
    text-decoration: none;
    transition: background-color var(--dd-duration-fast) var(--dd-ease-out),
        border-color var(--dd-duration-fast) var(--dd-ease-out),
        box-shadow var(--dd-duration-fast) var(--dd-ease-out),
        color var(--dd-duration-fast) var(--dd-ease-out),
        transform var(--dd-duration-fast) var(--dd-ease-out);
}

.button--primary {
    background: var(--dd-text);
    color: var(--dd-on-accent);
}

.button:active {
    transform: translateY(1px) scale(0.99);
}

.site-footer {
    background: var(--dd-surface-muted);
    border-top: 1px solid var(--dd-border);
}

.site-footer__inner {
    display: grid;
    gap: var(--dd-space-4);
    padding-bottom: max(2.5rem, env(safe-area-inset-bottom));
    padding-top: 2.5rem;
}

.site-footer__brand {
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.site-footer__description,
.site-footer__copyright {
    color: var(--dd-text-muted);
    font-size: var(--dd-type-small);
    margin: 0;
}

.site-footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dd-space-3);
}

.site-footer__menu a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
}

@media (hover: hover) and (pointer: fine) {
    .primary-navigation a:hover {
        color: var(--dd-text);
    }

    .button--primary:hover {
        background: var(--dd-accent-hover);
        box-shadow: var(--dd-shadow-hover);
        color: var(--dd-on-accent);
        transform: translateY(-1px);
    }
}

@media (min-width: 840px) {
    body.nav-is-open {
        overflow: visible;
    }

    .nav-toggle {
        display: none;
    }

    .primary-navigation,
    .primary-navigation.is-open {
        background: transparent;
        border: 0;
        box-shadow: none;
        display: block;
        padding: 0;
        position: static;
    }

    .primary-navigation__list {
        align-items: center;
        flex-direction: row;
        gap: var(--dd-space-4);
        white-space: nowrap;
    }

    .primary-navigation a {
        min-height: 40px;
    }
}
