/* =========================
   PAGE LAYOUT / SECTION HEIGHTS
========================= */

@media (min-width:1101px) {
    /* Desktop anchor offsets */
    #scuola,
    #corsi,
    #insegnanti,
    #balla-snella,
    #orari,
    #dove-siamo {
        scroll-margin-top: 0;
    }

    /* Hero */
    .hero {
        min-height: clamp(740px,82vh,820px);
    }

    /* Courses */
    .courses.section {
        padding-top: clamp(62px,7vh,76px);
        padding-bottom: clamp(58px,7vh,74px);
    }

    .courses .section-heading {
        margin-bottom: 34px;
    }

    .courses .course-filters {
        margin-top: -8px;
        margin-bottom: 24px;
    }

    .courses .course-card,
    .courses .course-detail {
        min-height: clamp(405px,49vh,445px);
    }

    .courses .course-cards {
        padding-bottom: 56px;
    }

    /* Teachers */
    .teachers .schedule-intro h2 {
        font-size: clamp(56px,5.1vw,82px);
    }

    .teachers .schedule-intro > p:last-child {
        font-size: 17px;
        line-height: 1.6;
    }

    .teachers .schedule-intro .kicker {
        font-size: 11px;
    }

    .teacher-card {
        width: clamp(255px,18vw,320px);
        flex-basis: clamp(255px,18vw,320px);
    }
}

/* Keep the main split aligned on laptop-sized desktop layouts. */
@media (min-width:1101px) and (max-width:1550px) {
    .about {
        grid-template-columns: 40% 60%;
    }
}

/* Sticky navigation offset */
@media (max-width:1100px) {
    #scuola,
    #corsi,
    #insegnanti,
    #balla-snella,
    #orari,
    #dove-siamo {
        scroll-margin-top: 72px;
    }
}

@media (max-width:600px) {
    #scuola,
    #corsi,
    #insegnanti,
    #balla-snella,
    #orari,
    #dove-siamo {
        scroll-margin-top: 68px;
    }
}
