/* ── layout.css ─ Container, grids, editorial-prose ──────── */

.container {
    width: 100%;
    max-width: var(--max-w);
    margin-inline: auto;
    padding-inline: var(--s-24);
}

/* Grid utilities */
.grid {
    display: grid;
    gap: var(--s-24);
}

.grid > * {
    min-width: 0;
}

.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

.grid--55-45 { grid-template-columns: 55fr 45fr; }
.grid--60-40 { grid-template-columns: 60fr 40fr; }

/* Editorial prose */
.editorial-prose {
    max-width: 780px;
    overflow-wrap: break-word;
    word-break: break-word;
}

.editorial-prose p {
    margin-bottom: var(--s-16);
}

.editorial-prose p:first-of-type::first-letter {
    font-family: var(--f-heading);
    font-style: italic;
    font-size: 3.5rem;
    font-weight: 600;
    float: left;
    line-height: 0.8;
    margin-right: var(--s-8);
    margin-top: var(--s-4);
    color: var(--c-accent);
}

/* Section spacing */
.section {
    padding: var(--s-80) 0;
}

.section--tight {
    padding: var(--s-48) 0;
}

/* Site main */
.site-main {
    padding-top: var(--header-h);
}

/* Section header */
.section__header {
    margin-bottom: var(--s-40);
}

.section__kicker {
    display: block;
    font-family: var(--f-body);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--c-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--s-8);
}
