/* ------------------------------------------------------------------
 * Layout primitives: page wrapper, container, sections, grids.
 * Reusable across all sections — never put visual styling here.
 * ------------------------------------------------------------------ */

.page {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--nav-height) + env(safe-area-inset-top));
}

.container {
    width: min(var(--container-max), calc(100% - var(--container-gutter) * 2));
    margin: 0 auto;
}

section {
    padding: var(--section-padding-y) 0;
}

.section-head {
    max-width: 780px;
    margin-bottom: 30px;
}

.section-head h2 {
    margin: 0 0 10px;
}

.section-head p {
    color: var(--color-text-muted);
    font-size: var(--font-size-xl);
}

/* ----- Reusable grids ------------------------------------------ */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.grid-split {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: var(--space-7);
    align-items: start;
}

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

.row {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}
