/* Categoria: publico. landing-content; composição e estados deste módulo. */
.landing-section {
    display: flex;
    min-height: 100vh;
    min-height: 100svh;
    flex-direction: column;
    justify-content: center;
    padding: var(--landing-section-space) var(--landing-inset);
}

.landing-section--cream {
    background: var(--cream);
}

.landing-section--sage {
    background: var(--surface-sage);
}

.landing-intro-grid {
    display: grid;
    align-content: center;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(var(--space-8), 5vw, var(--space-16));
    align-items: center;
}

.landing-section h2 {
    max-width: 16ch;
    margin: var(--space-3) 0 0;
    color: var(--forest);
    font: 500 clamp(28px, 3.2vw, 40px)/1.12 var(--font-display);
    letter-spacing: -.025em;
    text-wrap: balance;
}

.landing-intro-copy {
    max-width: 580px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.landing-intro-copy + .landing-intro-copy {
    margin-top: var(--space-4);
}

.landing-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: var(--space-8);
    margin-bottom: var(--space-8);
}

.landing-section-heading .landing-intro-copy {
    max-width: 360px;
}

.landing-experience-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8);
}

.landing-experience-item {
    padding-top: 0;
    border-top: 0;
}

.landing-experience-item h3 {
    margin: 0 0 var(--space-2);
    color: var(--forest);
    font: 500 24px/1.25 var(--font-display);
}

.landing-experience-item p {
    max-width: 360px;
    margin: 0;
    color: var(--muted);
    font-size: var(--text-base);
}

.landing-program-header {
    display: grid;
    align-content: center;
    grid-template-columns: 1.1fr .9fr;
    gap: var(--space-12);
    align-items: end;
}

.landing-program-copy {
    max-width: 580px;
}

.landing-heritage {
    background: var(--surface-sage);
}

.landing-heritage__copy {
    max-width: 760px;
    margin-inline: auto;
}

.landing-heritage__copy p {
    max-width: 620px;
    color: var(--muted);
}

.landing-closing {
    --focus-visible: var(--focus-on-dark);
    display: flex;
    min-height: 100vh;
    min-height: 100svh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--landing-section-space) var(--landing-gutter);
    background: var(--deep);
    color: var(--white);
    text-align: center;
}

.landing-closing h2 {
    max-width: 18ch;
    margin: var(--space-4) auto;
    color: var(--white);
    font: 500 clamp(28px, 3.2vw, 40px)/1.12 var(--font-display);
}

.landing-closing > p:not(.landing-eyebrow) {
    max-width: 580px;
    margin: 0 auto;
    color: #e4e8df;
}

.landing-closing__actions {
    justify-content: center;
}

.landing-footer {
    padding: 28px var(--landing-inset);
    background: #12241d;
    color: #e4e8df;
    font-size: var(--text-sm);
}

.landing-footer p {
    max-width: 580px;
    margin: 0;
}

.landing-footer__brand {
    color: var(--white);
    font: 500 18px var(--font-display);
}
