/* SMP follows the shared school profile theme and large reading sizes. */
.smp-profile-page .school-hero__photo { object-position: center 18%; }
.smp-profile-page .smp-topic-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-block: 36px 48px;
}
.smp-profile-page .smp-topic-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 18px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #f5f9ef;
    color: var(--green);
    font-size: var(--text-small);
    font-weight: 600;
    line-height: 1.6;
}
.smp-profile-page .smp-topic-nav a:hover { border-color: var(--teal); background: var(--mint); }
.smp-profile-page .smp-topic--sage { background: var(--mint); }
.smp-profile-page .smp-topic__inner {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.7fr);
    gap: clamp(36px, 5vw, 80px);
    padding-block: 88px;
}
.smp-profile-page .smp-topic__heading { position: sticky; top: 32px; align-self: start; }
.smp-profile-page .smp-topic__heading h2 { font-size: clamp(38px, 3.6vw, 52px); overflow-wrap: anywhere; }
.smp-profile-page .smp-topic__copy { max-width: 70ch; }
.smp-profile-page .smp-topic__poster { width: min(100%, 360px); margin-top: 36px; }
.smp-profile-page .smp-topic__poster img { width: 100%; border: 1px solid var(--line); border-radius: 16px; }
.smp-profile-page .smp-topic__poster figcaption { margin-top: 18px; color: var(--teal); font-size: var(--text-small); line-height: 1.7; }
.smp-profile-page .smp-commitment .future-inner { grid-template-columns: minmax(0, .9fr) minmax(0, 1.7fr); }
.smp-profile-page .smp-commitment__copy p { color: #dce7df; }

@media (max-width: 960px) {
    .smp-profile-page .smp-topic__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 64px; }
    .smp-profile-page .smp-topic__heading { position: static; }
    .smp-profile-page .smp-topic__heading h2 { font-size: var(--text-heading); }
    .smp-profile-page .smp-topic__heading h2 br { display: none; }
    .smp-profile-page .smp-commitment .future-inner { grid-template-columns: minmax(0, 1fr); }
    .smp-profile-page .smp-commitment h2 { grid-row: auto; }
}

@media (max-width: 580px) {
    .smp-profile-page .smp-topic-nav { gap: 10px; padding-block: 28px 36px; }
    .smp-profile-page .smp-topic-nav a { padding-inline: 16px; }
    .smp-profile-page .smp-topic__inner { padding-block: 54px; }
    .smp-profile-page .smp-topic__poster { width: min(100%, 320px); margin-inline: auto; }
}
