@media (min-width: 1440px) {
    .container {
        max-width: 1400px;
    }
}

@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }
    .hero-left h1 {
        font-size: 3rem;
    }
    .why-grid {
        gap: 1.5rem;
    }
    .services-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .investment-cat-grid,
    .budget-planner-grid,
    .articles-grid,
    .success-stories-grid,
    .resources-grid {
        gap: 1.5rem;
    }
}

@media (max-width: 992px) {
    .container {
        max-width: 720px;
    }
    .nav-desktop {
        display: none;
    }
    .mobile-menu-toggle {
        display: block;
    }
    .hero-split-layout {
        grid-template-columns: 1fr;
        gap: 5rem;
        text-align: center;
    }
    .hero-left p {
        margin: 0 auto 2.5rem auto;
    }
    .hero-ctas {
        justify-content: center;
    }
    .why-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
    }
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .investment-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .insurance-planning-section {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }
    .insurance-checklist li {
        justify-content: center;
    }
    .budget-planner-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .savings-tips-section {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }
    .savings-tips-list {
        max-width: 550px;
        margin: 0 auto;
        text-align: left;
    }
    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .success-stories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-grid {
        grid-template-columns: 1.2fr 0.8fr 1fr;
        gap: 2.5rem;
    }
    .footer-col-newsletter {
        grid-column: span 3;
        max-width: 500px;
    }
    .resource-search-filter {
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }
    .search-box-ui {
        max-width: 100%;
    }
    .resources-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: 540px;
    }
    .section-padding {
        padding: 4.5rem 0;
    }
    .section-header {
        margin-bottom: 3rem;
    }
    .services-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .roadmap-timeline::after {
        left: 31px;
    }
    .roadmap-step {
        width: 100%;
        padding-left: 70px;
        padding-right: 0;
        left: 0 !important;
        margin-bottom: 2rem;
    }
    .roadmap-step::after {
        left: 22px !important;
        right: auto !important;
        top: 15px;
    }
    .roadmap-left .roadmap-number,
    .roadmap-right .roadmap-number {
        left: 20px !important;
        right: auto !important;
    }
    .investment-cat-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .budget-planner-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .articles-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .success-stories-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .footer-col-newsletter {
        grid-column: span 2;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 1.5rem;
        text-align: center;
    }
    .resources-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .form-grid-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .contact-form-container {
        padding: 2.5rem 1.75rem;
    }
}

@media (max-width: 576px) {
    .container {
        padding: 0 1.5rem;
    }
    .hero-left h1 {
        font-size: 2.5rem;
    }
    .hero-ctas {
        flex-direction: column;
        gap: 1rem;
    }
    .hero-ctas .btn {
        width: 100%;
    }
    .newsletter-form {
        flex-direction: column;
        gap: 0.75rem;
    }
    .newsletter-form .btn {
        width: 100%;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-col-newsletter {
        grid-column: span 1;
    }
}

@media (max-width: 400px) {
    .hero-left h1 {
        font-size: 2.15rem;
    }
    .hero-card-stack {
        height: 380px;
    }
    .hero-overlay-card-1 {
        left: -15px;
        top: 20px;
    }
    .hero-overlay-card-2 {
        right: -15px;
        bottom: 20px;
    }
    .section-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 320px) {
    .hero-left h1 {
        font-size: 1.85rem;
    }
    .header-container {
        padding: 0 1rem;
    }
    .mobile-nav {
        width: 65%;
    }
}

@media (max-width: 992px) {
    .quiz-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .segment-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .case-study-split {
        grid-template-columns: 1fr;
    }
    .sector-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .advisory-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .advisor-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
    }
    .booking-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .quiz-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .segment-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .sector-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .advisory-steps {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .calendar-item {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .booking-grid {
        grid-template-columns: 1fr;
    }
    .calc-row {
        flex-direction: column;
        gap: 0.5rem;
        align-items: stretch;
    }
    .calc-row input[type="range"] {
        margin-left: 0;
        max-width: 100%;
    }
}

.insurance-checklist {
    display: block !important;
    text-align: left !important;
}

.insurance-checklist li {
    justify-content: flex-start !important;
    text-align: left !important;
}

/* Sidebar width override — 70% so all nav links fit on a single line */
.mobile-nav {
    width: 70%;
    z-index: 1005;
}

.mobile-overlay {
    z-index: 1004;
}

/* Hide icons inside resource-card-header */
.resource-card-header i {
    display: none;
}

/* Fix: Ensure mobile nav close (×) button icon is always visible */
.mobile-menu-close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-end !important;
    min-width: 2.5rem !important;
    min-height: 2.5rem !important;
    position: relative !important;
    z-index: 1 !important;
}

.mobile-menu-close i {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 1.75rem !important;
    color: #12355B !important;
    line-height: 1 !important;
}
