.gss-page-grid {
    display: grid;
    gap: var(--gss-space-lg);
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    margin-top: var(--gss-space-xl);
}

.gss-public-foundation {
    background: var(--gss-color-background);
    color: var(--gss-color-text-primary);
    min-height: 100vh;
}

.gss-public-foundation__main {
    min-width: 0;
}

.gss-public-site-header {
    align-items: center;
    background: var(--gss-color-surface);
    border-bottom: 1px solid var(--gss-color-border);
    display: grid;
    gap: var(--gss-space-md);
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: var(--gss-space-md) clamp(var(--gss-space-md), 4vw, var(--gss-space-xl));
    position: sticky;
    top: 0;
    z-index: 10;
}

.gss-public-brand {
    align-items: center;
    color: var(--gss-color-text-primary);
    display: inline-flex;
    font: var(--gss-font-label);
    gap: var(--gss-space-xs);
    min-width: 0;
    text-decoration: none;
}

.gss-public-brand img {
    height: 2.5rem;
    width: auto;
}

.gss-public-brand span span,
.gss-public-site-footer h2 span {
    color: var(--gss-color-action-primary);
}

.gss-public-nav,
.gss-public-language {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gss-space-xs);
    justify-content: center;
}

.gss-public-nav a,
.gss-public-language a {
    border-radius: var(--gss-radius-control);
    color: var(--gss-color-text-secondary);
    font: var(--gss-font-body-sm);
    padding: var(--gss-space-xs) var(--gss-space-sm);
    text-decoration: none;
}

.gss-public-nav a:hover,
.gss-public-nav a:focus-visible,
.gss-public-language a:hover,
.gss-public-language a:focus-visible {
    background: var(--gss-color-surface-elevated);
    color: var(--gss-color-text-primary);
}

.gss-public-nav__client,
.gss-public-button--primary {
    background: var(--gss-color-action-primary);
    color: var(--gss-color-action-on-primary);
}

.gss-public-nav__client:hover,
.gss-public-nav__client:focus-visible,
.gss-public-button--primary:hover,
.gss-public-button--primary:focus-visible {
    background: var(--gss-color-action-primary-hover);
    color: var(--gss-color-action-on-primary);
}

.gss-public-nav-toggle,
.gss-public-nav-button {
    display: none;
}

.gss-public-nav-button {
    align-items: center;
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-control);
    cursor: pointer;
    flex-direction: column;
    gap: .2rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.gss-public-nav-button span {
    background: var(--gss-color-text-primary);
    border-radius: var(--gss-radius-control);
    height: 2px;
    width: 1.1rem;
}

.gss-public-section-host {
    display: grid;
}

.gss-public-section--hero .gss-public-section__inner {
    padding-bottom: var(--gss-space-xl);
    padding-top: var(--gss-space-xl);
}

.gss-public-home-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gss-space-sm);
}

.gss-public-card-grid {
    display: grid;
    gap: var(--gss-space-md);
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.gss-public-product-grid {
    display: grid;
    gap: var(--gss-space-md);
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.gss-public-product-card {
    display: grid;
    gap: var(--gss-space-md);
}

.gss-public-product-card img {
    aspect-ratio: 16 / 9;
    background: var(--gss-color-surface-elevated);
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-card);
    object-fit: cover;
    width: 100%;
}

.gss-public-product-card__meta,
.gss-public-product-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gss-space-xs);
}

.gss-public-product-card__meta span {
    background: var(--gss-color-surface-elevated);
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-control);
    color: var(--gss-color-text-secondary);
    font: var(--gss-font-body-sm);
    padding: var(--gss-space-xs) var(--gss-space-sm);
}

.gss-public-section {
    padding: clamp(var(--gss-space-lg), 5vw, var(--gss-space-xl)) var(--gss-space-md);
}

.gss-public-section--alternate {
    background: var(--gss-color-surface-elevated);
}

.gss-public-section--cta {
    background: color-mix(in srgb, var(--gss-color-action-primary) 8%, var(--gss-color-surface));
}

.gss-public-section__inner {
    display: grid;
    gap: var(--gss-space-lg);
    margin: 0 auto;
    max-width: var(--gss-content-width);
}

.gss-public-section-title {
    display: grid;
    gap: var(--gss-space-xs);
    max-width: 48rem;
}

.gss-public-section-title p,
.gss-public-founder-shell > div:first-child p,
.gss-public-legal-shell > p {
    color: var(--gss-color-text-secondary);
    font: var(--gss-font-label);
    margin: 0;
    text-transform: uppercase;
}

.gss-public-section-title h2,
.gss-public-founder-shell h2,
.gss-public-legal-shell h1 {
    font: var(--gss-font-heading-lg);
    margin: 0;
}

.gss-public-section-title span,
.gss-public-founder-shell span {
    color: var(--gss-color-text-secondary);
}

.gss-public-button {
    align-items: center;
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-control);
    display: inline-flex;
    font: var(--gss-font-label);
    justify-content: center;
    min-height: 2.75rem;
    padding: var(--gss-space-xs) var(--gss-space-md);
    text-decoration: none;
    width: fit-content;
}

.gss-public-button--secondary {
    background: var(--gss-color-surface);
    color: var(--gss-color-text-primary);
}

.gss-public-card,
.gss-public-founder-shell,
.gss-public-legal-shell {
    background: var(--gss-color-surface);
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-card);
    display: grid;
    gap: var(--gss-space-md);
    padding: var(--gss-space-lg);
}

.gss-public-card > span {
    color: var(--gss-color-action-primary);
    font: var(--gss-font-label);
}

.gss-public-card h3,
.gss-public-card p {
    margin: 0;
}

.gss-public-card p,
.gss-public-legal-shell__body {
    color: var(--gss-color-text-secondary);
}

.gss-public-trust-strip,
.gss-public-technology-shell {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gss-space-xs);
}

.gss-public-trust-strip span,
.gss-public-technology-shell span {
    background: var(--gss-color-surface-elevated);
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-control);
    color: var(--gss-color-text-secondary);
    font: var(--gss-font-body-sm);
    padding: var(--gss-space-xs) var(--gss-space-sm);
}

.gss-public-founder-shell {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .7fr);
}

.gss-public-founder-shell__body {
    display: grid;
    gap: var(--gss-space-sm);
}

.gss-public-site-footer {
    background: var(--gss-color-text-primary);
    color: var(--gss-color-surface);
    display: grid;
    gap: var(--gss-space-lg);
    grid-template-columns: 1.3fr repeat(4, 1fr);
    padding: var(--gss-space-xl) clamp(var(--gss-space-md), 4vw, var(--gss-space-xl));
}

.gss-public-site-footer section,
.gss-public-site-footer nav,
.gss-public-site-footer address {
    display: grid;
    font-style: normal;
    gap: var(--gss-space-xs);
}

.gss-public-site-footer h2,
.gss-public-site-footer p {
    margin: 0;
}

.gss-public-site-footer h2 {
    font: var(--gss-font-heading-md);
}

.gss-public-site-footer a,
.gss-public-site-footer span,
.gss-public-site-footer p {
    color: color-mix(in srgb, var(--gss-color-surface) 82%, var(--gss-color-text-secondary));
    font: var(--gss-font-body-sm);
    text-decoration: none;
}

.gss-public-site-footer a:hover,
.gss-public-site-footer a:focus-visible {
    color: var(--gss-color-surface);
}

.gss-public-site-footer small {
    border-top: 1px solid color-mix(in srgb, var(--gss-color-surface) 18%, transparent);
    color: color-mix(in srgb, var(--gss-color-surface) 70%, var(--gss-color-text-secondary));
    grid-column: 1 / -1;
    padding-top: var(--gss-space-md);
}

.gss-public-cookie-entry {
    bottom: var(--gss-space-md);
    position: fixed;
    right: var(--gss-space-md);
    z-index: 11;
}

.gss-public-cookie-entry a {
    background: var(--gss-color-surface);
    border: 1px solid var(--gss-color-border);
    border-radius: var(--gss-radius-control);
    color: var(--gss-color-text-primary);
    display: inline-flex;
    font: var(--gss-font-body-sm);
    padding: var(--gss-space-xs) var(--gss-space-sm);
    text-decoration: none;
}

@media (max-width: 760px) {
    .gss-public-site-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gss-public-nav-button {
        display: inline-flex;
    }

    .gss-public-nav,
    .gss-public-language {
        display: none;
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .gss-public-nav-toggle:checked ~ .gss-public-nav,
    .gss-public-nav-toggle:checked ~ .gss-public-language {
        display: flex;
    }

    .gss-public-founder-shell,
    .gss-public-site-footer {
        grid-template-columns: 1fr;
    }

    .gss-public-site-footer small {
        grid-column: auto;
    }

    .gss-public-cookie-entry {
        bottom: var(--gss-space-sm);
        left: var(--gss-space-sm);
        right: var(--gss-space-sm);
    }
}
