/* ══════════════════════════════════════════════
    BREAKPOINT — TABLET  ≤ 1100px
══════════════════════════════════════════════ */
@media (max-width: 1100px) {
    :root {
        --section-v: 64px;
    }

    /* Nav: hide links, show hamburger */
    .nav-links {
        display: none;
    }

    .nav-hamburger {
        display: flex;
    }

    /* Also hide the sticky CTA button on tablet to save space */
    .nav-inner>.btn {
        display: none;
    }

    /* Hero */
    .hero-image-wrap {
        left: auto;
        width: 400px;
    }

    .hero-content {
        padding: 60px 0;
    }

    /* Why: narrower gap */
    .why-grid {
        gap: 40px;
    }

    .why-badge {
        right: -8px;
    }

    /* Packages → 2 column, de-scale the featured card */
    .packages-grid {
        grid-template-columns: 1fr 1fr;
    }

    .pkg-card.featured {
        transform: none;
    }

    .pkg-card.featured:hover {
        transform: translateY(-6px);
    }

    /* Add-ons → 2 column */
    .add-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* Schedule → 2 × 2 */
    .schedule-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Carrie: narrower photo col */
    .carrie-grid {
        grid-template-columns: 260px 1fr;
        gap: 40px;
    }

    .carrie-photo {
        width: 240px;
        height: 240px;
    }

    /* Timeline: switch to vertical */
    .timeline-track {
        display: none;
    }

    .timeline-vertical {
        display: block;
    }
}

/* ══════════════════════════════════════════════
    BREAKPOINT — MOBILE  ≤ 640px
══════════════════════════════════════════════ */
@media (max-width: 640px) {
    :root {
        --section-v: 52px;
    }

    /* Hero */
    .hero {
        min-height: auto;
    }

    .hero .container {
        padding: 0;
        padding-left: var(--gutter);
        padding-right: var(--gutter);
    }

    .hero-image-wrap {
        position: absolute;
        left: auto;
        width: 100%;
        opacity: .15;
    }

    .hero-content {
        padding: 56px 0 48px;
        max-width: 100%;
    }

    /* Stats */
    .stats-inner {
        gap: 20px;
    }

    .stat-num {
        font-size: 1.7rem;
    }

    /* Why → single col */
    .why-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .why-badge {
        right: 8px;
    }

    /* Packages → single col */
    .packages-grid {
        grid-template-columns: 1fr;
    }

    /* Add-ons → single col */
    .add-grid {
        grid-template-columns: 1fr;
    }

    /* Schedule → single col */
    .schedule-grid {
        grid-template-columns: 1fr;
    }

    /* Carrie → single col */
    .carrie-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .carrie-photo {
        width: 220px;
        height: 220px;
    }

    /* CTA stack */
    .cta-actions {
        flex-direction: column;
        align-items: center;
    }

    .cta-actions .btn {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }
}