@media(max-width:1024px){
    .nav-menu{
        gap:16px
    }
    .hero__grid,.page-hero__grid{
        gap:42px
    }
    .programme-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .feature-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .footer__grid{
        grid-template-columns:1.3fr 1fr 1fr
    }
    .footer__grid>div:last-child{
        grid-column:span 3
    }
    .two-col,.form-layout,.contact-grid{
        gap:45px
    }
}
 @media(max-width:768px){
    body[data-page="home"] .hero{
        margin-top:-70px
    }
    body[data-page="home"] .site-header.is-over-hero .nav-menu>a:not(.button),
    body[data-page="home"] .site-header.is-over-hero .nav-dropdown>button{
        color:var(--navy)
    }
    .topbar{
        height:auto;
        padding:8px 0
    }
    .topbar__contact{
        gap:8px
    }
    .topbar__contact span,.faq-link,.topbar .social-links{
        display:none
    }
    .nav{
        height:70px
    }
    .brand__logo{
        width:132px;
        height:auto
    }
    .nav-menu{
        position:fixed;
        top:0;
        right:0;
        width:min(330px,88vw);
        height:100vh;
        background:#fff;
        box-shadow:var(--shadow);
        padding:90px 28px 30px;
        display:flex;
        align-items:stretch;
        flex-direction:column;
        gap:0;
        transform:translateX(105%);
        transition:.35s;
        overflow:auto
    }
    .nav-menu.is-open{
        transform:none
    }
    .nav-menu>a:not(.button),.nav-dropdown>button{
        padding:14px 0;
        text-align:left;
        width:100%;
        font-size:.92rem
    }
    .nav-menu>a:not(.button):after,.nav-dropdown>button:after{
        display:none
    }
    .nav-dropdown>button{
        display:flex;
        justify-content:space-between
    }
    .dropdown-panel{
        position:static;
        width:auto;
        border:0;
        box-shadow:none;
        padding:0 0 0 12px;
        display:none;
        opacity:1;
        transform:none;
        pointer-events:auto
    }
    .nav-dropdown.is-open .dropdown-panel{
        display:block
    }
    .button--nav{
        margin-top:15px
    }
    .nav-toggle{
        display:block;
        z-index:2
    }
    .nav-toggle.is-open i:first-child{
        transform:translateY(7px) rotate(45deg)
    }
    .nav-toggle.is-open i:nth-child(2){
        opacity:0
    }
    .nav-toggle.is-open i:last-child{
        transform:translateY(-7px) rotate(-45deg)
    }
    .hero-slider{
        min-height:620px
    }
    .hero-slider__content{
        padding:150px 0 130px
    }
    .hero-slider__arrow{
        width:45px;
        font-size:4rem
    }
    .hero__grid,.page-hero__grid,.two-col,.form-layout,.contact-grid{
        grid-template-columns:1fr
    }
    .hero__content{
        padding:65px 0 25px
    }
    .hero__visual{
        padding:20px 20px 40px
    }
    .hero__visual img{
        height:390px
    }
    .hero__note{
        left:0
    }
    .page-hero{
        padding:65px 0
    }
    .page-hero img{
        height:310px
    }
    .two-col--reverse>img{
        order:0
    }
    .section{
        padding:72px 0
    }
    .split-heading{
        display:block
    }
    .split-heading .text-link{
        display:inline-block;
        margin-top:5px
    }
    .feature-grid,.values-grid{
        grid-template-columns:1fr 1fr
    }
    .at-a-glance{
        padding-top:72px;
        padding-bottom:72px
    }
    .at-a-glance__grid{
        gap:18px
    }
    .at-a-glance__card{
        min-height:190px;
        border-radius:20px
    }
    .at-a-glance__card--support{
        min-height:135px
    }
    .steps{
        grid-template-columns:1fr 1fr
    }
    .specialist-grid{
        grid-template-columns:1fr
    }
    .footer__grid{
        grid-template-columns:1fr 1fr
    }
    .footer__grid>div:first-child,.footer__grid>div:last-child{
        grid-column:span 2
    }
    .gallery-grid{
        grid-auto-rows:140px
    }
    .gallery-page-grid{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:180px
    }
    .image-stack img,.rounded-image{
        height:380px
    }
    .contact-form{
        padding:24px
    }
}
@media(max-width:520px){
    .at-a-glance__title{
        margin-bottom:20px;
        font-size:1.8rem;
        letter-spacing:.055em
    }
    .at-a-glance__grid{
        grid-template-columns:1fr;
        gap:14px
    }
    .at-a-glance__card{
        min-height:160px;
        padding:22px;
        border-radius:18px
    }
    .at-a-glance__card strong{
        font-size:4.2rem
    }
    .at-a-glance__card span{
        margin-top:12px;
        font-size:1.35rem
    }
    .at-a-glance__card--support{
        grid-column:auto;
        min-height:130px;
        gap:18px
    }
    .at-a-glance__card--support span{
        font-size:1.2rem
    }
}
 @media(max-width:480px){
    body{
        font-size:14px
    }
    .shell{
        width:min(calc(100% - 32px),var(--shell))
    }
    .topbar__contact a:last-of-type{
        display:none
    }
    h1{
        font-size:2.65rem
    }
    .hero__trust{
        display:grid;
        gap:7px
    }
    .hero__visual img{
        height:330px
    }
    .hero-slider{
        min-height:540px
    }
    .hero-slider__content{
        padding:125px 0 100px
    }
    .hero-slider h1{
        font-size:clamp(2.45rem,11vw,3.3rem)
    }
    .hero-slider__content>p{
        font-size:1.55rem
    }
    .hero-slider .button{
        min-width:0;
        padding:16px 20px;
        font-size:.86rem
    }
    .hero-slider__arrow{
        top:auto;
        bottom:17px;
        width:37px;
        height:38px;
        font-size:3.4rem;
        transform:none
    }
    .hero-slider__arrow--previous{left:10px}
    .hero-slider__arrow--next{right:10px}
    .feature-grid,.values-grid,.programme-grid,.steps,.footer__grid,.field-row{
        grid-template-columns:1fr
    }
    .feature-grid--three{
        grid-template-columns:1fr
    }
    .programme-card img{
        height:210px
    }
    .stats{
        gap:14px
    }
    .stats strong{
        font-size:1.4rem
    }
    .gallery-grid{
        grid-template-columns:1fr 1fr;
        grid-auto-rows:140px
    }
    .gallery-page-grid{
        grid-auto-rows:140px
    }
    .gallery-item--wide{
        grid-column:span 2
    }
    .footer__grid>div:first-child,.footer__grid>div:last-child{
        grid-column:auto
    }
    .footer__bottom{
        display:block
    }
    .footer__bottom span:last-child{
        margin-top:8px
    }
    .stars{
        display:none
    }
    .page-hero--short{
        padding:70px 0
    }
    .image-stack{
        padding-right:20px
    }
}
 @media(prefers-reduced-motion:reduce){
    *,*:before,*:after{
        animation-duration:.01ms!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important
    }
    .reveal{
        opacity:1;
        transform:none
    }
}
 
