/* =====================================================
   CrestBridge Services
   Responsive Styles
===================================================== */


/* =====================================================
   Large Screens
===================================================== */

@media(max-width:1200px){

    .container-custom{
        padding:0 30px;
    }

    .hero-content h1{
        font-size:58px;
    }

    .hero-grid{
        gap:60px;
    }

    .why-grid{
        gap:60px;
    }

    .footer-grid{
        grid-template-columns:1.4fr 1fr 1fr 1fr;
        gap:35px;
    }

}


/* =====================================================
   Tablet
===================================================== */

@media(max-width:992px){

    .nav-wrapper{
        height:80px;
    }

    .mobile-toggle{
        display:block;
    }

    .nav-menu{
        position:fixed;
        top:80px;
        left:-100%;
        width:100%;
        background:#fff;
        padding:40px;
        display:flex;
        flex-direction:column;
        gap:25px;
        transition:.35s ease;
        box-shadow:0 15px 35px rgba(0,0,0,.08);
    }

    .nav-menu.active{
        left:0;
    }

    .btn-nav{
        display:none;
    }

    .hero{
        min-height:auto;
        padding:90px 0;
    }

    .hero-grid,
    .why-grid,
    .academy-grid{
        grid-template-columns:1fr;
        gap:60px;
        text-align:center;
    }

    .hero-content,
    .academy-content,
    .cta-content{
        max-width:100%;
    }

    .hero-content p,
    .academy-content p{
        max-width:100%;
    }

    .hero-buttons,
    .cta-buttons{
        justify-content:center;
    }

    .check-list,
    .academy-features{
        max-width:620px;
        margin-left:auto;
        margin-right:auto;
        text-align:left;
    }

    .hero-image{
        justify-content:center;
    }

    .hero-image img{
        max-width:620px;
    }

    .pillar-grid,
    .industries-grid{
        grid-template-columns:1fr;
    }

    .services-grid,
    .process-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

}


/* =====================================================
   Mobile
===================================================== */

@media(max-width:768px){

    .announcement-bar{
        height:auto;
        min-height:38px;
        font-size:12px;
        line-height:1.4;
        padding:8px 15px;
        text-align:center;
    }

    .logo img{
        height:52px;
    }

    .nav-menu{
        top:118px;
    }

    .hero{
        padding:70px 0;
    }

    .hero-content h1{
        font-size:42px;
        letter-spacing:-1px;
    }

    .hero-content p,
    .why-right p,
    .academy-content p,
    .cta-content p{
        font-size:17px;
        line-height:1.75;
    }

    .hero-badge{
        font-size:11px;
        line-height:1.5;
    }

    .hero-buttons,
    .cta-buttons{
        flex-direction:column;
    }

    .btn-primary,
    .btn-secondary,
    .btn-light,
    .btn-outline-light{
        width:100%;
    }

    .check-list,
    .academy-features{
        grid-template-columns:1fr;
        gap:16px;
    }

    .hero-image img{
        border-radius:18px;
    }

    .why-crestbridge,
    .practice-areas,
    .process,
    .industries,
    .academy-banner,
    .home-cta{
        padding:85px 0;
    }

    .section-heading{
        margin-bottom:48px;
    }

    .section-heading h2,
    .why-left h2,
    .academy-content h2,
    .cta-content h2{
        font-size:38px;
        line-height:1.15;
        letter-spacing:-.5px;
    }

    .section-heading p{
        font-size:17px;
        line-height:1.75;
    }

    .services-grid,
    .process-grid{
        grid-template-columns:1fr;
    }

    .service-card,
    .process-step,
    .industry-card,
    .academy-panel{
        padding:32px;
        border-radius:20px;
    }

    .service-card h3,
    .process-step h3,
    .academy-panel h3{
        font-size:26px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .site-footer{
        padding:70px 0 30px;
    }

}


/* =====================================================
   Small Mobile
===================================================== */

@media(max-width:480px){

    .container-custom{
        padding:0 20px;
    }

    .logo img{
        height:46px;
    }

    .hero-content h1{
        font-size:36px;
    }

    .hero-content p{
        font-size:16px;
    }

    .hero-buttons{
        gap:14px;
    }

    .check-list li{
        font-size:15px;
    }

    .section-heading h2,
    .why-left h2,
    .academy-content h2,
    .cta-content h2{
        font-size:34px;
    }

    .service-card,
    .pillar-card,
    .process-step,
    .industry-card,
    .academy-panel{
        padding:28px;
    }

    .footer-logo img{
        height:56px;
    }

}

@media(max-width:768px){

    .process-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .process-grid::before{
        top:0;
        bottom:0;
        left:8px;
        right:auto;
        width:2px;
        height:auto;
    }

    .process-step{
        padding-left:42px;
    }

    .process-step::before{
        position:absolute;
        left:0;
        top:4px;
        margin-bottom:0;
    }

}