/* =============================================================================
   responsive.css — Breakpoint-specific overrides
   Breakpoints: 375px | 430px | 768px | 1024px | 1440px
   ============================================================================= */

/* =============================================================================
   LARGE DESKTOP  ≥ 1440px
   ============================================================================= */
@media (min-width: 1440px) {
    .aotm-container {
        padding-inline: var(--container-pad-xl);
    }
}

/* =============================================================================
   DESKTOP  ≥ 1024px
   ============================================================================= */
@media (min-width: 1024px) {
    .aotm-menu-toggle { display: none; }

    .aotm-nav { display: flex; }

    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }

    .hero-home .hero-home__headline { font-size: clamp(2.5rem, 4vw, 3.5rem); }

    .pub-featured {
        grid-template-columns: 1fr 1fr;
    }

    .faculty-spotlight {
        grid-template-columns: 1fr 1fr;
    }

    .content-grid {
        grid-template-columns: 1fr 1fr;
    }

    .card-grid--4 { grid-template-columns: repeat(4, 1fr); }
    .card-grid--3 { grid-template-columns: repeat(3, 1fr); }
    .card-grid--2 { grid-template-columns: repeat(2, 1fr); }
}

/* Compact desktop header: preserve spacing when all nav items are visible. */
@media (min-width: 1024px) and (max-width: 1279px) {
    .aotm-header__inner {
        padding-inline: 1.5rem;
        gap: 1rem;
    }

    .aotm-logo {
        max-width: 11rem;
    }

    .aotm-logo__wordmark {
        display: none;
    }

    .aotm-nav {
        gap: 0.9rem;
    }

    .aotm-nav__link {
        font-size: 0.72rem;
    }

    .aotm-header .btn-sm {
        padding-inline: 0.9rem;
        font-size: 0.68rem;
    }
}

/* =============================================================================
   TABLET  768px – 1023px
   ============================================================================= */
@media (min-width: 768px) and (max-width: 1023px) {
    .aotm-header__inner {
        padding-inline: var(--container-pad-lg);
    }

    .aotm-logo {
        max-width: 11.5rem;
    }

    .aotm-logo img {
        height: 3.15rem;
        max-width: 10rem;
    }

    .aotm-logo__wordmark {
        display: none;
    }

    .aotm-container {
        padding-inline: var(--container-pad-lg);
    }

    .aotm-nav { display: none; }
    .aotm-menu-toggle { display: flex; }

    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }

    .hero-home { min-height: 75vh; }

    .pub-featured {
        grid-template-columns: 1fr;
    }

    .pub-featured__image { min-height: 260px; max-height: 320px; }

    .faculty-spotlight {
        grid-template-columns: 1fr;
    }

    .faculty-spotlight__image { min-height: 300px; max-height: 380px; }

    .content-grid { grid-template-columns: 1fr; }

    .card-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .card-grid--3 { grid-template-columns: repeat(2, 1fr); }

    .aotm-footer .row { gap: 2rem; }
}

/* =============================================================================
   MOBILE  < 768px
   ============================================================================= */
@media (max-width: 767px) {
    .aotm-header__inner {
        padding-inline: var(--container-pad-sm);
    }

    .aotm-container {
        padding-inline: var(--container-pad-sm);
    }

    .aotm-nav { display: none; }
    .aotm-menu-toggle { display: flex; }

    h1 {
        font-size: clamp(1.75rem, 7vw, 2.5rem);
        letter-spacing: -0.01em;
    }
    h2 {
        font-size: clamp(1.5rem, 5vw, 2rem);
    }
    h3 {
        font-size: var(--text-xl);
    }

    /* Sections */
    .section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
    .section--lg { padding-top: 4rem; padding-bottom: 4rem; }

    /* Hero */
    .hero-home { min-height: auto; padding-top: calc(var(--nav-height) + 2rem); padding-bottom: 3rem; }
    .page-hero { padding-top: 3rem; padding-bottom: 3rem; }

    /* Grids → single column */
    .pub-featured { grid-template-columns: 1fr; }
    .pub-featured__image { min-height: 220px; max-height: 280px; }
    .pub-featured__body { padding: 1.5rem; }
    .pub-featured__body .btn-brand-gold {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0.85rem 1rem;
        text-align: center;
    }
    .pub-featured__body .download-size {
        flex-basis: 100%;
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }
    .faculty-spotlight { grid-template-columns: 1fr; }
    .faculty-spotlight__image { min-height: 260px; }
    .faculty-spotlight__body { padding: 1.75rem; }
    .content-grid { grid-template-columns: 1fr; gap: 2rem; }

    .card-grid--4 { grid-template-columns: 1fr; }
    .card-grid--3 { grid-template-columns: 1fr; }
    .card-grid--2 { grid-template-columns: 1fr; }

    /* Dialogue row — stack on very small */
    .dialogue-row { flex-wrap: wrap; }

    /* Buttons — stack */
    .btn-stack { flex-direction: column; width: 100%; }
    .btn-stack .btn-brand-gold,
    .btn-stack .btn-brand-navy,
    .btn-stack .btn-outline-navy,
    .btn-stack .btn-outline-white { width: 100%; justify-content: center; }

    /* Footer */
    .aotm-footer__bottom { flex-direction: column; text-align: center; }
    .aotm-footer__legal { justify-content: center; }
    .aotm-footer__social { justify-content: center; }

    /* Tables — allow scroll */
    .table-responsive-brand { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    /* Process steps — 2 col on mobile */
    .process-steps-grid { grid-template-columns: repeat(2, 1fr); }

    /* Partner logos */
    .partner-logos { gap: 1.5rem; }
    .partner-logos__item { font-size: var(--text-base); }

    /* Filter bar */
    .filter-bar { padding: 1rem; }

    /* Nav header */
    .aotm-header__inner { padding-inline: 1rem; }
    .aotm-logo { max-width: 10.5rem; gap: 0.65rem; }
    .aotm-logo img { height: 3rem; max-width: 10rem; }
    .aotm-logo__wordmark { display: none; }
}

/* =============================================================================
   SMALL MOBILE  < 430px
   ============================================================================= */
@media (max-width: 430px) {
    .aotm-logo { max-width: 9.5rem; gap: 0.55rem; }
    .aotm-logo img { height: 2.75rem; max-width: 9rem; }
    .aotm-logo__wordmark { display: none; }

    h1 { font-size: 1.75rem; }

    .pub-card__title { font-size: var(--text-lg); }

    .faculty-spotlight__name { font-size: var(--text-2xl); }

    .process-steps-grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   PRINT
   ============================================================================= */
@media print {
    .aotm-header,
    .aotm-footer,
    .aotm-menu-toggle,
    .filter-bar { display: none !important; }

    body { font-size: 12pt; color: #000; }

    a[href]::after { content: " (" attr(href) ")"; font-size: 10pt; }

    .page-main { padding-top: 0; }
}
