/* ==========================================================================
   ISADES — responsive layer
   Breakpoints: 1440 · 1200 · 992 · 768 · 576
   ========================================================================== */

/* Large desktop (≥ 1600) — give the hero a little more presence */
@media (min-width: 1600px) {
    .hero { padding-top: 30px; padding-bottom: 94px; }
}

/* ≤ 1440 */
@media (max-width: 1440px) {
    :root { --container-width: 1240px; }
    .nav-list { gap: 2px; }
    .nav-link { padding: 10px 10px; }
    .primary-nav { gap: 24px; }
    .event-bar__cell { padding: 2px 14px; }
    .topic-card { padding: 14px; gap: 12px; }
    .topic-card__icon { width: 34px; font-size: 26px; }
    .speaker-card { gap: 16px; padding: 16px; }
    .speaker-card__photo, .speaker-card__photo img, .avatar-placeholder { width: 84px; height: 84px; }
    .avatar-placeholder { font-size: 34px; }
}

/* ≤ 1200 — mobile navigation, tighter grids */
@media (max-width: 1200px) {
    :root { --header-height: 76px; --section-space: 52px; }

    .brand__logo { height: 52px; }

    .nav-toggle { display: block; }

    .primary-nav {
        position: fixed;
        top: var(--header-height);
        left: 0; right: 0; bottom: 0;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 18px;
        padding: 16px var(--gutter) 32px;
        background: #fff;
        border-top: 1px solid var(--color-border);
        overflow-y: auto;
        overscroll-behavior: contain;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }
    .primary-nav.is-open { visibility: visible; opacity: 1; transform: none; }
    body.nav-open { overflow: hidden; }

    .nav-list { flex-direction: column; align-items: stretch; gap: 0; margin: 0; }
    .nav-item { border-bottom: 1px solid var(--color-border); }
    .nav-link {
        width: 100%;
        justify-content: space-between;
        min-height: 54px;
        padding: 14px 4px;
        font-size: 17px;
    }
    .nav-link::after { display: none; }
    .nav-item.is-active > .nav-link { color: var(--color-secondary); font-weight: 600; }

    .subnav {
        position: static;
        display: none;
        min-width: 0;
        padding: 0 0 12px 12px;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }
    .subnav::before { display: none; }
    .nav-item.is-open > .subnav { display: block; }
    .subnav a { padding: 12px 14px; font-size: 16px; }

    .nav-cta { width: 100%; min-height: 52px; }

    .hero__content { max-width: 640px; }
    .hero__highlight { padding: 4px 18px; }


    .event-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
    .event-bar__cell { padding: 14px 16px; border-top: 1px solid var(--color-border); }
    .event-bar__cell:nth-child(-n+2) { border-top: 0; }
    .event-bar__cell:nth-child(odd) { border-left: 0; }

    .topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .speaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .footer-brand { grid-column: 1 / -1; }

    .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ≤ 992 — tablet */
@media (max-width: 992px) {
    .hero { padding: 26px 0 88px; }
    .hero__fade {
        background: linear-gradient(180deg, rgba(2, 21, 49, .55) 0%, rgba(2, 21, 49, .85) 100%);
    }
    .hero__hex--1 { left: 72%; }
    .hero__highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; }
    .hero__highlight { border-left: 0; padding: 0; }

    .dates-countdown { grid-template-columns: 1fr; }

    .about-summary__grid { grid-template-columns: 1fr; gap: 32px; }
    .about-summary__text { padding-right: 0; border-right: 0; }
    .benefits { padding-left: 0; }

    .news-editions__grid { grid-template-columns: 1fr; gap: 40px; }

    .publication-strip__inner { flex-wrap: wrap; gap: 24px 0; }
    .publication-strip__text { flex: 1 1 100%; padding-right: 0; }
    .publication-strip__group:first-of-type { padding-left: 0; border-left: 0; }

    .page-layout { grid-template-columns: 1fr; }
    .page-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .track-list, .speaker-list { grid-template-columns: 1fr; }
    .contact-cards { grid-template-columns: 1fr 1fr; }
    .grid-3 { grid-template-columns: 1fr 1fr; }
}

/* ≤ 768 — large phones */
@media (max-width: 768px) {
    :root { --gutter: 20px; --section-space: 44px; }

    .hero__eyebrow { font-size: 12px; letter-spacing: .24em; }

    .featured-announcement { margin-top: -72px; }
    .featured-card { grid-template-columns: auto 1fr; padding: 18px 20px; gap: 14px 16px; }
    .featured-card__head { padding-right: 16px; align-self: start; border-right: 0; }
    .featured-card__list { grid-auto-flow: row; gap: 12px; }
    .featured-card__list li { padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--color-border); }
    .featured-card__list li:first-child { padding-top: 0; border-top: 0; }
    .featured-card__btn { grid-column: 1 / -1; justify-self: start; }

    .event-bar__logo img { height: 34px; }
    .event-bar__item { grid-column: 1 / -1; }
    .event-bar__cell:nth-child(2) { border-left: 0; border-top: 1px solid var(--color-border); }
    .event-bar__cell:nth-child(3) { border-left: 1px solid var(--color-border-strong); border-top: 1px solid var(--color-border); }
    .event-bar__cell:nth-child(4) { grid-column: 1 / -1; border-left: 0; }

    /* Vertical timeline */
    .timeline { flex-direction: column; }
    .timeline__item {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        text-align: left;
        padding: 0 0 20px 38px;
    }
    .timeline__item:last-child { padding-bottom: 0; }
    .timeline__item::before {
        display: block;
        top: 10px;
        left: 8px;
        width: 2px;
        height: 100%;
        background: linear-gradient(180deg, var(--color-secondary), var(--color-accent));
    }
    .timeline__item:first-child::before { display: block; }
    .timeline__item:last-child::before { display: none; }
    .timeline__dot { position: absolute; left: 0; top: 2px; margin: 0; }
    .timeline__label { min-height: 0; flex: 1 1 100%; }
    .timeline__date { margin-top: 2px; }

    .countdown__grid { gap: 8px; }
    .countdown__unit { padding: 14px 4px 12px; }

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

    .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* Speakers become a horizontal scroll row */
    .speaker-grid {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(270px, 82%);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }
    .speaker-grid > * { scroll-snap-align: start; }

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

    .section-head { flex-wrap: wrap; align-items: baseline; }

    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .footer-col--contact { grid-column: 1 / -1; }
    .site-footer__bottom-inner { flex-direction: column; align-items: flex-start; }

    .page-hero { padding: 36px 0 44px; }
    .page-body { padding: 40px 0 56px; }
    .page-sidebar { grid-template-columns: 1fr; }

    .fact-list > div { grid-template-columns: 1fr; gap: 2px; }
    .member-grid { grid-template-columns: 1fr; }
    .track { flex-direction: column; gap: 12px; }
    .org-card { flex-direction: column; align-items: flex-start; }
    .contact-cards, .grid-2, .grid-3 { grid-template-columns: 1fr; }
    .date-row { grid-template-columns: 1fr; gap: 4px; }
}

/* ≤ 576 — small phones */
@media (max-width: 576px) {
    :root { --gutter: 16px; --header-height: 68px; }

    .brand__logo { height: 44px; }

    .hero { padding: 24px 0 90px; }
    .hero__title { font-size: clamp(2.1rem, 11vw, 2.6rem); }
    .hero__highlights { grid-template-columns: 1fr 1fr; gap: 14px 12px; }
    .hero__highlight { gap: 10px; }
    .hero__highlight-icon { width: 34px; height: 34px; font-size: 24px; }
    .hero__highlight-text { font-size: 13.5px; }
    .hero__hex--1 { width: 80px; height: 92px; left: 70%; top: 4%; }
    .hero__hex--2, .hero__hex--3 { display: none; }

    .panel { padding: 22px 18px 24px; }
    .panel--list { padding: 4px 18px; }
    .panel__title { font-size: 13.5px; letter-spacing: .12em; }

    .countdown__value { font-size: 1.7rem; }
    .countdown__label { font-size: 12.5px; }

    .topic-grid { grid-template-columns: 1fr; }
    .edition-grid { grid-template-columns: 1fr; }
    .track__items { grid-template-columns: 1fr; }

    .news-item { gap: 14px; }
    .news-item .icon-tile { width: 46px; height: 46px; font-size: 20px; }

    .site-footer__grid { grid-template-columns: 1fr; }

    .btn { width: 100%; }
    .btn-row .btn { width: 100%; }
    .featured-card__btn { width: 100%; }
    .section-head .link-arrow { font-size: 13.5px; }
}

/* Announcements: stack below 992 once the row gets tight */
@media (max-width: 992px) and (min-width: 769px) {
    .featured-card { grid-template-columns: auto 1fr; row-gap: 14px; }
    .featured-card__btn { grid-column: 1 / -1; justify-self: start; }
}
