/*
Theme Name: sti_france
Theme URI: https://underscores.me/
Author: Cyberscope
Author URI: http://www.cyberscope.fr
Description: Un super thème optimisé par les meilleurs intés du monde.
Version: 4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: starter-theme
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

sti_france is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
*,
*::before,
*::after {
    margin: 0;padding:0;
    box-sizing: border-box;
}
/* html {scroll-behavior: smooth;} */
section {scroll-margin-top: min(10em,15vw);}
html.lenis, html.lenis body {height: auto;}
.lenis.lenis-smooth {scroll-behavior: auto !important;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.is-scrolling iframe {pointer-events: none;}
body {
    &.is-loading { overflow: hidden;}

    /* Le Wrapper du site (toute ton HTML existant sauf le loader) */
    & #site-wrapper {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s ease;
        &:is(.is-ready &) {
            opacity: 1;
            visibility: visible;
        }
    }

    /* Loader Styles */
    & .textUp,
    & .textCharSpace,
    & .textUpInfinity > span,
    & .textFadetoRight,
    & .textEffectBlure {
        visibility: hidden;
    }
    & .loader-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        z-index: 10000; 
        overflow: hidden;
        align-items: center;
        justify-content: center;
        will-change: transform;
        background-color: var(--cNavyAlpha);
        & .loader-content {
            width: 280px;
            height: 64px;
            will-change: transform;
            & .loader-logo {
                will-change: transform;
                & path {
                    fill-opacity: 0;
                    stroke-width: 1px;
                    stroke: var(--cLWhite);
                    will-change: transform;
                    &:is(.path-orange ) {stroke: #FF6011;}
                }
            } 
        }
    }
    & img,
    & video,
    & canvas,
    & svg {
        height: auto;
        display: block;
        max-width: 100%;
    }
    hr {
        width: 100%;
        border: none;
        display: block;
        margin-block: min(15px, 5vw);
        border-bottom: 2px solid var(--cLcurrentTheme);
    }
    & button {
        background: none;
        border: none;
        padding: 0;
    }
    & img {
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
    }
    & picture {
        position: relative;
        height: 100%;
        display: block;
        overflow: hidden;
        & img {
            object-fit: cover;
            max-width: inherit;
        }
    }
    
    & :focus {
        outline: none;
    }
    & [class^="text"] {
        width: 100%;
        display: flex;
        row-gap: min(2em, 3vw);
        flex-direction: column;
        &.text-center {
            text-align: center;
            align-items: center;
        }
        &.text-right {
            text-align: right;
            align-items: flex-end;
        }
    }
    & button.btn {cursor: pointer;}
    
    & .wrapper-tag {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }
    & .tag {
        display: block;
        font-weight: 300;
        font-size: 0.8em;
        padding: 0.5em 1.2em;
        letter-spacing: 0.1em;
        color: var(--cLnavyDark);
        text-transform: uppercase;
        border: 1px solid currentColor;
    }
    & .arrow {
        position: relative;
        width: 0;
        height: 0;
        margin: 0;
        outline: 0;
        z-index: 2;
        top: initial;
        right: inherit;
        font-size: 0;
        left: initial;
        flex: 0 0 auto;
        bottom: inherit;
        cursor: pointer;
        overflow: hidden;
        border-radius: 0;
        aspect-ratio: 1/1;
        transition: all .2s;
        display: inline-block;
        color: var(--cLPrimaryBlue);
        padding: min(1.5rem, 4.8vw) min(1.3rem, 4.6vw);
        background-color: var(--cLLightGray);
        clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
        &.rotate-45 {rotate: -45deg;}
        &.swiper-button-lock {display: none;}
        &::after,
        &::before {
            position: absolute;
            inset: 30%;
            content: "";
            display: block;
            transition: inherit;
            pointer-events: none;
            background-color: currentColor;
            -webkit-mask: url(assets/images/arrow-slider.svg) center / contain no-repeat;
            mask: url(assets/images/arrow-slider.svg) center / contain no-repeat;
        }
        &::after {
            opacity: 0;
            translate: -100% 0;
        }
        &.slick-disabled {
            opacity: .2;
            pointer-events: none;
        }
        &.prev {
            transform: rotate(-180deg)
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &),
        &:hover {
            color: var(--cLAccentYellow);
            background-color: var(--cLPrimaryBlue);
            border-color: var(--cLPrimaryBlue);
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &)::before,
        &:hover::before {
            translate: 100% 0;
            opacity: 0
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &)::after,
        &:hover::after {
            opacity: 1;
            translate: 0 0;
        }
    }
    /* Container */
    & main {
        max-width: 100vw;
        overflow-x: clip;
    }
    & [style^="--w:"] {width: var(--w);}
    & [class^="container"] {
        margin-inline: auto;
        padding-block: min(5em,10vw);
        &.container {width: min(1331px, min(calc(100vw - min(2rem, 10vw)),100%));}
        &.container-xl {width: min(1520px, calc(100vw - min(5rem, 10vw)));}
        &:is(header &) {
            padding-block: 1em;
            &.container-xl {width: min(1680px, calc(100vw - min(2rem, 10vw)));}
        }
        &.container-auto {
            width: min(1920px, 100vw);
        }
    }
    & .row,
    & .flex {
        display: flex;
        flex-wrap: wrap;
        row-gap: min(2rem, 10vw);
        &.items-center {align-items: center;}
        &.space-between {
            justify-content: space-between;
        }
        &.direction-reverse {
            flex-direction: row-reverse;
        }
        &.direction-column {
            flex-wrap: nowrap;
            flex-direction: column;
            row-gap: min(50px, 10vw);
        }
        @media screen and (width<700px) {
            &.direction-reverse {
                flex-direction: column-reverse;
            }
        }
    }
    & section {position: relative;}
    & .overlay {
        position: absolute;
        inset: 0;
        z-index: 2;
        font-size: 0;
        &:has(:is(.arrow, .plus)) {
            padding: min(15px, 6vw);
            display: flex;
            align-items: flex-start;
            justify-content: flex-end;
            & .arrow {
                rotate: -45deg;
                color: currentColor;
            }
        }
        &:has( .play) {
            display: flex;
            align-items: center;
            justify-content: center;
            & .play {
                color: var(--cLRedVivid);
                &::before {padding: min(3rem, 10vw);}
            }
        }
    }
    & .cliping {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        clip-path: inset(0rem round 0rem);
        background-color: var(--cLPrimaryBlue);
        & img {
            position: absolute;
            inset: 0;
            object-fit: cover;
            &:is(.cliping.filter &) {
                opacity: .6;
                filter: brightness(.7);
            }
        }
        &~*:not(:has( .title-hiden)) {
            position: relative;
            z-index: 1;
            color: var(--cLWhite);
        }
    }
    & .rs {
        display: flex;
        flex-wrap: nowrap;
        column-gap: min(.8em, 5vw);

        & a[style^="--icn-"] {
            font-size: 0;
            column-gap: 0;
            flex: 0 0 auto;
            color: currentColor;
            transition: all .3s;
            background-color: transparent;
            border: 2px solid currentColor;

            &::before {scale: .6;}
            &:hover {
                color: var(--cLWhite);
                border-color: var(--cLoragneStrong);
                background-color: var(--cLoragneStrong);
                &::before {
                    scale: .5;
                }
            }
        }
    }
    & [style^="--image"]::before {
        position: relative;
        content: "";
        display: block;
        flex: 0 0 auto;
        transition: initial;
        pointer-events: none;
        padding: min(2rem, 5vw);
        background: var(--image) center / contain no-repeat;
    }
    & .pagination {
        position: relative;
        display: flex;
        justify-content: center;
        column-gap: min(.6em, 5vw);
    }
    & .bg-cLPrimaryBlue {
        color: var(--cLWhite);
        background-color: var(--cLPrimaryBlue);
    }
    & .bg-cLWhite {
        color: var(--cLPrimaryBlue);
        background-color: var(--cLWhite);
    }
    & .bg-cLBorderGray-035 {
        background-color: hsl(from var(--cLBorderGray) h s l / .35);
    }
    /* Other blocs */
    & .cursor-follower, 
    & .cursor-dot {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        border-radius: 50%;
        pointer-events: none;
        mix-blend-mode: difference;
        &:is(.cursor-dot) {
            width: 6px;
            height: 6px;
            background-color: var(--cLoragneStrong);
        }
        &:is(.cursor-follower) {
            width: 40px;
            height: 40px;
            transition: transform 0.1s ease-out;
            border: 1px solid var(--cLoragneStrong);
        }
    }

     & .open-nav {
        position: relative;
        z-index: 2;
        height: 28px;
        display: flex;
        row-gap: 8px;
        cursor: pointer;
        transition: .2s;
        width: max-content;
        align-items: center;
        color: var(--cLWhite);
        flex-direction: column;
        justify-content: center;
        &:has( input:checked) {
            row-gap: 0;
            transform: rotate(45deg);
            color: var(--cLPrimaryBlue);
        }
        & span {
            width: 1.8rem;
            height: 0.15rem;
            line-height: 0;
            transition: all .3s;
            border-radius: 1rem;
            pointer-events: none;
            background: currentColor;
            transform-origin: 55% center;
            &:is(.open-nav:has( input:checked) &):nth-child(2) {display: none;}
            &:is(.open-nav:has( input:checked) &):nth-child(1) {
                transform: translate(-.1rem,.2rem) rotate(90deg);
            }
        }
        @media screen and (width >= 1200px) {
            & {color: var(--cLWhite);}
        }
     }

    /* sections dynamique */
    & :is(.bg-cLnavyDark + .bg-cLnavyDark,.bg-cLBlushWhite-square + .bg-cLBlushWhite-square)>[class^="container"]:not(*~*),
    & section:not(:is([class*=bg-],.sc1, *:has( .cliping)))+ :is(section, footer):not(:is([class*=bg-],.sc1, *:has( .cliping)))>[class^="container"]:not(*~*) {padding-top: 0;}
    /* header */
    & header {
        position: sticky;
        top: 0;
        width: 100%;
        z-index: 1000;
        color: contrast-color(currentColor);
        background-color: var(--cLPrimaryBlue);
        & .row {
            column-gap: min(5%,3vw);
            & .left {
                flex: 0 0 min(220px, 40%);
                & .logo {
                    display: flex;
                    align-items: flex-end;
                    width: min(220px, min(100%,35vw));
                    & img {
                        width: 50%;
                        flex: 1 1 50%;
                        aspect-ratio: 1/.63;
                        object-fit: contain;
                        object-position: left bottom;
                    }
                }
            }
            & .ct-nav {
                position: fixed;
                flex: 1;
                top: 0;
                right: 0;
                z-index: 2;
                height: 100vh;
                visibility: hidden;
                pointer-events: none;
                width: min(500px,100vw);
                &:is(header:has( .open-nav input:checked) &) {
                    visibility: visible;
                    pointer-events: inherit;
                }
                & nav {
                    position: relative;
                    left: 100%;
                    width: 100%;
                    height: 100%;
                    transition: .2s;
                    text-align: left;
                    box-sizing: border-box;
                    font-size: min(20px,5vw);
                    padding: 4em 1.5rem 2em;
                    background-color: var(--cLWhite);
                    &:is(header:has( .open-nav input:checked) &) {
                        translate: -100% 0%;
                    }
                    & .primary {
                        position: relative;
                        height: 100%;
                        display: flex;
                        row-gap: 0.8em;
                        font-weight: 700;
                        overflow-y: scroll;
                        overflow-x: hidden;
                        letter-spacing: -.5%;
                        flex-direction: column;
                        color: var(--cLPrimaryBlue);
                        font-family: 'lato',sans-serif;
                        font-size: clamp(min(17px,4vw),1.15vw,var(--fs20));
                        & .btn {max-width: max-content;}
                        & ul {
                            position: relative;
                            height: 0;
                            opacity: 0;
                            display: flex;
                            row-gap: 1rem;
                            transition: all .3s;
                            pointer-events: none;
                            width: min(300px,70vw);
                            flex-direction: column;
                            @media screen and (width >= 1200px) {
                                & {
                                    position: absolute;
                                    z-index: 1;
                                    padding: 1rem;
                                    width: min(300px,70vw);
                                    top: calc(100% + 1rem);
                                    color: var(--cLPrimaryBlue);
                                    background-color: var(--cLWhite);
                                }
                            }
                        }
                        @media screen and (width >= 1200px) {
                            & {
                                color: inherit;
                                overflow: visible;
                                max-height: initial;
                                align-items: center;
                                flex-direction: initial;
                                justify-content: center;
                                column-gap: min(2.5rem,2vw);
                            }
                        }
                    }
                    @media screen and (width >= 1200px) {
                        & {
                            left: 0;
                            padding: 0;
                            width: 100%;
                            height: auto;
                            font-size: inherit;
                            translate: 0% 0%;
                            background-color: initial;
                        }
                    }
                }
                @media screen and (width >= 1200px) {
                    & {
                        position: relative;
                        width: 100%;
                        height: auto;
                        visibility: visible;
                        pointer-events: inherit;
                    }
                }
            }
            & .right {
                flex: 1;
                display: flex;
                column-gap: 5%;
                align-items: center;
                justify-content: flex-end;
                & ul:not([class]):has(  .wpml-ls-slot-shortcode_actions) {
                    display: none !important;
                }
                & .language-switcher {
                    display: flex;
                    column-gap: .2em;
                    flex: 0 0 clamp(min(60px,11vw),7vw,60px);
                    & img {
                        display: block;
                        object-fit: contain;
                        width: min(2.5em,5vw);
                    }
                    & .active {
                        pointer-events: none;
                        opacity: .4;
                    }
                }
                @media screen and (width >= 1200px) {
                    & {
                        flex: 0 0 min(250px,19vw);
                    }
                }
            }
        }
    }
    & .sc1 {
        & .ct-swiper {
            & .swiper {
                display: grid;
                grid-template-columns: 1fr;
                grid-template-rows: 1fr;
                & .swiper-wrapper {
                    grid-area: 1 / 1 / 2 / 2; 
                    & .swiper-slide {
                        display: grid;
                        align-content: center;
                        min-height: min(459px,90dvh);
                        & [class^="container"] {
                            padding-block: min(5em,20vw);
                            & p:has( :is(.btn, .tag)) {
                                gap: 7px min(10px, 4vw);
                            }
                        }
                        & .cliping {
                            &::after {
                                position: absolute;
                                inset: 0;
                                content: '';
                                pointer-events: none;
                                mix-blend-mode: multiply;
                                background-color: hsl(from var(--cLPrimaryBlue) h s l / 0.65);
                            }
                        }
                        @media screen and (width >= 1200px) {
                            & {
                               min-height: clamp(min(459px, 150vw), 100dvh, 1000px); 
                            }
                        }
                    }
                }
                & .ct-pagination {
                    position: relative;
                    z-index: 1;
                    width: 100vw;
                    align-self: flex-end;
                    grid-area: 1 / 1 / 2 / 2; 
                    & [class^="container"] {
                        padding-block: min(1em,7vw);
                        & .flex {
                            justify-content: flex-end;
                            & .custom-nav {
                                display: flex;
                                column-gap: min(2em,5vw);
                                & .nav-item {
                                    cursor: pointer;
                                    &:has( ~ .active) {opacity: .4;}
                                    & .nav-title {
                                        font-size: .8em;
                                        font-weight: 600;
                                        letter-spacing: 0.06em;
                                        text-transform: uppercase;
                                    }
                                    & .nav-text {
                                        font-size: .9em;
                                    }
                                    & .nav-progress-bar {
                                        height: .3em;
                                        overflow: hidden;
                                        margin-top: .8em;
                                        border-radius: 1em;
                                        background: hsl(from var(--cLPrimaryBlue) h s l / 0.2);
                                        & .nav-progress-fill {
                                            width: 0%;
                                            height: 100%;
                                            border-radius: 2px;
                                            transition: width .5s;
                                            background: var(--cLWhite);
                                        }
                                    }
                                }
            
                            }
                        }
                    }
                }
            }
        }
    }
    & .sc2 {
        & .row {
            column-gap: 10%;
            & .left {
                flex: 1 1 max(min(300px,80vw),30%);
            }
            & .right {
                width: 65%;
                flex: 1 1 max(min(300px,80vw),60%);
                & .flex {
                    width: 100%;
                    & .ct-swiper {
                        margin-right: calc((100vw - min(1520px, calc(100vw - min(5rem, 10vw)))) / -2);
                        & .pagination {
                            margin-top: 1em;
                            justify-content: center;
                            @media screen and (width >= 1200px) {
                                & {justify-content: flex-start;}
                            }
                        }
                    }
                }
                & .cardA {
                    position: relative;
                    display: grid;
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr;
                    & picture {
                        border-radius: 1em;
                        height: min(350px,80vw);
                        grid-area: 1 / 1 / 2 / 2;
                        & img {
                            filter: brightness(.8);
                            transition: all .3s;
                            &:is(.cardA:hover &) {
                                scale: 1.1;
                                rotate: -5deg;
                                filter: brightness(.7);
                            }
                        }
                    }
                    & .text {
                        position: relative;
                        padding: min(1em,5vw);
                        color: var(--cLWhite);
                        grid-area: 1 / 1 / 2 / 2;
                        justify-content: flex-end;
                    }
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    flex-wrap: nowrap;
                }
            }
        }
    }
    & .sc3 {
        & .cliping {
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                pointer-events: none;
                mix-blend-mode: multiply;
                background-color: hsl(from var(--cLPrimaryBlue) h s l / 0.7);
            }
        }
        & .row {
            column-gap: 10%;
            & .left {
                width: 30%;
                flex: 1 1 max(min(300px,80vw),30%);
                & .text {
                    position: relative;
                    isolation: isolate;
                    padding: min(3em,5vw);
                    border-radius: 2em 2em 0 0;
                    & .cLBlack-055 {
                        color: hsl(from var(--cLWhite) h s l / .55);
                        @media screen and (width >= 1200px) {
                            & {
                                color: hsl(from var(--cLBlack) h s l / .55);
                            }
                        }
                    }
                    @media screen and (width >= 1200px) {
                        & {
                            height: stretch;
                            margin-bottom: calc(min(5em,10vw) * -1);
                            color: var(--cLPrimaryBlue);
                            background-color: contrast-color(currentColor);
                            &::before {
                                position: absolute;
                                z-index: 2;
                                content: '';
                                inset: 0 -1.15em;
                                pointer-events: none;
                                background-color: contrast-color(currentColor);
                                -webkit-mask: url(assets/images/mask-1.svg) left bottom / 2em no-repeat,url(assets/images/mask-2.svg) right bottom / 2em no-repeat;
                                mask: url(assets/images/mask-1.svg) left bottom / 2em no-repeat,url(assets/images/mask-2.svg) right bottom / 2em no-repeat;
                            }
                        }
                        
                    }
                }
            }
            & .right {
                flex: 1 1 max(min(300px,80vw),60%);
                & .grid {
                    display: grid;
                    gap: min(1.5em,3vw);
                    grid-template-columns: repeat(auto-fill, minmax(max(min(250px,80vw), 30%), 1fr));
                    & .cardB {
                        position: relative;
                        display: grid;
                        grid-template-columns: 1fr;
                        grid-template-rows: 1fr;
                        & picture {
                            border-radius: 1em;
                            height: min(380px,80vw);
                            grid-area: 1 / 1 / 2 / 2;
                            &::after {
                                position: absolute;
                                inset: 0;
                                content: '';
                                transition: all .3s;
                                pointer-events: none;
                                mix-blend-mode: multiply;
                                background-color: hsl(from var(--cLPrimaryBlue) h s l / .7);
                            }
                            & img {
                                transition: all .3s;
                                filter: brightness(.8);
                                &:is(.cardB:hover &) {
                                    scale: 1.1;
                                    rotate: -5deg;
                                }
                            }
                            &:is(.cardB:hover &)::after {background-color: hsl(from var(--cLPrimaryBlue) h s l / .2);}
                        }
                        & .text {
                            position: relative;
                            padding: min(2em,5vw);
                            color: var(--cLWhite);
                            grid-area: 1 / 1 / 2 / 2;
                            justify-content: flex-end;
                            & .fs20 {
                                & + p.italic {margin-top: calc(min(2em, 3vw) * -1);}
                            }
                            & .arrow {
                                display: block;
                                margin-left: auto;
                            }
                        }
                    }
                }
            }
        }
    }
    & .sc4 {
        & .scrolling-logo {
            display: flex;
            column-gap: 3em;
            min-width: 100%;
            width: max-content;
            align-items: center;
            white-space: nowrap;
            will-change: translate;
            justify-content: space-evenly;
            filter: grayscale(1) brightness(0.3);
            animation: slide 30s linear infinite;
            & li {
                display: flex;
                line-height: 1;
                align-items: center;
                transition: all .3s;
                & img {
                    width: auto;
                    object-fit: contain;
                    height: min(38px, 10vw);
                }
                &:is(.end-logo) {
                    width: 3em;
                }
                &:not([class]) {
                    filter: drop-shadow(var(--wd,100vw) 0px 0px var(--cLLightGray));
                    @media screen and (width >= 1200px) {
                        & {
                            filter: none;
                        }
                    }
                }
            }
            @media screen and (width >= 1200px) {
                & {animation: initial;}
            }
        }
    }
    & .sc5 {
        &::before {
            position: absolute;
            content: '';
            pointer-events: none;
            mix-blend-mode: multiply;
            inset: calc(min(5em,10vw) * -2) 0 0;
            background: url(/wp-content/uploads/2026/05/cirlce.webp) 106% top / min(400px, 20vw) no-repeat;
        }
        & .row {
            position: relative;
            z-index: 2;
            color: var(--cLWhite);
            padding: min(5em, 5vw);
            border-radius: min(1em,5vw);
            background-color: var(--cLPrimaryBlue);
            margin-bottom: calc(min(5em,10vw) * -2);
            &::before {
                position: absolute;
                inset: 0;
                content: '';
                opacity: 0.2;
                pointer-events: none;
                background: url(/wp-content/uploads/2026/05/aeronautique.webp) -10% 0% / auto 120%  no-repeat;
            }
            & .grid {
                display: grid;
                margin-inline: auto;
                gap: min(1.5em,3vw) 2%;
                width: min(747px, 100%);
                grid-template-columns: repeat(auto-fill, minmax(max(min(150px,40vw), 19%), 1fr));
                & > li {
                    aspect-ratio: 1/1;
                    display: grid;
                    border-radius: 0.5em;
                    align-content: center;
                    padding: min(3em, 5vw);
                    justify-content: center;
                    background-color: hsl(from var(--cLWhite) h s l / .15);
                    &:is([style^="--image"])::before {padding: min(3rem, 10vw);}
                }
            }
        }
        & + :is(section,footer) {
            padding-top: min(5em,10vw);
        }
    }
    & .sc6 {
        & .row {
            & .flex {
                column-gap: 10%;
                & > .left {flex: 1 1 max(min(300px,80vw),40%);}
                & > .right {flex: 1 1 max(min(300px,80vw),50%);}
            }
        }
        &:has( + .sc7) {
            margin-bottom: -2em;
            & + .sc7 {
                border-radius: 2em 2em 0 0;
            }
        }
    }
    & .sc7 {
        & .row {
            & .pagination {margin-top: min(2em,5vw);}
        }
    }
    & .sc8 {
        & .cliping {
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                pointer-events: none;
                mix-blend-mode: multiply;
                background-color: hsl(from var(--cLPrimaryBlue) h s l / 0.7);
            }
        }
        & .row {
            column-gap: 5%;
            & > div {
                flex: 1 1 max(min(300px,80vw),40%);
                &:nth-child(2) {
                    font-weight: 700;
                    justify-content: flex-end;
                    font-size: clamp(min(17px,6vw),1vw,18px);
                }
            }
        }
        & .foot {
            backdrop-filter: blur(1em);
            color: var(--cLPrimaryBlue);
            background-color: hsl(from var(--cLWhite) h s l / 0.6);
            clip-path: inset(0 0 0 calc((100vw - min(1331px, min(calc(100vw - min(2rem, 10vw)),100%))) / 2)  round min(3rem,5vw) 0 0 0);
            & [class^="container"] {
                padding-block: min(3em,5vw);
                & .number {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    gap: min(1em, 3vw) 5%;
                    padding-inline: min(4em,5vw);
                    justify-content: space-evenly;
                    & > li {
                        flex: 1 1 max(min(200px,80vw),30%);
                    }
                }
            }
        }
    }
    & .sc9 {
        & .container {
            .grid {
                display: grid;
                gap: min(4em,10vw) 3%;
                grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 30%), 1fr));
            }
            & .pagination {
                align-items: center;
                & .page-numbers:not(:is(.prev,.next)) {
                    position: relative;
                    display: grid;
                    width: 2em;
                    flex: 0 0 auto;
                    aspect-ratio: 1/1;
                    text-align: center;
                    border-radius: .3em;
                    align-content: center;
                    color: var(--cLAccentYellow);
                    background-color: var(--cLPrimaryBlue);
                    &:is(.current) {
                        color: var(--cLPrimaryBlue);
                        background-color: var(--cLLightGray);
                    }
                }
            }
        }
    }
    & .cardC {
        position: relative;
        row-gap: 1em;
        display: grid;
        padding-top: 2em;
        align-content: baseline;
        background-color: var(--cLWhite);
        & picture {
            border-radius: .5em;
            width: 100%;
            aspect-ratio: 1/0.45;
            /* height: min(150px,40vw); */
            background-color: var(--cLBorderGray);
            & img {
                transition: all .3s;
                &:is(.cardC:hover &) {
                    scale: 1.2;
                    rotate: -5deg;
                }
            }
        }
        & .overlay {
            & time {
                position: relative;
                z-index: 1;
                font-weight: 700;
                font-style: italic;
                border-radius: 2em;
                letter-spacing: 2px;
                margin-inline: 1.5em;
                display: inline-block;
                font-size: var(--fs14);
                background-color: var(--cLAccentYellow);
                padding: min(1em,3vw) min(1.8em,5vw);
            }
        }
        & [class^="text"] {
            row-gap: min(1em, 3vw);
            & .fs14 {letter-spacing: 2px;}
            & p:not(:is([class],:has( .btn))) {
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;  
                overflow: hidden;
                color: hsl(from var(--cLPrimaryBlue) h s l / .40);
            }
        }
    }
    & .accordion-horizontal {
        width: 100%;
        display: grid;
        counter-reset: count;
        gap: min(2em, 5vw) 1em;
        grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 40%), 1fr));
        & .accordion-item {
            position: relative;
            flex: 1;
            cursor: pointer;
            overflow: hidden;
            border-radius: .5em;
            color: var(--cLWhite);
            counter-increment: count;
            background-color: var(--cLPrimaryBlue);
            transition: flex 0.72s cubic-bezier(0.77, 0, 0.175, 1);
            & .accordion-head {
                position: relative;
                display: flex;
                align-items: center;
                
                &::after {
                    position: relative;
                    width: 2.9em;
                    display: grid;
                    rotate: 90deg;
                    font-size: 13px;
                    aspect-ratio: 1/1.1;
                    text-align: center;
                    color: var(--cLWhite);
                    align-content: center;
                    justify-content: center;
                    content: counter(count, decimal);
                    background-color: var(--cLPrimaryBlue);
                    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
                }
                @media screen and (width >= 1200px) {
                    & {
                        position: absolute;
                        inset: 0;
                        z-index: 1;
                        line-height: 1;
                        cursor: pointer;
                        white-space: nowrap;
                        letter-spacing: 12%;
                        padding: min(2em, 5vw);
                        writing-mode: vertical-rl;
                        transform: rotate(180deg);
                        color: var(--cLPrimaryBlue);
                        justify-content: space-between;
                        background-color: var(--cLWhite);
                        transition: opacity 0.35s ease 0.3s, transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
                        &:has( input:checked) {
                            opacity: 0;
                            visibility: hidden;
                            transition: all .3s;
                        }
                    }
                }
            }
            & .accordion-body {
                position: relative;
                height: 100%;
                display: flex;
                cursor: pointer;
                transition: all .3s;
                gap: min(2em,5vw) 5%;
                pointer-events: none;
                flex-direction: column;
                padding: min(2.4em, 5vw);
                & .right {
                    display: grid;
                    row-gap: .5em;
                    align-content: space-between;
                    flex: 1 1 max(min(300px,80vw), 35%);
                    & .head {
                        display: flex;
                        column-gap: 1em;
                        align-items: center;
                        letter-spacing: 12%;
                        &::before {
                            position: relative;
                            display: grid;
                            width: 2.9em;
                            font-size: 13px;
                            font-weight: 700;
                            text-align: center;
                            aspect-ratio: 1/1.1;
                            align-content: center;
                            justify-content: center;
                            color: var(--cLPrimaryBlue);
                            content: counter(count, decimal);
                            background-color: var(--cLWhite);
                            clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
                        }
                    }
                    @media screen and (width>=1200px) {
                        & {row-gap: 0;}
                    }
                }
                & .left {
                    flex: 1 1 max(min(300px,80vw), 60%);
                    & picture {border-radius: .5em;}
                }
                @media screen and (width >= 1200px) {
                    & {
                        opacity: 0;
                        flex-wrap: initial;
                        transform: translateY(2em);
                        flex-direction: row-reverse;
                        transition: flex 0.72s cubic-bezier(0.77, 0, 0.175, 1);
                        &:is(.accordion-item:has(.accordion-head input:checked) &) {
                            opacity: 1;
                            pointer-events: auto;
                            transform: translateY(0px);
                            transition: opacity 0.4s 0.3s, transform 0.5s cubic-bezier(0.77, 0, 0.175, 1) 0.18s;
                        }
                    }
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    height: min(581px, 80vw);
                    &:not(:has( .accordion-head input:checked)) {
                        background-color: var(--cLWhite);
                    }
                    &:has( .accordion-head input:checked) {
                        cursor: default;
                        flex: 1 1 calc(100% - (7em * var(--nbr)));
                    }
                }
            }
        }
        @media screen and (width >= 1200px) {
            & {
                display: flex;
            }
            
        }
    }
    & footer {
        position: relative;
        border-radius: min(5em,5vw) min(5em,5vw) 0 0;
        & [class^="container"] {
            padding-block: min(4em,10vw);
            & .row {
                column-gap: 5%;
                & .left {
                    flex: 1 1 max(min(100px,80vw), 10%);
                    & .logo {
                        row-gap: 1em;
                        display: flex;
                        flex-wrap: wrap;
                        align-items: flex-end;
                        width: min(230px,100%);
                        & img {
                            width: 50%;
                            flex: 1 1 50%;
                            aspect-ratio: 1/.63;
                            object-fit: contain;
                            object-position: left bottom;
                        }
                        @media screen and (width >= 1200px) {
                            & {
                                flex-wrap: initial;
                                align-items: initial;
                                flex-direction: column;
                                width: min(115px, min(100%,35vw));
                                & img {
                                    width: 100%;
                                    flex: 0 0 auto;
                                }
                            }
                        }
                    }
                }
                & .center {
                    flex: 1 1 max(min(300px,80vw), 35%);
                }
                & .right {
                    flex: 1 1 max(min(300px,80vw), 45%);
                    & .text {
                        & a[href^="tel:"] {
                           letter-spacing: 0.15em;
                        }
                        & ul.nav {
                            gap: .2em 0;
                            display: flex;
                            flex-wrap: wrap;
                            & li {
                                display: flex;
                                align-items: center;
                                font-size: clamp(min(12px,3.5vw),1vw,14px);
                                &:not(:first-child):before {
                                    position: relative;
                                    content: '|';
                                    margin-inline: .3em;
                                    display: inline-block;
                                }
                            }
                        }
                        @media screen and (width >= 1200px) {
                            & {
                                padding-left: 5em;
                                border-left: 1px solid hsl(from currentColor h s l / .30);
                            }
                        }
                    }
                }
            }
        }
        @media screen and (width >= 1200px) {
            &::before {
                position: absolute;
                inset: 0;
                content: '';
                opacity: .33;
                pointer-events: none;
                background: url(/wp-content/uploads/2026/06/footer-image-sfi.webp) 95% 229% / min(400px, 20vw) no-repeat;
            }
        }
    }

    /*  */
    & .sc-content {
        & .fl-builder-content {
            & .fl-rich-text {
                display: grid;
                row-gap: 1em;
            }
            & .bloc-1 {
               & .fl-col-group:has( > .fl-col) {
                    &::after,
                    &::before {content: none;}
                    & figure {
                        overflow: hidden;
                        height: min(450px,60vw);
                        /* aspect-ratio: 1/.5; */
                        /* height: max-content; */
                        border-radius: min(1em,5vw);
                        & .fl-photo-content {
                            width: 100%;
                            height: 100%;
                            & img {
                                width: 100%;
                                height: 100%;
                                object-fit: cover;
                            }
                        }
                    }
                   & .fl-col-content:has( figure + .fl-rich-text) {
                       display: grid;
                       grid-template-columns: repeat(20, 1fr);
                       & figure {grid-area: 1 / 1 / 17 / 21;}
                       & .fl-rich-text {
                           position: relative;
                           margin: 0;
                           overflow: visible;
                           padding: min(2em,5vw);
                           grid-area: 13 / 4 / 26 / 18;
                           border-radius: min(1em,4vw);
                           background-color: var(--cLWhite);
                           box-shadow: 0 0 1em hsl(from var(--cLPrimaryBlue) h s l / .2);
                           @media screen and (width >= 1200px) {
                               & {
                                   grid-area: 11 / 9 / 21 / 18;
                               }
                           }
                       }
                       
                   }
                   & {
                        display: flex;
                        flex-wrap: wrap;
                        align-items: center;
                   }
               }
            }
            & .bloc-2 {
                &  > .fl-row-content-wrap {
                    background-size: auto min(700px,95%);
                }
                & .fl-col-group:has( > .fl-col) {
                    display: flex;
                    flex-wrap: wrap;
                    gap: min(2em,5vw) 1em;
                    justify-content: center;
                    /* display: grid;
                    grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 40%), 1fr)); */
                    &::before,
                    &::after {content: none;}
                    &  > .fl-col {
                        position: relative;
                        padding: min(3em,5vw);
                        width: min(365px,100%);
                        border-radius: min(1.5em,4vw);
                        background-color: var(--cLWhite);
                        box-shadow: 0 0 1em hsl(from var(--cLPrimaryBlue) h s l / .2);
                        &:nth-child(2) {
                            color: var(--cLWhite);
                            background-color: var(--cLPrimaryBlue);
                        }
                        & .fl-rich-text {
                            margin: 0;
                            &::before,
                            &::after {content: none;}
                        }
                        @media screen and (width >= 1200px) {
                            & {
                              &:nth-child(1) {
                                 margin-bottom: min(10em,10vw);
                              } 
                              &:nth-child(2) {
                                 margin-top: min(10em,10vw);
                              } 
                            }
                        }
                    }
                }
            }
        }
    }
}
.gform-footer [type="submit"] {
    border: none;
    outline: none;
    display: block;
    line-height: 1;
    cursor: pointer;
    overflow: hidden;
    font-weight: 700;
    border-radius: 2em;
    text-align: center;
    transition: all .3s;
    white-space: nowrap;
    margin: 0 !important;
    color: var(--cLWhite);
    letter-spacing: -2.5%;
    font-size: var(--fs14);
    text-transform: initial;
    justify-content: center;
    font-family: 'verdana',sans-serif;
    border: 1px solid var(--cLoragneStrong);
    padding: min(1.143em,3vw) min(1.8em,5vw);
    background-color: var(--cLPrimaryBlue);
    &:hover {
        border-color: var(--cLAccentYellow);
        background-color: var(--cLAccentYellow);
    }
}
@media screen and (width >= 1200px) {
    & .mob {display: none !important;}
}
@media screen and (width < 1200px) {
    & .desk {display: none !important;}
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
} 
@keyframes slide {100% {translate: -100% 0;}}