@media screen and (min-width: 1200px) and (max-height: 800px) {
    .banner__item {
        max-height: calc(100vh - 210px);
    }
}

@media screen and (min-width: 1200px) {

    .container {
        max-width: 1230px;
    }

    .max-width-1184px {
        max-width: 1184px;
        margin-left: auto;
        margin-right: auto;
    }

    .max-width-1296px {
        max-width: 1296px;
        margin-left: auto;
        margin-right: auto;
    }

    .max-width-1440px {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }


    /** Header **/
    .site-navigation {
        padding-top: 16px;
    }

    .site-navigation__inner {
        position: relative;
        padding: 0 32px;
    }

    .site-navigation__inner .layer-shape {
        margin-left: -200px;
        margin-top: -433px;
    }

    .site-navigation__menu,
    .main-header .site-navigation .menu>ul {
        display: flex;
        align-items: center;
    }

    .site-navigation .site-branding {
        position: relative;
        display: flex;
        align-items: center;
        width: 148px;
    }

    .main-header .site-navigation .menu {
        display: flex;
        align-items: center;
        justify-content: end;
        flex: 1;
    }

    .main-header .site-navigation .menu ul li:hover>ul,
    .main-header .site-navigation .menu ul li.hover>ul {
        display: block;
        visibility: visible;
        opacity: 1;
        transform: translate(0, 0);
    }

    .site-navigation .menu>ul>li>a {
        padding: 23px 0;
        margin-right: 32px;
        position: relative;
    }

    .main-header .site-navigation .menu>ul>li>ul {
        text-align: left;
        position: absolute;
        visibility: hidden;
        display: block;
        opacity: 0;
        -webkit-transition: all 300ms linear 0ms;
        -khtml-transition: all 300ms linear 0ms;
        -moz-transition: all 300ms linear 0ms;
        -ms-transition: all 300ms linear 0ms;
        -o-transition: all 300ms linear 0ms;
        transition: all 300ms linear 0ms;
        transform: translate(0, 10px);
        left: 0;
        top: auto;
        z-index: 99;
        min-width: 186px;
        width: max-content;
        padding: 8px 0;
        overflow: hidden;
        border-radius: 0 0 5px 5px;
        background: #FFF;
        box-shadow: 0 4px 64px 0 rgba(30, 30, 28, 0.16);
    }

    .main-header .site-navigation .menu ul ul li {
        /* white-space: nowrap; */
    }


    /** Content **/
    .form-quote {
        padding: 33px 15px;
    }

    .form-quote .sect-title {
        text-align: center;
        width: 100%;
    }

    .latest-news__content>.row {
        margin: 0 -21px;
    }

    .latest-news__content>.row>div {
        padding-left: 21px;
        padding-right: 21px;
    }
}

@media screen and (min-width: 1400px) {

    /** Header **/


    /** Content **/
    .form-quote {
        padding: 33px 32px;
    }

    .form-quote .sect-title {
        width: 195px;
        text-align: left;
    }

    .intern .banner-content {
        padding-top: 72px;
    }

}

@media screen and (min-width: 1600px) {

    /**Header**/



    /** Content **/

}

@media screen and (min-width: 1920px) {

    /**Header**/


    /** Content **/
}

@media screen and (max-width: 1199px) {

    /** Header - Mobile Menu **/

    /* Scroll lock when menu open */
    body:has(.menu.active) {
        overflow: hidden;
    }

    .sticked-menu {
        display: none !important;
    }

    .main-header .layer-shape {
        display: none;
    }

    .main-header__top>.container,
    .site-navigation>.container {
        max-width: 100%;
    }

    .main-header__top {
        padding: 6px 0;
        border-bottom: 1px solid #71A82B;
        height: auto;
    }

    /* Branding */
    .site-navigation .site-branding {
        width: 148px;
        padding: 15px 0;
    }

    .site-navigation.fixed-header .site-branding {
        width: 125px;
        padding: 10px 0;
    }

    /* Fixed header on scroll */
    .site-navigation.fixed-header {
        width: 100%;
        top: 0;
        left: 0;
        position: fixed;
        background: linear-gradient(0deg, #00354D 0%, #00354D 100%), #FFF;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.16);
        backdrop-filter: blur(9px);
    }

    /* ===== Burger toggle ===== */
    .main-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 44px;
        height: 44px;
        z-index: 20001;
    }

    .main-menu-toggle label {
        cursor: pointer;
        position: relative;
        z-index: 99;
        width: 26px;
        height: 18px;
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .main-menu-toggle .toggle-block {
        display: block;
        height: 2px;
        width: 100%;
        padding: 0;
        background-color: #fff;
        border-radius: 2px;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transform-origin: center;
    }

    .main-menu-toggle .toggle-blocks-1,
    .main-menu-toggle .toggle-blocks-2,
    .main-menu-toggle .toggle-blocks-3 {
        position: relative;
        float: none;
        margin-top: 0;
    }

    /* Burger → X animation */
    .main-menu-toggle input[type=checkbox]:checked~.main-menu-toggle-block>.toggle-blocks-1 {
        transform: translateY(8px) rotate(45deg);
        -webkit-transform: translateY(8px) rotate(45deg);
        margin-top: 0;
    }

    .main-menu-toggle input[type=checkbox]:checked~.main-menu-toggle-block>.toggle-blocks-2 {
        opacity: 0;
        transform: scaleX(0);
    }

    .main-menu-toggle input[type=checkbox]:checked~.main-menu-toggle-block>.toggle-blocks-3 {
        transform: translateY(-8px) rotate(-45deg);
        -webkit-transform: translateY(-8px) rotate(-45deg);
        margin-top: 0;
    }

    /* X en couleur foncée quand le panneau blanc est ouvert */
    .main-menu-toggle input[type=checkbox]:checked~.main-menu-toggle-block>.toggle-block {
        background-color: #00354D;
    }

    .site-navigation.fixed-header .main-menu-toggle {
        top: 50%;
    }

    /* ===== Menu overlay container ===== */
    .main-header .site-navigation .menu {
        position: fixed;
        inset: 0;
        z-index: 20000;
        visibility: hidden;
        pointer-events: none;
        display: block !important;
        max-height: none !important;
        background-color: transparent;
    }

    .main-header .site-navigation .menu.active {
        visibility: visible;
        pointer-events: auto;
    }

    /* ===== Backdrop ===== */
    .menu-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 53, 77, 0.5);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        opacity: 0;
        transition: opacity 0.4s ease;
        cursor: pointer;
        z-index: 1;
        display: block;
    }

    .menu.active .menu-overlay {
        opacity: 1;
    }


    /* ===== Slide-in panel ===== */
    .main-header .site-navigation .menu>ul {
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        width: 82vw;
        max-width: 380px;
        max-height: none;
        height: 100vh;
        height: 100dvh;
        background: #fff;
        padding: 88px 28px 40px;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        transform: translateX(100%);
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: none;
        z-index: 2;
        border-top: 0;
    }

    .main-header .site-navigation .menu.active>ul {
        transform: translateX(0);
        box-shadow: -10px 0 50px rgba(0, 53, 77, 0.15);
    }

    /* Scrollbar */
    .main-header .site-navigation .menu>ul::-webkit-scrollbar {
        width: 3px;
    }

    .main-header .site-navigation .menu>ul::-webkit-scrollbar-thumb {
        background: #008ED0;
        border-radius: 3px;
    }

    /* ===== Menu items - stagger animation ===== */
    .main-header .site-navigation .menu li,
    .main-header .site-navigation .menu>ul>li {
        display: block;
        overflow: hidden;
        opacity: 0;
        transform: translateX(24px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .main-header .site-navigation .menu.active>ul>li {
        opacity: 1;
        transform: translateX(0);
    }

    .menu.active>ul>li:nth-child(1) { transition-delay: 0.06s; }
    .menu.active>ul>li:nth-child(2) { transition-delay: 0.10s; }
    .menu.active>ul>li:nth-child(3) { transition-delay: 0.14s; }
    .menu.active>ul>li:nth-child(4) { transition-delay: 0.18s; }
    .menu.active>ul>li:nth-child(5) { transition-delay: 0.22s; }
    .menu.active>ul>li:nth-child(6) { transition-delay: 0.26s; }
    .menu.active>ul>li:nth-child(7) { transition-delay: 0.30s; }

    /* ===== Top-level links ===== */
    .main-header .site-navigation .menu>ul>li>a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 4px;
        font-size: 1.0625rem;
        font-weight: 600;
        color: #00354D;
        border: 0;
        border-bottom: 1px solid rgba(0, 53, 77, 0.08);
        text-align: left;
        transition: color 0.25s ease;
    }

    .main-header .site-navigation .menu>ul>li>a br {
        display: none;
    }

    .main-header .site-navigation .menu>ul>li>a:hover,
    .main-header .site-navigation .menu>ul>li>a:active {
        color: #008ED0;
    }

    /* ===== Chevron indicator ===== */
    .main-header .site-navigation .menu>ul>li.has-submenu>a:after {
        content: '';
        width: 9px;
        height: 9px;
        border-right: 2px solid #008ED0;
        border-bottom: 2px solid #008ED0;
        transform: rotate(45deg);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        flex-shrink: 0;
        margin-left: 12px;
        font-family: inherit;
        font-size: 0;
        position: relative;
        display: block;
    }

    .main-header .site-navigation .menu ul>li.has-submenu>a.active:after {
        transform: rotate(-135deg);
    }

    /* ===== Sub-menu accordion ===== */
    .main-header .site-navigation .menu>ul>li>ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
                    padding 0.45s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        min-width: 0;
        padding: 0 0;
        background: rgba(0, 53, 77, 0.025);
        border-radius: 8px;
        box-shadow: none;
        border: 0;
        display: block !important;
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .main-header .site-navigation .menu>ul>li>ul.active {
        max-height: 500px;
        padding: 8px 0;
    }

    .main-header .site-navigation .menu ul>ul,
    .main-header .site-navigation .menu ul>ul>ul {
        position: relative;
        left: auto;
        top: auto;
        border: none;
    }

    /* ===== Sub-menu items ===== */
    .main-header .site-navigation .menu ul ul>li {
        opacity: 1;
        transform: none;
    }

    .main-header .site-navigation .menu ul ul>li a {
        display: flex;
        align-items: center;
        padding: 13px 16px 13px 20px;
        font-size: 0.9375rem;
        font-weight: 400;
        color: #476B7B;
        border: 0;
        position: relative;
        transition: color 0.25s ease, background 0.25s ease;
    }

    .main-header .site-navigation .menu ul ul>li a::before {
        content: '';
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #008ED0;
        margin-right: 12px;
        flex-shrink: 0;
        opacity: 0.35;
        transition: opacity 0.25s ease, transform 0.25s ease;
    }

    .main-header .site-navigation .menu ul ul>li a:hover,
    .main-header .site-navigation .menu ul ul>li a:active {
        color: #008ED0;
        background: rgba(0, 142, 208, 0.04);
    }

    .main-header .site-navigation .menu ul ul>li a:hover::before,
    .main-header .site-navigation .menu ul ul>li a:active::before {
        opacity: 1;
        transform: scale(1.4);
    }

    /* Active/hover states */
    .main-header .site-navigation .menu ul ul>li.active>a,
    .main-header .site-navigation .menu ul ul>li:hover>a,
    .main-header .site-navigation .menu ul ul>li.hover>a,
    .main-header .site-navigation .menu>ul>li.active>a,
    .main-header .site-navigation .menu>ul>li:hover>a,
    .main-header .site-navigation .menu>ul>li.hover>a {
        color: #008ED0;
        background: none;
    }

    /** Content **/

    .footer-column,
    .page section {
        padding-top: clamp(50px, 1rem + 7.8vh, 100px);
        padding-bottom: clamp(50px, 1rem + 7.8vh, 100px);
    }

    .width-lg-45 {
        width: 45%;
    }

    .width-lg-40 {
        width: 40%;
    }

    .width-lg-50 {
        width: 50%;
    }

    .bloc-content.img-box--left .img-box {
        margin-right: 30px;
    }

    .bloc-content.img-box--right .img-box {
        margin-left: 30px;
    }

    .banner-slide__item {
        padding: 90px 0 100px;
        min-height: 700px;
        height: 100%;
    }

    .intern .banner-section .banner-inner {
        padding: 90px 0 100px;
    }

    .form-quote .sect-title {
        width: 100%;
        text-align: center;
    }

    .footer-certification-insurance ul,
    .form-quote form,
    .form-quote .form-quote__inputs {
        flex-direction: column;
    }

    .form-quote fieldset:first-child {
        margin: 0 0 16px;
        padding: 0 0 16px;
    }

    .form-quote fieldset:first-child:before {
        width: 16px;
        height: 1px;
        border: 0;
        border-bottom: 1px solid #fff;
        right: unset;
        left: 50%;
        top: unset;
        bottom: 0;
        transform: translateX(-50%);
    }

    .benefit-item__inner {
        padding: 48px 15px;
    }

    .testimonials__inner .avatars {
        margin-left: -130px;
    }

    .testimonials__inner .avatars-2 {
        margin-right: -130px;
    }

    .blk-newsletter {
        padding-right: 50px;
    }

    .blk-speed-contact {
        padding-left: 50px;
    }

    .footer-logo {
        width: 250px;
    }

    .banner-ico {
        margin-right: 15px;
    }

    .intern .macaron {
        right: 0;
    }

    .blk-contact-infos {
        margin-top: 0;
        display: flex;
        gap: 70px;
    }

    .blk-map {
        margin-top: 0;
        height: 336px;
        width: 100%;
        flex: 1;
    }

    .blk-contact-form {
        max-width: 100%;
        margin: 50px 0 0;
    }
}

@media screen and (max-width: 991px) {

    /** Header **/


    /** Content **/

    html {
        font-size: clamp(14px, 1vw, 15px);
    }

    .width-lg-40,
    .width-lg-45,
    .width-lg-50 {
        width: auto;
    }


    .bloc-content.img-box--right .img-box,
    .bloc-content.img-box--left .img-box {
        margin-right: 0;
        margin-left: 0;
    }

    .benefit-item__inner {
        min-height: 290px;
    }

    .testimonials__inner .avatars {
        margin-left: -240px;
    }

    .testimonials__inner .avatars-2 {
        margin-right: -240px;
    }

    .services-items {
        max-width: 100%;
        margin-top: 50px;
    }

    .services-diag__image {
        margin-right: 0;
        text-align: center;
    }

    .service-item .service-more a {
        width: 43px;
        height: 43px;
        padding: 13px;
    }

    .online-payment__content .sect-title {
        max-width: 390px;
    }

    .online-payment__content {
        gap: 50px;
    }

    .blk-newsletter,
    .blk-speed-contact {
        padding-left: 0;
        padding-right: 0;
    }

    .blk-newsletter {
        border-bottom: 1px solid #fff;
        margin-bottom: 40px;
        padding-bottom: 40px;
    }

    .blk-newsletter:after {
        display: none;
    }

    .blk-newsletter .newsletter-form {
        max-width: 100%;
    }

    .footer-certification-insurance ul {
        flex-direction: row;
    }

    .footer-logo {
        width: 280px;
    }

    .blk-newsletter .newsletter-form .form-group .form-control {
        height: 55px;
    }

    .blk-newsletter .newsletter-form .form-group button {
        width: 43px;
        height: 43px;
        top: 6px;
        right: 6px;
        padding: 12px;
    }

    .form-quote .form-group button {
        height: 50px;
    }

    .form-quote .next-step button {
        width: 53px;
        height: 53px;
    }

    .macaron {
        right: 35px;
        width: 140px;
        height: 140px;
        border: 10px solid #FFF;
    }

    .macaron .text-circle {
        width: 83%;
    }

    .macaron-ico {
        width: 55px;
        min-width: 55px;
        height: 55px;
        padding: 15px;
    }

    .banner-inner .layer-shape {
        margin-right: -231px;
        margin-bottom: -469px;
    }

    .banner-slide__item .banner-image {
        margin-right: 0;
        display: flex;
        justify-content: center;
        margin-bottom: 40px;
        padding: 0 50px;
    }

    .banner-slide__item {
        padding: 100px 0;
        min-height: 750px;
    }

    .banner-slide__item .banner-content {
        padding: 0 40px;
    }

    .intern .banner-section .banner-inner {
        padding: 100px 0;
    }

    .banner-ico {
        width: 125px;
        height: 125px;
        margin-bottom: 0;
    }

    .blk-contact-infos {
        gap: 40px;
    }

    .blk-contact-infos ul li .contact-ico {
        padding: 15px;
        width: 50px;
        height: 50px;
    }

    .blk-contact-infos ul li {
        gap: 15px;
    }

    .blk-contact-infos ul li .contact-title {
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {

    /** Header **/


    /** Content **/

    .page section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .page section.p-0,
    .page section.pt-0 {
        padding-top: 0;
    }

    .page section.banner-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .newsletter-section {
        padding: 24px 0;
    }

    .footer-column {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .testimonials-section {
        padding: 40px 0;
    }

    .online-payment-section {
        padding: 40px 0;
    }

    .form-quote .list-btn .form-group {
        width: 100%;
    }

    .form-quote .list-btn .form-group button {
        width: 100%;
        max-width: 260px;
        margin: 0 auto;
    }

    .form-quote .list-btn {
        width: 100%;
        justify-content: center;
    }

    .footer-logo {
        width: 250px;
    }

    .sect-title h2,
    .sect-title .h2,
    .sect-title .bloc-title,
    .sect-title h1,
    .sect-title .h1,
    .page-title,
    .form-quote .sect-title .bloc-title,
    .bloc-marque>div {
        font-size: 1.85715rem;
    }

    .macaron {
        right: 30px;
        width: 120px;
        height: 120px;
    }

    .macaron-ico {
        width: 47px;
        min-width: 47px;
        height: 47px;
        padding: 10px;
    }

    .banner-inner .layer-shape {
        margin-right: -247px;
        margin-bottom: -492px;
    }

    .banner-slide__item {
        min-height: 700px;
    }

    .bloc-marque {
        gap: 40px;
    }

    .benefit-ico img {
        width: 65px;
        height: 65px;
    }

    .testimonials__inner .avatars {
        margin-left: -290px;
    }

    .testimonials__inner .avatars-2 {
        margin-right: -290px;
    }

    .service-item__inner:hover {
        padding: 12px 40px;
    }

    .online-payment__content {
        flex-direction: column-reverse;
    }

    .online-payment__content .sect-title {
        max-width: 100%;
    }

    .actus-item .actus-image {
        height: 320px;
    }

    .benefit-item:nth-child(2n + 1) .benefit-item__inner {
        margin-top: 0;
    }

    .intern .banner-inner .layer-shape {
        margin-right: -267px;
    }

    .banner-ico {
        width: 115px;
        height: 115px;
    }

    .contact-form .contact-form__send button {
        margin-left: 0;
    }

    .blk-contact-form {
        padding-left: 40px;
        padding-right: 40px;
    }

    .blk-contact-infos {
        gap: 24px;
        flex-direction: column;
    }

    .intern .macaron {
        right: 10px;
    }

    .blk-map {
        flex: unset;
    }
}

@media screen and (max-width: 576px) {

    /** Header**/
    .site-navigation.fixed-header .site-branding,
    .site-navigation .site-branding {
        width: 120px;
        padding: 10px 0;
    }

    .main-header .site-navigation .menu>ul {
        padding: 80px 24px 32px;
    }


    /** Content **/
    .banner-slide__item .banner-content,
    .banner-slide__item .banner-image {
        padding: 0;
    }

    .macaron {
        right: 30px;
        width: 100px;
        height: 100px;
    }

    .macaron-ico {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 10px;
    }

    .banner-inner .layer-shape {
        margin-right: -182px;
        margin-bottom: -378px;
        width: 480px;
    }

    .benefit-ico img {
        width: 55px;
        height: 55px;
    }

    .benefit-item .benefit-number {
        padding: 5px 20px;
    }

    .service-item__inner:hover,
    .service-item__inner {
        padding: 10px 15px;
    }

    .service-item .service-more a {
        width: 38px;
        height: 38px;
        padding: 11px;
    }

    .footer-logo {
        width: 200px;
    }

    .footer-services ul {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        -moz-column-gap: 0;
        -webkit-column-gap: 0;
        column-gap: 0;
    }

    .footer-certification-insurance ul {
        flex-wrap: wrap;
    }

    .intern .banner-inner .layer-shape {
        margin-right: -200px;
    }

    .banner-ico {
        width: 95px;
        height: 95px;
    }

    .blk-contact-form {
        padding-left: 30px;
        padding-right: 30px;
    }

    .blk-contact-infos ul li .contact-ico {
        padding: 13px;
        width: 45px;
        height: 45px;
    }

    .form-quote .list-btn .form-group button {
        max-width: 240px;
        height: 52px;
        padding: 8px 20px;
        min-width: unset;
    }

    .form-quote .next-step button {
        width: 48px;
        height: 48px;
    }
}