@media (max-width: 1350px) {
    h1, h1 * {
        font-size: 58px;
    }

    h2 {
        font-size: 38px;
    }

    .home-opening__title {
        font-size: 35px;
    }

    .home-centre__text {
        padding: 40px 50px;
        width: 45%;
    }

    .home-centre__image {
        width: 55%;
    }

    .home-news__inner {
        grid-template-columns: 1fr;
        grid-gap: 0;
    }
}

@media (max-width: 1000px) {
    :root {
        --mdside: 6vw;

        --ltspace: 40px;
        --mdspace: 80px;
    }

    .p-18, .p-18 * {
        font-size: 14px;

    }

    p {
        font-size: 16px;
    }

    h1, h1 * {
        font-size: 34px;
    }

    h1 {
        margin-bottom: 20px;
    }

    h2 br,
    h1 br {
        display: none;
    }

    h3, .h3 {
        font-size: 18px;
    }

    h2 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .single-news__content h2,
    .big-h3 {
        font-size: 24px;

    }


    #branding {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    #branding svg {
        width: 90px;
        height: auto;
    }

    #header {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .js-communes-access {
        width: 146px;
    }

    .home-hero__baseline::before {
        display: none;
    }

    .home-hero__baseline {
        font-size: 10px;
        margin-left: 26px;
    }

    .btn_base {
        font-size: 12px;
        padding: 10px 20px;
    }

    .home-hero {
        height: 520px;
        padding-top: 90px;
    }

    .home-hero__visual {
        height: 640px;
    }

    .home-hero__visual::after {
        background: linear-gradient(180deg, rgba(12, 65, 123, 0.70) 19.79%, rgba(16, 50, 85, 0.14) 51.14%, rgba(81, 125, 171, 0.00) 65.16%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 31.19%, rgba(0, 12, 13, 0.33) 44.89%, rgba(0, 26, 26, 0.68) 59.61%, #002627 73.12%);
    }

    .home-hero__focus {
        clip-path: circle(110px at 50% 60%);
    }

    .home-hero__dot--1 {
        clip-path: circle(20px at calc(50% - 120px) 47%);
    }

    .home-hero__dot--2 {
        clip-path: circle(15px at calc(50% - 140px) 58%);
    }

    .home-hero__dot--3 {
        clip-path: circle(10px at calc(50% - 125px) 67%);
    }


    /* DROITE */
    .home-hero__dot--4 {
        clip-path: circle(10px at calc(50% + 125px) 52%);
    }

    .home-hero__dot--5 {
        clip-path: circle(15px at calc(50% + 140px) 61%);
    }

    .home-hero__dot--6 {
        clip-path: circle(20px at calc(50% + 120px) 72%);
    }

    .home-opening {
        padding-top: 0;
    }

    .home-opening > svg {
        display: none;
    }

    .home-opening__title {
        font-size: 18px;
        letter-spacing: unset;
        line-height: normal;
    }

    .home-opening__title br {
        display: none;
    }

    .home-centre__content {
        flex-direction: column-reverse;
        justify-content: flex-end;
        min-height: unset;
    }

    .home-centre__image {
        width: 100%;
        height: 65vw;
    }

    .home-centre__text {
        width: 100%;
        padding: 28px 30px;
    }

    .home-centre__image::before {
        left: 0;
        width: 100%;
        height: 40px;
        top: unset;
        bottom: -20px;
        clip-path: polygon(50% 0%, 59.75% 0.96%, 69.13% 3.81%, 77.78% 8.43%, 85.36% 14.64%, 91.57% 22.22%, 96.19% 30.87%, 99.04% 40.25%, 100% 50%, 99.04% 59.75%, 96.19% 69.13%, 91.57% 77.78%, 85.36% 85.36%, 77.78% 91.57%, 69.13% 96.19%, 59.75% 99.04%, 50% 100%, 40.25% 99.04%, 30.87% 96.19%, 22.22% 91.57%, 14.64% 85.36%, 8.43% 77.78%, 3.81% 69.13%, 0.96% 59.75%, 0% 50%, 0.96% 40.25%, 3.81% 30.87%, 8.43% 22.22%, 14.64% 14.64%, 22.22% 8.43%, 30.87% 3.81%, 40.25% 0.96%);
    }

    .mobile-svg-news {
        position: absolute;
        bottom: -1px;
        width: 100%;
        height: auto;
        left: 0;
        z-index: 10;
        display: block;

    }

    .home-news__inner {
        display: block;
        padding-right: 0;
        padding-bottom: 200px;
        margin-top: auto;
        padding-left: 0;

    }
    .home-news__title{
        padding-left: var(--mdside);
        padding-right: var(--mdside);
    }
    .home-news__list.swiper {
        display: block;
        overflow: hidden;
        padding-left: var(--mdside);
        padding-right: var(--mdside);
        width: 100%;
    }

    .home-news__list .swiper-wrapper {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    .home-news__background {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
    }

    .home-news::before {
        background: linear-gradient(180deg, #002627 0%, rgba(0, 38, 39, 0.30) 42.21%);

    }

    .home-news__item.swiper-slide,
    .home-news__item.swiper-slide:nth-of-type(2n) {
        width: auto;
        margin: 0;
        height: auto;
    }

    .home-news__item img {
        height: 55vw;
    }

    .home-news__content {
        padding: 10px 20px 20px 20px;
    }

    .home-news__intro {
        display: none;
    }

    .home-news__arrow svg {
        width: 34px;
        height: 34px;
    }


    .home-progress {
        position: relative;
        padding: 30px var(--mdside) 80px;
        overflow: hidden;
    }

    .home-progress__big-title {
        font-size: 15vw;
        margin: 0 0 30px;
        padding: 0;
    }

    .home-progress__sticky {
        position: relative;
        top: auto;
        height: auto;
        overflow: visible;
    }

    .home-progress__center {
        height: auto;
        display: block;
        padding-top: 0;
    }

    .home-progress__intro {
        max-width: none;
        margin: 0;
        padding: 0;
        text-align: left;
    }

    .home-progress__title {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .home-progress__description {
        max-width: 320px;
        opacity: .7;
    }

    /* =========================
       TIMELINE MOBILE
       ========================= */
    .home-progress__slider.swiper {
        width: 100%;
        margin-top: 35px;
        padding: 0;
        overflow: visible;
    }

    .home-progress__slider .swiper-wrapper {
        display: block !important;
        transform: none !important;
        position: relative;
    }

    /* ligne verticale principale */
    .home-progress__slider .swiper-wrapper::before {
        content: "";
        position: absolute;

        top: 8px;
        bottom: 8px;
        left: 7px;

        width: 1px;
        height: auto;

        background: #CBCDC8;

        z-index: 0;
    }

    /* on supprime la ligne horizontale desktop */
    .home-progress__slider .swiper-wrapper::after {
        display: none;
    }

    .home-progress__step.swiper-slide {
        width: 100% !important;
        height: auto !important;

        display: grid;

        grid-template-columns: 16px 1fr;
        column-gap: 14px;

        padding-bottom: 28px;

        position: relative;
    }

    .home-progress__step:last-child {
        padding-bottom: 0;
    }

    .home-progress__step-top {
        width: 16px;
        height: auto;

        display: flex;
        justify-content: center;
        align-items: flex-start;

        position: relative;
    }

    .home-progress__step-top::before {
        display: none;
    }

    .home-progress__step-dot {
        width: 20px;
        height: 20px;

        margin-top: -3px;

        background: #CBCDC8;

        border-radius: 50%;

        flex-shrink: 0;
    }

    .home-progress__step-dot::after {
        width: 6px;
        height: 6px;

        background: var(--vertfonce);
    }

    .home-progress__step-content {
        padding: 0;
        /*max-width: 290px;*/
    }

    .home-progress__step-date {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .home-progress__step-title {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .home-progress__step-text,
    .home-progress__step-text * {
        font-size: 14px;
    }

    .faq-flex {
        padding-top: 0;
        display: block;
    }

    .home-faq {
        padding-top: 75px;
        background: var(--bleu);
    }

    .home-faq::after {
        width: 300vw;
        height: 300vw;
        left: -100vw;
    }
    .faq-item{
        margin-bottom: 10px;
    }
    .faq-item__button {
        padding: 15px 20px 15px 20px;
    }

    .faq-item__question {
        padding-right: 10px;
    }

    .faq-item__answer {
        padding: 0 20px 20px 20px;
    }

    .communes-build__link,
    .btn_round {
        width: 160px;
        height: 160px;
    }
    p{
        margin: 0 0 15px 0;
    }
    .haut_footer {
        display: block;
    }

    .haut_footer > div:first-of-type > svg {
        width: 237px;
        height: auto;
    }

    .haut_footer .link-ft {
        font-size: 14px;
        margin-left: 42px;
        margin-top: 10px;
    }

    .link-ft svg {
        width: 11px;
        height: auto;
    }

    .inform {
        padding: 20px;
        margin-top: 30px;
        margin-left: 0;
    }

    .faq-item__icon svg {
        width: 15px;
        height: auto;
    }

    .bas_footer {
        display: block;
        margin-top: 40px;
    }

    .left-ft {
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }

    #copyright > span {
        display: block;
    }

    .lien_footer {
        display: block;
        width: 100%;
    }

    .trait_vertical {
        display: none;
    }

    #footer .txt-ft {
        opacity: 0.5;
        font-size: 11px;
    }

    #footer #copyright .realisation-break a > svg {
        height: 12px;
        width: auto;
    }

    #footer .left-ft .txt-ft {
        opacity: 1;
    }

    .communes-popup__inner {
        padding-top: 60px;
        padding-bottom: 100px;
    }

    .communes-popup__content > p {
        margin-bottom: 20px;
    }

    .communes-popup__inner::after {
        position: absolute;
        z-index: 1;
        left: 50%;
        top: 0;
        width: 190%;
        height: 85vh;
    }

    .header-communes-phone {
        display: none;
    }

    .communes-hero__heading {
        padding-top: 90px;

    }

    .communes-hero__image {
        display: block;
    }

    .communes-build__content {
        display: block;
    }

    .communes-build {
        position: relative;
        padding-left: var(--mdside);
        padding-right: var(--mdside);
        margin-top: -100px;
        z-index: 10;
        top: unset;
        left: unset;
        right: unset;
        bottom: unset;
    }

    .communes-build__link {
        margin-left: 0;
        margin-top: 20px;
    }

    .communes-documents__inner {
        padding: 20px 20px 100px 20px;
    }

    .communes-documents {
        padding-top: 40px;
    }

    .communes-document {
        grid-template-columns: 1fr 40px;
        padding: 8px 0px;

    }

    .communes-document:hover {
        background: transparent;
    }

    .communes-document .p {
        line-height: normal;
    }

    .communes-document__download svg {
        height: 30px;
        width: 30px;
    }

    .communes-document .p {
        font-size: 14px;
    }

    .communes-document__icon {
        display: none;
    }

    .communes-steps__inner {
        display: block;
    }

    .communes-step {
        padding-bottom: 30px;
    }

    .communes-steps__heading {
        margin-bottom: 15px;
    }

    .communes-procedure__link {
        margin-top: 20px;
    }

    .page-template-communes .home-news {
        z-index: 12;
    }

    .page-template-communes .mobile-svg-news path {
        fill: var(--bleu);
    }

    .contact-main__grid {
        display: block;
        padding-top: 90px;
    }

    .contact-main__infos *:not(h1) {
        font-size: 16px;
    }

    .contact-main__form {
        padding: 20px;
        margin-top: 40px;
    }

    .contact-form__row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .contact-form__field {
        margin-bottom: 15px;
    }

    .contact-form__field label {
        font-size: 16px;
    }

    .contact-form__submit > p {
        width: 160px;
        height: 160px;
    }

    .single-news__gallery-grid {
        grid-template-columns: 1fr;
    }

    .single-news__communes {
        display: block;
        padding: 30px;
    }
    .single-news{
        padding-top: 90px;
    }
    .single-news__communes .btn_base {
        width: 100%;
        margin-top: 20px;
    }
    .single-news-card{
        display: block;
    }

    ul li{
        font-size: 16px;
    }
    .single-news-card__content{
        padding: 10px;
    }
    .single-news-card__arrow{
        display: flex;
        margin-left: auto;
        align-items: flex-end;
        justify-content: flex-end;
    }
    .single-news__related-head{
        margin-bottom: 15px;
    }
    .single-news-card__arrow svg{
        width: 40px;
        height: 40px;
    }
    .single-news__related{
        margin-top: 60px;
    }


    .badge-step{
        padding: 20px 30px;
    }
    .badge-household{
        gap: 6px;
    }
    .badge-household span{
        width: 40px;
        height: 40px;
        font-size: 14px;

    }
    .badge-next{
        width: 140px;
        height: 140px;
        right: 30px;
        font-size: 12px;
    }
    .badge-step__actions{
        margin-top: 90px;
    }
    .badge-field label{
        font-size: 16px;
    }
    .badge-fields-row{
        grid-gap: 0;
        display: block;
    }
    .badge-page{
        padding-top: 90px;
    }
    .badge-page__intro{
        margin-bottom: 25px;
    }
    .badge-progress__item{
        font-size: 11px;
    }
    .badge-progress{
        margin-bottom: 30px;
    }
    .badge-check{
        font-size: 14px;
        line-height: initial;
        align-items: flex-start;
    }
    .badge-check::before{
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
    }
    .badge-check:has(input:checked)::before{
        background: radial-gradient(circle at center, var(--vertfonce) 0 3px, var(--vert) 4px 100%);
    }
    .badge-field {
        margin-bottom: 15px;
    }
    .badge-prev{
        font-size: 12px;
    }
    .badge-access{
        display: block;
    }
    .badge-access__content{
        padding: 10px;
    }
    .badge-access__check{
        top: unset;
        bottom: 10px;
        right: 10px;
        height: 25px;
        width: 25px;
    }
    .badge-access__text strong {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .badge-access__price,
    .badge-access__text span{
        font-size: 14px;
    }
    .badge-access__bottom{
        margin-top: 20px;
    }
    .faq-item .animated-border{
        display: none;
    }
}

/* Responsive rules moved from custom.css. */
@media (max-width: 500px) {
    .ccv-cookie-notice {
        width: auto;
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
        padding: 16px;
        gap: 14px;
        flex-direction: column;
        align-items: flex-start;
    }
    .cookie-popup-content > div {
        flex-direction: column;
        align-items: flex-start;
    }

    .cookie-popup-content h3 {
        font-size: 18px;
    }

    .cookie-popup-content p {
        font-size: 14px;
    }

    .cookie-popup-content button {
        margin: 0;
        padding: 8px 16px;
    }
}

@media (max-width: 1000px) {
    .home-mascot--hello {
        width: 145px;
        left: calc(50% - 170px);
        top: calc(60% - 10px);
    }

    .home-centre__scene .home-centre__text {
        padding-bottom: 180px;
    }

    .home-mascot--explique {
        width: 230px;
        bottom: -75px;
        left: 0;
    }

    .home-faq__heading--mascot {
        position: relative;
        min-height: 110px;
        padding-right: 150px;
    }

    .home-mascot--tri {
        position: absolute;
        top: -68px;
        right: 0;
        width: 155px;
        margin: 0;
    }
    .faq-item a:not(.btn_base){
        font-size: 16px;
    }
}

@media (max-width: 1000px) {
    .home-fade:not(.is-home-visible):not(:focus-within) {
        translate: 0 8px;
    }
}

@media (max-width: 1200px) and (min-width: 1001px) {
    #branding .home-hero__baseline {
        max-width: 210px;
    }

    .header-order-link {
        padding: 12px 20px;
    }
}
/* Compact mobile navigation and the homepage links below the introduction. */
@media (max-width: 1000px) {
    #header { flex-wrap: nowrap; gap: 12px; }
    #header #branding { min-width: 0; }
    #header .el-right-menu { flex-shrink: 0; }
    #header .header-order-actions { display: none; }
    .header-mobile-menu { display: block; }
    .header-mobile-menu:not([open]) .header-mobile-menu__links { display: none; }
    .home #header:not(.header-scroll):not(.up-scroll) .header-mobile-menu > summary { color: white; }
    .home-opening__actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        margin-top: 42px;
    }

}
