.elementor-kit-8{--e-global-color-primary:#1A1814;--e-global-color-secondary:#8A8175;--e-global-color-text:#2E2A24;--e-global-color-accent:#A8895E;--e-global-color-b3d892b:#F8F5F0;--e-global-color-b0612ee:#F1ECE4;--e-global-color-21c5687:#E8E1D4;--e-global-color-aaeab08:#D4C5A8;--e-global-color-0ee37ad:#4F4A45;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:200;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Inter Tight";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter Tight";--e-global-typography-accent-font-size:11px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.6;--e-global-typography-accent-letter-spacing:0.18em;--e-global-typography-16729d0-font-family:"JetBrains Mono";--e-global-typography-16729d0-font-size:11px;--e-global-typography-16729d0-font-weight:400;--e-global-typography-16729d0-text-transform:uppercase;--e-global-typography-16729d0-letter-spacing:0.18em;background-color:var( --e-global-color-b3d892b );color:var( --e-global-color-text );font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:-0.005em;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;--e-preloader-color:var( --e-global-color-aaeab08 );--e-preloader-size:3rem;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter Tight", Sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;line-height:1.6;letter-spacing:0.18em;color:var( --e-global-color-b3d892b );border-radius:0rem 0rem 0rem 0rem;padding:20px 36px 18px 36px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:var( --e-global-color-0ee37ad );color:var( --e-global-color-b3d892b );border-radius:0px 0px 0px 0px;}.elementor-kit-8 e-page-transition{background-color:var( --e-global-color-b3d892b );}.elementor-kit-8 p{margin-block-end:clamp(16px, 2vw, 28px);}.elementor-kit-8 a{color:var( --e-global-color-primary );}.elementor-kit-8 h1{color:var( --e-global-color-primary );font-family:"Fraunces", Sans-serif;font-size:clamp(50px, 5vw, 120px);font-weight:200;line-height:0.95;letter-spacing:-0.07em;}.elementor-kit-8 h2{color:var( --e-global-color-primary );font-family:"Fraunces", Sans-serif;font-size:clamp(42px, 5.5vw, 88px);font-weight:200;letter-spacing:-0.07em;}.elementor-kit-8 h3{color:var( --e-global-color-primary );font-family:"Fraunces", Sans-serif;font-size:clamp(32px, 4.2vw, 64px);font-weight:300;font-style:italic;letter-spacing:-0.05em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:min(1440px, 92vw);}.e-con{--container-max-width:min(1440px, 92vw);--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:#1A181499;--lightbox-ui-color:var( --e-global-color-b3d892b );--lightbox-ui-color-hover:var( --e-global-color-b3d892b );--lightbox-text-color:var( --e-global-color-b3d892b );}@media(max-width:1024px){.elementor-kit-8 h3{letter-spacing:-0.035em;}}/* Start custom CSS *//* GENERAL */

html,
body {
    overflow-x: hidden;
}

::selection {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-b3d892b);
}

.elementor-icon-wrapper {
    display: flex;
}

input,
textarea {
    outline: none !important;
}

.ff_submit_btn_wrapper {
    margin-bottom: 0 !important;
}

/* Cursor */

body {
    cursor: none;
}

.cursor-dot,
.cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    mix-blend-mode: difference;
}

.cursor-dot {
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
}

.cursor-ring {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    transition: width 0.4s var(--ease), height 0.4s var(--ease), border-color 0.4s var(--ease);
}

.cursor-ring.is-hover {
    width: 56px;
    height: 56px;
}

@media (hover: none), (pointer: coarse) {
    body {
        cursor: auto;
    }
    
    .cursor-dot,
    .cursor-ring {
        display: none;
    }
    
    button,
    a {
        cursor: pointer;
    } 
}


/* Animations */

:root {
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}


/* Text */

p:last-of-type {
    margin-bottom: 0;
}

main {
    ul {
        margin: clamp(16px, 2vw, 28px) 0;
        padding-left: clamp(16px, 2vw, 28px);
        
        &:first-child {
            margin-top: 0;

            li:first-child {
                margin-top: 0;
            }
        }

        &:last-child {
            margin-bottom: 0;

            li:last-child {
                margin-bottom: 0;
            }
        }
        
        li {
            margin: clamp(8px, 1vw, 14px) 0;
            
            &::marker {
                color: var(--e-global-color-accent);
            }
        }
    }
}

.eyebrow {
    font-family: var(--e-global-typography-accent-font-family);
    font-size: 11px;
    font-weight: var(--e-global-typography-accent-font-weight);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--e-global-color-secondary);
    margin-bottom: clamp(16px, 2vw, 28px);
}

.title-italic {
    font-style: italic;
    font-weight: var(--e-global-typography-secondary-font-weight);
}

.title-small {
    font-size: clamp(18px, 2vw, 26px);
    letter-spacing: 0;
    color: var(--e-global-color-secondary);
    margin-top: clamp(8px, 1vw, 14px);
}

.h1-index {
    .title-italic {
        padding-left: clamp(40px, 8vw, 120px);
        
        @media (min-width: 767px) and (max-width: 1024px) {
            display: inline;
            padding-left: 0;
        }
    }
}


/* Link & button */

.elementor-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    transition: background 0.4s var(--ease), gap 0.4s var(--ease);
        
    &:after {
        content: '→';
    }
    
    &:hover {
        gap: 18px;
    }
}

.ghost-btn {
    .elementor-button {
        gap: 0;
        position: relative;
        
        &:before,
        &:after {
            content: '';
        	width: 100%;
        	border-bottom: 1px solid var(--e-global-color-primary);
        	position: absolute;
        	bottom: 0;
        	left: 0;
        	opacity: 1;
        	transform: scale(1, 1);
        	transform-origin: right center 0;
        }
        
        &:after {
            opacity: 0;
        	transform: scale(0, 1);
        	transform-origin: left center 0;
        }
        
        &:hover {
            &:before {
                opacity: 0;
            	transform: scale(0, 1);
            	transition: opacity 0.4s var(--ease) 0.4s, transform 0.4s var(--ease) 0s;
            }
            
            &:after {
                opacity: 1;
            	transform: scale(1, 1);
            	transition: transform 0.4s var(--ease) 0.4s;
            }
        }
    }
}

.border-btn {
    .elementor-button {
        gap: 0;
        transition: color 0.4s var(--ease), border-color 0.4s var(--ease);
        
        &:after {
            display: none;
        }
    }
}

.border-link {
    border-bottom: 1px solid transparent; 
    transition: border 0.4s var(--ease); 
    
    &:hover {
        border-color: var(--e-global-color-primary);
    }
}

.reverse-btn {
    .elementor-button {
        &:after {
            display: none;
        }
        
        &:before {
            content: '←';
            transition: transform 0.4s var(--ease);
        }
        
        &:hover {
            gap: 14px;
            
            &:before {
                transform: translateX(-4px); 
            }
        }
    }
}


/* Images */

.img-still {
    height: 100%;
    position: relative;
    overflow: hidden;
    
    @media(max-width: 1024px) {
        height: auto;
        
        img {
            aspect-ratio: 4/3;
        }
    }
}


/* HEADER */

header {
    .elementor-sticky {
        border-bottom: 1px solid transparent;
        transition: background 0.4s var(--ease), backdrop-filter 0.4s var(--ease), -webkit-backdrop-filter 0.4s var(--ease), border-color 0.4s var(--ease);
        
        &.elementor-sticky--effects {
            background: color-mix(in oklch, var(--e-global-color-b3d892b) 85%, transparent);
            backdrop-filter: blur(14px);
            border-color: color-mix(in oklch, var(--e-global-color-primary) 6%, transparent);
        }
        
        @media(max-width: 767px) {
            background: color-mix(in oklch, var(--e-global-color-b3d892b) 85%, transparent);
            backdrop-filter: blur(14px);
            border-color: color-mix(in oklch, var(--e-global-color-primary) 6%, transparent);
        }
    }
}

.main-menu {
    .elementor-nav-menu {
        > .menu-item {
            position: relative;
            margin-right: clamp(16px, 2vw, 28px);
            
            &:before {
                content: '';
                height: 1px;
                background: var(--e-global-color-primary);
                transform: scaleX(0);
                transform-origin: right;
                transition: transform 0.4s var(--ease);
                position: absolute;
                bottom: -5px;
                left: 0;
                width: 100%;
                display: block;
            }
            
            &:hover {
                &:before {
                    transform: scaleX(1);
                    transform-origin: left;
                }
            }
            
            &:last-of-type {
                margin-right: 0;
            }
        }
    }
}

ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
    border-inline-start: 0 !important;
}

.wpml-ls {
    padding: 0 !important;
    border: none !important;
    
    ul {
        display: flex;
        align-items: center;
        gap: clamp(16px, 2vw, 28px);
    }
    
    a {
        margin: 0;
        padding: 0;
        transition: color 0.4s var(--ease);
    }
    
    .wpml-ls-current-language {
        a {
            color: var(--e-global-color-primary) !important;
        }
    }
}


/* HERO */

@keyframes kenBurns {
    0% {transform: scale(1.04) translateY(0);}
    100% {transform: scale(1.12) translateY(-2%);}
}

 @keyframes scrollLine {
     0% {transform: translateX(-100%);}
     50% {transform: translateX(0);}
     100% {transform: translateX(100%);}
}

.hero {
    height: 100vh;
    
    .hero-still {
        height: 100%;
        position: relative;
        overflow: hidden;
        
        img {
            animation: kenBurns 22s ease-in-out infinite alternate;
        }
    }
    
    @media(max-width: 1024px) {
        height: auto;
        
        .hero-still {
            height: auto;
            
            img {
                aspect-ratio: 4/3;
            }
        }
    }
}

@media (orientation: portrait) {
    .hero-slider {
        min-height: auto;
    }
}


/* MARQUEE */

@keyframes marquee {
    0% {transform: translateX(0);}
    100% {transform: translateX(-50%);}
}

.marquee {
    height: 70px;
    
    .marquee-track {
        display: flex;
        width: max-content;
        animation: marquee 55s linear infinite;
        will-change: transform;
    }
    
    .marquee-content {
        display: flex;
        align-items: center;
        gap: 60px;
        white-space: nowrap;
        padding-right: 60px;
        font-family: var(--e-global-typography-secondary-font-family);
        font-weight: var(--e-global-typography-secondary-font-weight);
        font-size: 28px;
        line-height: 1;
        color: var(--e-global-color-b3d892b);
        
        @media(max-width: 767px) {
            gap: 30px;
            padding-right: 30px;
            font-size: 20px;
        }
    }
    
    .marquee-separator {
        font-family: serif;
        font-size: 18px;
        line-height: 1;
        color: var(--e-global-color-accent);
        opacity: 0.6;
        display: inline-flex;
        align-items: center;
    }
}



/* TREATMENTS */

.treatment {
    transition: padding-left 0.5s var(--ease),  background 0.5s var(--ease);
    
    .treatment-name h3 {
        transition: font-style 0.4s var(--ease);
    }
    
    .treatment-go {
        transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
    }
    
    &:hover {
        padding-left: 28px; 
        background: color-mix(in oklch, var(--e-global-color-21c5687) 40%, transparent);
        
        .treatment-name h3 {
            font-style: italic !important;
        }
        
        .treatment-go {
            opacity: 1;
            transform: translateX(6px); 
        }
    }

}


/* GALLERY */

.gallery {
    .gallery-item {
        overflow: hidden;
        position: relative;
        
        .widget-image-caption {
            position: absolute;
            left: 0;
            bottom: 0;
            padding: 8px 12px;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            opacity: 0;
            transform: translateY(6px);
            transition: opacity 0.5s var(--ease), transform 0.5s var(--ease);
            font-style: normal;
        }
        
        &:hover {
            .widget-image-caption {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        &:nth-of-type(1) {
            grid-column: span 7;
            aspect-ratio: 3/2;
        }
        
        &:nth-of-type(2) {
            grid-column: span 5;
            aspect-ratio: 3/4;
        }
        
        &:nth-of-type(3) {
            grid-column: span 5;
            aspect-ratio: 4/3;
        }
        
        &:nth-of-type(4) {
            grid-column: span 7;
            aspect-ratio: 16/10;
        }
        
        @media(max-width: 1024px) {
            &:nth-of-type(1),
            &:nth-of-type(4) {
                grid-column: span 4;
            }
            
            &:nth-of-type(2),
            &:nth-of-type(3) {
                grid-column: span 2;
            }
        }
    }
}


/* TESTIMONIALS */

.testimonials {
    .swiper {
        padding-bottom: clamp(32px, 4vw, 56px) !important;
    }
    
    .elementor-testimonial {
        text-align: left !important;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        
        .elementor-testimonial__footer {
            justify-content: flex-start !important;
        }
        
        .elementor-testimonial__cite {
            flex-direction: row !important;
            gap: clamp(16px, 2vw, 28px);
        }
    }
    
    .swiper-pagination {
        bottom: 0 !important;
        
        .swiper-pagination-bullet {
            height: 2px !important;
            border-radius: 0 !important;
            transition: background 0.3s var(--ease), width 0.3s var(--ease) !important;
            
            &.swiper-pagination-bullet-active {
                width: 48px !important;
                
            }
        }
    }
}


/* FAQ */

.elementor-widget-n-accordion {
    .e-n-accordion-item {
        .e-n-accordion-item-title-header {
            transition: padding-left 0.5s var(--ease);
        }
        
        &:hover {
            .e-n-accordion-item-title-header {
                padding-left: 28px;
            }
        }
    }
    .e-opened {
        transform: rotate(45deg) !important;
    }
}


.otgs-development-site-front-end {
    display: none !important;
}


/* CARROUSEL PHOTOS */

.carrousel-photos {
    .elementor-background-slideshow__slide__image {
        box-shadow: 0px 0px 10px 0px var(--e-global-color-b3d892b) inset;
    }
}


/* VIDEO */

.video-shadow {
    position: relative;
    overflow: hidden;
}

.video-shadow .elementor-background-video-container {
    z-index: 0;
}

.video-shadow::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    box-shadow:
        0 0 10px 0 var(--e-global-color-b3d892b) inset;
}

/* Le contenu reste au-dessus de l’ombre */
.video-shadow > .e-con-inner,
.video-shadow > .elementor-element {
    position: relative;
    z-index: 2;
}

/* EXPLORE */

@property --gradient-position {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 40%;
}

@property --gradient-opacity {
    syntax: "<number>";
    inherits: false;
    initial-value: 0.5;
}

.box-explore {
    position: relative;
    filter: brightness(103%) contrast(105%) saturate(105%);
    transition: background-size 0.8s var(--ease);
    
    &:before {
        content: '';
        --gradient-position: 40%;
        --gradient-opacity: 0.5;
        background: linear-gradient(
        130deg,
        var(--e-global-color-primary) var(--gradient-position),
        rgb(26 24 20 / var(--gradient-opacity)) 80%
    );
        transition:
        --gradient-position 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        --gradient-opacity 0.8s ease;
    }
    
    &:hover {
        background-size: 105% !important;
        
        &:before {
            --gradient-position: 0%;
            --gradient-opacity: 0.25;
        }
        
        @media (max-width: 1365px) {
            background-size: 115% !important;
        }
        
        @media (max-width: 1024px) {
            background-size: 140% !important;
        }
        
        @media (max-width: 767px) {
            background-size: 105% !important;
        }
    }
}/* End custom CSS */