/*
Theme Name: Huddl
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.

Huddl 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;
        }
    }
    & img,
    & video,
    & canvas,
    & svg {
        height: auto;
        display: block;
        max-width: 100%;
    }
    & 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;
            &:is(.parallax-img) {
                scale: 1.2;
                translate: 0 -20;
                transition: none;
                will-change: transform;
            }
        }
    }
    
    & :focus {
        outline: none;
    }
    & [class^="text"] {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: min(1.6em, 3vw);
        &.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(--cLWhite);
        padding: min(1.375rem, 4.8vw);
        background-color: var(--cLPurpleVivid);
        border: 2px solid var(--cLPurpleVivid);
        &.arrow-slide {
            border-width: 0 0 2px 0;
            background-color: var(--cLWhite);
        }
        &.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-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-image: url(assets/images/arrow.svg);
            mask-image: url(assets/images/arrow.svg);
        }
        &::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(--cLWhite);
            background-color: var(--cLRedCrimson);
            border-color: var(--cLRedCrimson);
        }
        &: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: clamp(min(400px,90vw),85vw,1410px);}

        &:is(header &) {
            &.container-xl {width: min(1410px, calc(100vw - min(2rem, 10vw)));}
        }
        &.container-xxl {width: min(1410px, calc(100vw - min(5rem, 10vw)));}
        &.container-max {width: min(1920px, calc(100vw - min(5rem, 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;
        background-color: var(--cLnavyDark);
        clip-path: inset(0rem round 0rem);
        & img {
            position: absolute;
            inset: 0;
            &: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;
                }
            }
        }
    }
    & .pagination {
        position: relative;
        display: flex;
        justify-content: center;
        column-gap: min(.6em, 5vw);
    }
    & .bg-cLWhite {
        color: var(--cLBlue);
        background-color: var(--cLWhite);
    }
    & .bg-cLnavyDark {
        color: var(--cLWhite);
        background-color: var(--cLnavyDark);
    }
    & .bg-cLoragneStrong {
        color: var(--cLWhite);
        background-color: var(--cLoragneStrong);
    }
    & .bg-cLoragneSoft {
        color: var(--cLnavyDark);
        background-color: var(--cLoragneSoft);
    }
    & .bg-cLBlue {
        color: var(--cLWhite);
        background-color: var(--cLBlue);
    } 
    /* 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);
        }
    }
    /* Loader Styles */
    /* & .textUp,
    & .textCharSpace,
    
    & .textFadetoRight,
    & .textEffectBlure {
        visibility: hidden;
    } */
    & .line-parent {width: 100%;}
    & .pendulumSwing:not(:has( [style])),
    & .scaleToDown:not(:has( [style])),
    & .textUp,
    & .charRotate:not(:has( [style])),
    & .textUp {line-height: 1;}
    & .animate {
        line-height: 1.1;
        display: grid;
        grid-template-columns: 1fr;
        & > * {grid-area: 1 / 1 / 2 / 2;}
        & > span {visibility: hidden;}
    }
    & .charRotate .char-wrap {
        display: inline-block;
        position: relative;
        overflow: hidden;
    }
    & .line-mask:hover {overflow: visible !important;}
    & .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 {
                display: block;
                margin-inline: auto;
                width: min(390px,50vw);
                will-change: transform;
                & path {
                    opacity: 0;
                    fill-opacity: 0;
                    stroke-width: 1px;
                    stroke: var(--cLWhite);
                    will-change: transform;
                    &:is(.path-orange ) {stroke: var(--cLoragneStrong);}
                }
            } 
        }
    } 
    & .mf-cursor {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99999;
        pointer-events: none;
        mix-blend-mode: difference;
        & .mf-inner {
            width: 1em;
            height: 1em;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            background: var(--cLoragneStrong);
        }
        &.mf-text {
            position: absolute;
            top: 50%;
            left: 50%;
            opacity: 0;
            color: white;
            font-size: 10px;
            transform: translate(-50%, -50%);
        }
    }

    /*  */
    & input {
        &:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="submit"],[type=image],[type=file])) {
            width:100%;
            line-height: 1
        }
        &:is([type="radio"],[type="checkbox"]) {
            margin: 0;
            outline: none;
            flex: 0 0 auto;
            width: min(1.5rem, 6vw);
            height: min(1.5rem, 6vw);
            accent-color: var(--cLoragneStrong);
            &[type="checkbox"] {
                box-shadow: inset 0 0 0 1px var(--cLnavyDark)
            }
            &[type="radio"]:not(:checked) {
                appearance:none;
                border-radius: 2rem;
                border: 1px solid var(--cLnavyDark)
            }
        }

        &[type="date"] {
            position: relative;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none
        }
        &.gform_button[type="submit"] {
            border: none;
            display: block;
            line-height: 1;
            overflow: hidden;
            font-weight: 600;
            border-radius: 0;
            white-space: nowrap;
            transition: all .3s;
            color: var(--cLWhite);
            font-size: var(--fs14);
            text-transform: uppercase;
            border: 1px solid var(--cLoragneStrong);
            font-family: 'DM Sans',sans-serif;
            background-color: var(--cLoragneStrong);
            padding: min(0.8575em,3vw) min(.6875em,5vw);
            text-shadow: calc((var(--lg) - min(.6875em,5vw) * 2.25) * -1) 0 0 transparent;
        }
    }

    & input:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="button"],[type="submit"],[type="image"],[type="file"])),& select,& textarea {
        outline: none;
        border-radius: 0;
        font-size: inherit;
        height: min(50px, 13vw);
        padding: min(1rem, 2.5vw) 0;
        background-color: var(--cLWhite);
        border: 1px solid var(--cLnavyDark);
        &:is([multiple="multiple"]) {
            height: auto
        }

        &::-webkit-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLnavyDark)
        }

        &::-moz-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLnavyDark)
        }

        &::-ms-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLnavyDark)
        }

        &::placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLnavyDark)
        }

        &:is(textarea) {
            width: 100%;
            resize: none;
            font-family: inherit;
            height: min(200px, 30vw)!important
        }
    }

    /* & select {
        font-family: 'Broadacre';
        color: var(--cLnavyDark);
        font-size: min(13px,3.5vw)!important
    } */

    & label:not([class]):has(>input[type="radio"]),.accept {
        position:relative;
        display: flex;
        column-gap: min(1rem, 3vw)
    }

    & .accept {
        font-weight: 400;
        line-height: 1.5;
        font-size: min(14px, 4vws)
    }

    & :is(.label-form,label:not(:is([class],:has(input[type="radio"])))) {
        font-weight:500;
        font-size: min(20px, 4vw);
        & span {
            font-weight: 400;
            font-size: min(20px, 3.5vw)
        }
    }

    /* sections dynamique */
    & :is(.bg-cLnavyDark + .bg-cLnavyDark,.bg-cLBlushWhite-square + .bg-cLBlushWhite-square)>[class^="container"]:not(*~*),
    & section:not(:is([class*=bg-],.sc10, *:has( .cliping)))+ :is(section, footer):not(:is([class*=bg-],.sc10, *:has( .cliping)))>[class^="container"]:not(*~*) {padding-top: 0;}
    /* header */
    & header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        translate: 0 -100%;
        transition: all .5s;
        color: var(--cLWhite);
        text-transform: uppercase;
        padding-block: min(50px,5vw);

        &.is-sticky {
            padding-block: min(1em,4vw);
            background-color: var(--cLnavyDark);
        }
        & [class^="container"] {padding-block: 0;}
        & .row {
            column-gap: 2%;
            font-size: var(--fs16);
            & > .desk {flex: 1 1 max(100px,15%);}
            & > .nav {
                flex: 1;
                display: flex;
                font-weight: 600;
                letter-spacing: 4%;
                align-items: center;
                font-size: var(--fs16);
                column-gap: clamp(1em,10%,3vw);
                & > li:has( .logo) {
                    flex: 1 1 40%;
                    & .logo {
                        display: block;
                        position: relative;
                        margin-inline: auto;
                        width: min(280px,100%);
                        /* 40vw */
                    }
                }
                & > li:has( .logo) ~ li {text-align: left;}
                & > li:not(:has( .logo)) {
                    flex: 1 1 25%;
                    white-space: nowrap;
                    & > a {text-decoration: underline;}
                    /* @media screen and (width>=1200px) {
                    } */
                }
                /* & > li:has( .logo) + li {text-align: center;} */
                @media screen and (width >= 1200px) {
                    & {flex: 1 1 max(300px,50%);}
                }
            }
            & > .flex {
                display: grid;
                column-gap: 1.2em;
                align-items: center;
                grid-auto-flow: column;
                flex: 1 1 max(100px,15%);
                justify-content: flex-end;
                & .ct-btns {
                    display: flex;
                    column-gap: 1.2em;
                    align-items: center;
                }
            }
            & .ct-nav {
                position: fixed;
                top: 0;
                right: 0;
                opacity: 0;
                height: 100dvh;
                visibility: hidden;
                translate: 100% 0;
                transition: all .3s;
                color: var(--cLWhite);
                width: min(500px,100%);
                background-color: var(--cLBlue);
                padding: min(7em,10vw) min(2em,5vw) min(2em,5vw);
                &:is(.open-nav:has( input:checked) + &) {
                    opacity: 1;
                    translate: 0% 0;
                    visibility: visible;
                }
                & nav {
                    height: 100%;
                    /* overflow-y: scroll; */
                    & .primary {
                        height: 100%;
                        display: grid;
                        text-align: right;
                        align-content: center;
                        width: min(350px,100%);
                        text-transform: initial;
                        row-gap: min(1.6em,5vw);
                        & a {
                            width: 100%;
                            line-height: 1;
                            display: block;
                            transition: all .3s;
                            text-decoration: none;
                            letter-spacing: -.05em;
                            font-family: 'Monotalic',sans-serif;
                            font-size: clamp(min(30px,8vw), 2.1vw, 40px);
                        }
                        & .btn {
                            color: inherit;
                            width: max-content;
                            font-family: inherit;
                            font-weight: inherit;
                            padding-block: 0.3em;
                            display: inline-block;
                            text-transform: inherit;
                            font-size: clamp(min(26px,7.5vw),1.6vw,30px);
                        }
                    }
                }
            }

            /* & nav {
                position: fixed;
                inset: 0;
                opacity: 0;
                visibility: hidden;
                color: var(--cLnavyDark);
                transition: all .4s;
                &:is(header:has( .open-nav > input:checked) &) {
                    opacity: 1;
                    visibility: visible;
                    transition: all .3s;
                }
                & .primary {
                    position: relative;
                    left: 100%;
                    width: 100%;
                    height: 100%;
                    row-gap: 1em;
                    display: flex;
                    text-align: left;
                    font-weight: 900;
                    transition: all .3s;
                    flex-direction: column;
                    box-sizing: border-box;
                    font-size: min(18px,5vw);
                    text-transform: uppercase;
                    padding: 8rem 1.5rem 2rem;
                    background-color: var(--cLWhite); 
                    &:is(header:has( .open-nav input:checked) &) {transform: translateX(-100%);}
                    & li {
                        &:is(.primary > li) {
                            & > a {
                                &[title]::after {
                                    position: relative;
                                    display: block;
                                    font-weight: 400;
                                    color: currentColor;
                                    content: attr(title);
                                    text-transform: initial;
                                    font-size: min(16px,4vw);
                                }
                                &:is(li.th-cLOrangeStrong:hover > &),
                                &:is(li.th-cLOrangeStrong > a)::after {color: var(--cLOrangeStrong);}
                                &:is(li.th-cLRedPink:hover > &),
                                &:is(li.th-cLRedPink > a)::after {color: var(--cLRedPink);}
                                &:is(li.th-cLPurpleVivid:hover > &),
                                &:is(li.th-cLPurpleVivid > a)::after {color: var(--cLPurpleVivid);}
                                &:is(li.th-cLCyanNeon:hover > &),
                                &:is(li.th-cLCyanNeon > a)::after {color: var(--cLCyanNeon);}
                                @media screen and (width >= 1200px) {
                                    & {color: var(--cLWhite);}
                                }
                            }
                            & a {
                                &:is(li:is(.current-menu-parent,.current-menu-item) > &) {color: var(--cLcurrentTheme);}
                            }
                            &.th-cLOrangeStrong li:hover {
                               & > a {color: var(--cLOrangeStrong);}
                            } 
                            &.th-cLRedPink li:hover {
                                & > a {color: var(--cLRedPink);}
                            } 
                            &.th-cLPurpleVivid li:hover {
                                & > a {color: var(--cLPurpleVivid);}
                            } 
                            &.th-cLCyanNeon li:hover {
                                & > a {color: var(--cLCyanNeon);}
                            }
                            @media screen and (width >= 1200px) {
                                & {
                                    padding-right: 2em;
                                    & .up-down {
                                        pointer-events: none;
                                        color: var(--cLWhite);
                                        &:is(li:hover > &) {rotate: -180deg;}
                                    }
                                }
                            }
                        }
                        &:has( > ul) {
                            position: relative;
                            display: grid;
                            transition: all .3s;
                            grid-template-rows: 3em 0fr;
                            &:has( > .up-down input:checked) {grid-template-rows: 3em 1fr;}
                            &:not(:has( > a[title])) {
                                grid-template-rows: 1em 0fr;
                                &:has( > .up-down input:checked) {grid-template-rows: 1em 1fr;}
                            }
                            & .up-down {
                                position: absolute;
                                top: 0;
                                right: 0;
                                width: 1em;
                                aspect-ratio: 1/1;
                                transition: all .3s;
                                &:has( input:checked) {rotate: -180deg;}
                                &::before {
                                    position: absolute;
                                    inset: 0;
                                    content: '';
                                    display: block;
                                    pointer-events: none;
                                    background-color: currentcolor;
                                    -webkit-mask-repeat: no-repeat;
                                    mask-repeat: no-repeat;
                                    -webkit-mask-size: contain;
                                    mask-size: contain;
                                    -webkit-mask-position: center;
                                    mask-position: center;
                                    -webkit-mask-image: url(assets/images/angle-down.svg);
                                    mask-image: url(assets/images/angle-down.svg);
                                }
                            }
                            & > ul {
                                position: relative;
                                display: flex;
                                row-gap: .2em;
                                overflow: hidden;
                                flex-direction: column;
                                transition: height .3s, all .3s;
                                & a {
                                    font-weight: 400;
                                    text-transform: initial;
                                    font-size: min(14px,3.5vw);
                                }
                                @media screen and (width >= 1200px) {
                                    & {
                                        position: absolute;
                                        top: 150%;
                                        left: 50%;
                                        row-gap: 0;
                                        opacity: 0;
                                        padding: 1em;
                                        visibility: hidden;
                                        transition: all .3s;
                                        border-radius: .5em;
                                        width: min(250px,30vw);
                                        transform: translateX(-50%);
                                        background-color: var(--cLWhite);
                                        &:is(li:hover > &) {
                                            top: 100%;
                                            opacity: 1;
                                            visibility: visible;
                                        }
                                        
                                    }
                                }
                            }
                            @media screen and (width >= 1200px) {
                                & { display: block;}
                            }
                        }
                    }
                    @media screen and (width >= 1200px) {
                        & {
                            position: relative;
                            left: 0;
                            width: auto;
                            padding: 0;
                            height: 100%;
                            column-gap: 2em;
                            flex-direction: inherit;
                            background-color: transparent;
                            transform: inherit !important;
                        }
                    }
                }
                @media screen and (width >= 1200px) {
                    & {
                        position: relative;
                        inset: 0;
                        opacity: 1;
                        visibility: visible;
                    }
                    
                }
            } */

            & .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;
                    color: var(--cLWhite);
                    transform: rotate(45deg);
                    /* @media screen and (width >= 1200px) {
                        & {color: var(--cLWhite);}
                    } */
                }
                & 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);}
                }
            }
            /* & .nav-sticky {
                position: fixed;
                top: 0;
                right: 0;
                opacity: 0;
                visibility: hidden;
                translate: 100% 0;
                transition: all .3s;
                color: var(--cLWhite);
                background-color: var(--cLnavyDark);
                width: min(500px,100%);
                padding: min(7em,10vw) min(2em,5vw) min(2em,5vw);
                &:is(.open-nav:has( input:checked) + &) {
                    opacity: 1;
                    translate: 0;
                    visibility: visible;
                }
                & .menu-sticky {
                    display: grid;
                    row-gap: min(1em,5vw);
                    & > li {
                        &:hover > a {color: inherit;}
                        &:has( ul) > a {pointer-events: none;}
                    }
                    & li {
                        &:has( ul) {
                            position: relative;
                            display: grid;
                            transition: all .3s;
                            grid-template-rows: 1em 0fr;
                            padding-right: min(2em,5vw);
                            &:hover {
                                grid-template-rows: 1em 1fr;
                            }
                            & .up-down {
                                position: absolute;
                                top: 0;
                                right: 0;
                                width: 1em;
                                aspect-ratio: 1/1;
                                transition: all .3s;
                                pointer-events: none;
                                color: var(--cLWhite);
                                &::before {
                                    position: absolute;
                                    inset: 0;
                                    content: '';
                                    display: block;
                                    pointer-events: none;
                                    background-color: currentcolor;
                                    -webkit-mask-repeat: no-repeat;
                                    mask-repeat: no-repeat;
                                    -webkit-mask-size: contain;
                                    mask-size: contain;
                                    -webkit-mask-position: center;
                                    mask-position: center;
                                    -webkit-mask-image: url(assets/images/angle-down.svg);
                                    mask-image: url(assets/images/angle-down.svg);
                                }
                                &:is(li:hover > &) {rotate: -180deg;}
                            }
                            & > ul {
                                row-gap: .5em;
                                display: grid;
                                overflow: hidden;
                                transition: all .3s;
                                font-size: min(16px,4vw);
                                &:is(li:hover > &) {padding-top: 1em;}
                            }
                        }
                    }
                }
            } */
        }
        & + main > *:first-child {padding-top: 5em;}
    }
    & .sc1 {
        & .cliping {
            background-color: var(--cLnavyDark);
            &::after {
                 position: absolute;
                 inset: 0;
                 content: '';
                 opacity: .5;
                 pointer-events: none;
                 background-color: var(--cNavyAlpha);
             }
            & img {
                position: absolute;
                filter: brightness(0.9);
            }
            & video {
                position: relative;
                width: 100%;
                height: 100%;
                object-fit: cover;
                max-width: initial;
                object-position: center;
            }
        }
        & [class^="container"] {
            display: grid;
            align-content: center;
            padding-bottom: min(2em,10vw);
            min-height: min(calc(850px - 5em),51.495dvh);
            @media screen and (width >= 1200px) {
                & {
                    align-content: center;
                    min-height: min(calc(850px - 5em),max(600px,75dvh));
                }
            }
        }
    }
    & .sc2 {
        & .row {
            column-gap: 5%;
            & .left {
                flex: 1 1 max(300px,45%);
                & .text {
                    width: min(590px,90%);
                    /* @media screen and (width>=1200px) {
                        & {width: min(590px,100%);}
                    } */
                }
            }
            & .right {flex: 1 1 max(300px,50%);}
        }
    }
    & .sc3 {
        width: 100%;
        overflow: hidden;
        & [class^="container"] { 
            padding-block: min(3em,10vw);
            & .carousel {
                display: flex;
                column-gap: 20vw;
                /* padding-right: 5vw; */
                will-change: transform;
                & .grid {
                    width: 100%;
                    flex: 0 0 100%;
                    will-change: transform;
                }
                @media screen and (width >= 1200px) {
                    & {column-gap: 50vw;}
                }
            }
            & .grid {
                display: grid;
                grid-template-columns: repeat(15, 1fr);
                & > .wrapper-image  { grid-area: 1 / 1 / 31 / 16; }
                & > .wrapper-image { 
                    & picture {
                        perspective: 5em;
                        will-change: transform;
                        & img {
                            position: relative;
                            will-change: transform;
                        }
                        @media screen and (width >= 1200px) {
                            & {height: min(700px,70vw);}
                        }
                    }
                    @media screen and (width >= 1200px) {
                        & {grid-area: 1 / 1 / 21 / 23; }
                    }
                }
                & > .text {
                    line-height: .9;
                    isolation: isolate;
                    position: relative;
                    grid-area: 29 / 1 / 41 / 15; 
                    &:is(.shadow) {
                        position: relative;
                        z-index: -1;
                    }
                    & .fs330 {
                        line-height: .9;
                        @media screen and (width >= 1200px) {
                            &:is(.monetasans) {line-height: .7;}
                        }
                    }
                    @media screen and (width >= 1200px) {
                        & { 
                            justify-content: center;
                            grid-area: 5 / 5 / 18 / 31;
                        }
                    }
                }

                @media screen and (width >= 1200px) {
                    & {
                        grid-gap: 0;
                        grid-template-columns: repeat(30, 1fr);
                    }
                }
            }
        }
    }
    & .sc4 {
        & .logo {
            display: block;
            margin-inline: auto;
            width: min(393px,50%);
        }
    }
    & .sc5 {
        & .container-auto {
            width: 100%;
            padding-block: 0;
            & .grid {
                position: relative;
                gap:0;
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(max(min(250px,80vw), 30%), 1fr));
                & .cardA {
                    position: relative;
                    cursor: pointer;
                    & > .vew,
                    & > .vew .text {
                        position: absolute;
                        inset: 0;
                        &:is(.text) {
                            display: grid;
                            text-align: center;
                            padding: min(2em,5vw);
                            align-content: center;
                        }
                    }
                    & .vew {
                        overflow: hidden;
                        clip-path: inset(0rem round 0rem);
                        & video {
                            scale: 1.1;
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            max-width: initial;
                        }
                    }
                    & > picture {
                        position: relative;
                        width: 100%;
                        aspect-ratio: 1/0.9;
                        /* height: min(550px,60vw); */
                        &:is(.cardA.th_cLBlue &) {background-color: var(--cLBlue);}
                        &:is(.cardA.th_cLoragneStrong &) {background-color: var(--cLoragneStrong);}
                        &:is(.cardA.th_cLoragneSoft &) {background-color: var(--cLoragneSoft);}
                        & img {
                            scale: .5;
                            object-fit: contain;
                            object-position: center;
                        }
                    }
                }
            }
        }
    }
    & .sc6 {
        grid-gap: 0;
        display: grid;
        overflow: hidden;
        isolation: isolate;
        height: min(1100px,100vh);
        grid-template-columns: 1fr;
        & .mask {
            position: relative;
            width: 100vw;
            pointer-events: none;
            grid-area: 1 / 1 / 2 / 2; 
        }
        & .cliping {
            opacity: 0;
            z-index: -1;
            clip-path: circle(0% at 50% 50%);
            & img {filter: brightness(.5);}
        }
        & .ball {
            position: absolute;
            opacity: 0;
            z-index: -1;
            /* translate: -50% 0; */
            aspect-ratio: 1/1;
            border-radius: 50%;
            width: min(3em,8vw);
            transform-origin: center;
            top: calc(min(3em,8vw) / -2);
            left: calc(50% - (min(3em,8vw) / 2));
            box-shadow: inset 0 18px 1em var(--cLnavyDarkOpacity);
            background: url(assets/images/ball.svg) center / contain no-repeat;
            &:is(.is-ready &) {animation: rotate 1s linear infinite;}
        }
        & [class^="container"] {
            display: grid;
            align-content: center;
            grid-area: 1 / 1 / 2 / 2; 
            & .grid-text {
                position: relative;
                grid-gap: 0;
                display: grid;
                text-align: center;
                align-items: center;
                grid-template-columns: 1fr;
                & > :is(p,.title) {
                    grid-area: 1 / 1 / 2 / 2;
                }
                & .title {
                    position: relative;
                    scale: .5;
                    opacity: 0;
                    z-index: 2;
                    letter-spacing: 21%;
                }
                & .scaleDown {
                    scale: 5 0;
                    opacity: 0;
                    line-height: .7;
                    filter: blur(1em);
                    visibility: hidden;
                }
            }
        }
        & .net {
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 1;
            opacity: .5;
            width: 100%;
            height: min(218px,15vw);
            border-top: min(1em,1vw) solid currentColor;
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                pointer-events: none;
                background-color: currentColor;
                -webkit-mask: url(assets/images/square.svg) left top / contain repeat;
                mask: url(assets/images/square.svg) left top / contain repeat;
            }
        }
    }
    & .sc7 {
        & .cliping {
            position: relative;
            & img {position: relative;}
            & .fs470 {
                position: absolute;
                inset: 0;
                z-index: 1;
                display: grid;
                color: var(--cLWhite);
                align-content: center;
                justify-content: center;
            }
            @media screen and (width >= 1200px) {
                & {
                    position: absolute;
                    & img {position: fixed;}
                }
            }
        }
        & .title-hiden {
            color: transparent;
        }
        & .text-mask {
            position: relative;
            display: block;
            font-weight: 800;
            letter-spacing: -0.096em;
            font-size: min(19.2em,26vw);
            font-family: 'Monotalic',sans-serif;
            box-shadow: inset 0 0 0 2px #eff7ff, 0 0 0 70vh #eff7ff;
            & text {line-height: 1;}
        }
        & .maskGroup {
            scale: 0.65;
            font-weight: 800;
            letter-spacing: -0.096em;
            transform-origin: center;
            font-size: min(19.2em,26vw);
            font-family: 'Monotalic',sans-serif;

        }
        & .mask-svg {
            position: absolute;
            inset: 0;
            height: 100%;
            object-fit: cover;
            box-shadow: 0 0 0 100vw var(--cLWhite);
        }
        & .text-center {
            & .title {
                position: relative;
                display: block;
                color: transparent;
                visibility: hidden;
                -webkit-text-stroke: 2px white;
                background: url('assets/images/pssit!.svg') center/cover;
                -webkit-background-clip: text;
                background-clip: text;
            }
            & .fs470.desk {
                visibility: hidden;
            }
        }
    }
    & .sc8 {
        & .flex {
            position: relative;
            isolation: isolate;
            & .text-center {
                padding: min(5em,5vw) min(1em,5vw);
                border-top: 4px solid currentColor;
                @media screen and (width >= 1200px) {
                    & {
                        border-top: none;
                    }
                }
            }
            & .text-center:nth-child(1) {
                flex: 1 1 max(250px,30%);
            }
            & .text-center:nth-child(2) {
                flex: 1 1 max(250px,40%);
                @media screen and (width >= 1200px) {
                    & {
                        border-inline: 4px solid currentColor;
                    }
                }
            }
            & .text-center:nth-child(3) {
                flex: 1 1 max(250px,30%);
            }
            @media screen and (width >= 1200px) {
                &::before {
                    position: absolute;
                    content: '';
                    inset: 0 -100vw;
                    pointer-events: none;
                    border-top: 4px solid currentColor;
                }
            }
        }
        & .grid {
            position: relative;
            gap: 0;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(max(min(250px,80vw), 30%), 1fr));
        }
    }
    & .sc9 {
        & .grid {
            position: relative;
            gap: 0;
            width: 100%;
            display: grid;
            display: grid;
            grid-gap: min(2em,5vw) 3%;
            grid-template-columns: repeat(auto-fill, minmax(max(min(250px,80vw), 30%), 1fr));
            
            & picture {aspect-ratio: 1/.6;}
            & .text-center {
                & h2.fs260 {
                    position: relative;
                    isolation: isolate;
                    font-size: clamp(min(80px,9vw),13vw,260px);
                    &.animate {
                        display: grid;
                        grid-template-columns: 1fr;
                        & > span {
                            position: relative;
                            grid-area: 1 / 1 / 2 / 2;
                        }
                    }
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    grid-gap: 0;
                    grid-template-columns: repeat(30, 1fr);
                    & > *:nth-child(1) { 
                        margin-right: -3em;
                        grid-area: 1 / 1 / 24 / 9;
                    }
                    & > *:nth-child(2) { grid-area: 6 / 2 / 25 / 31;}
                    & > *:nth-child(3) { grid-area: 8 / 23 / 31 / 31; }
                    & picture {aspect-ratio: 1/1.3;}
                    & .text-center {
                        position: relative;
                        z-index: 1;
                        width: 100%;
                        & > * {
                            width: 100%;
                            display: block;
                        }
                    }
                }
            }
        }

    }
    & .sc10 {
        & .row.direction-column {
            padding-block: min(5em,10vw);
        }
        & [class^="container"] {
            padding-block: 0;
            & .accordion-horizontal {
                gap: 0;
                display: grid;
                color: var(--cLWhite);
                margin-inline: calc((100vw - min(1920px, calc(100vw - min(5rem, 10vw)))) / -2);
                grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 40%), 1fr));
                & .panel {
                    position: relative;
                    overflow: hidden;
                    cursor: pointer;
                    transition: flex 0.72s cubic-bezier(0.77, 0, 0.175, 1);
                    &:has( .panel-label input:checked) {
                        flex: 4;
                        cursor: default;
                    }
                    & picture {
                        position: absolute;
                        inset: 0;
                        background-color: var(--cLBlack);
                        &::after {
                            position: absolute;
                            inset: 0;
                            content: '';
                            z-index: 1;
                            pointer-events: none;
                            mix-blend-mode: multiply;
                            background: linear-gradient(315.56deg, rgba(0, 0, 0, 0.6) 0%, transparent 76.11%);
                        }
                        & img {
                            position: absolute;
                            inset: 0;
                            filter: brightness(.7);
                            transition: transform 0.72s cubic-bezier(0.77, 0, 0.175, 1),
                                        filter 0.5s ease;
    
                            &:is(.panel:has( .panel-label input:checked) &) {
                                transform: scale(1.05);
                                filter: brightness(1);
                            }
                        }
                    }
                    & .text-right {
                        position: relative;
                        z-index: 1;
                        justify-content: end;
                        padding: min(3em,5.5vw);
                        height: min(420px,100vw);
                        & > h3 + .btn {margin-top: calc(min(1em, 4vw) * -1);}
                        & p:has( :is(.btn, .tag)) {gap: min(1em, 4vw);}
                        @media screen and (width >= 1200px) {
                            & {
                                opacity: 0;
                                transition: all .3s;
                                pointer-events: none;
                                height: min(850px,100dvh);
                                transform: translateY(2em);
                                &:is(.panel:has( .panel-label input:checked) &) {
                                    opacity: 1;
                                    pointer-events: auto;
                                    transform: translateY(0);
                                    transition: opacity 0.4s ease 0.3s, transform 0.5s cubic-bezier(0.77, 0, 0.175, 1) 0.18s;
                                }
                            }
                        }
                        & table {
                            text-align: left;
                            font-size: min(20px,3.4vw);
                            & tr {
                                &:not(:first-child) {
                                    & > td {border-top: 1px solid currentColor;}
                                }
                                & td {
                                    padding: .6em;
                                    &:first-child:has( strong) {
                                        max-width: 24vw;
                                        text-transform: uppercase;
                                        border-right: 1px solid currentColor;
                                    }
                                }
                            }
                        }
                    }
                    & .fs140,
                    & .fs110,
                    & .fs200 {line-height: .7;}
                    @media screen and (width >= 1200px) {
                        & {
                            flex: 1;
                            & .panel-label {
                                position: absolute;
                                inset: 0;
                                z-index: 1;
                                color: #fff;
                                display: grid;
                                cursor: pointer;
                                align-items: center;
                                white-space: nowrap;
                               padding: min(3.7rem,5vw);
                                writing-mode: vertical-rl;
                                transform: rotate(180deg);
                                text-shadow: 0 4px 30px rgba(0,0,0,0.7);
                                transition: opacity 0.35s ease 0.3s, transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
                                &:is(.panel:has( .panel-label input:checked) &) {
                                    scale: .8;
                                    opacity: 0;
                                    visibility: hidden;
                                    pointer-events: none;
                                    transition: all .3s;
                                }
                            }
                        }
                    }
                }
                @media screen and (width >= 1200px) {
                    & {
                        display: flex;
                        /* width: 100%; */
                        /* margin-inline: 0; */
                    }
                }
            }
        }
    }
    & .sc11 {
        & .cliping {
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                opacity: 0.7;
                background-color: var(--cLoragneStrong);
            }
        }
        & .monotalic{
            letter-spacing: -10%;
        }
    }
    & .sc12 {
        & .grid {
            display: grid;
            gap: min(1.5em,5vw);
            grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 40%), 1fr));
            & .bloc {
                & .text {
                    position: relative;
                    padding: min(1em,5vw);
                    background-color: var(--cLWhite);
                }
                & picture {
                    height: min(600px,70vw);
                    &::after {
                        position: absolute;
                        inset: 0;
                        content: "";
                        background: linear-gradient(315.56deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 76.11%);
                    }
                }
            }
            & .bloc-1 {
                display: grid;
                grid-gap: 0px;
                grid-template-columns: repeat(25, 1fr);
                & picture { grid-area: 1 / 1 / 26 / 17; }
                & .text { grid-area: 5 / 13 / 13 / 26; }

                @media screen and (width >= 1200px) {
                    & {grid-area: 1 / 1 / 21 / 13;}
                }
            }
            & .bloc-2 {
                display: grid;
                grid-gap: 0px;
                grid-template-columns: repeat(30, 1fr);
                grid-template-rows: repeat(30, 1fr);
                & picture { grid-area: 1 / 12 / 31 / 31; }
                & .text { grid-area: 17 / 1 / 26 / 17; }
                @media screen and (width >= 1200px) {
                    & {grid-area: 6 / 13 / 26 / 26;}
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    display: grid;
                    grid-gap: 0px;
                    grid-template-columns: repeat(25, 1fr);
                    /* grid-template-rows: repeat(25, 1fr); */
                }
            }
        }

    }
    & .sc13 {
        & .svg {
            position: absolute;
            top: -0.3em;
            right: -0.3em;
            aspect-ratio: 1/1;
            height: calc(100% + 0.8em);
        }
    }
    & .sc14 {
        & .grid {
            display: grid;
            gap: min(1.5em,5vw) 0;
            grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80vw), 30%), 1fr));
            &:has( .cardF) {column-gap: 3%;}
            & .cardB {
                display: flex;
                transition: all .3s;
                row-gap: min(2em,5vw);
                flex-direction: column;
                &:hover {
                    padding-top: 2em;
                    background-color: var(--cLLight);
                }
                & picture {
                    height: min(326.13409423828125px,30vw);
                    & img {object-fit: contain;}
                }
                & [class^="text"] {
                    position: relative;
                    flex: 1;
                    isolation: isolate;
                    padding: 0 min(2em,5vw) min(2em,5vw);
                    & .fs18 {
                        letter-spacing: 8%;
                        &:is(.fs63 + &) {margin-top: calc(min(1.6em, 3vw) * -1);}
                    }
                    & p:has( .btn) {margin-top: auto;}
                    @media screen and (width >= 1200px) {
                        &:is(.grid > .cardB:nth-child(3n + 2) &)::before {
                            position: absolute;
                            content: '';
                            z-index: -1;
                            pointer-events: none;
                            border: 4px solid var(--cLLight);
                            inset: calc(min(4em,8vw) * -1) 0 0;
                            border-top: none;
                        }
                    }
                }
            }
            & .cardF {
                position: relative;
                display: flex;
                flex-direction: column;
                isolation: isolate;
                row-gap: min(4em,10vw);
                padding: min(2em,10vw);
                & .text-center.body {
                    position: relative;
                    flex: 1 1 100%;
                    justify-content: space-between;
                    &::before {
                        position: absolute;
                        content: "";
                        z-index: -1;
                        pointer-events: none;
                        inset: calc(min(2em,10vw) * -1);
                        border: 4px solid var(--cLLight);
                    }
                    & > p:has(.btn) {margin-top: auto;}
                }
                & picture {
                    position: relative;
                    margin-inline: auto;
                    height: max-content;
                    width: min(174px,100%);
                    & img {
                        position: relative;
                    }
                }
            }
        }
    }
    & .sc15 {
        & .carousel {
            display: flex;
            column-gap: 50vw;
            will-change: transform;
            & .cardD {
                width: 100%;
                display: flex;
                column-gap: 3%;
                flex: 0 0 100%;
                flex-wrap: wrap;
                align-items: center;
                
                & .wrapper-image {
                    flex: 1 1 max(min(300px,80vw),50%);
                    & picture {width: 100%;}
                }
                & .wrapper-text {
                    flex: 1 1 max(min(300px,80vw),40%);
                    & .text {
                        position: relative;
                        width: min(500px,100%);
                        & .fs160 {
                            line-height: 0.7;
                            @media screen and (width >= 1200px) {
                                & {
                                    text-align: right;
                                    margin-left: -4em;
                                }
                            }
                        }
                        & .info {
                            display: grid;
                            row-gap: .5em;
                            & [style^="--bg-image"] {
                                column-gap: .5em;
                                &::before {
                                    width: 0;
                                    padding: 0.75em;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    & .sc16 {
        & .grid {
            gap: 0;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(max(min(300px,880vw), 30%), 1fr));
            & .cardE {
                position: relative;
                isolation: isolate;
                
                aspect-ratio: 1/0.8;
                &:hover {z-index: 1;}
                &::before {
                    position: absolute;
                    inset: 0;
                    content: '';
                    transition: inherit;
                    filter: brightness(.7);
                }
                &:has( .bg-cLWhite)::before {background-color: var(--cLWhite);}
                &:has( .bg-cLoragneStrong)::before {background-color: var(--cLoragneStrong);}
                &:has( .bg-cLoragneSoft)::before {background-color: var(--cLoragneSoft);}
                &:has( .bg-cLBlue)::before {background-color: var(--cLBlue);}
                & [class^="text"] {
                    position: relative;
                    height: 100%;
                    transition: all .3s;
                    padding: min(3rem,5vw);
                    justify-content: center;
                    &:is(.cardE:hover &) {
                        scale: 1.05;
                        rotate: -3deg;
                        translate: -2em -2em;
                        filter: drop-shadow(2px 4px 1em var(--cLnavyDarkOpacity));
                        &:is(.cardE:nth-child(even) &) {
                            rotate: -3deg;
                            translate: 2em -2em;

                        }
                    }
                    & .first-title {letter-spacing: 10%;}
                    & h2 {
                        display: block;
                        width: min(400px,100%);
                    }
                    & time {
                        letter-spacing: 8%;
                        color: var(--cLnavyDark);
                        &:is(.first-title + time) {margin-top: calc(min(1.6em, 3vw) * -1);}
                    }
                    & .btn.btn-border {
                        &:is([class^="text"].bg-cLWhite &) {color: var(--cLnavyDark);}
                    }
                }
            }
        }
    }
    & .sc17 {
        & .container-scrolling-text {
            padding-block: min(2em,5vw);
            & .scrolling-text-content {
                display: flex;
                width: max-content;
                align-items: center;
                white-space: nowrap;
                will-change: translate;
                justify-content: space-evenly;
                animation: slide 30s linear infinite;
                & li {
                    display: flex;
                    line-height: 1;
                    align-items: center;
                    transition: all .3s;
                    &:not([class]) {
                        filter: drop-shadow(var(--wd,100vw) 0px 0px currentColor);
                    }
                    &.dot-scroll {
                        position: relative;
                        top: -.1em;
                        width: .3em;
                        aspect-ratio: 1/1;
                        border-radius: 1em;
                        margin-inline: .7em;
                        color: var(--cLoragneStrong);
                        background-color: currentColor;
                        filter: drop-shadow(var(--wd) 0px 0px currentColor);
                    }
                }
            }
        }
    }
    & .sc18 {
        & .table {
            display: grid;
            margin-inline: auto;
            padding: min(2em,5vw);
            width: min(1152px,100%);
            border: 2px solid var(--cLBlue);
            & > li {
                gap: 0 5%;
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                padding-block: min(2em,9vw);
                border-bottom: 1px solid var(--cLWhite);
                & > .fs50 {
                    flex: 1 1 max(200px,20%);
                    @media screen and (width >= 750px) {
                        & {
                            padding-block: min(0.5em,5vw);
                            border-right: 1px solid #DADADA3B;
                        }
                    }
                }
                & > div {
                    gap: 0 5%;
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    flex: 1 1 max(300px,60%);
                    & > strong {flex: 1 1 max(200px,20%);}
                    & > p {flex: 1 1 max(300px,60%);}
                }
                @media screen and (width >= 1200px) {
                    & {
                        border-bottom: none;
                        padding-block: 0;
                    }
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    row-gap: .6em;
                }
            }
        }
    }
    & .sc19 {
        & .row {
            column-gap: 5%;
            & .left {
                flex: 1 1 max(min(300px,80vw),43%);
                & picture,
                & iframe {
                    width: 100%;
                    height: auto;
                    aspect-ratio: 1/0.8;
                }
            }
            & .right {
                flex: 1 1 max(min(300px,80vw),40%);
            }
        }
    }
    & footer {
        & [class^="container"] {
            padding-block: min(5em,10vw) 0;
            & .row {
                & .grid {
                    display: flex;
                    flex-wrap: wrap;
                    gap: min(2em,5vw) 5%;
                    justify-content: space-between;
                    & > div {
                        display: grid;
                        text-align: center;
                        justify-items: center;
                        flex: 1 1 max(300px,30%);
                        & a > strong {text-decoration: underline;}
                        @media screen and (width >= 1200px) {
                            & {
                                flex: initial;
                                text-align: initial;
                                justify-items: initial;
                            }
                        }
                    }
                    & .rs {
                        justify-content: center;
                        flex: 1 1 max(300px,30%);
                        @media screen and (width >= 1200px) {
                            & {
                                flex: initial;
                                justify-content: initial;
                            }
                        }
                    }
                }
                & .foot {
                    position: relative;
                    display: flex;
                    flex-wrap: wrap;
                    isolation: isolate;
                    gap: min(2em,5vw) 5%;
                    padding-block: min(2em,5vw);
                    justify-content: space-evenly;
                    &::before {
                        position: absolute;
                        content: '';
                        z-index: -1;
                        inset: 0 -100vw;
                        pointer-events: none;
                        background-color: var(--cLoragneStrong);
                    }
                    & a {
                        color: inherit;
                        justify-content: center;
                        &[style^="--icn-before"]::before, 
                        &[style^="--icn-after"]::after {
                            padding: min(0.7rem,2.5vw);
                        }
                        @media screen and (width >= 1200px) {
                            & {justify-content: flex-start;}
                        }
                    }
                    & .ct-logo {
                        margin-block: auto;
                        & .logo {
                            font-size: 0;
                            display: block;
                            &[style^="--icn-before"]::before, 
                            &[style^="--icn-after"]::after {
                                padding: min(1.5rem,4.5vw) min(6.5rem,19.8vw);
                            }
                        }
                    }
                    & > div {
                        flex: 1 1 max(min(300px,80vw),30%);
                        @media screen and (width >= 1200px) {
                            & {
                                flex: initial;
                            }
                        }
                        &.box {
                            text-align: center;
                            color: var(--cLBlack);
                            & > p:has( [href^="tel:"]) {margin-top: 1em;}
                            @media screen and (width >= 1200px) {
                                & {text-align: left;}
                            }
                        }
                    }
                }
            }
        }
    }
}
@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 rotate {
    to { rotate: 380deg; }
    /* to { rotate: 0; } */
} 
@keyframes slide {100% {translate: -100% 0;}}