/* ==========================================================================
   PROGRAMS.CSS
   Programs + Services page only — matches Programs + Services PDF
   Uses global heading / intro-row / 72rem content systems.
   ========================================================================== */

.page-programs .slam-main {
    padding-bottom: 0;
    overflow-x: clip;
}

/* Hero uses global .slam-ihero / .slam-ihero-img (width:100%; height:auto).
   Composed asset already includes photo framing, yellow→red gradient, and red strip.
   No page-specific aspect-ratio / object-fit / object-position overrides. */

/* --------------------------------------------------------------------------
   WHITE CONTENT — shared 72rem grid + global intro-arrow row
   -------------------------------------------------------------------------- */
.page-programs .slam-programs-section {
    padding-top: clamp(2.75rem, 4.8vw, 4rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
    background: var(--color-white);
}

.page-programs .slam-programs-content {
    box-sizing: border-box;
    width: min(100%, var(--content-wide));
    max-width: var(--content-wide);
    margin-inline: auto;
}

.page-programs .slam-programs-section .slam-section-heading {
    margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

.page-programs .slam-programs-coming-soon {
    color: var(--color-primary);
    font-weight: var(--weight-extrabold);
}

/* Extra space before Areas of Focus (after shared intro-row margin) */
.page-programs .slam-programs-section .slam-intro-row {
    margin-bottom: clamp(2.75rem, 5.5vw, 4rem);
}

.page-programs .slam-programs-focus-heading {
    margin: 0 0 clamp(1.25rem, 3vw, 2rem);

    font-family: var(--font-heading);
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: var(--weight-extrabold);
    line-height: var(--line-section);
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-primary);
}

.page-programs .slam-programs-areas {
    display: block;
    width: min(100%, 50rem);
    height: auto;
    margin: 0 auto;
}

/* --------------------------------------------------------------------------
   QUOTE BAND — finished composition asset, full-bleed, native aspect
   -------------------------------------------------------------------------- */
.page-programs .slam-programs-quote {
    margin: 0;
    padding: 0;
    line-height: 0;
    overflow: hidden;
    background-color: #fcbf00;
}

.page-programs .slam-programs-quote__img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
}

.page-programs .slam-footer {
    margin-top: 0;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .page-programs .slam-programs-section {
        padding-top: clamp(2rem, 6vw, 2.75rem);
        padding-bottom: clamp(2rem, 6vw, 3rem);
    }

    .page-programs .slam-programs-areas {
        width: 100%;
    }
}
