/* ==========================================================================
   ADNEX LAYOUT ARCHITECTURE — CLEAN, MINIMAL, EDITORIAL
   ========================================================================== */
.container,
[class$="__container"] {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 32px;
    box-sizing: border-box;
}

.container--narrow {
    max-width: var(--container-narrow);
    margin: 0 auto;
    padding: 0 32px;
}

section,
main > section,
[class$="-section"] {
    padding: 88px 0;
    position: relative;
    background-color: var(--color-white);
}

.section--alt,
.section--light {
    background-color: var(--color-bg-light);
}

.section--dark {
    background-color: var(--color-navy-midnight);
    color: var(--color-text-inverse);
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4 {
    color: var(--color-text-inverse);
}

.section--dark p {
    color: var(--color-text-inverse-muted);
}

/* Standard Hero Layout */
.hero-section,
.service-hero,
section[class$="-hero"] {
    padding: 80px 0 72px;
    border-bottom: 1px solid #E2E8F0 !important;
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
    background-image: none !important;
}

.two-column-layout,
.hero-split-layout,
.service-hero__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

/* Grids */
.grid-2,
.two-col-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

/* Section Headers */
.section-header {
    margin-bottom: 48px;
    max-width: 720px;
}

.section-header--center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.section-header-split {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 48px;
}

.section-header-split > div:first-child {
    max-width: 600px;
}

.section-header-split > div:last-child {
    max-width: 440px;
    text-align: right;
}

/* Stacks */
.stack-sm { display: flex; flex-direction: column; gap: var(--spacing-2); }
.stack-md { display: flex; flex-direction: column; gap: var(--spacing-4); }
.stack-lg { display: flex; flex-direction: column; gap: var(--spacing-6); }
