.site-header {
    position: relative;
    min-height: 5rem;
    border-bottom: 1px solid var(--color-border);
}

.site-navigation {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
}

.site-navigation__sections,
.site-navigation__account {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.site-navigation a,
.mobile-navigation a {
    color: var(--color-text-subtle);
    font-weight: var(--weight-semibold);
    text-decoration: none;
}

.site-navigation a:hover,
.mobile-navigation a:hover,
.site-navigation a[aria-current="page"],
.mobile-navigation a[aria-current="page"] {
    color: var(--color-accent);
}

.site-navigation a[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: .16rem;
    text-underline-offset: .35rem;
}

.navigation-cta {
    padding: .55rem .8rem;
    border-radius: var(--radius-control);
    background: var(--color-accent-soft);
    color: var(--color-accent-text) !important;
}

.mobile-navigation {
    display: none;
}

.mobile-navigation summary {
    padding: .55rem .8rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-control);
    font-weight: var(--weight-semibold);
    cursor: pointer;
}

.mobile-navigation[open] {
    position: static;
}

.mobile-navigation nav {
    position: absolute;
    z-index: 5;
    top: calc(100% - .5rem);
    right: 0;
    left: 0;
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.mobile-navigation__links {
    display: grid;
    gap: var(--space-3);
}

.catalog-hero {
    max-width: 52rem;
    padding-bottom: var(--space-8);
}

.catalog-hero .breadcrumbs {
    margin-bottom: var(--space-6);
}

.catalog-sections,
.home-discovery {
    display: grid;
    gap: var(--space-12);
}

.catalog-section {
    display: grid;
    gap: var(--space-5);
}

.catalog-section__intro {
    max-width: 44rem;
}

.catalog-section__intro h2,
.section-heading h2,
.home-discovery__panel h2 {
    margin-bottom: var(--space-2);
    font-size: clamp(1.6rem, 4vw, 2.4rem);
}

.catalog-section__intro p,
.section-heading p,
.home-discovery__panel > p {
    color: var(--color-text-subtle);
}

.tool-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: var(--space-4);
}

.tool-grid--single {
    grid-template-columns: 1fr;
}

.tool-card {
    display: flex;
    min-height: 13rem;
    flex-direction: column;
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.tool-card[data-tool-status="planned"] {
    background: var(--color-surface-muted);
    box-shadow: none;
}

.tool-card__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
}

.tool-card h3 {
    margin: 0;
    font-size: 1.2rem;
}

.tool-card > p {
    color: var(--color-text-subtle);
}

.tool-card__link,
.tool-card__planned {
    margin-top: auto;
    font-weight: var(--weight-semibold);
}

.tool-card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    text-decoration: none;
}

.tool-card__link:hover {
    text-decoration: underline;
    text-underline-offset: .2rem;
}

.tool-card__planned {
    margin-bottom: 0;
    color: var(--color-text-muted) !important;
    font-size: var(--text-sm);
}

.status-badge {
    flex: 0 0 auto;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: var(--color-accent-soft);
    color: var(--color-accent-text);
    font-size: .75rem;
    font-weight: var(--weight-bold);
}

.catalog-note {
    max-width: 48rem;
    margin-top: var(--space-12);
    padding: var(--space-6);
    border-left: .3rem solid var(--color-accent);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    background: var(--color-surface-muted);
}

.catalog-note h2 {
    margin-top: 0;
}

.home-hero {
    max-width: 52rem;
}

.home-discovery {
    margin-block: var(--space-12);
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-6);
}

.section-heading > div {
    max-width: 44rem;
}

.section-heading__link {
    flex: 0 0 auto;
    font-weight: var(--weight-semibold);
    text-decoration: none;
}

.home-category {
    display: grid;
    gap: var(--space-4);
}

.home-category h3 {
    margin: 0;
    font-size: 1.3rem;
}

.home-discovery--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.home-discovery__panel {
    display: grid;
    gap: var(--space-4);
    min-height: 100%;
    padding: var(--space-6);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: var(--color-surface-muted);
}

.home-discovery__panel .tool-card {
    min-height: 12rem;
}

@media (max-width: 52rem) {
    .site-navigation--desktop {
        display: none;
    }

    .mobile-navigation {
        display: block;
        margin-left: auto;
    }

    .home-discovery--split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .site-header {
        min-height: 4.25rem;
        align-items: center;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-3);
    }

    .tool-card {
        min-height: 0;
    }

    .home-discovery__panel,
    .catalog-note {
        padding: var(--space-5);
    }
}
