/*
* Theme Name: Inodia
* Description:
* Author: Vincent Michelet - Inodia
* Version: 1.0.0
*/

@layer init, third-party, variables, reset, core, structure, components, utility;

@font-face {
    font-family: 'Prompt';
    src: local('Prompt-Thin'),
         url('./static/fonts/subset-Prompt-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Prompt';
    src: local('Prompt-Light'),
         url('./static/fonts/subset-Prompt-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Prompt';
    src: local('Prompt-SemiBold'),
         url('./static/fonts/subset-Prompt-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Prompt';
    src: local('Prompt Bold'), local('Prompt-Bold'),
         url('./static/fonts/subset-Prompt-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Prompt';
    src: local('Prompt-ExtraBold'),
         url('./static/fonts/subset-Prompt-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Prompt Fallback';
    src: local(Arial);
    size-adjust: 111%;
    ascent-override: 94%;
    descent-override: 38%;
    line-gap-override: normal;
}

@font-face {
    font-family: 'Prompt Title Fallback';
    src: local(Arial);
    size-adjust: 116%;
    ascent-override: 104%;
    descent-override: 24%;
    line-gap-override: 2%;
}

@font-face {
	font-family: 'inodia-icons';
	src: url('./static/fonts/inodia-icons.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@layer variables {

    :root {
        color-scheme: light dark;

        --border-radius: 1rem;
        --border-width: 2px;
        --outline-width: 2px;

        --wrapper-size: 106rem;
        --wrapper-size-medium: 83rem;
        --wrapper-size-small: 60rem;
        --wrapper-size-mobile: 90%;
        --items-margin: clamp(.5rem, .151rem + 1.744vw, 2rem);
        --items-gap: calc(var(--items-margin) * 4) var(--items-margin);
        --items-min-size: 20rem;

        --logo-ratio: 145 / 90;
        --logo-height: clamp(2.5rem, 1.773rem + 3.634vw, 5.625rem);
        --padding-header: clamp(.5rem, .081rem + 2.907vw, 3rem);

        --dark-color: oklch(0.3339 0.0014 17.23);
        --light-color: oklch(0.9828 0.0086 84.57);

        --primary-color: light-dark(oklch(0.6603 0.0927 208.17), oklch(0.738 0.102 208.32));
        --primary-hover-color: light-dark(oklch(0.514 0.0843 210.17), oklch(0.5829 0.0784 208.84));
        --primary-active-color: light-dark(oklch(0.7014 0.0548 206.7), oklch(0.6945 0.0677 206.95));

        --secondary-color: light-dark(oklch(66.31% 0.19232 354.984), oklch(70.615% 0.16345 353.01));
        --secondary-hover-color: light-dark(oklch(53.767% 0.18358 357.21), oklch(58.762% 0.12824 353.045));
        --secondary-active-color: light-dark(oklch(64.045% 0.12517 352.113), oklch(67.522% 0.12384 351.793));

        --green-color: light-dark(oklch(50.926% 0.08559 192.721), oklch(66.195% 0.10619 192.537));

        --orange-color: light-dark(oklch(71.739% 0.17536 42.676), oklch(71.739% 0.17536 42.676));
        --orange-hover-color: light-dark(oklch(66.434% 0.18121 41.59), oklch(66.434% 0.18121 41.59));
        --orange-active-color: light-dark(oklch(66.787% 0.14227 43.668), oklch(66.787% 0.14227 43.668));

        --alert-danger-color: light-dark(oklch(58.59% 0.21458 24.279), oklch(70.919% 0.13936 17.357));
        --alert-success-color: light-dark(oklch(69.389% 0.13104 154.452), oklch(82.307% 0.1478 154.918));
        --alert-info-color: light-dark(oklch(62.31% 0.1881 259.83), oklch(80.61% 0.08979 260.028));

        --background-color: light-dark(var(--light-color), var(--dark-color));
        --background-grey: color-mix(in oklab, var(--background-color), var(--title-color) 5%);

        --border-color: var(--muted-color);
        --border-hover-color: var(--text-color);
        --border-focus-color: var(--primary-color);

        --title-color: light-dark(var(--dark-color), var(--light-color));
        --strong-color: oklch(from var(--title-color) l c h / .85);
        --text-color: oklch(from var(--title-color) l c h / .75);
        --muted-color: oklch(from var(--title-color) l c h / .6);
        --outline-color: oklch(from var(--title-color) l c h / .3);
        --shadow-color: oklch(from var(--title-color) l c h / .15);

        --font-title: 'Prompt', 'Prompt Title Fallback';
        --font-text: 'Prompt', 'Prompt Fallback';
        --font-icon: normal 400 var(--text-size-normal)/1 "inodia-icons";
        --line-height: 1.5;
        --letter-spacing: .02em;

        --h1-font-size: clamp(2rem, 1.070rem + 4.651vw, 6rem);
        --h2-font-size: clamp(2rem, 1.418rem + 2.907vw, 4.5rem);
        --h3-font-size: clamp(1.5rem, 1.035rem + 2.326vw, 3.5rem);
        --h4-font-size: clamp(1.25rem, .959rem + 1.453vw, 2.5rem);
        --text-size-big: clamp(1rem, .95rem + .25vw, 1.25rem);
        --text-size-normal: 1rem;
        --text-size-small: .75rem;

        --text-weight-normal: 300;
        --text-weight-medium: 600;
        --text-weight-bold: 700;

        --spacing-4xs: .25rem;
        --spacing-3xs: .5rem;
        --spacing-2xs: .75rem;
        --spacing-xs: 1rem;
        --spacing-sm: clamp(1rem, .884rem + .581vw, 1.5rem);
        --spacing-md: clamp(1.5rem, 1.384rem + .581vw, 2rem);
        --spacing-lg: clamp(2rem, 1.884rem + .581vw, 2.5rem);
        --spacing-xl: clamp(2.5rem, 2.151rem + 1.744vw, 4rem);
        --spacing-2xl: clamp(3rem, 2.535rem + 2.326vw, 5rem);
        --spacing-3xl: clamp(4rem, 3.302rem + 3.488vw, 7rem);
        --spacing-4xl: clamp(5rem, 4.302rem + 3.488vw, 8rem);
        --columns-gap: 7%;

        --box-shadow: 0 16px 24px -16px var(--shadow-color);
        --transition-default: all .3s ease-in-out, outline .1s ease-in-out;

        --triangles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='156' height='63' viewBox='0 0 156 63'%3E%3Cstyle%3E.st0%7Bfill:%23e85599%7D.st1%7Bfill:%23087573%7D%3C/style%3E%3Cpath d='M79 31.5 29 0v18.3l21 13.2-21 13.2V63z' class='st0'/%3E%3Cpath d='M0 0v63l29-18.3V18.3z' class='st1'/%3E%3Cpath d='M29 18.3v26.4l21-13.2z' style='fill:%23ff7548'/%3E%3Cpath d='M156 31.5 107.3 0v18.3l20.4 13.2-20.4 13.2V63z' style='fill:%233fa2b0'/%3E%3Cpath d='M79 0v63l28.3-18.3V18.3z' class='st1'/%3E%3Cpath d='M107.3 18.3v26.4l20.4-13.2z' class='st0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --logo-icon-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cstyle%3E.st0%7Bfill:%23087573%7D.st2%7Bfill:%23363635%7D%3C/style%3E%3Cpath d='M0 20v20h20C9 40 0 31 0 20zM20 40h20V20c0 11-9 20-20 20z' class='st0'/%3E%3Ccircle cx='20' cy='20' r='20' style='fill:%23fff'/%3E%3Cpath d='M2.1 11.1C.8 13.8 0 16.7 0 19.9h2.1v-8.8zM6.3 19.9V5.4c-.7.8-1.4 1.5-2.1 2.4v12.1h2.1zM10.5 19.9V2.4c-.7.4-1.4.8-2.1 1.3v16.2h2.1zM14.7 19.9V.7c-.7.2-1.4.4-2.1.7v18.5h2.1zM18.9 19.9V.1c-.7 0-1.4.1-2.1.2v19.6h2.1zM23.2 19.9V.3c-.7-.1-1.4-.2-2.1-.2v19.8h2.1zM27.4 19.9V1.4c-.7-.3-1.4-.5-2.1-.7v19.2h2.1zM31.6 19.9V3.7c-.7-.5-1.4-.9-2.1-1.3v17.5h2.1zM35.8 19.9V7.8c-.6-.8-1.3-1.6-2.1-2.3V20h2.1zM40 19.9c0-3.2-.8-6.1-2.1-8.8v8.8H40z' class='st2'/%3E%3Cpath d='M20.1 19.5c1 0 2 .1 2.9.4-.4.8-.7 1.7-.7 2.6 0 2.9 2.3 5.1 5.1 5.1 1 0 1.9-.2 2.6-.7.2.9.4 1.9.4 2.9 0 5.6-4.6 10.2-10.2 10.2S9.9 35.5 9.9 29.9s4.4-10.4 10.2-10.4' style='fill:%233fa2b0'/%3E%3C/svg%3E") center bottom / contain no-repeat;
        --logo-icon-pink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cstyle%3E.st0%7Bfill:%23e85599%7D.st2%7Bfill:%23363635%7D%3C/style%3E%3Cpath d='M0 20v20h20C9 40 0 31 0 20zM20 40h20V20c0 11-9 20-20 20z' class='st0'/%3E%3Ccircle cx='20' cy='20' r='20' style='fill:%23fff'/%3E%3Cpath d='M2.1 11.1C.8 13.8 0 16.7 0 19.9h2.1v-8.8zM6.3 19.9V5.4c-.7.8-1.4 1.5-2.1 2.4v12.1h2.1zM10.5 19.9V2.4c-.7.4-1.4.8-2.1 1.3v16.2h2.1zM14.7 19.9V.7c-.7.2-1.4.4-2.1.7v18.5h2.1zM18.9 19.9V.1c-.7 0-1.4.1-2.1.2v19.6h2.1zM23.2 19.9V.3c-.7-.1-1.4-.2-2.1-.2v19.8h2.1zM27.4 19.9V1.4c-.7-.3-1.4-.5-2.1-.7v19.2h2.1zM31.6 19.9V3.7c-.7-.5-1.4-.9-2.1-1.3v17.5h2.1zM35.8 19.9V7.8c-.6-.8-1.3-1.6-2.1-2.3V20h2.1zM40 19.9c0-3.2-.8-6.1-2.1-8.8v8.8H40z' class='st2'/%3E%3Cpath d='M20.1 19.5c1 0 2 .1 2.9.4-.4.8-.7 1.7-.7 2.6 0 2.9 2.3 5.1 5.1 5.1 1 0 1.9-.2 2.6-.7.2.9.4 1.9.4 2.9 0 5.6-4.6 10.2-10.2 10.2S9.9 35.5 9.9 29.9s4.4-10.4 10.2-10.4' style='fill:%233fa2b0'/%3E%3C/svg%3E") center bottom / contain no-repeat;
        --logo-icon-orange: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cstyle%3E.st0%7Bfill:%23fb783e%7D.st2%7Bfill:%23363635%7D%3C/style%3E%3Cpath d='M0 20v20h20C9 40 0 31 0 20zM20 40h20V20c0 11-9 20-20 20z' class='st0'/%3E%3Ccircle cx='20' cy='20' r='20' style='fill:%23fff'/%3E%3Cpath d='M2.1 11.1C.8 13.8 0 16.7 0 19.9h2.1v-8.8zM6.3 19.9V5.4c-.7.8-1.4 1.5-2.1 2.4v12.1h2.1zM10.5 19.9V2.4c-.7.4-1.4.8-2.1 1.3v16.2h2.1zM14.7 19.9V.7c-.7.2-1.4.4-2.1.7v18.5h2.1zM18.9 19.9V.1c-.7 0-1.4.1-2.1.2v19.6h2.1zM23.2 19.9V.3c-.7-.1-1.4-.2-2.1-.2v19.8h2.1zM27.4 19.9V1.4c-.7-.3-1.4-.5-2.1-.7v19.2h2.1zM31.6 19.9V3.7c-.7-.5-1.4-.9-2.1-1.3v17.5h2.1zM35.8 19.9V7.8c-.6-.8-1.3-1.6-2.1-2.3V20h2.1zM40 19.9c0-3.2-.8-6.1-2.1-8.8v8.8H40z' class='st2'/%3E%3Cpath d='M20.1 19.5c1 0 2 .1 2.9.4-.4.8-.7 1.7-.7 2.6 0 2.9 2.3 5.1 5.1 5.1 1 0 1.9-.2 2.6-.7.2.9.4 1.9.4 2.9 0 5.6-4.6 10.2-10.2 10.2S9.9 35.5 9.9 29.9s4.4-10.4 10.2-10.4' style='fill:%233fa2b0'/%3E%3C/svg%3E") center bottom / contain no-repeat;
        --logo-bzh-product: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cstyle%3E.st0%7Bfill:%230061ac%7D.st2%7Bfill:%23fff%7D.st3%7Bfill:%230062ae%7D%3C/style%3E%3Ccircle cx='40' cy='40' r='23.9' class='st0'/%3E%3Cpath d='M40 0C17.9 0 0 17.9 0 40s17.9 40 40 40 40-17.9 40-40S62.1 0 40 0zm0 64c-13.2 0-23.9-10.8-23.9-24S26.8 16.1 40 16.1 63.9 26.8 63.9 40 53.2 64 40 64z' style='fill:%23ffec00'/%3E%3Cpath d='M40 80C17.9 80 0 62.1 0 40S17.9 0 40 0s40 17.9 40 40-17.9 40-40 40zm0-77.9C19.1 2.1 2.1 19.1 2.1 40s17 37.9 37.9 37.9 37.9-17 37.9-37.9S60.9 2.1 40 2.1z' class='st0'/%3E%3Cpath d='M43.3 21.5H43c-.4-.8-1.3-1.4-2.5-1.4-1.1 0-2.1.6-2.5 1.4h-.3v1.3h5.7v-1.3zM53.7 20.4l-8.3 5.2 16.4 4.5c-1.8-3.9-4.6-7.3-8.1-9.7zM26.8 20.1c-3.8 2.5-6.8 6.1-8.7 10.4l17.6-4.9-8.9-5.5zM36.8 23.5h7.5v4.4h-7.5zM44.2 34.5l1.7-1v-3.1h-2l-.1-1.6h-6.6l-.2 1.6h-2v3.4l1.7.7-2.1 28.9c1.7.4 3.5.6 5.3.6 2.2 0 4.3-.3 6.3-.8l-2-28.7zm-3.5.4 2.7-.2.2 4.6-3 .5.1-4.9zm-.1 8.1 3.2-.6.3 6.9-3.7.5.2-6.8zm3.8 15.9-4.2.7.2-7.2 3.7-.6.3 7.1z' class='st2'/%3E%3Cpath d='M15.7 52.5c.6-.4.9-.6 1.4-.9.3.2 1.1 1.3 1.6 2 1.4 2.2.6 3.2-.2 3.6-.7.4-1.5.3-2.1-.1.4 1.1 0 2-.7 2.5-1.5 1-3.1.2-4.3-1.6-.4-.6-.9-1.6-1.1-2.1l5.4-3.4zm-3.5 4.4c.1.2.2.4.3.5.5.8 1.3 1 2.1.5.7-.4.8-1.2.2-2-.1-.2-.2-.3-.3-.4l-2.3 1.4zm3.1-2c.3.3.4.5.8 1.1.3.2.8.2 1.3-.2.7-.5.8-1.1.4-1.7-.1-.2-.3-.4-.4-.5l-2.1 1.3zM16.9 64c-.2.2-.3.2-.5 0-.3-.2-1-.8-1.2-1 .4-.4.9-.9 1.7-1.8l3-3.3c.4-.5.7-.7.9-1 .3.2 1.5 1.1 1.9 1.5 1.7 1.5 1.9 2.8.8 4-.8.9-2 .6-2.5.5 0 .4-.2 1.2-.4 2-.3 1.2-.4 1.9-.4 2.4-.1 0-.6-.4-1-.7-.4-.4-.6-.7-.5-1.3 0-.5.2-1.1.6-2.3.2-.8.1-1-.1-1.2l-.1-.1-2.2 2.3zm2.8-3c.2.2.7.7.9.7.2.1.8.2 1.4-.5.7-.7.6-1.5 0-2-.1-.1-.3-.2-.4-.3L19.7 61zM25.1 63c.3-.6.5-1 .8-1.5.4.1 1.1.4 1.6.7l2.8 1.5c-.4.6-.7.7-1 .8-.2 0-.7-.3-1.2-.6l-1-.6-1 1.9 2.4 1.4c-.6.8-1 .9-1.4.7l-1.7-.9-1.2 2.1c.3.2.5.4.9.6.5.3 1.3.7 2 1.1-.5.5-.8.7-1.3.7-.2-.1-.8-.4-1.7-.9-1.1-.6-1.8-1.1-2-1.3l-.1-.3 3.1-5.4zM32.4 65.7l-2.2-.6c-.2-.1-.3-.2-.1-.5.3-.4.5-.6.7-.7.2.1.6.2 1.8.6l4.7 1.3c-.3.8-.8 1-1.1 1l-1.9-.5-1.4 5.2c-.2.9-.3 1.3-.4 1.6-.4 0-1-.2-1.6-.3-.2-.1-.3-.1-.2-.3l1.7-6.8zM38 71.8c-.3.6-.6 1.6-.8 2-.1.1-.2.2-.5.2s-1-.1-1.3-.2v-.1c.7-1.6 2.9-6.4 3.4-7.7l-.1-.2c.6-.1 1.5-.1 1.6-.1.1 0 .2.1.3.3.6 1.5 1.4 4 1.8 5.2.5 1.4.8 2.3 1.1 2.9V74c-.3.1-1.4.1-1.7.1-.2 0-.3-.1-.5-.5-.2-.7-.4-1.2-.6-1.8H38zm2.5-1.2c-.5-1.6-.8-2.5-1-3-.3.8-.7 1.8-1.1 2.9l2.1.1zM50.2 69.6c-.1-.4-.2-.7-.3-1 .5-.2 1.1-.5 1.5-.6.2-.1.3 0 .4.3l.8 2.9c-.2.3-.6.7-.9 1-.4.3-1.1.6-1.7.7-2.1.6-4.7.3-5.5-3-.7-2.7.9-4.8 3.4-5.5 1.4-.4 2.5-.2 2.9 0 .2.6-.1 1.1-.6 1.1-.6-.1-1.3-.1-2 .1-1.5.4-2.4 1.6-1.8 3.6.6 2.1 2.2 2.7 3.6 2.4.3-.1.6-.2.7-.3l-.5-1.7zM51.2 63.8c.2-.2 1.3-1 1.5-1.2.1-.1.3-.1.5 0 .7.3 2.4 1.1 3.7 1.8 1 .5 1.7.9 2.4 1.3-.5-.7-.7-1-1.1-1.6l-2-3.1c-.2-.3-.1-.4.1-.5.3-.3.7-.5 1-.7.3.5.7 1.2 1.3 2.1l3.1 4.9c-.1.1-.7.7-1.1 1-.2.1-.3.1-.5 0-.9-.4-1.7-.8-3.4-1.6-1.4-.7-2.1-1.1-3.1-1.7.7 1 1.1 1.6 1.4 2.1l1.9 2.9c.1.2.1.3-.1.5s-.6.5-1 .7c-.3-.5-.7-1.1-1.3-2.1l-3-4.7-.3-.1zM59.3 60.3c-.5-.4-.8-.7-1.3-1.1.2-.4.6-.9 1-1.4l2.1-2.3c.5.6.5.9.6 1.1-.1.2-.4.6-.8 1l-.8.9 1.6 1.4 1.9-2.1c.7.8.6 1.2.3 1.5l-1.3 1.4 1.8 1.6c.3-.2.5-.4.8-.7.4-.4 1-1.1 1.5-1.7.4.6.4 1 .4 1.4-.1.2-.5.7-1.2 1.4-.8.9-1.4 1.5-1.7 1.7h-.3l-4.6-4.1zM13.3 21.5l-1.2-.9c.1-.3.5-.9 1-1.6 1-1.4 2.2-2 3.5-.9 1.3 1 .9 2.5.5 3l-.4.4c-.2.1-.6.1-.9-.2l.2-.2c.3-.4.5-1.1-.3-1.7-.7-.6-1.3-.3-1.7.2-.1.1-.1.2-.2.3l3.6 2.8c.6.5.8.6 1 .8-.1.2-.5.9-.7 1.1-.1.1-.2.2-.3.1l-4.1-3.2zM21.9 19.2c.1.2.1.2 0 .4l-.9.9c-.3-.3-.7-.8-1.3-1.5l-2.4-2.8c-.3-.4-.5-.6-.7-.8.2-.2 1-1.1 1.4-1.4 1.4-1.2 2.4-1.3 3.3-.3.6.8.3 1.7.1 2.1.3 0 .9.2 1.6.5 1 .4 1.5.5 1.9.6 0 .1-.3.5-.7.7-.3.3-.6.4-1.1.3-.4-.1-.9-.3-1.8-.7-.6-.3-.8-.2-1 0l-.1.1 1.7 1.9zm-2.2-2.5c.2-.1.6-.5.7-.7.1-.2.2-.6-.3-1.2s-1.2-.6-1.7-.2l-.3.3 1.6 1.8zM29.7 10.5c.9 1.8.5 3.8-1.5 4.9-2.2 1.1-3.9 0-4.7-1.6C22.6 12 23.1 10 25 9c2-1.1 3.9-.2 4.7 1.5zm-4.8 2.4c.8 1.6 2 2 2.9 1.5 1-.5 1.2-1.7.4-3.1-.7-1.3-1.8-2.1-2.9-1.5-.8.5-1.2 1.5-.4 3.1zM31.3 9.6c-.1-.7-.2-.9-.3-1.1.3-.1 1.3-.5 2.2-.7 3-.6 4 1.1 4.2 2.4.5 2.2-.9 3.7-3 4.1-.8.2-1.4.2-2.1.3l-1-5zm2.4 3.9c.3 0 .5 0 .7-.1.7-.2 2-.8 1.6-2.9-.3-1.5-1.3-2.1-2.7-1.8-.3.1-.4.1-.6.2l1 4.6zM40.6 10.5c-.1 1.8.6 2.2 1.3 2.2.8 0 1.4-.3 1.5-2.1l.2-3.1c0-.2.1-.2.3-.2H45c0 .4-.1 1-.1 1.9l-.1 1.5c-.1 2.9-1.7 3.2-3 3.2-1.8-.1-2.7-1.1-2.6-3.3l.1-2.1V7.2h1.3c.2 0 .2.1.2.6l-.2 2.7zM47 9.1c.2-.7.2-1.1.3-1.3.2 0 1 .2 1.3.2.2 0 .2.2.1.6l-1.1 4.5c-.2.7-.2 1-.3 1.3-.2 0-1-.1-1.3-.2-.2 0-.2-.1-.2-.3L47 9.1zM52 10.2l-1.7-.7c-.2-.1-.2-.2 0-.4.2-.3.4-.4.6-.5.2.1.4.2 1.3.6l3.5 1.4c-.3.6-.7.7-.9.7l-1.4-.6-1.6 3.9c-.3.7-.4 1-.5 1.2-.3-.1-.7-.2-1.2-.4-.2-.1-.2-.1-.2-.3l2.1-4.9zM58.7 14.3c.3-.4.5-.7.8-1 .3.2.8.4 1.1.7l1.9 1.5c-.3.4-.5.5-.7.5-.2-.1-.5-.3-.9-.6l-.7-.6-1 1.3 1.7 1.4c-.6.6-.9.6-1.2.3l-1.2-.9-1.2 1.5c.2.2.3.4.6.6.3.3.9.8 1.4 1.1-.4.3-.7.4-1.1.4-.1-.1-.5-.4-1.2-.9-.7-.6-1.2-1-1.4-1.2V18l3.1-3.7zM64.2 17.1c.2.1.9.9 1.1 1.1.1.1.1.2 0 .4-.2.6-.6 1.9-1.1 3-.3.8-.5 1.4-.8 2 .5-.5.7-.7 1.1-1l2.3-1.8c.2-.2.3-.1.4 0 .2.2.5.5.6.7-.4.3-.8.6-1.5 1.2l-3.5 2.9c-.1-.1-.6-.5-.9-.8-.1-.1-.1-.2-.1-.4.2-.8.5-1.4.9-2.8.4-1.1.7-1.7 1.1-2.6-.7.7-1.1 1-1.5 1.3l-2 1.7c-.2.1-.2.1-.4 0-.1-.1-.4-.4-.6-.7.3-.2.8-.6 1.5-1.2l3.4-2.7v-.3z' class='st3'/%3E%3Cpath d='M68.7 46.5c-2.7-.9-5.5.3-6.4 3.1-.9 2.7.3 5.5 3.2 6.5 2.9 1 5.5-.4 6.5-3.2.8-2.6-.5-5.4-3.3-6.4zm1.4 5.9c-.1.3-.3.6-.5.8-.2.2-.4.4-.7.6-.3.1-.5.2-.9.2v-1c.2 0 .5-.1.7-.2.2-.2.4-.4.5-.7.1-.2.1-.4.1-.6 0-.2-.1-.4-.2-.5-.1-.1-.3-.2-.5-.3-.2-.1-.5-.1-.7 0-.2.1-.4.2-.6.4-.2.2-.3.5-.4.8-.1.2-.1.4-.1.7 0 .2 0 .4.1.6l-3-1.6 1-3 1 .3-.7 2 1.1.6c.1-.6.3-1.1.6-1.4.2-.2.3-.4.5-.5.2-.1.5-.2.7-.2.3 0 .5 0 .8.1.4.1.8.4 1 .7.2.3.4.6.4 1s0 .8-.2 1.2z' class='st0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --star: polygon( 84% 51.5%,84% 51.5%,79.594% 53.335%,75.388% 55.528%,71.405% 58.063%,67.664% 60.924%,64.188% 64.094%,60.996% 67.556%,58.111% 71.294%,55.552% 75.292%,53.342% 79.533%,51.5% 84%,50% 88.25%,48.5% 84%,48.5% 84%,46.665% 79.594%,44.472% 75.388%,41.937% 71.405%,39.076% 67.664%,35.906% 64.188%,32.444% 60.996%,28.706% 58.111%,24.708% 55.552%,20.467% 53.342%,16% 51.5%,11.75% 50%,16% 48.5%,16% 48.5%,20.407% 46.665%,24.612% 44.472%,28.596% 41.937%,32.336% 39.076%,35.813% 35.906%,39.004% 32.444%,41.89% 28.706%,44.448% 24.708%,46.659% 20.467%,48.5% 16%,50% 11.75%,51.5% 16%,51.5% 16%,53.335% 20.407%,55.528% 24.612%,58.063% 28.596%,60.924% 32.336%,64.094% 35.813%,67.556% 39.004%,71.294% 41.89%,75.292% 44.448%,79.533% 46.659%,84% 48.5%,88.25% 50%,84% 51.5%,50% 0%,50% 0%,41.918% 0.658%,34.24% 2.56%,27.073% 5.603%,20.52% 9.68%,14.688% 14.688%,9.68% 20.52%,5.603% 27.073%,2.56% 34.24%,0.658% 41.918%,0% 50%,0% 50%,0.658% 58.083%,2.56% 65.76%,5.603% 72.928%,9.68% 79.48%,14.688% 85.313%,20.52% 90.32%,27.073% 94.398%,34.24% 97.44%,41.918% 99.343%,50% 100%,50% 100%,58.083% 99.343%,65.76% 97.44%,72.928% 94.398%,79.48% 90.32%,85.313% 85.313%,90.32% 79.48%,94.398% 72.928%,97.44% 65.76%,99.343% 58.083%,100% 50%,100% 50%,99.343% 41.918%,97.44% 34.24%,94.398% 27.073%,90.32% 20.52%,85.313% 14.688%,79.48% 9.68%,72.928% 5.603%,65.76% 2.56%,58.083% 0.658%,50% 0% );
        --stars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='234' height='144' viewBox='0 0 234 144'%3E%3Cpath d='M210.9 74.2c-21.7 7.8-38.9 25-46.7 46.7l-2.2 6.2-2.2-6.2c-7.8-21.7-25-38.9-46.7-46.7l-6.2-2.2 6.2-2.2c21.8-7.8 38.9-25 46.7-46.7l2.2-6.2 2.2 6.2c7.8 21.7 25 38.9 46.7 46.7l6.2 2.2-6.2 2.2zM162 0c-39.8 0-72 32.2-72 72s32.3 72 72 72 72-32.2 72-72-32.3-72-72-72z' style='fill:%23ff7548'/%3E%3Cpath d='M77.8 99.1c-14 5-25 16.1-30.1 30l-1.4 4-1.4-4c-5.1-14-16.1-25-30.1-30l-4-1.4 4-1.4c14-5 25-16.1 30.1-30l1.4-4 1.4 4c5.1 14 16.1 25 30.1 30l4 1.4-4 1.4zM46.3 51.3C20.7 51.3 0 72.1 0 97.7 0 123.3 20.7 144 46.3 144s46.3-20.7 46.3-46.3c.1-25.6-20.7-46.4-46.3-46.4z' style='fill:%23e85599'/%3E%3C/svg%3E") center center / contain no-repeat;
        --hourglass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M0 40c0-11 9-20 20-20s20 9 20 20' style='fill:%23ff7548'/%3E%3Cpath d='M40 0c0 11-9 20-20 20S0 11 0 0' style='fill:%23e85599'/%3E%3C/svg%3E") center center / contain no-repeat;
        --arrow-orange: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M40 35.8V0H4.2' style='fill:%23ff7548'/%3E%3Cpath d='M.6 20.7h25.1v12.2H.6z' style='fill:%233fa2b0' transform='rotate(-45.001 13.212 26.785)'/%3E%3C/svg%3E") center center / contain no-repeat;
        --arrow-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M40 35.8V0H4.1' style='fill:%23087573'/%3E%3Cpath d='M.6 20.7h25.1v12.2H.6z' style='fill:%23fb783e' transform='rotate(-44.984 13.208 26.8)'/%3E%3C/svg%3E") center center / contain no-repeat;
        --stairs: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M30 30H20v10h20V30z' style='fill:%23ff7548'/%3E%3Cpath d='M40 10H30v10h10V10z' style='fill:%23e85599'/%3E%3Cpath d='M40 10V0H30v10H20v10H10v10H0v10h20V30h20V20H30V10z' style='fill:%233fa2b0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --profile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 14.1c-4 0-7.2-3.2-7.2-7.1 0-3.8 3.2-7 7.2-7s7.2 3.2 7.2 7.1c0 3.9-3.2 7-7.2 7z' style='fill:%23e85599'/%3E%3Cpath d='M40 40c0-11.7-9-21.2-20-21.2S0 28.3 0 40h40z' style='fill:%233fa2b0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --profile-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 14.1c-4 0-7.2-3.2-7.2-7.1 0-3.8 3.2-7 7.2-7s7.2 3.2 7.2 7.1c0 3.9-3.2 7-7.2 7z' style='fill:%23e85599'/%3E%3Cpath d='M40 40c0-11.7-9-21.2-20-21.2S0 28.3 0 40h40z' style='fill:%23087573'/%3E%3C/svg%3E") center center / contain no-repeat;
        --heart-orange: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Cpath d='m20 32 17.6-17.7c3.2-3.3 3.2-8.6 0-11.8-3.2-3.3-8.5-3.3-11.7 0L8.3 20.2 20 32z' style='fill:%23ff7548'/%3E%3Cpath d='m20 8.3-5.9-5.9C10.9-.9 5.6-.9 2.4 2.4-.8 5.7-.8 11 2.4 14.2l5.8 5.9L20 8.3z' style='fill:%23087573'/%3E%3C/svg%3E") center center / contain no-repeat;
        --forward: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='40' viewBox='0 0 31 40'%3E%3Cpath d='M31 20 11.4 0v11.6l8.2 8.4-8.2 8.4V40z' style='fill:%23e85599'/%3E%3Cpath d='M0 0v40l11.4-11.6V11.6z' style='fill:%23087573'/%3E%3Cpath d='M11.4 11.6v16.8l8.2-8.4z' style='fill:%23ff7548'/%3E%3C/svg%3E") center center / contain no-repeat;
        --quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='52' viewBox='0 0 76 52'%3E%3Cstyle%3E.st0%7Bfill:%233fa2b0%7D%3C/style%3E%3Cpath d='M0 33.8h17.2V52h17.2V0H0v33.8zM41.6 0v33.8h17.2V52H76V0H41.6z' class='st0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --text-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cstyle%3E.st0%7Bfill:%23e85599%7D%3C/style%3E%3Cpath d='M62.2 27.2c-1.1.3-2.1.4-2.9.3l-1.9-4.1c1 .1 2.1 0 3.1-.2s1.9-.5 2.7-.8c1.2-.5 1.6-1.1 1.3-1.7-.1-.3-.3-.4-.6-.5-.3-.1-.6-.2-1-.2h-2c-1.7 0-3.1-.2-4.1-.6-1-.4-1.8-1.2-2.3-2.3-.4-.9-.5-1.9-.4-2.8.2-1 .6-1.9 1.4-2.7.7-.8 1.7-1.5 2.9-2.1 1-.5 1.9-.8 2.7-1 .8-.2 1.7-.3 2.6-.3l1.8 4c-1.6-.1-3.1.1-4.5.8-.6.3-1 .6-1.3.9-.3.3-.3.7-.2 1 .1.3.4.5.8.6.4.1 1.2.1 2.2 0h.6c1.3-.1 2.3 0 3.1.2.8.2 1.4.5 1.9.9s1 1.1 1.4 1.9c.7 1.5.7 2.9 0 4.2-.7 1.3-2.1 2.5-4.3 3.5-.8.4-1.8.8-3 1zM73.7 21.5c-1-.6-1.7-1.6-2.2-3l-1.2-3.9-1.6.5-1-3.2 1.6-.5-1-3.4L73 6.6l1.1 3.4 2.5-.8 1 3.2-2.5.8 1 3.2c.2.6.4.9.7 1.1.3.2.7.2 1.2 0 .6-.2 1.1-.5 1.5-.9l1.1 3.5c-.4.3-.8.6-1.3.9-.5.3-1.1.5-1.8.7-1.6.4-2.8.3-3.8-.2zM82.1 18.8c-1-.8-1.5-1.9-1.7-3.4l-1-7.1 4.9-.7.9 6.5c.2 1.2.8 1.7 1.8 1.6.5-.1.9-.2 1.2-.5s.6-.6.8-1.1l-1-7 4.9-.7 1.7 11.7-4.8.7-.2-1.1c-.4.6-1 1-1.6 1.4-.7.3-1.4.6-2.1.7-1.6.1-2.9-.2-3.8-1zM98.6 17.5c-.9-.6-1.7-1.3-2.1-2.3-.5-1-.7-2.1-.7-3.3 0-1.2.3-2.3.9-3.3.5-.8 1.3-1.6 2.3-2.1 1-.5 2.1-.7 3.4-.7.8 0 1.5.2 2.1.4.7.2 1.2.6 1.6 1l.3-7.2 5 .2-.6 18.2-4.8-.2v-1.1c-.5.5-1.1.8-1.8 1s-1.4.3-2.2.3c-1.4 0-2.5-.3-3.4-.9zm6.3-3.2c.4-.2.8-.6 1-1.1l.1-1.9c-.2-.5-.5-.8-.9-1.1-.4-.3-.9-.4-1.5-.4-.8 0-1.4.2-1.9.6-.5.4-.7 1-.7 1.8s.2 1.4.6 1.8c.4.4 1 .7 1.8.7.5 0 1-.2 1.5-.4zM114.5 7.2l4.9.9-2.1 11.6-4.9-.9 2.1-11.6zm1-1.9c-.4-.6-.5-1.2-.4-1.9.1-.7.5-1.3 1.1-1.7.6-.4 1.2-.5 2-.4.7.1 1.3.5 1.7 1 .4.6.6 1.2.4 1.9-.1.7-.5 1.3-1.1 1.6-.6.4-1.2.5-1.9.4-.8 0-1.4-.3-1.8-.9zM122.2 20.4c-.9-.9-1.5-1.8-1.8-2.9-.3-1.1-.2-2.2.1-3.4.4-1.1 1-2.1 1.9-2.8.9-.7 1.9-1.2 3.2-1.3 1.2-.2 2.6 0 4 .4 1.4.5 2.6 1.1 3.5 2 .9.9 1.5 1.8 1.8 2.9.3 1.1.2 2.2-.1 3.3-.4 1.2-1 2.1-1.9 2.8-.9.7-1.9 1.2-3.2 1.3-1.3.2-2.6 0-4-.5-1.4-.3-2.6-1-3.5-1.8zm6.6-1.8c.6-.3 1-.8 1.2-1.5.2-.7.2-1.3-.1-1.9-.3-.6-.8-.9-1.5-1.2-.7-.2-1.3-.2-1.9.1-.5.3-.9.8-1.2 1.5-.2.7-.2 1.4.1 1.9s.8.9 1.5 1.2c.7.2 1.4.2 1.9-.1zM150.4 13.9l4.3 2.8-7.1 10.8 5.9 3.8-2.4 3.6-10.1-6.6 9.4-14.4zM153.9 36.5c-.4-1.3-.4-2.6-.1-3.9.4-1.3 1.1-2.5 2.1-3.6l6.7-7.1 3.8 3.5-6.6 7.1c-.7.8-1.1 1.5-1.1 2.3 0 .7.4 1.4 1.1 2.1.7.7 1.4 1 2.2.9.7-.1 1.5-.5 2.2-1.2l6.6-7.1 3.8 3.5-6.7 7.1c-1 1.1-2.2 1.9-3.4 2.4-1.2.5-2.5.5-3.9.2-1.3-.3-2.7-1.1-4-2.3-1.4-1.4-2.2-2.6-2.7-3.9zM177.8 36.5l3.7 5.2c1.1 1.6 1.8 3.1 2.1 4.7.3 1.6.1 3-.5 4.4-.6 1.4-1.6 2.6-3 3.6-2.4 1.7-4.6 2.2-6.8 1.7-2.2-.5-4.2-2-5.9-4.4l-3.7-5.2 14.1-10zm-6.8 13c.7 1 1.6 1.6 2.7 1.7 1 .1 2.1-.2 3.3-1 1-.7 1.6-1.6 1.9-2.6.3-1 0-2-.7-3l-1-1.4-7.1 5 .9 1.3zM180.5 60.5l7.1-10.2 2.3 4.9-4 5.6 7 .8 2.3 4.9-12.5-1.4-6 2.8-2.2-4.6 6-2.8zM179.5 75.5c-.1-1.1 0-2.1.2-2.8l4.4-1.1c-.2 1-.4 2-.4 3s.1 2 .4 2.8c.3 1.2.8 1.7 1.5 1.6.3-.1.5-.2.6-.5.2-.2.3-.6.4-1 .1-.4.2-1.1.3-1.9.3-1.7.7-3 1.3-3.9.6-.9 1.5-1.5 2.7-1.8 1-.3 1.9-.2 2.9.1.9.3 1.7 1 2.4 1.8.7.9 1.2 1.9 1.6 3.2.3 1.1.4 2 .5 2.8 0 .9 0 1.7-.2 2.6l-4.2 1.1c.4-1.6.4-3.1 0-4.5-.2-.6-.4-1.1-.7-1.4-.3-.3-.6-.5-1-.4-.4.1-.6.3-.7.7-.1.4-.3 1.1-.4 2.2l-.1.6c-.2 1.2-.4 2.2-.7 3-.3.7-.7 1.3-1.2 1.7-.5.4-1.2.8-2.2 1-1.6.4-3 .2-4.2-.7-1.2-.9-2.1-2.5-2.7-4.8-.2-1.2-.4-2.3-.5-3.4zM183.6 94.6c.3-.3.7-.5 1.2-.6.5 0 .9.1 1.3.4.4.3.5.7.6 1.2 0 .5-.1.9-.4 1.2-.3.4-.7.5-1.2.6-.5 0-.9-.1-1.2-.4-.4-.3-.5-.7-.6-1.2-.1-.4 0-.9.3-1.2zM182.9 108.8c.4-1.1.8-1.9 1.3-2.5l4.5.7c-.6.8-1.1 1.7-1.5 2.6-.4.9-.7 1.8-.8 2.7-.2 1.3 0 1.9.7 2 .3 0 .5 0 .8-.2.2-.2.5-.4.7-.8.2-.3.6-.9 1.1-1.7.9-1.5 1.9-2.5 2.8-3.1.9-.6 2-.8 3.2-.6 1 .2 1.9.6 2.6 1.2.7.7 1.2 1.6 1.5 2.6.3 1.1.3 2.3.1 3.6-.2 1.1-.4 2-.7 2.8-.3.8-.7 1.6-1.2 2.3l-4.3-.7c1-1.3 1.6-2.7 1.8-4.2.1-.6.1-1.2 0-1.6-.1-.4-.4-.7-.7-.7-.4-.1-.7.1-1 .4-.3.3-.7.9-1.2 1.8l-.3.5c-.7 1.1-1.3 1.9-1.8 2.5-.6.6-1.2.9-1.8 1.1-.7.2-1.4.2-2.4.1-1.6-.2-2.8-1-3.5-2.3-.7-1.3-.9-3.1-.6-5.5.1-.9.3-1.9.7-3zM181.5 121.4c1.1-.5 2.3-.6 3.7-.2l4 1.1.5-1.6 3.2.9-.5 1.6 3.4 1-1.4 4.8-3.4-1-.7 2.5-3.2-.9.7-2.5-3.3-.9c-.6-.2-1-.2-1.3 0-.3.1-.5.5-.7 1-.2.6-.2 1.2 0 1.8l-3.5-1c-.1-.5-.1-1 0-1.6 0-.5.2-1.2.4-1.9.3-1.6 1.1-2.6 2.1-3.1zM179.1 129.8c1.2-.4 2.5-.2 3.9.4l6.6 3-2.1 4.5-6-2.7c-1.1-.5-1.9-.3-2.3.7-.2.4-.3.9-.2 1.3.1.4.2.9.5 1.2l6.5 2.9-2.1 4.5-10.8-4.9 2-4.3 1 .5c-.2-.7-.3-1.3-.3-2.1.1-.7.2-1.4.6-2.1.6-1.6 1.5-2.5 2.7-2.9zM171.1 144.2c1-.5 2-.7 3.1-.5 1.1.1 2.1.5 3.2 1.3 1 .7 1.8 1.6 2.2 2.5.5 1 .7 2 .5 3.1-.1 1.1-.5 2.1-1.3 3.1-.4.6-.9 1.1-1.5 1.5-.6.4-1.1.7-1.7.8l5.9 4.2-2.9 4-15-10.5 2.8-3.9.9.6c-.1-.7-.1-1.4.1-2.1.2-.7.5-1.4 1-2 .9-.8 1.7-1.6 2.7-2.1zm-.7 7c0 .5.1 1 .3 1.4l1.6 1.1c.5.1 1 0 1.5-.2s.9-.5 1.2-1c.4-.6.6-1.3.5-1.9-.1-.6-.5-1.1-1.1-1.6-.6-.4-1.3-.6-1.9-.5-.6.1-1.1.5-1.6 1.1-.3.6-.5 1.1-.5 1.6zM171 163.1l-3.4 3.6-8.7-8.1 3.4-3.6 8.7 8.1zm1.1 1.8c.7 0 1.3.2 1.8.7.5.5.8 1.1.8 1.8s-.2 1.3-.7 1.8c-.5.5-1.1.8-1.8.8s-1.3-.2-1.8-.7c-.5-.5-.8-1.1-.8-1.8s.2-1.3.7-1.8c.5-.5 1.1-.7 1.8-.8zM155.7 162.2c1.2-.3 2.4-.3 3.4.1 1.1.4 2 1 2.8 2 .8.9 1.2 2 1.3 3.1.1 1.1-.1 2.2-.6 3.4-.5 1.1-1.4 2.2-2.6 3.1-1.2 1-2.4 1.6-3.6 1.9-1.2.3-2.4.3-3.5-.1s-2-1-2.8-1.9c-.8-.9-1.2-2-1.3-3.1-.1-1.1.1-2.2.6-3.4.5-1.1 1.4-2.2 2.6-3.1 1.3-1.1 2.5-1.7 3.7-2zm-2.1 6.5c-.1.6.1 1.2.6 1.8.5.6 1 .9 1.6 1 .6.1 1.2-.1 1.8-.6.6-.5.9-1 1-1.6.1-.6-.1-1.2-.6-1.8-.5-.6-1-.9-1.6-1-.6-.1-1.2.1-1.8.6-.7.4-1 1-1 1.6zM145.6 189.2l-4.7 2-5.2-11.8-6.4 2.8-1.7-3.9 11.1-4.8 6.9 15.7zM124.7 179.7c1.3.4 2.4 1.1 3.3 2.1.9 1 1.5 2.3 1.8 3.7l2.3 9.4-5 1.2-2.3-9.4c-.3-1-.7-1.7-1.3-2.1-.6-.4-1.4-.5-2.4-.3-.9.2-1.6.7-2 1.3-.4.6-.4 1.5-.2 2.5l2.3 9.4-5 1.2-2.3-9.4c-.4-1.5-.4-2.9-.1-4.2.3-1.3.9-2.4 2-3.3 1-.9 2.4-1.6 4.2-2.1 1.8-.3 3.4-.3 4.7 0zM111.6 199.4l-6.4.2c-1.9.1-3.6-.2-5.1-.9-1.5-.6-2.6-1.6-3.4-2.8-.8-1.3-1.3-2.7-1.3-4.5-.1-2.9.7-5 2.3-6.6 1.6-1.5 4-2.3 6.9-2.5l6.4-.2.6 17.3zm-7.2-12.6c-1.3 0-2.2.5-2.9 1.3s-1 1.9-.9 3.3c0 1.2.4 2.2 1.1 3 .7.8 1.7 1.1 2.9 1.1l1.7-.1-.3-8.6h-1.6zM89.8 188.5l4.7 11.5-5.4-.8-2.5-6.4-4.5 5.3-5.4-.8 8.1-9.6 1-6.5 5.1.7-1.1 6.6zM77.7 179.5c1 .6 1.8 1.1 2.3 1.7l-1.4 4.3c-.7-.8-1.5-1.4-2.4-2-.9-.5-1.7-1-2.6-1.2-1.2-.4-1.9-.3-2.1.4-.1.3-.1.5 0 .8.1.3.3.5.6.8.3.3.8.7 1.5 1.4 1.3 1.2 2.2 2.2 2.6 3.2.4 1 .4 2.1 0 3.2-.3 1-.9 1.7-1.7 2.3-.8.6-1.8.9-2.9 1-1.1.1-2.3-.1-3.6-.5-1-.3-1.9-.7-2.7-1.2-.7-.4-1.4-1-2.1-1.6l1.4-4.1c1.1 1.2 2.4 2 3.8 2.5.6.2 1.2.3 1.6.2.4-.1.7-.3.8-.6.1-.3 0-.7-.2-1-.3-.3-.8-.8-1.6-1.5l-.4-.4c-1-.8-1.7-1.6-2.1-2.2-.5-.6-.7-1.3-.8-2-.1-.7 0-1.5.4-2.3.5-1.5 1.5-2.6 2.9-3.1s3.3-.4 5.5.4c1.2.5 2.3.9 3.2 1.5zM59.4 172.4c.1.4.1.9-.2 1.3-.2.4-.6.7-1.1.8-.5.1-.9.1-1.3-.2-.4-.2-.7-.6-.8-1.1-.1-.5-.1-.9.2-1.3.2-.4.6-.6 1-.8.5-.1.9-.1 1.3.2s.8.7.9 1.1zM54.1 168.6c.8.8 1.3 1.6 1.7 2.3l-2.7 3.6c-.4-.9-1-1.8-1.6-2.6-.7-.8-1.3-1.4-2-2-1-.8-1.7-.9-2.1-.3-.2.2-.2.5-.2.8 0 .3.1.6.3 1 .2.4.5 1 1 1.7.9 1.5 1.4 2.8 1.4 3.9.1 1.1-.2 2.1-1 3.1-.6.8-1.4 1.4-2.3 1.7-.9.3-2 .3-3 .1-1.1-.2-2.2-.8-3.2-1.6-.9-.6-1.6-1.3-2.2-1.9-.6-.6-1.1-1.3-1.5-2.1l2.6-3.5c.7 1.5 1.6 2.7 2.8 3.6.5.4 1 .6 1.4.7.4.1.8 0 1-.3.2-.3.2-.6.1-1-.2-.4-.5-1-1.1-1.9l-.3-.5c-.7-1.1-1.1-2-1.3-2.7-.2-.8-.3-1.5-.1-2.1.1-.7.5-1.4 1.1-2.1 1-1.3 2.2-2 3.7-2s3.2.7 5.2 2.1c.7.5 1.6 1.2 2.3 2zM43.5 161.5c0 1.2-.5 2.3-1.6 3.3l-2.9 3 1.2 1.1-2.3 2.4-1.2-1.1-2.5 2.5-3.6-3.4 2.5-2.5-1.9-1.8 2.3-2.4 1.9 1.8 2.4-2.4c.4-.4.6-.8.6-1.1 0-.3-.2-.7-.5-1.1-.4-.4-1-.7-1.6-.8l2.6-2.6c.5.2 1 .4 1.4.7.4.3 1 .7 1.5 1.2 1.2.9 1.8 2 1.7 3.2zM37.2 155.4c-.2 1.2-1 2.3-2.2 3.2l-5.7 4.4-3-3.9 5.3-4c1-.7 1.1-1.5.5-2.3-.3-.4-.6-.6-1.1-.8-.4-.2-.9-.2-1.3-.1l-5.6 4.3-3-3.9 9.5-7.2 2.9 3.8-.9.7c.7.1 1.4.3 2 .7.6.4 1.2.9 1.6 1.5.9 1.2 1.3 2.4 1 3.6zM28.1 141.7c0 1.1-.4 2.1-1 3-.6.9-1.5 1.6-2.6 2.2-1.1.6-2.2.8-3.3.8-1.1 0-2.1-.3-3-1-.9-.6-1.6-1.5-2.2-2.6-.3-.7-.6-1.4-.7-2.1-.1-.7-.1-1.3.1-1.9l-6.5 3.3-2.3-4.4 16.4-8.2 2.1 4.2-1 .5c.7.2 1.2.6 1.8 1.1.5.5 1 1.1 1.3 1.8.6 1.1.9 2.2.9 3.3zm-5.9-3.9c-.4-.3-.9-.4-1.4-.4l-1.8.9c-.3.4-.5.9-.5 1.4 0 .5.1 1 .3 1.5.3.7.8 1.1 1.4 1.3.6.2 1.2.1 1.9-.2.7-.3 1.1-.8 1.3-1.4.2-.6.1-1.2-.3-1.9-.1-.5-.4-.9-.9-1.2zM9.2 132.9c-.3.6-.8 1-1.5 1.3-.7.2-1.3.2-2-.1-.6-.3-1.1-.8-1.3-1.5-.2-.7-.2-1.3.1-2 .3-.6.8-1.1 1.5-1.3.7-.2 1.3-.2 2 .1.6.3 1.1.8 1.3 1.5.2.7.2 1.4-.1 2zm2.1-.1-1.6-4.7 11.3-3.8 1.6 4.7-11.3 3.8zM19.3 119.8c-.3 1.2-.9 2.2-1.7 3-.8.8-1.8 1.3-3 1.5-1.2.2-2.3.1-3.4-.3s-2-1.1-2.7-2.1c-.7-1-1.3-2.2-1.5-3.7-.3-1.5-.3-2.8.1-4 .3-1.2.9-2.2 1.7-3 .8-.8 1.8-1.3 3-1.5 1.2-.2 2.3-.1 3.4.3s2 1.1 2.7 2.1c.7 1 1.3 2.3 1.5 3.7.3 1.5.2 2.8-.1 4zm-4.7-4.9c-.5-.4-1.2-.5-1.9-.3-.8.1-1.3.5-1.6 1-.3.5-.5 1.1-.3 1.9.1.7.5 1.3 1 1.6.5.3 1.1.4 1.9.3.8-.1 1.3-.5 1.7-1 .4-.5.5-1.1.3-1.9-.3-.7-.6-1.3-1.1-1.6zM0 98.4l.4-5.1 13 1 .5-6.9 4.3.3-.9 12L0 98.4zM18.3 84.4c-1 1-2.1 1.6-3.4 1.9-1.3.3-2.7.2-4.2-.1l-9.5-2.4 1.3-4.9 9.5 2.4c1 .3 1.9.2 2.5-.1.7-.3 1.1-1 1.3-1.9.2-.9.2-1.7-.2-2.3-.4-.6-1.1-1.1-2.2-1.3l-9.5-2.4 1.3-4.9 9.5 2.4c1.5.4 2.7 1 3.8 1.8 1 .9 1.7 1.9 2.1 3.3.4 1.3.3 2.9-.1 4.6-.6 1.6-1.3 3-2.2 3.9zM6.9 63.7 9.7 58c.8-1.7 1.9-3.1 3.1-4 1.3-1 2.6-1.5 4.1-1.7 1.5-.1 3 .2 4.6.9 2.6 1.2 4.2 3 4.7 5.1.6 2.2.2 4.6-1.1 7.2l-2.8 5.7-15.4-7.5zm14.7-.4c.6-1.1.6-2.2.2-3.1-.4-1-1.2-1.7-2.5-2.3-1.1-.5-2.2-.7-3.2-.4-1 .3-1.8.9-2.3 2L13 61l7.8 3.8.8-1.5zM26.8 49.8l-12.4-1.3 3.3-4.4 6.8.8-2.6-6.4 3.2-4.4 4.8 11.6 5.3 3.9-3.1 4.1-5.3-3.9zM40.5 43.4c-1 .6-1.8 1-2.6 1.2l-3.1-3.3c1-.3 2-.7 2.8-1.2.9-.5 1.7-1.1 2.3-1.7.9-.9 1.2-1.5.7-2-.2-.2-.4-.3-.7-.3-.3 0-.6 0-1 .2-.4.1-1 .3-1.9.6-1.6.6-3 .8-4.1.7-1.1-.1-2.1-.6-2.9-1.5-.7-.7-1.1-1.6-1.3-2.6-.1-1 0-2 .4-3s1.1-2 2.1-2.9c.8-.7 1.6-1.3 2.3-1.8.7-.4 1.5-.8 2.4-1.1l3 3.2c-1.6.4-2.9 1.1-4 2.2-.5.5-.8.9-1 1.3-.2.4-.1.7.1 1 .3.3.6.3 1 .3.4-.1 1.1-.3 2.1-.7l.6-.2c1.2-.5 2.2-.7 3-.8s1.5 0 2.1.2c.6.3 1.3.7 1.9 1.4 1.1 1.2 1.6 2.5 1.4 4-.2 1.5-1.2 3-2.9 4.7-.8.8-1.7 1.5-2.7 2.1zM55.4 30.7c-.5-.1-.8-.4-1.1-.8-.3-.4-.3-.9-.2-1.3.1-.5.4-.8.8-1.1.4-.3.8-.3 1.3-.2.5.1.8.4 1.1.8.2.4.3.8.2 1.3-.1.5-.4.8-.8 1.1-.4.2-.8.2-1.3.2z' class='st0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --hourglass-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='544' height='260' viewBox='0 0 544 260'%3E%3Cpath d='M0 260c0-71.8 58.2-130 130-130s130 58.2 130 130' style='fill:%23ff7548'/%3E%3Cpath d='M260 0c0 71.8-58.2 130-130 130S0 71.8 0 0' style='fill:%23e85599'/%3E%3Cpath d='M502.4 134.1c-39.3 14.2-70.2 45.1-84.3 84.3l-4 11.2-4-11.2c-14.2-39.3-45.1-70.2-84.3-84.3l-11.2-4 11.2-4c39.3-14.2 70.2-45.1 84.3-84.3l4-11.2 4 11.2c14.2 39.3 45.1 70.2 84.3 84.3l11.2 4-11.2 4zM414 0c-71.8 0-130 58.2-130 130s58.2 130 130 130 130-58.2 130-130S485.8 0 414 0z' style='fill:%23087573'/%3E%3C/svg%3E") center center / contain no-repeat;
        --heart-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='501' height='214' viewBox='0 0 501 214'%3E%3Cstyle%3E.st0%7Bfill:%23087573%7D%3C/style%3E%3Cpath d='M466.7 110.3c-32.3 11.7-57.8 37.1-69.4 69.4L394 189l-3.3-9.2c-11.7-32.3-37.1-57.8-69.4-69.4L312 107l9.2-3.3C353.6 92 379 66.6 390.7 34.3L394 25l3.3 9.2c11.7 32.3 37.1 57.7 69.4 69.4l9.2 3.3-9.2 3.4zM394 0c-59.1 0-107 47.9-107 107s47.9 107 107 107 107-47.9 107-107S453.1 0 394 0z' class='st0'/%3E%3Cpath d='M134.4 214 252.7 95.4c21.8-21.8 21.8-57.2 0-79-21.8-21.8-57.1-21.8-78.8 0L55.6 135l78.8 79z' style='fill:%23e85599'/%3E%3Cpath d='M134.5 55.8 95.2 16.4c-21.8-21.8-57.1-21.8-78.8 0-21.8 21.8-21.8 57.2 0 79.1L55.7 135l78.8-79.2zM134.5 213.9l.1.1 78.8-79v-.1h-.1z' class='st0'/%3E%3C/svg%3E") center center / contain no-repeat;
        --mosaique: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='948' height='962' viewBox='0 0 948 962' fill='none' preserveAspectRatio='none'%3E%3Crect x='366.352' y='0.159424' width='120.648' height='122.301' fill='%23087573'/%3E%3Crect x='244.051' y='243.108' width='122.301' height='121.199' fill='%23087573'/%3E%3Crect y='243.108' width='123.403' height='121.199' fill='%233FA2B0'/%3E%3Crect x='244.051' y='122.46' width='122.301' height='120.648' fill='%233FA2B0'/%3E%3Crect x='366.352' y='243.109' width='120.648' height='121.199' fill='%23E85599'/%3E%3Crect x='366.352' y='122.46' width='120.648' height='120.648' fill='%23E85599'/%3E%3Crect x='244.051' y='364.308' width='122.301' height='121.75' fill='%23E85599'/%3E%3Crect y='122.46' width='123.403' height='120.648' fill='%23E85599'/%3E%3Crect x='366.352' y='364.308' width='120.648' height='121.75' fill='%23FB783E'/%3E%3Crect x='123.403' y='122.46' width='120.648' height='120.648' fill='%23FB783E'/%3E%3Crect x='827.352' y='263.159' width='120.648' height='122.301' fill='%23087573'/%3E%3Crect x='705.051' y='506.108' width='122.301' height='121.199' fill='%23087573'/%3E%3Crect x='461' y='506.108' width='123.403' height='121.199' fill='%233FA2B0'/%3E%3Crect x='705.051' y='385.46' width='122.301' height='120.648' fill='%233FA2B0'/%3E%3Crect x='827.352' y='506.109' width='120.648' height='121.199' fill='%23E85599'/%3E%3Crect x='827.352' y='385.46' width='120.648' height='120.648' fill='%23E85599'/%3E%3Crect x='705.051' y='627.308' width='122.301' height='121.75' fill='%23E85599'/%3E%3Crect x='461' y='385.46' width='123.403' height='120.648' fill='%23E85599'/%3E%3Crect x='827.352' y='627.308' width='120.648' height='121.75' fill='%23FB783E'/%3E%3Crect x='584.403' y='385.46' width='120.648' height='120.648' fill='%23FB783E'/%3E%3Crect x='486.352' y='475.159' width='120.648' height='122.301' fill='%23087573'/%3E%3Crect x='364.051' y='718.108' width='122.301' height='121.199' fill='%23087573'/%3E%3Crect x='120' y='718.108' width='123.403' height='121.199' fill='%233FA2B0'/%3E%3Crect x='364.051' y='597.46' width='122.301' height='120.648' fill='%233FA2B0'/%3E%3Crect x='486.352' y='718.109' width='120.648' height='121.199' fill='%23E85599'/%3E%3Crect x='486.352' y='597.46' width='120.648' height='120.648' fill='%23E85599'/%3E%3Crect x='364.051' y='839.308' width='122.301' height='121.75' fill='%23E85599'/%3E%3Crect x='120' y='597.46' width='123.403' height='120.648' fill='%23E85599'/%3E%3Crect x='486.352' y='839.308' width='120.648' height='121.75' fill='%23FB783E'/%3E%3Crect x='243.403' y='597.46' width='120.648' height='120.648' fill='%23FB783E'/%3E%3C/svg%3E%0A") center center / 100% 100% no-repeat;
    }
  
    @media (prefers-contrast: more) {
        
        :root {
            --border-color: light-dark(var(--dark-color), var(--light-color));
            --border-hover-color: light-dark(var(--dark-color), var(--light-color));    
            --text-color: light-dark(var(--dark-color), var(--light-color));
            --strong-color: light-dark(var(--dark-color), var(--light-color));
            --muted-color: light-dark(var(--dark-color), var(--light-color));
            --outline-color: light-dark(var(--dark-color), var(--light-color));
        }
    }
  
    .inodia-icons.big_arrow_left:before {
        content: "\e911";
    }
    .inodia-icons.big_arrow_right:before {
        content: "\e910";
    }
    .inodia-icons.star:before {
        content: "\e90f";
    }
    .inodia-icons.plus:before {
        content: "\e90e";
    }
    .inodia-icons.youtube:before {
        content: "\e90d";
    }
    .inodia-icons.burger:before {
        content: "\e90c";
    }
    .inodia-icons.cross:before,
    .moovegdpr-arrow-close:before {
        content: "\e90b";
    }
    .inodia-icons.play:before,
    .bouton.icon-play a > span:before {
        content: "\e90a";
    }
    .inodia-icons.linkedin:before {
        content: "\e909";
    }
    .inodia-icons.instagram:before {
        content: "\e908";
    }
    .inodia-icons.facebook:before {
        content: "\e907";
    }
    .inodia-icons.checkmark:before {
        content: "\e906";
    }
    .inodia-icons.download:before,
    .bouton.download a > span:before,
    .bouton.download:is(a, button):before {
        content: "\e905";
    }
    .inodia-icons.upload:before {
        content: "\e904";
    }
    .inodia-icons.arrow_left:before,
    .owl-carousel .owl-nav .owl-prev:before,
    .elementor-swiper-button-prev i:before {
        content: "\e903";
    }
    .inodia-icons.arrow_right:before,
    .owl-carousel .owl-nav .owl-next:before,
    .elementor-swiper-button-next i:before {
        content: "\e902";
    }
    .inodia-icons.arrow_up:before {
        content: "\e901";
    }
    .inodia-icons.arrow_down:before {
        content: "\e900";
    }
  
    @container viewport (inline-size <= 60rem) {    
        :root {
            --wrapper-size-mobile: 85%;
            --items-gap: calc(var(--items-margin) * 4) var(--items-margin);
        }
    }
}

@layer utility {

    .bouton.icon span span,
    :is(.sr-only, .gdpr-sr-only, .gdpr-sr-label),
    .elementor-widget-form .elementor-field-type-upload > input {
        position: absolute;
        inset: -10000em auto auto auto;
        inline-size: 1px;
        block-size: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0,0,0,0);
        border: 0;
    }

    .skip-link {
        background: var(--alert-info-color);
        color: var(--background-color);
        inline-size: 100%;
        text-decoration: underline;
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
        position: fixed;
        inset-block-start: 0;
        inset-inline-start: 0;
        z-index: 50000;
    }

    .skip-link::after,
    .elementor-editor-active .post-type-page > *:not(.elementor) {
        display: none;
    }

    .skip-link:not(:focus-visible) {
        translate: 0 -150%;
    }

    .skip-link:focus-visible {
        color: oklch(from var(--light-color) l c h / .85);
    }
    
    .elementor-message {
        background: oklch(from var(--_alert-color) l c h / .1);
        border: var(--border-width) solid oklch(from var(--_alert-color) l c h / .15);
        border-radius: var(--border-radius);
        color: var(--_alert-color);
        display: flex;
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        letter-spacing: var(--letter-spacing);
        inline-size: 100%;
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
        margin-block: var(--spacing-sm) 0;
        margin-inline: 0;
    }

    .elementor-message-success {
        --_alert-color: var(--alert-success-color);
    }

    .elementor-message-danger {
        --_alert-color: var(--alert-danger-color);
    }

    :where(.bouton:disabled, input[type="submit"][disabled="disabled"].bouton),
    :where(.bouton:disabled, input[type="submit"][disabled="disabled"].bouton):is(:hover, :active) {
        background: var(--shadow-color);
        border-color: transparent;
        color: var(--muted-color);
        cursor: not-allowed;
    }

    @container viewport (70rem < inline-size) {

        .show-inodia-tablet {
            display: none;
        }
    }

    @container viewport (inline-size <= 70rem) {

        .hide-inodia-tablet {
            display: none;
        }
    }

    @container viewport (45rem < inline-size) {
        
        .show-inodia-mobile {
            display: none;
        }
    }

    @container viewport (inline-size <= 45rem) {

        .hide-inodia-mobile {
            display: none;
        }
    }
}

@layer init {

    *, ::after, ::before {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }
}

@layer reset {
    
    @view-transition {
        navigation: auto;
    }

    ::-webkit-scrollbar {
        background: var(--background-color);
        inline-size: 8px;
        block-size: 8px;
    }

    ::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: calc(var(--border-radius) / 4);
    }

    ::selection {
        background: var(--primary-hover-color);
        color: var(--background-color);
    }

    html:has(body.light-scheme-color),
    body:is(.light-scheme-color:not(.dark-default), .dark-scheme-color:not(.light-default)) .clair,
    body.dark-scheme-color.light-default .fonce,
    body.dark-scheme-color :is(#moove_gdpr_cookie_info_bar, .gdpr_lightbox),
    body.light-scheme-color :is(#moove_gdpr_cookie_info_bar > div, .gdpr_lightbox > div) {
        color-scheme: light;
    }

    html:has(body.dark-scheme-color),    
    body:is(.dark-scheme-color:not(.light-default), .light-scheme-color:not(.dark-default)) .fonce, 
    body.light-scheme-color.dark-default .clair,
    body.light-scheme-color :is(#moove_gdpr_cookie_info_bar, .gdpr_lightbox),
    body.dark-scheme-color :is(#moove_gdpr_cookie_info_bar > div, .gdpr_lightbox > div) {    
        color-scheme: dark;
    }

    body.light-default.dark-scheme-color header .logo img,
    body.light-default.dark-scheme-color .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
        filter: brightness(10);
    }

    body.dark-default.light-scheme-color header .logo img,
    body.dark-default.light-scheme-color .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
        filter: brightness(0);
    }

    html {
        block-size: auto;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
        scroll-padding: var(--spacing-lg);
        container: viewport / inline-size;
        scrollbar-gutter: stable;
    }

    @media (prefers-reduced-motion: no-preference) {

        html {
            scroll-behavior: smooth;
        }
    }

    @-moz-document url-prefix() {
        
        html {
            scrollbar-color: var(--primary-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    body {
        text-wrap: pretty;
        inline-size: 100%;
        block-size: auto;
        max-inline-size: 100%;
        min-block-size: 100vh;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
        position: relative;
        margin: 0;
    }

    .wrapper-body {
        display: flex;
        flex-flow: column;
        min-block-size: 100vh;
        overflow: clip;
    }

    main {
        flex-grow: 1;
    }

    :is(p, li, span, small, strong) {
        color: var(--text-color);
        font-family: var(--font-text);
    }

    :is(p, li, span, strong) {
        line-height: var(--line-height);
    }

    :is(p, li, span, small) {
        font-weight: var(--text-weight-normal);
        letter-spacing: var(--letter-spacing);
    }

    .elementor-blockquote__content {
        font-weight: var(--text-weight-normal);
        font-style: italic;
        margin-block-start: 0;
    }
    
    :is(b, strong) {
        color: var(--strong-color);
        font-weight: var(--text-weight-bold);
    }

    p:not(:last-child, .h2, .h3, .h4, .no-margin, .elementor-icon-box-title) {
        margin-block-end: var(--spacing-xs);
    }

    p:not(.h2, .h3, .h4, .label):last-child {
        margin-block-end: 0;
    }

    p.rgpd {
        font-size: var(--text-size-small);
    }
    
    small {
        color: var(--muted-color);
        font-size: var(--text-size-small);
        line-height: 1.3;
    }

    li {
        list-style: none;
    }

    button {
        all: unset;    
        box-sizing: border-box;
        text-align: center;
    }

    :is(a, input, button, select, textarea) {
        outline: none;
        transition: var(--transition-default);
    }

    :is(a, button, select, input[type=submit], input[type=radio]),
    .elementor-widget-form .elementor-field-type-checkbox,
    .elementor-widget-form .elementor-field-type-checkbox label {
        appearance: none;
        cursor: pointer;
        touch-action: manipulation;
    }

    a {
        text-decoration: none;
    }

    a[href^="tel:"] {
        white-space: nowrap;
    }

    iframe {
        border: none;
    }

    :is(a, button, input[type="submit"]):focus-visible,
    .elementor-field-label:has(+ .elementor-upload-field:focus-visible) {
        outline: var(--outline-width) solid var(--primary-color);
        outline-offset: calc(var(--outline-width) * 2);
    }

    :is(a, button, input[type="submit"]):focus:not(:focus-visible),
    .elementor-field-label:has(+ .elementor-upload-field:focus:not(:focus-visible)) {
        outline: none;
    }

    :is(a, button) > i,
    :is(a, button) > span {
        color: inherit;
    }

    input[type="file"]:focus {
        border: none;
    }

    input ~ span em {
        color: var(--muted-color);
    }

    input[type="search"]::-webkit-search-decoration,
    input[type="search"]::-webkit-search-cancel-button,
    input[type="search"]::-webkit-search-results-button,
    input[type="search"]::-webkit-search-results-decoration,
    input:is([type="checkbox"], [type="radio"]) {
        appearance: none;
    }

    :is(input, textarea):focus {
        box-shadow: none;
        outline: none;
    }

    :is(input, textarea)::placeholder {
        color: var(--muted-color);
    }

    textarea {
        resize: vertical;
        min-block-size: 12.5rem;
    }

    :is(.elementor-field-type-checkbox, .elementor-field-type-radio) .elementor-field-subgroup {
        display: flex;
        flex-flow: row wrap;
        gap: calc(var(--spacing-2xs) * 2) var(--spacing-2xs);
    }

    :is(.elementor-field-type-checkbox, .elementor-field-type-radio)  .elementor-field-option {
        display: table;
    }

    :is(.label-hide, .grecaptcha-badge) {
        display: none;
    }

    input:is([type="checkbox"], [type="radio"]) {
        background: transparent;
        border: none;
        border-radius: 50%;
        inline-size: var(--text-size-normal);
        block-size: var(--text-size-normal);
        position: absolute;
        inset-block-start: 50%;
        translate: 0 -50%;
    }

    input:is([type="checkbox"], [type="radio"]) + label {
        color: var(--text-color);
        cursor: pointer;
        display: flex;
        align-items: baseline;
        position: relative;
    }

    input:is([type="checkbox"], [type="radio"]) + label::before,
    input[type="radio"] + label::after {
        content: "";
        display: flex;
        inline-size: var(--text-size-normal);
        block-size: var(--text-size-normal);
        position: relative;
        inset-block-start: 0;
        transition: var(--transition-default);
    }

    input:is([type="checkbox"], [type="radio"]) + label::before {
        border: var(--border-width) solid var(--border-color);
        margin-inline-end: var(--spacing-3xs);
        outline-color: var(--outline-color);
    }

    input[type="checkbox"]:focus:not(:focus-visible) + label::before {    
        box-shadow: 0 0 0 2px var(--shadow-color);
    }

    input:is([type="checkbox"], [type="radio"]):checked:focus-visible + label::before {    
        outline-color: oklch(from var(--primary-color) l c h / .3);
    }

    input[type="checkbox"]:checked:focus:not(:focus-visible) + label::before {    
        box-shadow: 0 0 0 2px oklch(from var(--primary-color) l c h / .15);
    }

    input[type="checkbox"] + label::before {
        background: transparent; 
        border-radius: clamp(0rem, var(--border-radius), .25rem);
    }

    input[type="checkbox"] + label::after {
        content: "\e906";
        color: var(--light-color);
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
        position: absolute;
        inset-block-start: var(--spacing-3xs);
        inset-inline-start: var(--spacing-3xs);
        translate: -50%;
        transition: var(--transition-default);
    }

    input[type="radio"] + label::before,
    input[type="radio"] + label::after {
        border-radius: 50%;
    }

    input:is([type="checkbox"], [type="radio"]):hover + label::before,
    input:is([type="checkbox"], [type="radio"]) + label:hover::before {
        border-color: var(--strong-color);
    }

    input[type="radio"] + label::after {    
        border: .25rem solid var(--primary-color);
        position: absolute;
        inset-block-start: var(--spacing-4xs);
        inset-inline-start: 0;
        opacity: 0;
    }

    input[type="radio"]:checked + label::before {
        border-color: transparent;
    }

    input:is([type="checkbox"], [type="radio"]):checked + label::after {
        opacity: 1;
    }

    input[type="checkbox"]:checked + label::before {    
        background: var(--primary-color);
        border-color: var(--primary-color);
    }

    :is(picture, figure) {
        display: flex;
    }

    img {    
        font-style: italic;
        block-size: auto;
        max-inline-size: 100%;
        vertical-align: middle;
    }

    blockquote {
        position: relative;
        padding-block: var(--spacing-sm);
        padding-inline: var(--spacing-md);
        margin-block: var(--spacing-xs);
        margin-inline: 0;
    }

    blockquote > * {
        font-style: italic;
        position: relative;
        z-index: 1;
    }

    [popover] {
        border: none;
        margin: auto;
    }

    [popover]:not(:popover-open, dialog[open]) {
        display: none;
    }

    dialog {
        border: none;
        max-inline-size: initial;
        max-block-size: initial;
    }

    :where(html:has(dialog[open]), .elementor-widget-open_street_map) {
        overflow: hidden;
    }

    .elementor-container {
        max-width: initial;
    }

    .elementor-widget:not(:last-child) {
        margin: 0;
    }

    :is(.elementor-element-populated, .elementor-button) {
        padding: 0;
    }

    .elementor-button {
        border-radius: 0;
        fill: initial;
    }

    :where(.elementor-element-edit-mode, #elementor-add-new-section) li {
        padding-inline-start: 0 !important;
    }

    .elementor-text-editor::after,
    .elementor-shortcode:empty,
    .elementor-post-navigation:has(.elementor-post-navigation__next > a) .elementor-post-navigation__prev,
    .elementor-select-wrapper .select-caret-down-wrapper,
    :is(.elementor-tab-content, .elementor-widget-text-editor) :is(br, *:empty),
    :where(.elementor-element-edit-mode, #elementor-add-new-section) li::before,
    :where(.elementor-blockquote, .elementor-select-wrapper.remove-before)::before,
    .elementor-widget-testimonial-carousel .elementor-swiper-button {
        display: none;
    }

    :where(.elementor-widget-wrap, .elementor-widget-wrap > .elementor-element, .elementor-field-group, .elementor-post-navigation__link) {
        width: auto;
    }

    :where(.elementor-main-swiper, .elementor-carousel-image) {
        height: auto;
    }

    :where(.elementor-widget-wrap, .elementor-widget-wrap > .elementor-element, .elementor-field-group) {
        inline-size: 100%;
    }
    
    :is(.elementor-post-navigation, .elementor-post-navigation__link) {
        overflow: initial;
    }

    .elementor-post-navigation__link {
        white-space: initial;
    }
    
    .elementor-widget-media-carousel .eicon-play {
        opacity: 1;
        text-shadow: none;
    }

    .elementor-widget-media-carousel .eicon-play::before {
        content: "\e90a";
        font: var(--font-icon);
        font-size: var(--h4-font-size);
        letter-spacing: 0;
    }

    .swiper-pagination-bullet {
        pointer-events: none;
    }

    :is(.post-navigation__next--label, .post-navigation__prev--label) {
        overflow: initial;
        text-transform: initial;
    }

    .elementor-widget-image {
        text-align: left;
    }

    .elementor-widget-open_street_map,
    .elementor-widget-image img {
        border-radius: var(--border-radius);
    }

    .swiper:not(.swiper-initialized) .elementor-image-carousel {
        gap: 1rem;
    }

    .elementor-select-wrapper {
        position: relative;
    }

    .elementor-select-wrapper.remove-before::after {
        content: "\e900";
        font: var(--font-icon);
        font-size: var(--text-size-small);
        letter-spacing: 0;
        pointer-events: none;
        position: absolute;
        inset-block-start: 50%;
        inset-inline-end: var(--spacing-sm);
        translate: 0 -50% 0;
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}'] {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}']:not(:has(.fond)) {
        border-image: fill 0 linear-gradient(oklch(from var(--dark-color) l c h / .5), oklch(from var(--dark-color) l c h / .5));
    }

    .elementor-field-group {
        margin-block-end: var(--spacing-xs);
    }

    .elementor-field-group:last-child,
    .elementor-field-type-recaptcha_v3,
    .elementor-field-type-html:has(+ .elementor-field-type-recaptcha_v3) {
        margin: 0;
    }
    
    .elementor-widget-open_street_map {
        position: relative;
        z-index: 0;        
    }

    .elementor-testimonial__image img {
        width: auto;
        height: auto;
    }

    .elementor-slideshow__footer {
        display: none !important;
    }

    .elementor-widget-open_street_map .leaflet-popup {
        background: var(--background-color);
    }
 
    :is(.elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content),
    :is(.elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4, p, li, span, strong) {
        background: transparent !important;
        color: var(--text-color) !important;
        font: var(--text-weight-normal) var(--text-size-normal)/var(--line-height) var(--font-text) !important;
        letter-spacing: var(--letter-spacing) !important;
        text-wrap: inherit !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content).text-big,
    :is(.elementor-tab-content, .elementor-widget-text-editor).text-big :is(h1, h2, h3, h4, p, li, span, strong) {
        font-size: var(--text-size-big) !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content).text-small,
    :is(.elementor-tab-content, .elementor-widget-text-editor).text-small :is(h1, h2, h3, h4, p, li, span, strong) {
        font-size: var(--text-size-small) !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor) strong {
        color: var(--strong-color) !important;
        font-weight: var(--text-weight-bold) !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor) a * {
        color: inherit !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):not(:last-child) {
        margin-block-end: var(--spacing-xs) !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):last-child {
        margin-block-end: 0 !important;
    }

    .owl-carousel:not(.owl-loaded) {
        display: flex;
        overflow: hidden;
    }

    .owl-carousel > .item {
        display: flex;
        flex-shrink: 0;
        flex-grow: 0;
        inline-size: calc(100% / var(--_owl-item));
    }

    .owl-carousel .owl-stage-outer :is(.owl-stage, .item) {
        display: flex;
        block-size: 100%;
    }

    .owl-carousel .owl-stage-outer .owl-stage {
        align-items: stretch;
    }

    .owl-carousel :is(.owl-nav.disabled, .owl-dots.disabled) {
        display: none;
    }

    .owl-carousel .owl-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        inline-size: var(--wrapper-size-mobile);
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
    }

    .owl-carousel.item-1 .owl-nav {
        color-scheme: dark;
    }

    .owl-carousel .owl-nav button,
    :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) i {
        font-size: var(--h4-font-size);
        pointer-events: initial;
    }

    .owl-carousel .owl-dots {
        display: flex;
        justify-content: center;
        gap: var(--spacing-xs);
    }

    .owl-carousel.dots-inside {
        color-scheme: dark;
        position: relative;
    }

    .owl-carousel.dots-inside .owl-dots {
        position: absolute;
        inset-block-end: var(--spacing-sm);
        inset-inline-end: 50%;
        translate: 50%;
    }

    .owl-carousel:not(.dots-inside) .owl-dots {
        margin-block-start: var(--spacing-lg);
    }

    .owl-carousel .owl-dot {
        background: var(--outline-color);
        border-radius: 100%;
        aspect-ratio: 1;
        inline-size: .5rem;
    }

    .owl-carousel .owl-dot.active {
        background: var(--title-color);
    }

    .owl-carousel .owl-nav button.disabled {
        cursor: not-allowed;
        opacity: .5;
    }
    
    @container viewport (inline-size <= 70rem) {

        .owl-carousel.item-4 {
            --_owl-item: 3;
        }
    }

    @container viewport (45rem < inline-size) {

        .elementor-field-group.elementor-col-50 {
            inline-size: 50%;
        }
    }

    @container viewport (inline-size <= 45rem) {
        
        .owl-carousel:is(.item-4, .item-3) {
            --_owl-item: 2 !important;
        }

        .elementor-field-group:not(.elementor-field-group-rgpd) {
            margin-block-end: var(--spacing-3xs);
        }
    }    

    @container viewport (36rem < inline-size) {

        .owl-carousel:not(.item-1) > .item {
            padding-block: 0;
            padding-inline: 1rem;
        }
    }

    @container viewport (inline-size <= 36rem) {

        .owl-carousel:is(.item-4, .item-3, .item-2) {
            --_owl-item: 1 !important;
        }
    }

    @container viewport (30rem < inline-size) {
    
        .elementor-field-group:not(.elementor-field-type-upload, .elementor-field-type-select, .elementor-field-type-checkbox, .elementor-field-type-radio) > .elementor-field-label {
            display: none;
        }
    }

    @container viewport (inline-size <= 30rem) {
       
        :is(h1, .h1) {
            overflow-wrap: break-word;
            hyphens: auto;
        }
        
        .label-hide {
            display: block;
        }

        .label-hide + div :is(input, textarea)::placeholder,
        .elementor-widget-form .elementor-field-group :is(input, textarea)::placeholder {
            color: transparent;
        }

        .elementor-widget-heading .elementor-heading-title br {
            display: none;
        }
        
        .elementor-field-group:not(.elementor-field-group-rgpd) {
            margin-block-end: var(--spacing-sm);
        }
        
        .elementor-widget-form .elementor-field-group:not(:first-child, .elementor-field-type-upload) .elementor-field-label {
            margin-block-start: var(--spacing-3xs);
        }
    }
}

@layer structure {

    .header-absolute:not(.header-absolute-home) + main,
    .home .header-absolute-home + main {
        margin-block-start: calc((var(--logo-height) + (var(--padding-header) * 2)) * -1);
    }
    
    figcaption,
    .center:not(.owl-item) :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
    .center:not(.owl-item):is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
    .center:not(.owl-item):is(.h1, .h2, .h3, .h4) .elementor-heading-title {
        align-items: center;
        text-align: center;
        text-wrap: balance;
    }

    :is(.center:not(.owl-item), .right).h2 .elementor-heading-title {
        position: relative;
    }

    :is(.center:not(.owl-item), .right) .elementor-widget-container {
        display: flex;
        flex-flow: column;
    }

    .center:not(.owl-item) .elementor-widget-container {
        align-items: center;
    }

    .posts-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));
        gap: var(--items-gap);
    }
  
    .container,
    :is(.ino-section-boxed, .elementor-section-boxed) > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
        margin-inline: auto;
    }

    :is(.ino-section-boxed, .elementor-section-boxed).container-medium > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-medium));
    }

    :is(.ino-section-boxed, .elementor-section-boxed).container-small > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-small));
    }

    .container .container:is(.container-small, .container-medium) {
        inline-size: min(100%, var(--wrapper-size-small));
    }

    :where(.elementor-top-section, .ino-top-section) > :where(.elementor-container, .ino-container) {
        display: flex;
        flex-flow: row;
        gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
    }

    :is(.elementor-section, .ino-section):not(.ino-grid).full :is(.elementor-container, .ino-container) {
        gap: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape),
    :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        border-radius: clamp(0rem, var(--border-radius), clamp(4rem, 3rem + 5vw, 8rem));
        overflow: hidden;
    }

    .ino-txt-img .ino-col-text,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child), .ino-grid) > .elementor-widget-wrap,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child), .ino-grid) > .elementor-widget-wrap {
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    .ino-txt-img .ino-col-img :is(.owl-carousel, .owl-stage-outer, .owl-stage, .owl-item, .item, [ino-lightbox], figure, picture, img),
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) :is(.elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image-carousel-wrapper, .elementor-image-carousel, figure, picture, img),
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) :is(.elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image-carousel-wrapper, .elementor-image-carousel, figure, picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    iframe,
    .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child:not(.contain)) img {
        border-radius: var(--border-radius);
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) picture,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) picture {
        position: relative;
        z-index: 1;
    }

    .ino-txt-img .ino-col-img:not(.contain) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) img {
        object-fit: cover;
    }

    .ino-txt-img.full .ino-col-img img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) .elementor-widget-image.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-widget-image.contain img {
        border-radius: 0;
    }

    .ino-txt-img .ino-col-img.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img {
        object-fit: contain;
        z-index: 1;
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image:first-child, .elementor-widget-image.elementor-element-edit-mode:nth-child(2)) + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image:first-child, .elementor-widget-image.elementor-element-edit-mode:nth-child(2)) + .bouton.icon:last-child) .bouton.icon {
        color-scheme: dark;
        display: table;
        inline-size: auto;
        block-size: auto;
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
    }

    .elementor-section-boxed > .elementor-container .elementor-section-boxed > .elementor-container {
        inline-size: 100%;
        max-inline-size: initial;
    }

    :is(.elementor-top-section, .ino-top-section):not(.no-margin, :first-child) {
        margin-block-start: var(--spacing-4xl);
    }

    :is(.elementor-top-section, .ino-top-section).fond:not(.block, .elementor-section-full_width, .ino-section-full_width) {
        padding-block: var(--spacing-3xl);
    }

    :is(.elementor-top-section, .ino-top-section).fond:not(.block):last-child {
        margin-block-end: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        position: relative;
        padding: var(--spacing-2xl);
    }

    .elementor-widget + .elementor-widget-heading.no-margin,
    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section):first-child,
    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section).titre + :is(.elementor-inner-section, .ino-inner-section),
    :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) {
        margin-block-start: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.noir:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.noir:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.gris:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.gris:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.blanc:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.blanc:not(.block) {
        padding-block-start: 0;
    }

    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .elementor-widget-text-editor) + .elementor-inner-section:not(.boutons) {
        margin-block-start: var(--spacing-xl);
    }

    :is(.elementor-column, .ino-column).fond {
        border-radius: var(--border-radius);
        padding-block: var(--spacing-2xl);
        padding-inline: 9%;
    }

    .center .elementor-widget-wrap {
        display: flex;
        flex-flow: column;
        align-items: center;
    }

    .elementor-widget + :is(.boutons, .elementor-widget-form, .elementor-widget-text-editor),
    :is(.elementor-widget-text-editor, .elementor-widget-accordion) + .elementor-widget,
    .elementor-widget-shortcode + .elementor-widget-button {
        margin-block-start: calc(var(--spacing-4xl) / 3);
    }

    :is(.elementor-widget-button, .elementor-widget-text-editor) + .elementor-widget-image {
        margin-block-start: calc(var(--spacing-4xl) / 1.5);
    }

    .elementor-widget-image + .elementor-widget-text-editor {
        margin-block-start: calc(var(--spacing-4xl) / 4);
    }

    .elementor-widget-heading + .elementor-widget-heading {
        margin-block-start: var(--spacing-sm);
    }

    .section-titre + .elementor-top-section {
        margin-block-start: var(--spacing-lg);
    }

    .ino-top-section .ino-column {
        position: relative;
    }

    .ino-top-section .ino-col-txt {
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    .ino-top-section .ino-col-25 {
        inline-size: 25%;
    }

    .ino-top-section .ino-col-20 {
        inline-size: 20%;
    }

    .ino-top-section .ino-col-img:has(.owl-carousel.item-1) {
        aspect-ratio: 3 / 2;
        overflow: hidden;
    }

    .ino-grid > div {
        display: grid;
    }

    main .ino-grid > div > :is(div, section) {
        inline-size: 100%;
        margin: 0 !important;
    }

    .ino-grid .ino-col-full {
        grid-column: 1 / -1;
    }

    @container viewport (inline-size <= 80rem) {
        
        main .swiper:not(.swiper-initialized).slideperview-4 .swiper-slide {
            inline-size: 33.3333%;
        }
    }

    @container viewport (inline-size > 70rem) {
        
        .right .elementor-widget-container {
            align-items: flex-end;
        }

        .right :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .right:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .right:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-end;
            text-align: right;
        }    

        .right .bouton,
        .bouton.right {
            display: flex;
            justify-content: flex-end;
        }
        
        .ino-top-section .ino-col-66 {
            inline-size: 66.666%;
        }

        .ino-top-section .ino-col-50 {
            inline-size: 50%;
        }

        .ino-top-section .ino-col-33 {
            inline-size: 33.333%;
        }
        
        :is(.ino-txt-img > .ino-container, .inner-txt-img > .elementor-container),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) > .elementor-container {
            align-items: stretch;
        }
        
        .ino-txt-img .ino-col-img > *:not(.ino-modal),
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom):has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) > .elementor-widget-wrap:not(.ui-sortable),
        .elementor-top-section:has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) > .elementor-widget-wrap:not(.ui-sortable) {
            position: absolute;
        }
        
        .ino-txt-img:not(.full) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):not(.full) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-widget-wrap {
            padding-block: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block, .supp) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block, .supp) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-widget-wrap {
            padding-block: var(--spacing-2xl);
        }
        
        .section-testimonies > .elementor-container,
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) > .elementor-container {
            display: grid;
            grid-template-columns: 1fr repeat(6, calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / 6)) 1fr;
            gap: 0;
        }
        
        .section-testimonies .elementor-top-column,
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column {
            inline-size: 100%;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 4;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 4;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):last-child {
            grid-column: 6 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child {
            grid-column: 6 / 8;
        }
        
        .section-testimonies .elementor-top-column:has(.elementor-widget-testimonial-carousel):first-child,
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 5;
        }
            
        .section-testimonies .elementor-top-column:not(:has(.elementor-widget-testimonial-carousel)):first-child,
        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 5;
        }
        
        .section-testimonies .elementor-top-column:has(.elementor-widget-testimonial-carousel):last-child,
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):last-child {
            grid-column: 5 / 9;
        }

        .section-testimonies .elementor-top-column:not(:has(.elementor-widget-testimonial-carousel)):last-child,
        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child {
            grid-column: 5 / 8;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 6;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 6;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):last-child {
            grid-column: 4 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child {
            grid-column: 4 / 8;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            position: relative;
            z-index: 1;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) {
            position: absolute;
            inset: 0;
            z-index: 0;
        }
            
        .section-testimonies .elementor-top-column:not(:has(.elementor-widget-testimonial-carousel)):first-child > .elementor-widget-wrap,
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:first-child > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):first-child > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child > .elementor-widget-wrap {
            padding-inline-end: var(--spacing-2xl);
        }
        
        .section-testimonies .elementor-top-column:not(:has(.elementor-widget-testimonial-carousel)):last-child > .elementor-widget-wrap,
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:last-child > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):last-child > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child > .elementor-widget-wrap {
            padding-inline-start: var(--spacing-2xl);
        }
        
        .ino-txt-img.full.block .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-widget-wrap {
            padding: var(--spacing-2xl);
        }
        
        .ino-txt-img.full.supp .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.5rem + 2.5vw, 4rem));
            overflow: hidden;
        }
        
        .ino-txt-img.full.supp .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-widget-wrap {
            padding: var(--spacing-xl);
        }

        .elementor-top-section.supp > .elementor-container {
            padding-block: var(--spacing-3xl);
        }
    }

    @container viewport (inline-size <= 70rem) {

        :is(.elementor-top-section, .ino-top-section, .inner-txt-img) > :is(.elementor-container, .ino-container) {
            flex-flow: column;
        }
            
        .elementor-top-section .elementor-container > .elementor-column {
            width: auto;
            inline-size: 100%;
        }
        
        .ino-txt-img .ino-col-txt,
        .inner-txt-img .elementor-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            order: 1;
        }

        .ino-txt-img .ino-col-img,
        .section-pq-ludys-alt .elementor-top-column.fond:has(.elementor-widget-google_maps:only-child),
        .inner-txt-img .elementor-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) {
            order: 2;
        }
            
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            padding: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block) .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            padding-block: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block) .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-widget-wrap {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }*

        iframe,
        .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1rem + 5vw, 6rem));
        }

        .inner-txt-img .elementor-column:has(.elementor-widget-image-carousel:only-child) .elementor-image-carousel-wrapper,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image-carousel:only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):has(.elementor-widget-image-carousel:only-child) .elementor-image-carousel-wrapper,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image-carousel:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image-carousel:first-child + .bouton.icon:last-child) .elementor-image-carousel-wrapper {
            aspect-ratio: 3 / 2;
        }
    }

    @container viewport (inline-size <= 36rem) {
        
        .center.desktop:not(.owl-item) :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center.desktop:not(.owl-item):is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center.desktop:not(.owl-item):is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-start !important;
            text-align: left;
        }    

        .center.desktop:not(.owl-item) .elementor-widget-container {
            align-items: flex-start;
        }

        .center.desktop button[type=submit] {
            margin-inline: 0;
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            padding-inline: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) > div {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-start: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-end: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            border-radius: 0;
            inline-size: 100%;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).block > .elementor-container {
            inline-size: 100%;
            max-inline-size: initial;
        }
        
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
            padding-inline: 0;
        }
    }
}

@layer core {
    
    html {
        background: var(--dark-color);
    }

    body {
        background: var(--background-color);
        color: var(--title-color);
        font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
        accent-color: var(--primary-color);
        caret-color: var(--primary-color);
    }

    :is(h1, .h1:not(.elementor-widget-heading)),
    div.elementor-widget-heading.h1 .elementor-heading-title {
        color: var(--title-color);
        display: block;
        font: 800 var(--h1-font-size)/.9 var(--font-title);
        letter-spacing: 0;
        text-wrap: balance;
    }

    :is(h1.triangles, .h1.triangles:not(.elementor-widget-heading)),
    div.elementor-widget-heading.h1.triangles .elementor-heading-title {
        display: flex;
        flex-flow: column-reverse;
        align-items: flex-start;
        gap: var(--spacing-2xs);
    }

    :is(h1:has(span), .h1:not(.elementor-widget-heading):has(span)),
    div.elementor-widget-heading.h1 .elementor-heading-title:has(span) {
        display: grid;
    }

    h1 span, .h1:not(.elementor-widget-heading) span,
    div.elementor-widget-heading.h1 .elementor-heading-title span { 
        color: var(--primary-color);
        font: var(--text-weight-medium) var(--h3-font-size)/1 var(--font-title);
        letter-spacing: -.03em;
    }

    h1 strong, .h1:not(.elementor-widget-heading) strong,
    div.elementor-widget-heading.h1 .elementor-heading-title strong {
        font: inherit;
        letter-spacing: inherit;
    }

    h1 strong.blue, .h1:not(.elementor-widget-heading) strong.blue,
    div.elementor-widget-heading.h1 .elementor-heading-title strong.blue {
        color: var(--primary-color);
    }

    h1 strong.pink, .h1:not(.elementor-widget-heading) strong.pink,
    div.elementor-widget-heading.h1 .elementor-heading-title strong.pink {
        color: var(--secondary-color);
    }

    h1 strong.orange, .h1:not(.elementor-widget-heading) strong.orange,
    div.elementor-widget-heading.h1 .elementor-heading-title strong.orange {
        color: var(--orange-color);
    }

    :is(h1:not(.h2, .h3, .h4, .elementor-heading-title), .h1:not(.elementor-widget-heading)) {
        margin-block-end: var(--spacing-xl);
    }

    :is(h2, .h2:not(.elementor-widget-heading)),
    div.elementor-widget-heading.h2 .elementor-heading-title { 
        color: var(--orange-color);
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-2xs);
        font: 100 var(--h2-font-size)/1 var(--font-title);
        letter-spacing: -.02em;
        position: relative;
    }

    :is(h2, h1).triangles::after, 
    :is(.h1, .h2).triangles:not(.elementor-widget-heading)::after,
    div.elementor-widget-heading.triangles :is(h1, h2).elementor-heading-title::after,
    div.elementor-widget-heading:is(.h1, .h2).triangles .elementor-heading-title::after,
    .footer-content .column:has(.socials-list)::before { 
        content: "";
        background: var(--triangles);
        display: flex;
        aspect-ratio: 156 / 63;
        inline-size: auto;
        block-size: var(--h2-font-size);
    }

    :is(h2:not(.h1, .h3, .h4, .elementor-heading-title, .no-margin), .h2:not(.elementor-widget-heading, .no-margin)) {
        margin-block-end: var(--spacing-lg);
    }

    :is(h3, .h3:not(.elementor-widget-heading)), 
    div.elementor-widget-heading.h3 .elementor-heading-title { 
        color: var(--title-color);
        font: var(--text-weight-bold) var(--h3-font-size)/1 var(--font-text);
        letter-spacing: -.01em;
    }

    :is(h3:not(.h1, .h2, .h4, .elementor-heading-title, .no-margin), .h3:not(.elementor-widget-heading, .no-margin)) {
        margin-block-end: var(--spacing-md);
    }

    :is(h4, .h4:not(.elementor-widget-heading, .no-margin)), 
    div.elementor-widget-heading.h4 .elementor-heading-title { 
        color: var(--title-color);
        font: var(--text-weight-bold) var(--h4-font-size)/1 var(--font-text);
        letter-spacing: .05em;
    }

    h4 span, .h4:not(.elementor-widget-heading) span, 
    div.elementor-widget-heading.h4 .elementor-heading-title span { 
        color: var(--primary-color) !important;
        font: inherit;
        letter-spacing: inherit;
    }

    :is(h4:not(.h1, .h2, .h3, .elementor-heading-title, .no-margin), .h4:not(.elementor-widget-heading, .no-margin)) {
        margin-block-end: var(--spacing-sm);
    }

    div.elementor-widget-heading.text-big .elementor-heading-title { 
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1 var(--font-text);
        letter-spacing: .05em;
    }

    a {
        color: var(--primary-color);
    }

    .elementor-widget-heading a {
        color: var(--orange-color);
        outline-color: var(--orange-color);
    }

    :is(a, button).link-dark,
    .owl-carousel .owl-nav button,
    :is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .facetwp-page:not(.active)),
    .widget_nav_menu li:not(.primary) a {
        color: var(--title-color);
        outline-color: var(--title-color);
    }

    .breadcrumb a {
        color: var(--text-color);
        outline-color: var(--title-color);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        a:hover {
            color: var(--primary-hover-color);
        }

        a:active {
            color: var(--primary-active-color);
        }

        .breadcrumb a:hover,
        :is(a, button).link-dark:hover,
        .owl-carousel .owl-nav button:hover,
        :is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .facetwp-page:not(.active)):hover,
        .widget_nav_menu li:not(.primary) a:hover {
            color: var(--primary-color);
        }

        .breadcrumb a:active,
        :is(a, button).link-dark:active,
        .owl-carousel .owl-nav button:active,
        :is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .facetwp-page:not(.active)):active,
        .widget_nav_menu li:not(.primary) a:active {
            color: var(--primary-hover-color);
        }
        
        .elementor-widget-heading a:hover {
            color: var(--orange-hover-color);
        }
        
        .elementor-widget-heading a:active {
            color: var(--orange-active-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        a:active {
            color: var(--primary-hover-color);
        }
        
        .breadcrumb a:active,
        :is(a, button).link-dark:active,
        .owl-carousel .owl-nav button:active,
        :is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .facetwp-page:not(.active)):active,
        .widget_nav_menu li:not(.primary) a:active {
            color: var(--primary-color);
        }
        
        .elementor-widget-heading a:active {
            color: var(--orange-hover-color);
        }
    }    

    :where(.elementor-tab-content, .elementor-widget-text-editor, p.rgpd) a:not(:hover, :active) {
        text-decoration: underline;
    }

    :where(label, .label, input[type="file" i]) {
        color: var(--title-color);
    }

    input:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
    :is(select, textarea) {
        background: transparent;
        border: var(--border-width) solid var(--border-color);
        border-radius: calc(var(--border-radius) / 2);
        color: var(--text-color);
        font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        text-overflow: ellipsis;
    }

    input:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
    textarea {
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    textarea {
        border-radius: clamp(0rem, var(--border-radius) / 2, clamp(1rem, .875rem + .625vw, 1.5rem));
        line-height: 1.3;
    }

    select {
        color: var(--title-color);
        padding-block: var(--spacing-2xs) ;
        padding-inline: calc(var(--spacing-2xs) * 2) calc(var(--spacing-2xs) * 4);
    }

    select option {
        background: var(--background-color);
    }

    input:is([type="text"],[type="email"],[type="number"],[type="tel"]):hover,
    :is(select, textarea):hover {
        border-color: var(--border-hover-color);
        color: var(--strong-color);
    }

    input:is([type="text"],[type="email"],[type="number"],[type="tel"]):focus,
    :is(select, textarea):focus {
        border-color: var(--border-focus-color);
        box-shadow: 0 0 0 2px oklch(from var(--border-focus-color) l c h / .1);
        color: var(--title-color);
        outline: none;
    }    

    figcaption {        
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        letter-spacing: var(--letter-spacing);
    }

    .inodia-icons,
    .inodia-icons :is(a, span),
    .bouton.icon a > span,
    .owl-carousel .owl-nav button,
    :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) i {
        font: var(--font-icon);
        letter-spacing: 0;
    }
    
    main :is(ul:not(:last-child), ol:not(:last-child), .bdt-rating),
    .moove-gdpr-modal-content .moove-gdpr-tab-main-content ul {
        margin-block-end: var(--spacing-sm);
    }

    main :is(ul, ol):not(.pagination) li:not(:last-child, .bdt-rating-item),
    .moove-gdpr-modal-content .moove-gdpr-tab-main-content li:not(:last-child) {
        margin-block-end: var(--spacing-2xs);
    }

    main :is(ul:last-child, ol:last-child):not(.bdt-rating),
    main :is(ul, ol) li:not(.bdt-rating-item):last-child,
    .moove-gdpr-modal-content .moove-gdpr-tab-main-content li:last-child {
        margin-block-end: 0;
    }

    main ol li {
        list-style-position: inside;
    }

    main ul:not(.pagination) li:not(.bdt-rating-item),
    .moove-gdpr-modal-content .moove-gdpr-tab-main-content li {
        list-style: none;
        padding-inline-start: 2ch;
        position: relative;
    }

    main ul:not(.pagination) li:not(.bdt-rating-item)::before,
    .moove-gdpr-modal-content .moove-gdpr-tab-main-content li::before {
        content: "-";
        font-size: inherit;
        line-height: inherit;
        position: absolute;
        inset-inline-start: 0;
    }
    
    .elementor-field-group,
    :is(.elementor-widget-image, .elementor-widget-image-carousel) figure {
        position: relative;
    }

    :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
        inline-size: var(--wrapper-size-mobile);
        position: absolute;
        inset-block-end: var(--spacing-xs);
        inset-inline-start: 50%;
        translate: -50%;
    }

    .elementor-field-group .elementor-message {
        font-size: var(--text-size-small);
        margin: 0;
        padding: var(--spacing-4xs);
    }

    .elementor-widget-form .elementor-form-fields-wrapper {
        margin-block: 0;
        margin-inline: calc(var(--spacing-3xs) * -1);
    }

    .elementor-widget-form .elementor-field-group {
        padding-inline: var(--spacing-3xs);
    }

    .elementor-widget-form .elementor-field-label {
        font: var(--text-weight-medium) var(--text-size-small) / 1 var(--font-text);
    }

    .elementor-widget-form .elementor-field-group:not(.elementor-field-type-upload) > label {
        margin-block-end: var(--spacing-2xs);
    }

    .elementor-widget-form .elementor-field-group-rgpd {
        margin-block-end: calc(var(--spacing-2xs) * 2);
    }

    .elementor-widget-form .e-form__buttons:has(:is(.elementor-field-type-previous, .elementor-field-type-next)) {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button {
        background: transparent;
        border-radius: 0;
        color: var(--primary-color);
        display: flex;
        align-items: center;
        font: var(--text-weight-medium) var(--text-size-small)/1.1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        padding: 0;
    }

    .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after,
    .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
        color: inherit;
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
    }

    .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
        content: "\e903";
        margin-inline-end: var(--spacing-2xs);
    }

    .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after {
        content: "\e902";
        margin-inline-start: var(--spacing-2xs);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:hover {
            color: var(--primary-hover-color);
        }

        .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:active {
            color: var(--primary-active-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:active {
            color: var(--primary-hover-color);
        }
    }

    .elementor-widget-form .e-form__indicators__indicator__number {
        background: transparent;
    }

    .elementor-widget-form .e-form__indicators__indicator--state-inactive {
        border-color: var(--outline-color);
        color: var(--outline-color);
    }

    .elementor-widget-form .e-form__indicators__indicator__separator {
        background: var(--outline-color);
        block-size: var(--border-width);
        inline-size: calc(100% - 100px);
    }

    .elementor-widget-form .e-form__indicators__indicator--state-active {
        border-color: var(--primary-color);
        color: var(--primary-color);
    }

    .elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
        background: var(--primary-color);
        border-color: transparent;
        color: var(--light-color);
    }

    .elementor-widget-form .e-form__indicators__indicator--state-completed + .e-form__indicators__indicator__separator {
        background: var(--primary-color);
    }

    .elementor-blockquote--skin-border .elementor-blockquote {
        border: none;
        padding: 0;
        margin: 0;
    }

    .elementor-widget-accordion .elementor-accordion .elementor-accordion-item {
        border: none;
    }

    .elementor-widget-accordion :is(.elementor-tab-title, .elementor-tab-content) {
        border-block-start: none;
    }

    .elementor-widget-accordion .elementor-accordion-item:not(:last-child) :is(.elementor-tab-title, .elementor-tab-content) {
        border-block-end: var(--border-width) solid var(--shadow-color);
    }

    .elementor-widget-accordion .elementor-accordion-item:first-child .elementor-tab-title {
        padding-block-start: 0;
    }

    .elementor-widget-accordion .elementor-accordion-item:last-child .elementor-tab-title {
        padding-block-end: 0;
    }

    .elementor-widget-accordion .elementor-tab-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--spacing-sm);
        padding-block: var(--spacing-md);
        padding-inline: 0;
    }

    .elementor-widget-accordion .elementor-tab-title a {
        color: var(--title-color);
        font: var(--text-weight-medium) var(--text-size-big)/1.3 var(--font-text);
    } 

    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-title {
        order: 1;
    }

    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon {
        float: none;
        inline-size: auto;
        order: 2;
    }

    .elementor-widget-accordion .elementor-tab-title :is(.elementor-accordion-icon, span) {
        line-height: 1;
    }

    .elementor-widget-accordion .elementor-tab-content {
        padding-block: var(--spacing-md) var(--spacing-xl);
        padding-inline: 0;
    }

    .elementor-accordion-icon i::before {
        color: var(--title-color);
        font: var(--font-icon);
        font-size: var(--text-size-small);
        letter-spacing: 0;
        transition: var(--transition-default);
    }

    .elementor-accordion-icon-closed i::before {
        content: "\e900" !important;
    }

    .elementor-accordion-icon-opened i::before {
        content: "\e901" !important;
    }

    .elementor-widget-accordion :is(.elementor-tab-title:focus-visible > a, .elementor-tab-title > a:focus-visible) {
        outline-color: var(--outline-color);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .elementor-widget-accordion .elementor-tab-title:hover > a,
        .elementor-widget-accordion .elementor-tab-title:hover .fas::before {
            color: var(--primary-color);
        }

        .elementor-widget-accordion .elementor-tab-title:active > a,
        .elementor-widget-accordion .elementor-tab-title:active .fas::before {
            color: var(--primary-hover-color);
        }
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .elementor-widget-accordion .elementor-tab-title:active > a,
        .elementor-widget-accordion .elementor-tab-title:active .fas::before {
            color: var(--primary-color);
        }
    }

    :where(.gdpr_lightbox, #moove_gdpr_cookie_info_bar) {
        background: radial-gradient(var(--muted-color), 25%, var(--title-color));
        overflow-y: scroll;
        overscroll-behavior: contain;
        position: fixed;
        inset: 0;
    }

    @-moz-document url-prefix() {
        
        :where(.gdpr_lightbox, #moove_gdpr_cookie_info_bar) {
            scrollbar-color: transparent transparent;
            scrollbar-width: thin;
        }
    }

    :where(.gdpr_lightbox, #moove_gdpr_cookie_info_bar)::-webkit-scrollbar,
    :where(.gdpr_lightbox, #moove_gdpr_cookie_info_bar)::-webkit-scrollbar-thumb {
        background: transparent;
        inline-size: 0;
        block-size: 0;
    }

    :where(#moove_gdpr_cookie_info_bar) {
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9900;
    }

    .moove-gdpr-info-bar-container {
        background: var(--background-color);
        border-radius: clamp(0rem, var(--border-radius), 2rem);
        box-shadow: 0 4px 124px var(--shadow-color);
        inline-size: min(100%, 50rem);
        padding: var(--spacing-lg);
        margin: var(--spacing-lg);
    }

    .moove-gdpr-info-bar-container .moove-gdpr-cookie-notice {
        margin-block-end: var(--spacing-sm);
    }

    .moove-gdpr-info-bar-container .moove-gdpr-cookie-notice p {
        color: var(--title-color);
        font-weight: var(--text-weight-medium);
    }

    .moove-gdpr-info-bar-container .moove-gdpr-button-holder {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        gap: var(--spacing-sm);
    }

    .moove-gdpr-info-bar-container .moove-gdpr-infobar-allow-all {
        order: 1;
    }

    .moove-gdpr-info-bar-container .moove-gdpr-infobar-settings-btn {
        order: 2;
    }

    .moove-gdpr-info-bar-container .moove-gdpr-infobar-reject-btn {
        order: 3;
    }

    .moove-gdpr-info-bar-container .moove-gdpr-infobar-reject-btn:is(:hover, :active) {
        text-decoration: underline;
    }

    :is(.gdpr_lightbox, .gdpr_lightbox-close) {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: var(--transition-default);
        z-index: 9990;
    }

    .gdpr_lightbox.gdpr_lightbox-opened {
        opacity: 1;
        visibility: visible;
        pointer-events: initial;
    }

    .gdpr_lightbox > .gdpr_lightbox-wrap {
        margin-block: var(--spacing-md);
    }

    :where(#moove_gdpr_cookie_modal) {
        all: unset;
    }

    :is(.moove-gdpr-branding-cnt, .moove-clearfix, .gdpr_lightbox-hide),
    .moove-gdpr-modal-content .cookie-switch input {
        display: none;
    }

    .moove-gdpr-modal-content {
        background: var(--background-color);
        border-radius: clamp(0rem, var(--border-radius), 2rem);
        box-shadow: 0 4px 124px var(--shadow-color);
        display: grid;
        grid-template-columns: .6fr 1fr;
        inline-size: min(var(--wrapper-size-mobile), 70rem);
        min-block-size: 35rem;
        position: relative;
        margin-inline: auto;
    }

    .moove-gdpr-modal-content .moove-gdpr-modal-close {
        position: absolute;
        inset-block-start: var(--spacing-sm);
        inset-inline-end: var(--spacing-sm);
    }

    .moove-gdpr-modal-content .moovegdpr-arrow-close {
        font: var(--font-icon);
    }

    .moove-gdpr-modal-content :is(.moove-gdpr-modal-left-content, .moove-gdpr-modal-right-content) {
        display: flex;
        flex-flow: column;
        padding: var(--spacing-lg);
    }

    .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
        gap: var(--spacing-md);
    }

    .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
        aspect-ratio: var(--logo-ratio);
    }

    .moove-gdpr-modal-left-content li button,
    .moove-gdpr-modal-content .moove-gdpr-modal-right-content {
        background: var(--background-grey);
    }

    .moove-gdpr-modal-left-content li button {
        border-radius: var(--border-radius);
        border: var(--border-width) solid transparent;
        color: var(--primary-color);
        inline-size: 100%;
        text-align: left;
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .moove-gdpr-modal-left-content li button:hover {
            background: var(--primary-color);
            color: var(--light-color);
        }  

        .moove-gdpr-modal-left-content li button:active {
            background: var(--primary-hover-color);
            color: var(--light-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        .moove-gdpr-modal-left-content li button:active {
            background: var(--primary-color);
            color: var(--light-color);
        }
    }

    .moove-gdpr-modal-left-content li.menu-item-selected :is(a,button) {
        background: var(--background-color);
        border-color: var(--background-grey);
        color: var(--text-color);
        cursor: default;
    }

    .moove-gdpr-modal-left-content li :is(a, button) span {
        display: flex;
        font-size: var(--text-size-normal);
        line-height: 1.3;
    }

    .moove-gdpr-modal-content .moove-gdpr-modal-right-content .main-modal-content {
        flex-grow: 1;
        block-size: auto;
    }

    .moove-gdpr-modal-content .moove-gdpr-tab-main :is(h3,span).tab-title {
        color: var(--title-color);
        display: inline-flex;
        font: var(--text-weight-bold) var(--h4-font-size) / 1 var(--font-title);
        margin-block-end: var(--spacing-md);
    }

    .moove-gdpr-modal-content .moove-gdpr-status-bar.gdpr-checkbox-disabled {
        opacity: .6;
        pointer-events: none;
    }

    .moove-gdpr-modal-content .cookie-switch {
        position: relative;
        display: inline-block;
        inline-size: 3rem;
        block-size: 2rem;
    }

    .moove-gdpr-modal-content .moove-gdpr-button-holder {
        border-block-start: var(--border-width) solid var(--shadow-color);
        display: flex;
        justify-content: space-between;
        margin-block-start: var(--spacing-xl);
        padding-block-start: var(--spacing-md);
    }

    .moove-gdpr-modal-content .cookie-switch .cookie-slider {
        background: var(--alert-danger-color);
        border-radius: 5rem;
        cursor: pointer;
        position: absolute;
        inset: 0;
        transition: var(--transition-default);
    }

    .moove-gdpr-modal-content .cookie-switch input:checked + .cookie-slider {
        background: var(--alert-success-color);
    }

    .moove-gdpr-modal-content .moove-gdpr-status-bar.gdpr-checkbox-disabled .cookie-switch input:checked + .cookie-slider {
        background: var(--title-color);
    }

    .moove-gdpr-modal-content .cookie-switch .cookie-slider:before {
        content: "";
        background: var(--background-color);
        border-radius: 50%;
        display: block;
        aspect-ratio: 1;
        inline-size: auto;
        block-size: calc(2rem - (var(--border-width) * 2));
        position: absolute;
        inset-block-end: 50%;
        inset-inline-start: 0;
        translate: var(--border-width) 50%;
        transition: var(--transition-default);
    }

    .moove-gdpr-modal-content .cookie-switch input:checked + .cookie-slider:before {
        translate: calc(1.5rem - (var(--border-width) * 3)) 50%;
    }

    .moove-gdpr-modal-content .cookie-switch .cookie-slider:after {
        content: attr(data-text-disabled);
        color: var(--alert-danger-color);
        display: block;
        font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
        position: absolute;
        inset-block-start: 50%;
        inset-inline-end: calc(var(--spacing-2xs) * -1);
        translate: 100% -50%;
    }

    .moove-gdpr-modal-content .cookie-switch input:checked + .cookie-slider:after {
        content: attr(data-text-enable);
        color: var(--alert-success-color);
    }

    .moove-gdpr-modal-content .moove-gdpr-status-bar.gdpr-checkbox-disabled .cookie-switch input:checked + .cookie-slider:after {
        color: var(--title-color);
    }
    
    @container viewport (60rem < inline-size) {

        .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
            border-radius: clamp(0rem, var(--border-radius), 2rem) 0 0 clamp(0rem, var(--border-radius), 2rem);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-right-content {
            border-radius: 0 clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem) 0;
        }
        
        .moove-gdpr-modal-left-content li:not(:first-child) {
            margin-block-start: var(--spacing-xs);
        }
    }

    @container viewport (inline-size <= 60rem) {
        
        .moove-gdpr-modal-content {
            grid-template-columns: 1fr;
            min-block-size: initial;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-close {
            inset-block-start: calc(var(--spacing-lg) + (var(--logo-height) / 2));
            inset-inline-end: var(--spacing-lg);
            translate: 0 -50%;
        }
    }

    @container viewport (45rem < inline-size) {
        
        .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
            inline-size: min(80%, 8rem);
            block-size: auto;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
            background: var(--background-color);
        }
    }

    @container viewport (45rem < inline-size <= 60rem) {
        
        .moove-gdpr-modal-left-content ul {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--spacing-3xs);
        }
        
        .moove-gdpr-modal-left-content :is(li, button) {
            inline-size: 100%;
            block-size: 100%;
            margin: 0;
        }
        
        .moove-gdpr-modal-left-content li button {
            padding-block: var(--spacing-3xs);
            padding-inline: var(--spacing-xs);
        }
        
        .moove-gdpr-modal-left-content .gdpr-nav-tab-title {
            font-size: var(--text-size-small);
        }
    }

    @container viewport (inline-size <= 45rem) {        
        
        .moove-gdpr-info-bar-container {
            max-inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin: 0;
        }
        
        .moove-gdpr-info-bar-container .moove-gdpr-cookie-notice {
            margin-block-end: var(--spacing-md);
        }
        
        .moove-gdpr-modal-left-content,
        .moove-gdpr-modal-content .moove-gdpr-tab-main:not(#privacy_overview) .moove-gdpr-tab-main-content {
            display: none;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main {
            display: block;
        }
                
        .moove-gdpr-modal-content .moove-gdpr-tab-main:not(#privacy_overview) {
            background: var(--background-color);
            border: none;
            border-radius: clamp(0rem, var(--border-radius), 1rem);
            margin-block-end: var(--spacing-2xs);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main:not(#privacy_overview) .tab-title {
            cursor: pointer;
            display: block;
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-sm);
            margin: 0;
            transition: var(--transition-default);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main:not(#privacy_overview) .moove-gdpr-tab-main-content {
            padding-block: 0 var(--spacing-lg);
            padding-inline: var(--spacing-sm);
        }
        
        .moove-gdpr-modal-content :is(.moove-gdpr-modal-left-content, .moove-gdpr-modal-right-content) {
            padding: var(--spacing-md);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
            border-radius: clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem) 0 0;
            justify-content: space-between;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-right-content {
            border-radius: 0 0 clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem);
        }
        
        .moove-gdpr-modal-content button.moove-gdpr-modal-close {
            inset-block-start: calc(var(--spacing-md) + (var(--logo-height) / 2));
            inset-inline-end: var(--spacing-md);
        }
            
        .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
            inline-size: auto;
            max-inline-size: 66.6666%;
            block-size: var(--logo-height);
            max-block-size: initial;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main :is(h3, span).tab-title {
            font-family: var(--font-text);
            font-size: var(--h4-font-size);
            margin-block-end: var(--spacing-sm);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main:not(#privacy_overview) :is(.tab-title, .moove-gdpr-tab-main-content) {
            background: transparent;
            border: none;
            border-radius: 0;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-company-logo-holder {
            margin-block-end: 0;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-tab-main-content :is(p, a, li, button) {
            font-size: var(--text-size-small);
        }
    }

    @container viewport (36rem < inline-size) {

        .owl-carousel:not(.item-1) > .item {
            padding-block: 0;
            padding-inline: 1rem;
        }
        
        #moove_gdpr_cookie_modal .moove-gdpr-button-holder {
            flex-flow: row-reverse wrap;
        }
    }

    @container viewport (inline-size <= 36rem) {
            
        .moove-gdpr-info-bar-container .moove-gdpr-button-holder {
            flex-flow: column-reverse;
            gap: var(--spacing-3xs);
            inline-size: min(100%, 16rem);
            margin-inline: auto;
        }
        
        .moove-gdpr-info-bar-container .moove-gdpr-button-holder .moove-gdpr-infobar-reject-btn {
            margin-block-end: var(--spacing-xs);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-button-holder {
            align-items: center;
            flex-flow: column-reverse;
        }
        
        .moove-gdpr-modal-content .moove-gdpr-button-holder button {
            inline-size: min(100%, 12.5rem);
        }
        
        .moove-gdpr-modal-content .moove-gdpr-modal-allow-all {
            margin-block-start: var(--spacing-3xs);
        }
    }

    @container viewport (inline-size <= 30rem) {       
         
        .moove-gdpr-modal-content .moove-gdpr-button-holder button {
            max-inline-size: initial;
        }
    }

    @container viewport (inline-size <= 24rem) {
            
        .elementor-widget-accordion :is(.elementor-tab-title, .elementor-tab-content) {
            padding-inline: 0;
        }
        
        .elementor-widget-accordion .elementor-tab-title a {
            font-size: var(--text-size-normal);
        }
        
        .moove-gdpr-info-bar-container .moove-gdpr-cookie-notice p,
        .moove-gdpr-info-bar-container .moove-gdpr-button-holder .mgbutton {
            font-size: var(--text-size-small);
        }
        
        .moove-gdpr-modal-content .mgbutton {
            max-inline-size: initial;
        }
    }
}

@layer components {

    @keyframes inifinite-rotate {
        0% {
            rotate: 0deg;
        }

        100% {
            rotate: 360deg;
        }
    }

    @keyframes slider-loop {
        0% {
            translate: 0;
        }

        100% {
            translate: -100%;
        }
    }
    
    .accroche .elementor-heading-title {
        color: var(--title-color);
        font: var(--text-weight-normal) var(--h4-font-size) / 1 var(--font-text);
        letter-spacing: 0;
        text-wrap: balance;
    }
    
    .accroche.primary .elementor-heading-title {
        color: var(--primary-color);
    }

    .fond:is(.noir, .blanc):not(.block),
    .fond.block:is(.noir, .blanc) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-color);
    }

    .fond.gris:not(.block),
    .fond.block.gris > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-grey);
    }

    .light-scheme-color:not(.light-default) :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color:not(.dark-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: dark;
    }

    .dark-scheme-color:not(.dark-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color:not(.light-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: light;
    }

    .elementor-widget-form .elementor-field-type-upload > label {
        background: var(--primary-color);
        border-radius: calc(var(--border-radius) / 2);
        color: var(--light-color);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: var(--spacing-3xs);
        inline-size: 100%;
        padding-block: var(--spacing-2xs);
        padding-inline: var(--spacing-sm);
        transition: var(--transition-default);
    }

    .elementor-widget-form .elementor-field-type-upload > .file-loaded {
        font-weight: var(--text-weight-bold);
    }

    .elementor-widget-form .elementor-field-type-upload > .file-loaded::after {
        display: none;
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .elementor-widget-form .elementor-field-type-upload > label:hover {
            background: var(--primary-hover-color);
        }

        .elementor-widget-form .elementor-field-type-upload > label:active {
            background: var(--primary-active-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        .elementor-widget-form .elementor-field-type-upload > label:active {
            background: var(--primary-hover-color);
        }
    }

    .elementor-widget-form .elementor-field-type-upload > label:has(+ input:focus-visible) {    
        outline-color: var(--primary-color);
    }

    .elementor-widget-form .elementor-field-type-upload > label::before {
        content: "\e904";
        font: var(--font-icon);
        letter-spacing: 0;
    }

    :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
        background: oklch(from var(--dark-color) l c h / .25);
        border-radius: var(--border-radius);
        color: var(--light-color);
        inline-size: var(--wrapper-size-mobile);
        padding: var(--spacing-3xs);
    }

    .elementor-testimonial-wrapper {
        text-align: left;
    }

    .elementor-widget-testimonial-carousel .elementor-main-swiper {
        inline-size: 100%;
    }

    .elementor-widget-testimonial-carousel .swiper-slide {
        padding: 0;
    }

    :is(.elementor-testimonial-content, .elementor-testimonial__content) {
        display: grid;
        gap: var(--spacing-md);
        margin: 0;
    }

    :is(.elementor-testimonial-content, .elementor-testimonial__content)::before {
        background: var(--quote);
        aspect-ratio: 76 / 52;
        inline-size: min(19.5%, 5rem);
    }

    :is(.elementor-testimonial-meta, .elementor-testimonial__footer) {
        margin-block-start: var(--spacing-sm);
    }

    :is(.elementor-testimonial-image, .elementor-testimonial__image) img {
        border-radius: 0;
        aspect-ratio: 1;
        inline-size: auto;
        block-size: var(--h2-font-size);
        object-fit: contain;
    }

    :is(.elementor-testimonial-name, .elementor-testimonial__name) {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1.3 var(--font-text);
    }

    :is(.elementor-testimonial-job, .elementor-testimonial__title) {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        line-height: 1.3;
        margin-block-start: var(--spacing-4xs);
    }

    .elementor-widget-heading:not(.h3, .h4, .hourglass-star, .accroche, .center, .right, .inodia-icons):has(h2) {    
        display: flex;
        flex-flow: column;
        align-items: flex-start;
    }

    .center .elementor-widget-heading:not(.h3, .h4, .accroche, .center, .right, .inodia-icons):has(h2) {
        align-items: center;
    }

    :is(.elementor-widget-heading.h1, .elementor-widget-heading:not(.h2, .h3, .h4, .text-big, .accroche):has(h1)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-xl);
    }

    .elementor-widget + .quote,
    :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4, .text-big, .accroche):has(h2)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-lg);
    }

    :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2, .h4, .text-big, .accroche):has(h3)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-md);
    }

    :is(.elementor-widget-heading.h4, .elementor-widget-heading.text-big, .elementor-widget-heading.accroche, .elementor-widget-heading:not(.h2, .h3):has(h4)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-sm);
    }

    .elementor-inner-section + .elementor-widget,
    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4, .text-big, .accroche):has(h2)) {
        margin-block-start: calc(var(--spacing-lg) * 2);
    }

    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2, .h4, .text-big, .accroche):has(h3)) {
        margin-block-start: calc(var(--spacing-md) * 2);
    }

    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h4, .elementor-widget-heading.text-big, .elementor-widget-heading.accroche, .elementor-widget-heading:not(.h2, .h3, .text-big):has(h4)) {
        margin-block-start: calc(var(--spacing-sm) * 2);
    }

    .elementor-widget-image + .elementor-widget-heading {
        margin-block-start: var(--spacing-3xl);
    }

    .elementor-widget-heading:is(.stars, .star) {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-xs);
    }

    .elementor-widget-heading:is(.stars, .star)::before,
    .slider-expertises .tease-expertise::before,
    :is(.elementor-widget-heading.icon-logo, .elementor-widget-image-carousel.icon-logo, .elementor-widget-media-carousel.icon-logo, .icon-logo:not(.elementor-widget-image-carousel, .elementor-widget-media-carousel) > div:not(.ui-resizable-handle, .elementor-element-overlay))::before,
    .section-pq-ludys .answers.ino-grid .elementor-widget-heading::before,
    :is(.elementor-widget-testimonial, .elementor-widget-testimonial-carousel) :is(.elementor-testimonial-content, .elementor-testimonial__content)::before,
    .section-process .elementor-inner-column:not(.ino-col-full) .elementor-widget-heading:first-child::before {
        content: "";
        display: flex;
        block-size: auto;
        pointer-events: none;
    }

    .elementor-widget-heading.star::before,
    .slider-expertises .tease-expertise::before,
    :is(.elementor-widget-heading.icon-logo, .elementor-widget-image-carousel.icon-logo, .elementor-widget-media-carousel.icon-logo, .icon-logo:not(.elementor-widget-image-carousel, .elementor-widget-media-carousel) > div:not(.ui-resizable-handle, .elementor-element-overlay))::before,
    .section-pq-ludys .answers.ino-grid .elementor-widget-heading::before,
    .section-process .elementor-inner-column:not(.ino-col-full) .elementor-widget-heading:first-child::before {
        aspect-ratio: 1;
    }

    .elementor-widget-heading.stars::before {
        background: var(--stars);
        aspect-ratio: 234 / 144;
    }

    .elementor-widget-heading.star::before {
        background: var(--green-color);
        clip-path: var(--star);
    }

    :is(.elementor-widget-heading.icon-logo.green, .elementor-widget-image-carousel.icon-logo.green, .elementor-widget-media-carousel.icon-logo.green, .icon-logo.green:not(.elementor-widget-image-carousel, .elementor-widget-media-carousel) > div)::before {
        background: var(--logo-icon-green);
    }

    :is(.elementor-widget-heading.icon-logo.pink, .elementor-widget-image-carousel.icon-logo.pink, .elementor-widget-media-carousel.icon-logo.pink, .icon-logo.pink:not(.elementor-widget-image-carousel, .elementor-widget-media-carousel) > div)::before {
        background: var(--logo-icon-pink);
    }

    :is(.elementor-widget-heading.icon-logo.orange, .elementor-widget-image-carousel.icon-logo.orange, .elementor-widget-media-carousel.icon-logo.orange, .icon-logo.orange:not(.elementor-widget-image-carousel, .elementor-widget-media-carousel) > div)::before {
        background: var(--logo-icon-orange);
    }

    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::before,
    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::after {
        inline-size: min(31%, 16.5rem);
        position: relative;
        inset-inline-start: 30%;
    }

    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::after {
        content: "";
        display: flex;
        aspect-ratio: 264 / 43;
        block-size: auto;
    }

    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo.green::after {
        background: var(--green-color);
    }

    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo.pink::after {
        background: var(--secondary-color);
    }

    :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo.orange::after {
        background: var(--orange-color);
    } 

    .facetwp-type-checkboxes {
        display: inline-flex;
        flex-wrap: wrap;
        gap: var(--spacing-2xs) var(--spacing-md);
        position: relative;
    }
    
    .facetwp-overlay {
        background: var(--background-color);
        opacity: .66;
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .facetwp-checkbox {
        --_checkbox-size: var(--spacing-xs);
        color: var(--text-color);
        cursor: pointer;
        display: flex;
        align-items: flex-start;
        font: var(--text-weight-normal) var(--text-size-normal)/ 1.1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        position: relative;
    }

    .facetwp-checkbox::before,
    .facetwp-checkbox::after {
        inline-size: var(--_checkbox-size);
        block-size: var(--_checkbox-size);
        margin-inline-end: var(--spacing-2xs);
    }

    .facetwp-checkbox::before {
        content: "";
        border: var(--border-width) solid var(--border-color);
    }

    .facetwp-checkbox::after {
        content: "\e906";
        background: var(--primary-color);
        color: var(--light-color);
        display: flex;
        align-items: center;
        justify-content: center;
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
        position: absolute;
        inset-inline-start: 0;
        inset-block-start: 0;
    }

    .facetwp-checkbox:not(.checked)::after {
        opacity: 0;
    }

    .facetwp-checkbox span {
        color: inherit;
        font: inherit;
        letter-spacing: inherit;
        margin-inline-start: var(--spacing-4xs);
    }

    .facetwp-template {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));
        gap: var(--items-gap);
    }

    .facetwp-facet-pagination .facetwp-pager {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-md);
    }

    .facetwp-page {
        font-weight: var(--text-weight-bold);
    }

    .facetwp-page:is(.prev, .next) {
        display: flex;
        align-items: center;
        gap: 1ch;
    }

    .facetwp-page.prev::before,
    .facetwp-page.next::after {
        font: var(--font-icon);
        font-size: var(--text-size-small);
        letter-spacing: 0;
    }

    .facetwp-page.prev::before {
        content: "\e903";
    }

    .facetwp-page.next::after {
        content: "\e902";
    }

    .breadcrumb + * {
        margin-block-start: var(--spacing-xl);
    }

    .breadcrumb p {
        display: flex;
        gap: var(--spacing-4xs) 1ch;
        font-size: var(--text-size-small);
    }

    .breadcrumb :is(a, span.last) {
        display: block;
        letter-spacing: .1em;
        white-space: nowrap;
        text-overflow: ellipsis;
        text-transform: uppercase;
        overflow: hidden;
    }

    .breadcrumb a {
        max-inline-size: 12ch;
        transition: color .3s ease-in-out, outline .15s ease-in-out;
    }

    .breadcrumb span.last {
        max-inline-size: 24ch;
    }

    .boutons:has(> .bouton),
    .boutons .elementor-widget-wrap {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        gap: var(--spacing-2xs);
    }

    .boutons .bouton {
        inline-size: auto;
        margin: 0;
    }
    
    .bouton.center,
    .center .bouton,
    .center .boutons .elementor-widget-wrap {
        display: flex;
        justify-content: center;
    }

    button[type=submit],
    .bouton:not(div),
    .bouton :is(a, button, [type=submit]),
    .mgbutton:not(.moove-gdpr-infobar-reject-btn),
    .elementor-widget-media-carousel .eicon-play {
        color: var(--_btn-text-color);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 1ch;
        outline-color: var(--_btn-color)
    }

    button[type=submit],
    .bouton:not(.link, div),
    .bouton:not(.link) :is(a, button, [type=submit]),
    .mgbutton:not(.moove-gdpr-infobar-reject-btn),
    .elementor-widget-media-carousel .eicon-play {
        background: var(--_btn-color);
        border: var(--border-width) solid transparent;
        border-radius: var(--border-radius);
        text-align: center;
        padding-block: var(--spacing-xs);
        padding-inline: calc(var(--spacing-xs) * 2);
    }

    button[type=submit] span,
    .bouton:not(.icon),
    .bouton:not(.icon) span,
    .mgbutton:not(.moove-gdpr-infobar-reject-btn) {
        font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
    }

    button[type=submit] span,
    .bouton span {
        color: inherit;    
        display: inline-flex;
        gap: var(--spacing-2xs);
        text-align: center;
    }

    .bouton.download:not(div)::before,
    .bouton.download :is(a, button, [type=submit]) > span::before {
        font: var(--font-icon);
    }

    .bouton.contour:not(:hover, :active, div),
    .bouton.contour:not(:hover, :active) :is(a, button, [type=submit]),
    .bouton.link:not(div),
    .bouton.link :is(a, button, [type=submit]),
    .moove-gdpr-modal-content .moove-gdpr-modal-save-settings:not(:hover, :active),
    .moove-gdpr-info-bar-container .moove-gdpr-infobar-settings-btn:not(:hover, :active) {
        background: transparent;
        border-color: var(--_btn-color);
        --_btn-text-color: var(--_btn-color);
    }

    button[type=submit],
    .bouton.primary:not(div),
    .bouton.primary :is(a, button, [type=submit]),
    :is(.moove-gdpr-modal-allow-all, .moove-gdpr-infobar-allow-all),
    .elementor-widget-media-carousel .eicon-play {
        --_btn-color: var(--primary-color);
        --_btn-text-color: var(--light-color);
    }

    .bouton.secondary:not(div),
    .bouton.secondary :is(a, button, [type=submit]) {
        --_btn-color: var(--secondary-color);
        --_btn-text-color: var(--light-color);
    }

    .bouton.dark:not(div),
    .bouton.dark :is(a, button, [type=submit]),
    .moove-gdpr-modal-content .moove-gdpr-modal-save-settings,
    .moove-gdpr-info-bar-container .moove-gdpr-infobar-settings-btn {
        --_btn-color: var(--title-color);
        --_btn-text-color: var(--background-color);
    }
    
    @media only screen and (hover: hover) and (pointer: fine) {

        button[type=submit]:hover,
        .bouton.primary:not(.contour, div):hover,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.primary.contour:not(div):active,
        .bouton.primary.contour :is(a, button, [type=submit]):active,
        :is(.moove-gdpr-modal-allow-all, .moove-gdpr-infobar-allow-all):hover,
        .elementor-widget-media-carousel .swiper-slide > a:hover .eicon-play {
            --_btn-color: var(--primary-hover-color);
        }

        button[type=submit]:active,
        .bouton.primary:not(.contour, div):active,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):active,
        :is(.moove-gdpr-modal-allow-all, .moove-gdpr-infobar-allow-all):active,
        .elementor-widget-media-carousel .swiper-slide > a:active .eicon-play {
            --_btn-color: var(--primary-active-color);
        }

        .bouton.secondary:not(.contour, div):hover,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.secondary.contour:not(div):active,
        .bouton.secondary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-hover-color);
        }

        .bouton.secondary:not(.contour, div):active,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-active-color);
        }

        .bouton.dark:not(.contour, div):hover,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.dark.contour:not(div):active,
        .bouton.dark.contour :is(a, button, [type=submit]):active,
        .moove-gdpr-modal-content .moove-gdpr-modal-save-settings:active,
        .moove-gdpr-info-bar-container .moove-gdpr-infobar-settings-btn:active {
            --_btn-color: var(--strong-color);
        }

        .bouton.dark:not(.contour, div):active,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--text-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        button[type=submit]:active,
        .bouton.primary:not(.contour, div):active,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):active,
        .elementor-widget-media-carousel .swiper-slide > a:active .eicon-play {
            --_btn-color: var(--primary-hover-color);
        }
        
        .bouton.primary.contour:not(div):active,
        .bouton.primary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--primary-color);
        }

        .bouton.secondary:not(.contour, div):active,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-hover-color);
        }

        .bouton.secondary.contour:not(div):active,
        .bouton.secondary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-color);
        }

        .bouton.dark:not(.contour, div):active,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--strong-color);
        }

        .bouton.dark.contour:not(div):active,
        .bouton.dark.contour :is(a, button, [type=submit]):active,
        .moove-gdpr-modal-content .moove-gdpr-modal-save-setting:active,
        .moove-gdpr-info-bar-container .moove-gdpr-infobar-settings-btn:active {
            --_btn-color: var(--title-color);
        }
    }

    .bouton.link:not(div),
    .bouton.link :is(a, button, [type=submit]) {
        color: var(--_btn-color);
    }

    .bouton.link:not(div)::after,
    .bouton.link :is(a, button, [type=submit])::after {
        content: "\e910";
        color: inherit;
        font: var(--font-icon);
        font-size: var(--text-size-small);
        letter-spacing: 0;
        transition: translate .5s cubic-bezier(0.8, -0.4, 0.5, 1);
    }
        
    @media (prefers-reduced-motion: no-preference) {

        .bouton.link:not(div):hover::after,
        .bouton.link :is(a, button, [type=submit]):hover::after {
            translate: .25rem;
        }

        .bouton.link:not(div):active::after,
        .bouton.link :is(a, button, [type=submit]):active::after {
            translate: .5rem;
        }
    }

    .bouton.icon .elementor-button-wrapper {
        display: table;
    }

    .bouton.icon:not(div),
    .bouton.icon :is(a, button, [type=submit]),
    .elementor-widget-media-carousel .eicon-play {
        aspect-ratio: 1;
        border-radius: 50%;
        padding: var(--spacing-sm);
    }

    .bouton.icon.icon-play:not(div),
    .bouton.icon.icon-play :is(a, button),
    .elementor-widget-media-carousel .eicon-play {
        --_btn-text-color: var(--orange-color);
        rotate: -9deg;
        transition: scale 1s linear(0, 0.008 1.1%, 0.031 2.2%, 0.129 4.8%, 0.257 7.2%, 0.671 14.2%, 0.789 16.5%, 0.881 18.6%, 0.957 20.7%, 1.019 22.9%, 1.063 25.1%, 1.094 27.4%, 1.114 30.7%, 1.112 34.5%, 1.018 49.9%, 0.99 59.1%, 1), background .3s ease-in-out, border .3s ease-in-out;
    }

    .elementor-widget-media-carousel .eicon-play,
    .bouton.icon :is(a, button, [type=submit]) > span {
        font-size: var(--h4-font-size);
    }

    @media (prefers-reduced-motion: no-preference) {

        @media only screen and (hover: hover) and (pointer: fine) {

            .bouton.icon.icon-play a:hover,
            .elementor-widget-media-carousel .swiper-slide > a:hover .eicon-play {
                scale: 1.05;
            }

            .bouton.icon.icon-play a:active,
            .elementor-widget-media-carousel .swiper-slide > a:active .eicon-play {
                scale: 1.1;
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {

            .bouton.icon.icon-play a:active,
            .elementor-widget-media-carousel .swiper-slide > a:active .eicon-play {
                scale: 1.05;
            }
        }
    }

    .ino-modal {
        background: transparent;
        display: flex;
        flex-flow: column;
        block-size: 100%;
        pointer-events: none;
        transition: opacity .15s linear;
    }

    .ino-modal:not(.ino-modal-img) {
        inline-size: 100%;
    }

    .ino-modal:not(.ino-modal-img, .ino-modal-video) {
        background: var(--background-color);
    }

    .ino-modal:not([open], :popover-open) {
        opacity: 0;
        visibility: hidden;
    }

    .ino-modal:not(.ino-modal-img):is([open], :popover-open) {
        pointer-events: initial;
    }

    .ino-modal:popover-open::backdrop {
        background: radial-gradient(var(--shadow-color), 50%, var(--muted-color));
    }

    .ino-modal-wrapper {
        inline-size: 100%;
        block-size: auto;
        overflow: auto;
        overscroll-behavior: contain;
    }

    .ino-modal:not(.ino-modal-img) .ino-modal-wrapper {
        flex-grow: 1;
    }

    @-moz-document url-prefix() {
        
        .ino-modal .ino-modal-wrapper {
            scrollbar-color: transparent transparent;
            scrollbar-width: none;
        }
    }
        
    .ino-modal-wrapper::-webkit-scrollbar {
        background: transparent;
        inline-size: 0;
        block-size: 0;
    }

    .ino-modal-container {
        display: flex;
        align-items: safe center;
        position: relative;
    }

    .ino-modal-container.center {
        justify-content: center;    
    }

    .ino-modal:is([open], :popover-open):not(.ino-modal-img) .ino-modal-container {
        translate: 0;
    }

    .ino-modal:not(.ino-modal-img) .ino-modal-container {
        block-size: auto;
        min-block-size: 100%;
        padding-block: 6rem;
        translate: 0 -50px;
        transition: translate .3s ease-out;
    }

    .ino-modal-close {
        display: flex;
        float: none;
        text-shadow: none;
        opacity: 1;
        padding: 0;
        position: absolute;
        inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2) - var(--banner-height));
        inset-inline-end: 0;
        translate: 0 -50%;
    }

    .ino-modal-close i {
        font-size: clamp(1.25rem, 1.192rem + .291vw, 1.5rem);
    }

    .ino-modal-img {
        justify-content: center;
    }

    .ino-modal-img .ino-modal-container {
        inline-size: fit-content;
        margin: var(--spacing-xs);
    }

    .ino-modal-img:popover-open img {
        inline-size: auto;
        max-block-size: 90vh;
        pointer-events: initial;
    }

    body:has(.ino-modal-img:popover-open img:not(:hover)) * {
        cursor: zoom-out;
    }

    .ino-modal-video::backdrop {
        background: radial-gradient(var(--muted-color), 50%, var(--strong-color));
    }

    .ino-modal-video iframe {
        box-shadow: var(--box-shadow);
        aspect-ratio: 16 / 9;
        block-size: auto;
        max-inline-size: 100%;
    }

    .pagination-block {
        margin-block-start: var(--spacing-2xl);
    }

    .pagination-block,
    .pagination-block .pagination {
        display: flex;
        align-items: center;
        justify-content:center;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    .pagination-block .pagination :is(li, span) {
        line-height: 1;
    }

    .pagination-block .pagination li.disabled {
        display: none;
    }

    .pagination-block .pagination li.current span {
        color: var(--primary-color);
    }

    .pagination-block .pagination a {
        display: inline-flex;
        font-weight: var(--text-weight-medium);
    }

    .pagination-block .pagination a:has(i) {
        align-items: center;
        gap: 1.5ch;
    }

    .pagination-block .pagination i {
        font-size: var(--text-size-small);
    }

    :is(.tease, .tease__description) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        inline-size: 100%;
    }

    .tease {
        gap: var(--spacing-sm);
    }

    .tease__thumb {
        border-radius: clamp(0rem, var(--border-radius), clamp(1.5rem, 1.125rem + 1.875vw, 3rem));
        display: flex;
        aspect-ratio: 16 / 9;
        inline-size: 100%;
        block-size: auto;
        overflow: hidden;
    }

    .tease__thumb :is(picture, img, svg) {
        inline-size: 100%;
        block-size: 100%;
    }

    .tease__thumb :is(img, svg) {
        object-fit: cover;
    }

    @media (prefers-reduced-motion: no-preference) {

        .tease__thumb :is(img, svg) {
            transition: scale .75s linear(0, 0.402 7.4%, 0.711 15.3%, 0.929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
        }
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .tease__thumb:hover :is(img, svg) {
            scale: 1.025;
        }
    }

    .tease__thumb:active :is(img, svg) {
        scale: 1.05;
    }

    .tease__description {
        flex-grow: 1;
    }

    .tease__description time {
        background: var(--primary-color);
        border-radius: calc(var(--border-radius) / 4);
        color: var(--light-color);
        font: var(--text-weight-bold) var(--text-size-small)/1 var(--font-text);
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
        margin-block-end: var(--spacing-2xs);
    }

    .tease__title {
        font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-text);
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .tease__title > * {
        color: inherit;
        font: inherit;
        letter-spacing: inherit;
        text-transform: inherit;
    }

    .tease-expertise-pv .tease__title {
        text-transform: initial;
    }

    .tease__excerpt {
        font-size: var(--text-size-small);
        line-height: 1.3;
        margin-block: var(--spacing-xs) 0;
    }

    .tease__button {
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        flex-grow: 1;
        margin-block-start: var(--spacing-sm);
    }

    .tease-expertise .tease__thumb {
        aspect-ratio: 400 / 474;
    }

    .tease-expertise .tease__excerpt {
        font-size: var(--text-size-normal)
    }

    .tease-expertise .tease__button {
        margin-inline-start: auto;
    }

    .socials-label {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-small)/1 var(--font-text);
    }

    :is(.custom-html-widget:has(.socials-list), .socials-list) {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
    }

    .socials-list li {
        line-height: 1;
    }

    .socials-list a {
        font-size: var(--text-size-big);
    }

    .back-to-top {
        border-radius: var(--border-radius) !important;
        padding: var(--spacing-2xs) !important;
        position: fixed;
        inset-block-end: var(--spacing-md);
        inset-inline-end: var(--spacing-md);
        transition: var(--transition-default), opacity .15s ease-in-out;
        z-index: 50;
    }

    .back-to-top i {
        font-size: .5rem;
    }

    .back-to-top.hide {
        opacity: 0;
        pointer-events: none;
    }

    .logos-fixed {
        position: fixed;
        inset-block-start: 40svh;
        inset-inline-end: 0;
        z-index: 49;
    }

    .logos-fixed .custom-html-widget {
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: var(--spacing-sm);
    }

    .logos-fixed .custom-html-widget a {
        display: flex;
    }

    .logos-fixed :where(.rounded-logo, .rounded-logo > svg) {
        border-radius: 100%;
    }

    .pre-header {
        background: var(--primary-color);
        overflow: auto;
        overscroll-behavior: contain;
    }

    .pre-header .container {
        padding-block: var(--spacing-3xs);
    }

    .pre-header p {
        color: var(--light-color);
        font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
        text-align: center;
    }

    header {
        container: main-nav / inline-size;
        z-index: 5;
    }

    header:not(.header-absolute) {
        position: relative;
    }

    .header-nav > .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: min(2.5rem, 10%);
        padding-block: var(--padding-header);
    }

    header .logo a {
        display: flex;
        outline-color: var(--title-color);
    }

    header .logo img {
        aspect-ratio: var(--logo-ratio);
        inline-size: auto;
        block-size: var(--logo-height);
    }

    header .socials-nav-main {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-sm);
    }

    header .socials-nav-main .widget_custom_html {
        display: flex;
        align-items: center;
        pointer-events: initial;
    }

    header .socials-nav-main .widget_custom_html::before {
        content: "";
        background: var(--title-color);
        display: flex;
        flex-grow: 1;
        block-size: var(--border-width);
        margin-inline-end: var(--spacing-2xs);
    }

    header .nav-main ul {
        display: flex;
        align-items: center;
        list-style: none;
    }

    header .nav-main ul:is([class^="level-"],[class*=" level-"]):not(.level-1) {
        flex-flow: column;
        align-items: flex-start;
    }

    header .nav-main .level-1 > li:not(:first-child) {
        border-inline-start: var(--border-width) solid var(--title-color);
        padding-inline-start: var(--spacing-sm);
        margin-inline-start: var(--spacing-sm);
    }

    header .nav-main a {
        display: flex;
        font: var(--text-weight-medium) var(--text-size-small)/1 var(--font-text);
        letter-spacing: .15em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    header .nav-main ul a[href="#"] {
        cursor: default;
    }

    header .ino-nav-menu-item-1.menu-item-has-children .ino-nav-item-link-1 {
        align-items: center;
        gap: 1ch;
    }

    header .ino-nav-menu-item-1.menu-item-has-children .ino-nav-item-link-1::after {
        content: "\e900";
        color: inherit;
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
        text-transform: lowercase;
    }

    header .level-2,
    header .ino-mega-menu .level-3 {    
        gap: var(--spacing-xs);
    }

    header .nav-main-desktop .ino-mega-menu .ino-nav-item-link-2 {
        font: var(--text-weight-bold) var(--text-size-big)/1 var(--font-text);
        letter-spacing: var(--letter-spacing);
    }

    header .ino-nav-mobile-btn-open i {
        font-size: clamp(1.25rem, 1.192rem + .291vw, 1.5rem);
    }

    @container main-nav (inline-size > 85rem) {
        
        .show-inodia-menu {
            display: none !important;
        }

        header > .header-nav {
            pointer-events: none;
        }
        
        header :is(.logo, .ino-nav-menu-item-1) {
            line-height: 1;
            pointer-events: initial;
        }

        header .ino-nav-menu-item-1.menu-item-has-children:not(.mega) {
            position: relative;
        }
        
        header .ino-nav-menu-item-1:not(:first-child) {
            padding-block: var(--spacing-4xs); 
        }
        
        header .ino-nav-menu-item-1 > :is(.level-2, .ino-mega-menu) a {
            font-weight: var(--text-weight-normal);
        }

        header .ino-nav-menu-item-1.menu-item-has-children > :is(ul, .ino-mega-menu) {
            position: absolute;
            inset-block-end: 50%;
            translate: 0 100%;
            z-index: -1;
            transition: var(--transition-default);
        }

        header .ino-nav-menu-item-1.menu-item-has-children > ul {
            border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            min-inline-size: 100%;
            inset-inline-start: 0;
        }

        header:not(.header-absolute) .ino-nav-menu-item-1.menu-item-has-children > :is(ul, .ino-mega-menu),
        body:not(.home:has(.header-absolute-home)) .ino-nav-menu-item-1.menu-item-has-children > :is(ul, .ino-mega-menu) {
            background: var(--background-color);
            box-shadow: var(--box-shadow);
        }

        header:not(.header-absolute) .ino-nav-menu-item-1.menu-item-has-children > ul,
        body:not(.home:has(.header-absolute-home)) .ino-nav-menu-item-1.menu-item-has-children > ul {
            padding-block: var(--padding-header) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }

        .header-absolute:not(.header-absolute-home) .ino-nav-menu-item-1.menu-item-has-children > ul,
        body.home .header-absolute-home .ino-nav-menu-item-1.menu-item-has-children > ul {
            padding-block: calc(var(--spacing-sm) * 2) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }

        header .ino-nav-menu-item-1.menu-item-has-children:not(:hover, :focus-within) > :is(ul, .ino-mega-menu) {
            opacity: 0;
            pointer-events: none;
        }

        header .nav-main-desktop .ino-mega-menu {
            inline-size: 100%;
            inset-inline-start: 0;
            padding-block: calc((var(--logo-height) / 2) + var(--padding-header)) var(--spacing-md);
        }

        header .nav-main-desktop .ino-mega-menu > ul {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: var(--spacing-xl) calc(var(--columns-gap) * 2);
        }

        header .nav-main-desktop .ino-mega-menu .level-2 > .menu-item-has-children {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-sm);
        }

        header .ino-mega-menu .level-3 {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: var(--spacing-xs) 9%;
            inline-size: 100%;
        }

        header .ino-mega-menu .ino-nav-item-link-3 {
            align-items: center;
            gap: var(--spacing-xs);
            line-height: 1.3;
            white-space: initial;
            text-wrap: balance;
        }

        header .ino-mega-menu .ino-nav-item-link-3 img {
            border-radius: clamp(0rem, var(--border-radius), .5rem);
            aspect-ratio: 1 / 1;
            inline-size: 4rem;
            block-size: auto;
            object-fit: cover;
        }
    }

    @container main-nav (inline-size <= 85rem) {
        
        .hide-inodia-menu {
            display: none !important;
        }

        .ino-nav-mobile-menu :is(ul, li) {
            display: flex;
            flex-flow: column;
            line-height: 1;
        }
        
        .ino-nav-mobile-menu li > :is(a[aria-expanded="false"], .ino-nav-wrapper-link:has(button[aria-expanded="false"])) ~ :is(.ino-nav-menu-list, .ino-mega-menu) {
            display: none;
        }

        .ino-nav-mobile-menu.center,
        .ino-nav-mobile-menu ul > :is(li.menu-item-has-children > a[href="#"], li.menu-item-has-children:has(> a:not([href="#"])) > .ino-nav-wrapper-link) {
            justify-content: center;
        }
        
        .ino-nav-mobile-menu.center :is(ul, li) {
            align-items: center;
        }
        
        .ino-nav-mobile-menu.center a {
            text-align: center;
        }
        
        .ino-nav-mobile-menu .level-1 {
            gap: var(--spacing-xl);
        }
        
        .ino-nav-mobile-menu .level-2 {
            gap: var(--spacing-md);
        }
        
        .ino-nav-mobile-menu .level-3 {
            gap: var(--spacing-sm);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-1 {
            gap: var(--spacing-md) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-2 {
            gap: var(--spacing-sm) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-3 {
            gap: var(--spacing-xs) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-1:not(:last-child) > :is(a[href="#"], .ino-nav-menu-list) > .ino-nav-sub-menu {
            margin-block-end: var(--spacing-sm);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-2:not(:last-child) > :is(a[href="#"], .ino-nav-menu-list) > .ino-nav-sub-menu {
            margin-block-end: var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu :is(.menu-item-has-children > a[href="#"], .ino-nav-wrapper-link) {
            display: flex;
            align-items: center;
            gap: 1.5ch;
        }
        
        .ino-nav-mobile-menu .menu-item-has-children > a[href="#"]::after {
            content: "\e900";
            font: var(--font-icon);
            font-size: var(--text-size-small);
            letter-spacing: 0;
            text-transform: lowercase;
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-2::after,
        .ino-nav-mobile-menu .ino-nav-menu-item-2 > .ino-nav-wrapper-link > button i {
            font-size: .5rem;
        }
        
        .ino-nav-mobile-menu a[aria-expanded="true"]::after,
        .ino-nav-mobile-menu button[aria-expanded="true"] i {
            display: block;
            rotate: 180deg;
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-1 {
            font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-2 {
            color: var(--strong-color);
            font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-3 {
            background: transparent !important;
            color: var(--text-color);
            font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
        }
    }

    .pre-footer {
        color: var(--title-color);
        padding-block: var(--spacing-lg);
    }

    :is(.pre-footer, .footer-content) .container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
        gap: var(--spacing-2xl) 6%;
    }

    .footer-content {
        padding-block: var(--spacing-3xl);
    }

    .footer-content .logo {
        display: flex;
        justify-content: center;
        grid-column: 1 / -1;
    }

    .footer-content a {
        display: table;
    }

    .footer-content p a {
        display: inline;
    }

    .footer-content img {
        aspect-ratio: var(--logo-ratio);
        inline-size: auto;
        block-size: 136px;
    }

    .footer-content .column:has(.socials-list) {
        display: flex;
        flex-flow: column;
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--spacing-md);
    }

    .footer-content .title {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
        line-height: 1.3;
        text-transform: uppercase;
    }

    .footer-content ul:not(.socials-list) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-xs) 1ch;
    }

    :is(.pre-footer, .footer-content) ul:not(.socials-list) a {
        line-height: 1.3;
    }

    .post-footer .container {
        padding-block: var(--spacing-xs);
    }

    .post-footer :is(p, a) {
        font: var(--text-weight-normal) var(--text-size-small)/2.5 var(--font-text);
        letter-spacing: .2em;
        text-align: center;
    }

    .post-footer :is(p, a:not(:hover, :active)) {
        color: var(--title-color);
    }

    .home main {
        margin-block-start: var(--spacing-xl);
    }

    .carrousel-logos {
        filter: grayscale(1);
        mix-blend-mode: multiply;
    }

    .carrousel-logos .swiper:not(.swiper-initialized),
    .carrousel-logos .swiper:not(.swiper-initialized) .swiper-wrapper {        
        display: flex;
    }

    .carrousel-logos .swiper:not(.swiper-initialized) .swiper-wrapper {
        flex: 1 1 auto;
    }

    .carrousel-logos .swiper-slide {
        display: flex;
        align-items: center;
    }

    .section-mea .elementor-widget-image::before {
        content: "";
        background: radial-gradient(85.39% 85.04% at 50% 50%, oklch(from var(--dark-color) l c h / 0%) 0%, var(--dark-color) 100%);
        display: flex;
        mix-blend-mode: multiply;
        position: absolute;
        inset: 0;
    }

    .section-mea .bouton.icon a {
        position: relative;
    }

    .section-mea .bouton.icon a::before {
        content: "";
        background: var(--text-circle);
        border-radius: 100%;
        display: flex;
        aspect-ratio: 1;
        inline-size: calc(var(--h4-font-size) + (var(--spacing-md) * 2) + var(--spacing-lg));
        block-size: auto;
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
    }

    @media (prefers-reduced-motion: no-preference) {
        
        .section-mea .bouton.icon a::before {
            animation: inifinite-rotate 30s linear infinite;
        }
    }

    .section-besoin.ino-grid > div {
        gap: var(--spacing-xl) 5%;
    }

    .section-besoin.ino-grid .icon-logo > div {
        flex-flow: column;
        align-items: center;
        inline-size: 100%;
        gap: var(--spacing-lg);
    }

    .section-besoin.ino-grid .icon-logo > div::before {
        inline-size: 100%;
    }

    .section-besoin.ino-grid .icon-logo > div:not(.ui-resizable-handle, .elementor-element-overlay)::after {
        content: "";
        background: var(--primary-color);
        inline-size: 1rem;
        block-size: auto;
        flex-grow: 1;
    }

    .owl-carousel:not(.item-1) > .item {
        padding-inline: var(--_spacing-not-loaded);
    }

    .slider-expertises.owl-carousel:not(.item-1) > .item {
        --_spacing-not-loaded: 2.5rem;
    }

    .slider-expertises-pv.owl-carousel:not(.item-1) > .item {
        --_spacing-not-loaded: 1.5rem;
    }

    .slider-expertises .tease-expertise .tease__title + * {
        border-block-start: var(--border-width) solid;
        padding-block-start: var(--spacing-3xs);
        margin-block-start: var(--spacing-3xs);
        inline-size: 100%;
    }

    .slider-expertises .tease-expertise {
        position: relative;
    }

    .slider-expertises .tease-expertise::before {
        inline-size: min(14%, 3.5rem);
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: 50% -50%;
        z-index: 1;
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n - 2) .tease-expertise::before {
        background: var(--green-color);
        clip-path: var(--star);
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n - 1) .tease-expertise::before {
        background: var(--hourglass);
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n) .tease-expertise::before {
        background: var(--arrow-orange);
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n - 2) .tease-expertise .tease__title + * {
        border-color: var(--green-color);
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n - 1) .tease-expertise .tease__title + * {
        border-color: var(--orange-color);
    }

    .slider-expertises :is(.owl-stage > .owl-item, .owl-carousel > .item):nth-child(3n) .tease-expertise .tease__title + * {
        border-color: var(--secondary-color);
    }

    .section-expertise, 
    .section-expertise :is(.elementor-container, .elementor-top-column, .elementor-widget-wrap, .sliders-video) {
        position: static;
    }

    .section-expertise .sliders-video {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-lg);
    }

    .section-expertise :is(.home-video-slider, .home-video-slide-block) {
        display: flex;
    }

    .section-expertise .home-video-slide-block {
        --_anim-duration: 32s;
        min-inline-size: 100%;
        flex-shrink: 0;
        overflow: hidden;
    }

    .section-expertise .home-video-slider-first .home-video-slide-block {
        animation: slider-loop var(--_anim-duration) infinite linear;
    }

    .section-expertise .home-video-slider-second .home-video-slide-block {
        animation: slider-loop var(--_anim-duration) infinite linear reverse;
    }

    .section-expertise .home-video-slider:hover .home-video-slide-block,
    .section-expertise .home-video-slider:has(a:focus-visible) .home-video-slide-block {
        animation-play-state: paused;
    }

    .section-expertise .home-video-slider .tease {
        --_nb-cols: 4;
        --_margin-cols: var(--spacing-sm);
        inline-size: calc(100vw / var(--_nb-cols));
        padding-inline-end: var(--_margin-cols);
    }

    .section-expertise .ino-video-preview-link {
        border-radius: var(--border-radius);
        display: flex;
        overflow: hidden;
        aspect-ratio: 16 / 9;
        inline-size: 100%;
        block-size: auto;
        position: relative;
    }

    .section-expertise .static-preview {
        position: absolute;
        inset: 0;
        object-fit: cover;
        transition: opacity .15s ease-out;
    }

    .section-expertise .ino-video-preview {
        inline-size: 100%;
        block-size: 100%;
        position: relative;
        z-index: -1;
    }

    @media only screen and (hover: hover) and (pointer: fine) {

        .section-expertise .ino-video-preview-link:is(:hover, :focus-visible) .static-preview {
            opacity: 0;
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        .section-expertise .ino-video-preview {
            display: none;
        }
    }

    .section-pq-ludys .answers.ino-grid {
        container: pq-ludys / inline-size;
    }

    .section-pq-ludys .answers.ino-grid > div {
        counter-reset: answers-counter;
        grid-template-columns: repeat(var(--_nb-cols), minmax(0, 1fr));
        gap: var(--spacing-sm);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading {
        border: var(--border-width) solid var(--title-color);
        counter-increment: answers-counter;
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: var(--spacing-sm);
        padding-block: calc(var(--_padding-answer) * 2);
        padding-inline: var(--_padding-answer);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading::before {
        inline-size: 33%;
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading:not(.logo-bzh-product):nth-child(5n - 4)::before {
        background: var(--heart-orange);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading:not(.logo-bzh-product):nth-child(5n - 3)::before {
        background: var(--forward);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading:not(.logo-bzh-product):nth-child(5n - 2)::before {
        background: var(--stairs);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading:not(.logo-bzh-product):nth-child(5n - 1)::before {
        background: var(--hourglass);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading:not(.logo-bzh-product):nth-child(5n)::before {
        background: var(--profile);
    }

    .section-pq-ludys .answers.ino-grid .logo-bzh-product::before {
        background: var(--logo-bzh-product);
    }

    .section-pq-ludys .answers.ino-grid .elementor-widget-heading::after {
        content: counter(answers-counter, decimal-leading-zero);
        font: 100 var(--h4-font-size)/1 var(--font-text);
        pointer-events: none;
        position: absolute;
        inset-block-start: calc(var(--_padding-answer) / 2);
        inset-inline-start: calc(var(--_padding-answer) / 2);
    }

    .section-pq-ludys .answers.ino-grid .elementor-heading-title {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
        line-height: 1.3;
        text-align: center;
        text-wrap: balance;
    }

    @container pq-ludys (40rem < inline-size) {
        
        .section-pq-ludys .answers.ino-grid > div {
            --_nb-cols: 3;
        }
    }

    @container pq-ludys (inline-size <= 40rem) {
        
        .section-pq-ludys .answers.ino-grid > div {
            --_nb-cols: 2;
        }
    }

    @container pq-ludys (20rem < inline-size) {

        .section-pq-ludys .answers.ino-grid .elementor-widget-heading {
            --_padding-answer: var(--spacing-md);
        }
    }

    @container pq-ludys (inline-size <= 20rem) {
        
        .section-pq-ludys .answers.ino-grid > div {
            gap: var(--spacing-3xs);
        }
        
        .section-pq-ludys .answers.ino-grid .elementor-widget-heading {
            --_padding-answer: var(--spacing-sm);
            gap: var(--spacing-3xs);
            padding-block-end: var(--_padding-answer);
        }
        
        .section-pq-ludys .answers.ino-grid .elementor-heading-title {
            font-size: var(--text-size-small);
        }
    }

    .section-agence-bzh.ino-grid > div {
        gap: var(--spacing-xl) var(--spacing-4xl);
    }

    .section-agence-bzh .elementor-top-column:first-child .icon-logo::before {
        inline-size: 15.5%;
        margin-block-end: var(--spacing-md);
    }

    .section-agence-bzh .agence {
        container: agence / inline-size;
    }

    .section-agence-bzh .agence.ino-grid > div {
        gap: var(--spacing-xs) 6%;
    }

    .section-agence-bzh :nth-child(2n of .agence) > div::before {
        content: "";
        background: var(--primary-color);
        display: flex;
        position: absolute;
    }

    .section-agence-bzh .agence img {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover;
    }

    .section-agence-bzh .agence :is(p:has(strong:only-child), p > strong:only-child) {
        line-height: 1;
    }

    .section-agence-bzh .agence p:has(strong:only-child) {
        margin-block-end: var(--spacing-3xs);
    }

    @container agence (inline-size > 40rem) {
            
        .section-agence-bzh .agence.ino-grid > div {
            grid-template: auto 1fr / 1fr 2fr;
            padding-block: var(--spacing-sm);
        }
        
        .section-agence-bzh .agence.ino-grid .elementor-widget-image {
            grid-row: 1 / 3;
        }
    }

    @container agence (inline-size <= 40rem) { 
        
        .section-agence-bzh .agence .elementor-widget-image {
            aspect-ratio: 16 / 9;
            block-size: auto;
        }
    }

    :is(.section-studio, .section-expertise) .elementor-inner-section:has(.elementor-col-50, [data-col="50"]) > .elementor-container {
        flex-wrap: nowrap;
        gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
    }
        
    .section-studio .elementor-inner-section:has(.elementor-col-33, [data-col="33"]) > .elementor-container {
        gap: var(--spacing-xl) calc(var(--columns-gap) / 1.5);
    }

    .section-studio :is(.elementor-col-33, [data-col="33"]):last-child .elementor-widget-heading.star::before {
        inline-size: min(25%, 6rem);
    }

    .section-testimonies .elementor-widget-heading.stars {
        align-items: flex-end;
    }

    .section-testimonies .elementor-widget-heading.stars::before {
        inline-size: min(31.5%, 14.5rem);
    }
        
    .section-testimonies .elementor-widget-testimonial-carousel .elementor-main-swiper {
        padding: 0;
    }

    .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) {
        container: ex-intro-text / inline-size;
    }

    .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-wrap {
        gap: calc(var(--spacing-4xl) / 3) 5%;
    }

    @container ex-intro-text (inline-size > 40rem) {
           
        .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-wrap {
            grid-template-columns: auto 1fr;
        }
        
        .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-wrap::before {
            content: "";
            background: var(--triangles);
            display: flex;
            aspect-ratio: 156 / 63;
            inline-size: auto;
            block-size: var(--h2-font-size);
        }
        
        .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-theme-page-title {
            grid-area: 1 / 1 / 2 / -1;
        }
        
        .section-ex-intro .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-button {
            grid-column-start: 2;
        }
    }
    
    .section-objectifs .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-heading:first-child {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-md);
    }

    .section-objectifs .elementor-top-column:not(:has(.elementor-widget-image)) .elementor-widget-heading:first-child::before {
        content: "";
        background: var(--arrow-orange);
        display: flex;
        aspect-ratio: 1;
        inline-size: min(16.5%, 5.5rem);
        block-size: auto;
        rotate: 180deg;
    }

    :is(.section-presentation, .section-process) .elementor-inner-section .elementor-container {
        --_nb-cols: 5;
        grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
        gap: var(--spacing-xl) 3%;
    }

    .section-presentation .elementor-inner-column:not(.ino-col-full) {
        container: ex-presentation-col / inline-size;
    }

    @container ex-presentation-col (15rem < inline-size) {

        .section-presentation .elementor-inner-column:not(.ino-col-full)::before {
            content: "";
            background: var(--arrow-green);
            display: flex;
            aspect-ratio: 1;
            inline-size: auto;
            block-size: var(--spacing-md);
            margin-inline-end: var(--spacing-sm);
        }
    }

    .section-presentation .elementor-inner-section .elementor-widget-heading + .elementor-widget-text-editor {
        border-block-start: var(--border-width) solid var(--primary-color);
        padding-block-start: var(--spacing-xs);
        margin-block-start: var(--spacing-xs) !important;
    }

    .section-presentation .elementor-inner-section .elementor-widget-wrap {
        flex-flow: column;
    }

    .section-presentation .elementor-inner-section .bouton.link {
        display: flex;
        align-items: flex-end;
        flex-grow: 1;
    }

    .section-presentation:has(.elementor-form) :is(.elementor-form, .elementor-widget-text-editor) {
        inline-size: min(100%, var(--wrapper-size-small));
        margin-inline: auto;
    }

    .section-format-portraits-pro .elementor-widget-wrap > .elementor-widget-heading.h3 + .elementor-widget-heading.text-big {
        margin-block-start: var(--spacing-md);
    }

    .section-format-portraits-pro .elementor-widget-wrap > .elementor-widget-heading.text-big + .elementor-widget-text-editor {
        margin-block-start: var(--spacing-xs);
    }

    .section-format-portraits-pro .elementor-widget-wrap > .elementor-widget-text-editor + .elementor-widget-heading.text-big {
        margin-block-start: var(--spacing-sm);
    }

    .section-format-portraits-pro .elementor-widget-text-editor:not(:last-child) {
        border-block-end: var(--border-width) solid var(--title-color);
        padding-block-end: var(--spacing-sm);
    }

    .section-format-portraits-pro .elementor-top-column:has(img)::before {
        content: "";
        background: var(--mosaique);
        display: flex;
        pointer-events: none;
        position: absolute;
        inset: 0;
    }

    .section-format-portraits-pro .elementor-widget-image {
        display: grid;
    }

    .section-format-portraits-pro .elementor-widget-image > :is(img, picture) {
        border-radius: var(--border-radius);
        grid-area: 1;
        place-self: center;
        align-items: center;
        justify-content: center;
    }

    .section-process .elementor-inner-column:not(.ino-col-full) {
        border: var(--border-width) solid var(--title-color);
        counter-increment: process-counter;
        padding-block: var(--spacing-sm);
        padding-inline: var(--spacing-xs);
    }

    .section-process .elementor-inner-column:not(.ino-col-full) .elementor-widget-wrap::before {
        content: counter(process-counter, decimal-leading-zero);
        font: var(--text-weight-bold) var(--text-size-big) / 1 var(--font-text);
        margin-block-end: var(--spacing-md);
    }

    .section-process .elementor-inner-column:not(.ino-col-full) .elementor-widget-heading:first-child::before {
        inline-size: min(3rem,33%);
        margin-inline: auto;
        margin-block-end: var(--spacing-xs);
    }

    .section-process .elementor-inner-column:not(.ino-col-full):nth-child(5n - 4) .elementor-widget-heading:first-child::before {
        background: var(--hourglass);
    }

    .section-process .elementor-inner-column:not(.ino-col-full):nth-child(5n - 3) .elementor-widget-heading:first-child::before {
        background: var(--arrow-orange);
    }

    .section-process .elementor-inner-column:not(.ino-col-full):nth-child(5n - 2) .elementor-widget-heading:first-child::before {
        background: var(--forward);
    }

    .section-process .elementor-inner-column:not(.ino-col-full):nth-child(5n - 1) .elementor-widget-heading:first-child::before {
        background: var(--profile);
    }

    .section-process .elementor-inner-column:not(.ino-col-full):nth-child(5n) .elementor-widget-heading:first-child::before {
        background: var(--stairs);
    }

    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::before,
    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::after {
        inline-size: min(31%, 12rem);
        position: absolute;
        inset-inline-start: 75%;
    }

    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::before {
        translate: 0 -100%;
    }

    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel) .swiper-slide {
        height: auto !important;
    }

    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel) .swiper-slide > a {
        display: flex;
    }

    .section-pq-ludys-alt .elementor-widget-google_maps:only-child,
    .section-pq-ludys-alt .elementor-widget-google_maps:only-child :is(.elementor-custom-embed, iframe),
    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel) :is(.swiper-slide > a, .swiper-slide-inner, picture) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel) img {
        inline-size: 100%;
    }

    .section-pq-ludys-alt .elementor-top-column.fond .elementor-widget-wrap {
        align-content: center;
    }

    .section-pq-ludys-alt .elementor-top-column.fond:has(.elementor-widget-google_maps:only-child) {
        padding-inline: var(--spacing-2xl);
    }

    .section-pq-ludys-alt .elementor-widget-google_maps:only-child iframe {
        height: auto;
        min-block-size: 20rem;
    }

    .section-pq-ludys-alt .elementor-top-column.fond .h3:first-child {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }

    .section-pq-ludys-alt .elementor-top-column.fond .h3:first-child::before {
        content: "";
        background: var(--hourglass-star);
        display: flex;
        aspect-ratio: 136 / 65;
        inline-size: auto;
        block-size: var(--h1-font-size);
    }

    .section-pq-ludys-alt .elementor-top-column:not(.fond) {
        container: arguments / inline-size;
    }

    .section-pq-ludys-alt .elementor-top-column:not(.fond) .bouton.link:last-child {
        border-block-end: var(--border-width) solid var(--title-color);
        padding-block-end: var(--spacing-xs);
    }

    .section-pq-ludys-alt .elementor-top-column:not(.fond) .elementor-widget-text-editor + .elementor-widget-text-editor {
        border-block-start: var(--border-width) solid var(--dark-color);
        padding-block-start: var(--spacing-xs);
        margin-block-start: var(--spacing-xs);
    }

    @container arguments (20rem < inline-size) {        

        .section-pq-ludys-alt .elementor-top-column:not(.fond) .elementor-widget-text-editor {
            display: flex;
            gap: var(--spacing-2xs);
        }

        .section-pq-ludys-alt .elementor-top-column:not(.fond) .elementor-widget-text-editor::before {
            content: "\e90f";
            color: var(--primary-color);
            font: var(--font-icon);
            font-size: 1.5rem;
            letter-spacing: 0;
        }
    }

    .section-video-full {
        aspect-ratio: 17 / 8;
        inline-size: 100%;
        block-size: auto;
    }

    .section-video-full .elementor-top-column > .elementor-widget-wrap {
        display: flex;
        align-content: center;
        justify-content: center;
        position: relative;
    }

    .section-video-full :is(.elementor-container, .elementor-column) {
        block-size: 100%;
    }

    .section-video-full .elementor-widget-image {
        position: absolute;
        inset: 0;
    }

    .section-video-full :is(picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-video-full img {
        border-radius: var(--border-radius);
        object-fit: cover;
    }

    .section-video-full .bouton.icon {
        inline-size: auto;
    }

    .section-intro .elementor-top-column > .elementor-widget-wrap {
        display: grid;
        gap: var(--spacing-xl);
    }

    .section-intro .elementor-top-column .elementor-page-title {
        grid-column: 1 / -1;
    }

    .section-intro .elementor-top-column .elementor-inner-section {
        grid-column: 1 / 2;
        margin: 0 !important;
    }

    .section-intro .details {
        container: detail / inline-size;
    }

    .section-intro .details .elementor-widget-icon-box {
        border-block-end: var(--border-width) solid var(--primary-color);
        padding-block-end: var(--_spacing-details);
    }

    .section-intro .details .elementor-widget-icon-box:not(:last-child) {
        margin-block-end: var(--_spacing-details);
    }

    .section-intro .elementor-icon-box-content {
        display: grid;
    }

    .section-intro .elementor-inner-column :is(.elementor-icon-box-title, .elementor-icon-box-title > span, .elementor-widget-heading > p) {
        line-height: 1;
    }

    .section-intro .elementor-inner-column :is(.elementor-icon-box-title > span, .elementor-widget-heading > p) {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
        text-transform: uppercase;
        white-space: nowrap;
    }

    .section-intro .elementor-icon-box-wrapper {
        text-align: left;
    }

    .section-intro .elementor-icon-box-description {
        font-size: var(--text-size-big);
    }

    .section-intro .demande .elementor-widget-wrap {
        gap: var(--spacing-xs);
    }

    .section-slider-photo .swiper-slide img,
    .section-slider-photo .elementor-widget-media-carousel .swiper-slide > a {
        border-radius: var(--border-radius);
        object-fit: cover;
    }
    
    .section-slider-photo .elementor-widget-media-carousel .swiper-slide > a {
        aspect-ratio: 16 / 9;
        inline-size: 100%;
        block-size: auto;
    }
    
    .section-slider-photo .elementor-widget-media-carousel .elementor-carousel-image {
        inline-size: 100%;
        block-size: 100%;
    }
    
    .section-slider-photo .elementor-widget-media-carousel .elementor-carousel-image {
        border-radius: var(--border-radius);
    }

    .section-slider-photo .swiper-slide img {
        aspect-ratio: 550 / 652;
    }

    :is(.section-equipe-ludys, .section-forward-location) > .elementor-container {
        grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
        gap: var(--spacing-2xl) var(--spacing-lg);
    }

    .section-equipe-ludys > .elementor-container {
        --_nb-cols: 4;
    }

    .section-forward-location > .elementor-container {
        --_nb-cols: 3;
    }

    :is(.section-equipe-ludys, .section-forward-location) .elementor-top-column:first-child {
        grid-column: 1 / -1;
    }

    :is(.section-equipe-ludys, .section-forward-location) img {
        border-radius: var(--border-radius);
        aspect-ratio: 4 / 5;
        inline-size: 100%;
        block-size: auto;
    }

    .section-slider-expertises .elementor-top-column.fond {
        padding-inline: min(9%, var(--spacing-2xl));
    }

    .section-slider-expertises .elementor-widget-heading {
        display: flex;
        align-items: baseline;
        gap: var(--spacing-sm);
    }

    .section-slider-expertises .elementor-widget-heading.right {
        flex-flow: row-reverse;
    }

    .section-slider-expertises .elementor-widget-heading::after {
        content: "";
        background: var(--title-color);
        display: flex;
        inline-size: auto;
        block-size: calc(var(--border-width) * 4);
        flex-grow: 1;
    }

    .section-type-customers .elementor-top-column > .elementor-widget-wrap {
        --_nb-cols: 4;
        grid-template-columns: repeat(var(--_nb-cols),minmax(0,1fr));
        gap: var(--spacing-2xl) 2.5%;
    }

    .section-type-customers .elementor-top-column > .elementor-widget-wrap > .elementor-inner-section:first-child {
        grid-column: 1 / -1;
        inline-size: min(100%, var(--wrapper-size-small));
    }

    .section-type-customers .elementor-inner-section img {
        aspect-ratio: 3 / 2;
    }

    .archive-items .ino-filters {
        margin-block-end: var(--spacing-lg);
    }

    .archive-items .facetwp-facet-pagination {
        margin-block-start: var(--spacing-2xl);
    }

    .filter-title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big) / 1 var(--font-text);
        margin-block-end: var(--spacing-sm);
    }

    .single #content {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-4xl);
    }

    .single .container-small img {
        inline-size: 100%;
    }

    .section-contact .elementor-inner-section {
        max-inline-size: 50rem;
        margin-inline: auto;
    }
    
    @container viewport (inline-size <= 100rem) {

        :is(.section-presentation, .section-process) .elementor-inner-section .elementor-container {
            --_nb-cols: 3;
        }
    }

    @container viewport (inline-size <= 90rem) {
                
        .section-equipe-ludys > .elementor-container {
            --_nb-cols: 2;
        }
    }

    @container viewport (inline-size <= 80rem) {

        .slider-expertises.owl-carousel:not(.item-1) > .item {
            --_spacing-not-loaded: 2rem;
        }

        .section-type-customers .elementor-top-column > .elementor-widget-wrap {
            --_nb-cols: 2;
        }
    }

    @container viewport (inline-size > 70rem) {
        
        .elementor-top-section:is(:first-child:not(.circles), .circles)::before,
        .elementor-top-section:is(:first-child:not(.circles), .circles)::after {
            content: "";
            border-radius: 100%;
            display: flex;
            aspect-ratio: 1;
            block-size: auto;
            pointer-events: none;
            position: absolute;
            z-index: 2;
        }
        
        .elementor-top-section.circles::before,
        .elementor-top-section.circles::after {
            inset-block-start: 50%;
        }
        
        .elementor-top-section:first-child:not(.circles)::before,
        .elementor-top-section:first-child:not(.circles)::after {
            inset-block-start: 0;
            inset-inline-end: 0;
        }

        .elementor-top-section.circles:not(.blue)::before,
        .elementor-top-section:first-child:not(.circles)::after {
            background: var(--primary-color);
        }

        .elementor-top-section:is(:first-child:not(.circles), .circles.blue)::before,
        .elementor-top-section.circles.orange::after {
            background: var(--orange-color);
        }

        .elementor-top-section.circles.pink::after {
            background: var(--secondary-color);
        }

        .elementor-top-section:first-child:not(.circles)::before {
            inline-size: min(4.5%, 5.5rem);
            translate: -193% -50%;
        }
        
        .elementor-top-section:first-child:not(.circles)::after {
            inline-size: min(13.75%, 16.25rem);
            translate: 50% -50%;    
        }

        .elementor-top-section.circles::before {
            inline-size: min(10%, 15rem);
        }

        .elementor-top-section.circles::after {
            inline-size: min(29.5%, 44.25rem);
        }

        .elementor-top-section.circles.circles-left::before {
            translate: 170% -50%;
        }

        .elementor-top-section.circles.circles-left::after {
            translate: -50% -50%;
        }

        .elementor-top-section.circles.circles-right::before,
        .elementor-top-section.circles.circles-right::after {
            inset-inline-end: 0;
        }

        .elementor-top-section.circles.circles-right::before {
            translate: -170% -50%;
        }

        .elementor-top-section.circles.circles-right::after {
            translate: 50% -50%;
        }
        
        .elementor-top-section.circles:has(.elementor-column:not(.elementor-col-100, [data-col="100"]) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-widget-wrap {
            inline-size: 60%;
        }
        
        .elementor-top-section.circles:has(.elementor-column:not(.elementor-col-100, [data-col="100"]) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child > .elementor-widget-wrap {
            inset-inline-end: 0;
        }
        
        .section-mea .elementor-widget-wrap {
            padding-block: 0;
        }
        
        .section-mea .elementor-top-column:has(.elementor-widget-image + .bouton.icon) .elementor-widget-image {
            border-radius: var(--border-radius) 0 0 var(--border-radius);
            overflow: hidden;
        }

        .section-mea .bouton.icon {
            inset-inline-start: 0;
            translate: -20% -50%;
        }
        
        .section-besoin.ino-grid > div {
            grid-template-columns: 1fr .56fr 1fr;
        }

        .section-besoin.ino-grid .block-titre {
            block-size: 100%;
            align-items: flex-end;
        }

        .section-besoin.ino-grid .elementor-top-column:not(.icon-logo, .ino-col-full) > div {
            padding-block-end: var(--spacing-2xl);
        }
        
        .section-hook > .elementor-container {
            inline-size: clamp(0rem, 56.5%, var(--wrapper-size-small));
        }

        .section-about .elementor-top-column:has(.elementor-widget-image, .elementor-widget-image-carousel) .elementor-widget-wrap {
            position: absolute;
            inset-block-end: 0;
            padding-block-start: var(--spacing-4xl);
        }

        .section-about .elementor-top-column:has(.elementor-widget-image, .elementor-widget-image-carousel) .elementor-widget-image-carousel {
            display: flex;
            flex-flow: column;
        }

        .section-about .elementor-top-column:has(.elementor-widget-image, .elementor-widget-image-carousel) .swiper {
            flex-grow: 1;
            inline-size: 100%;
            block-size: auto;
            padding: 0;
        }

        .section-about .elementor-top-column:not(:has(.elementor-widget-image, .elementor-widget-image-carousel)) .elementor-widget-wrap::after,
        .section-studio .inner-txt-img .elementor-column:has(.elementor-widget-image, .elementor-widget-image-carousel)::before {
            content: "";
            display: flex;
            aspect-ratio: 1;
        }

        .section-about .elementor-top-column:not(:has(.elementor-widget-image, .elementor-widget-image-carousel)) .elementor-widget-wrap::after {
            background: var(--arrow-orange);
            inline-size: 13.3%;
            block-size: auto;
            pointer-events: none;
            margin-block-start: var(--spacing-xl);
            margin-inline-start: auto;
            rotate: 180deg;
        }
        
        .section-agence-bzh.ino-grid > div {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
        
        .section-agence-bzh :nth-child(2n of .agence) > div::before {
            inline-size: 1rem;
            block-size: 100%;
            inset-block-start: 0;
            inset-inline-start: calc(var(--spacing-4xl) / -2);
            translate: -50%;
        }
        
        .section-agence-bzh .agence:nth-child(2n - 3)::before {
            content: "";
            background: var(--primary-color);
            display: flex;
            inline-size: 1rem;
            block-size: 100%;
            position: absolute;
            inset-block-start: 0;
            inset-inline-start: calc(var(--spacing-4xl) / -2);
            translate: -50%;
        }
        
        .section-studio .inner-txt-img .elementor-column:has(.elementor-widget-image, .elementor-widget-image-carousel) {
            justify-content: flex-end;
        }
        
        .section-studio .inner-txt-img .elementor-column:has(.elementor-widget-image, .elementor-widget-image-carousel)::before {
            background: var(--arrow-green);
            inline-size: auto;
            block-size: 112%;
            position: absolute;
            inset-block-start: 0;
            inset-inline-start: calc(10% - var(--spacing-lg));
            translate: -100%;
        }
        
        .section-studio .inner-txt-img .elementor-column:has(.elementor-widget-image, .elementor-widget-image-carousel) > .elementor-widget-wrap {
            max-inline-size: 90%;
        }
        
        .section-studio .three-cols > .elementor-container {
            grid-template-columns: 1fr 2fr 1fr;
        }
        
        .section-studio .three-cols .elementor-widget-image:only-child img {
            position: absolute;
        }
        
        .section-testimonies > .elementor-container {
            display: grid;
            gap: 0;
        }
        
        .section-testimonies .elementor-widget-heading.stars::before {
            translate: -66%;
        }
        
        .section-testimonies .elementor-top-column:has(.elementor-widget-testimonial-carousel) {
            overflow: hidden;
        }
        
        .section-testimonies .elementor-widget-testimonial-carousel {
            inline-size: 60%;
            margin-inline-start: auto;
        }

        .section-testimonies .elementor-top-column:has(.elementor-widget-heading.stars) > .elementor-widget-wrap {
            align-content: center;
        }

        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-container {
            display: grid;
            grid-template-columns: 1fr repeat(6, calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / 6)) 1fr;
            gap: 0;
        }

        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-top-column {            
            width: 100%;
        }

        .section-objectifs .elementor-top-column:has(.elementor-widget-image-carousel) {
            grid-column: 1 / 6;
            overflow: hidden;
        }
        
        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-top-column:not(:has(.elementor-widget-image-carousel)) {
            grid-column: 6 / 8;
        }

        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-top-column .elementor-widget-wrap {            
            inline-size: 93%;
        }
        
        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-top-column:not(:has(.elementor-widget-image-carousel)) .elementor-widget-wrap {
            margin-inline-start: auto;
        }

        .section-pq-ludys-alt .elementor-top-column:not(.fond) {
            margin-block-start: var(--spacing-3xl);
        }

        .section-format-portraits-pro .elementor-widget-image img {
            block-size: 75%;
            inline-size: min(85%, 35rem);
        }

        .section-intro .elementor-top-column > .elementor-widget-wrap {
            grid-template-columns: 2fr 1fr;
        }

        .section-intro .elementor-top-column > .elementor-widget-wrap::after {
            content: "";
            background: var(--hourglass-star);
            background-position: bottom right;
            display: flex;
            grid-area: 2 / 2 / 4 / 3;
            inline-size: 80%;
            block-size: 80%;
            margin-block-start: auto;
            margin-inline-start: auto;
        }

        .section-single-testimony .elementor-widget-heading {
            gap: var(--spacing-2xl);
            align-items: flex-end !important;
        }

        .section-single-testimony .elementor-widget-heading::after {
            content: "";
            background: var(--heart-star);
            display: flex;
            aspect-ratio: 501 / 214;
            inline-size: 130%;
            block-size: auto;
        }

        .section-single-testimony .elementor-widget-wrap:has(> .elementor-widget-testimonial) {
            align-content: center;
        }
        
        :is(.section-presentation, .section-process) .elementor-inner-section.three-cols .elementor-container {
            --_nb-cols: 3;
        }
    }

    @container viewport (inline-size <= 70rem) {

        .section-mea .elementor-top-column:not(:has(.elementor-widget-image, .elementor-widget-image-carousel)) {
            padding-block-start: 0;
        }

        .section-mea .bouton.icon a::before {
            inline-size: calc(var(--h4-font-size) + (var(--spacing-sm) * 2) + var(--spacing-lg));
        }

        .section-besoin.ino-grid > div {
            display: flex;
            flex-flow: column;
        }

        .section-expertise .home-video-slider .tease {
            --_nb-cols: 3;
        }
        
        .section-agence-bzh :nth-child(2n of .agence) > div::before {
            inline-size: 100%;
            block-size: var(--border-width);
            inset-block-start: calc(var(--spacing-xl) / -2);
            inset-inline-start: 0;
            translate: 0 -50%;
        }
        
        .section-testimonies > .elementor-container {
            display: flex;
            flex-flow: column-reverse;
            gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-objectifs:has(.elementor-widget-image-carousel) .elementor-container {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-forward-location > .elementor-container,
        :is(.section-presentation, .section-process) .elementor-inner-section .elementor-container {
            --_nb-cols: 2;
        }

        .section-forward-location > .elementor-container,
        .section-process .elementor-inner-section .elementor-container {
            gap: var(--spacing-sm);
        }

        .section-format-portraits-pro .elementor-widget-image {
            padding-block: var(--spacing-2xl);
        }

        .section-format-portraits-pro .elementor-widget-image img {
            inline-size: 85%;
        }

        .section-format-portraits-pro .elementor-top-column:not(:has(.elementor-widget-image)) {
            padding-block-start: 0;
        }
    }

    @container viewport (inline-size > 60rem) {

        .section-slider-photo .swiper-pagination-bullets {
            display: none;
        }

        .section-slider-photo .elementor-heading-title {
            max-inline-size: 70%;
        }
    }

    @container viewport (inline-size <= 60rem) {
        
        .back-to-top {
            display: none;
        }

        :is(.slider-expertises, .slider-expertises-pv).owl-carousel:not(.item-1) > .item {
            --_spacing-not-loaded: 1rem;
        }

        .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::before, 
        .section-slider-photo :is(.elementor-widget-image-carousel, .elementor-widget-media-carousel).icon-logo::after {
            display: none !important;
        }

        .inner-txt-img > .elementor-container {
            flex-flow: column;
        }
        
        .inner-txt-img .elementor-column:not(:has(.elementor-widget-image, .elementor-widget-image-carousel)),
        .section-about .elementor-top-column:not(:has(.elementor-widget-image, .elementor-widget-image-carousel)) {
            order: 1;
        }
        
        .inner-txt-img .elementor-column:has(.elementor-widget-image, .elementor-widget-image-carousel),
        .section-about .elementor-top-column:has(.elementor-widget-image, .elementor-widget-image-carousel) {
            order: 2;
        }
    }

    @container viewport (inline-size <= 45rem) {

        :is(.slider-expertises, .slider-expertises-pv).owl-carousel:not(.item-1) > .item {
            --_spacing-not-loaded: .75rem;
        } 
        
        header {
            position: relative;
            z-index: 1000;
        }
        
        @media (prefers-reduced-motion: no-preference) {
            
            header {
                transition: all .75s cubic-bezier(0.85, 0.09, 0.15, 0.91);
            }
        }
        
        header.show {
            background: var(--background-color);
            inline-size: 100%;	    
            position: sticky;
            inset-block-start: var(--header-height);
            inset-inline-start: 0;
            z-index: 1000;
        }
        
        header.sticky.show {
            inset-block-start: var(--banner-height);
        }
        
        header.hide {
            translate: initial;
        }
        
        body:has(header.sticky.show) .ino-modal .ino-modal-close {
            inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2));
            inset-inline-end: 0;
        }
       
        :is(.section-presentation, .section-process) .elementor-inner-section .elementor-container {
            --_nb-cols: 1;
        }

        .section-expertise .sliders-video {
            gap: var(--spacing-sm);
        }

        .section-expertise .home-video-slider .tease {
            --_nb-cols: 2;
        }
    }

    @container viewport (inline-size > 36rem) {

        :is(.section-presentation, .section-process) .hourglass-star {
            display: flex;
            align-items: flex-end;
            gap: var(--spacing-xs);
        }

        :is(.section-presentation, .section-process) .hourglass-star::before {
            content: "";
            background: var(--primary-color);
            display: flex;
            inline-size: auto;
            block-size: .5rem;
            flex-grow: 1;
            order: 2;
            margin-inline-start: 5%;
        }

        :is(.section-presentation, .section-process) .hourglass-star::after {
            content: "";
            background: var(--hourglass-star);
            display: flex;
            aspect-ratio: 544 / 260;
            inline-size: auto;
            block-size: var(--h1-font-size);
            order: 3;
        }

        .section-intro .details .elementor-widget-icon-box {
            --_spacing-details: var(--spacing-2xs);
        }

        .section-intro .elementor-icon-box-content {
            grid-template-columns: minmax(0,1fr) minmax(0,10fr);
            align-items: baseline;
            gap: var(--spacing-md) 9%;
        }
    }

    @container viewport (inline-size <= 36rem) {
        
        .elementor-message::before {
            display: none;
        }
        
        header .nav-main > ul > li > a {
            font-size: var(--text-size-normal);
        }
        
        header .nav-main .menu-item-has-children > a > span {
            font-size: .25rem;
        }

        .section-intro .details .elementor-widget-icon-box {
            --_spacing-details: var(--spacing-sm);
        }

        .section-intro .elementor-icon-box-content {
            gap: var(--spacing-3xs);
        }
        
        .section-equipe-ludys > .elementor-container {
            gap: var(--spacing-xl) var(--spacing-sm);
        }

        .section-type-customers .elementor-top-column > .elementor-widget-wrap {
            --_nb-cols: 1;
        }
    }

    @container viewport (inline-size > 30rem) {
        
        button[type=submit],
        .bouton:not(.link, .icon, .menu-item, div),
        .bouton:not(.link, .icon, .menu-item) :is(a, button, [type=submit]) {
            min-inline-size: 9rem;
        }
        
        :is(.section-presentation, .section-process) .elementor-inner-section.fond {
            border-radius: var(--border-radius);
            padding-block: var(--spacing-2xl);
            padding-inline: var(--spacing-xl);
        }

        .section-next-work :is(.elementor-top-column, .bouton) {
            display: flex;
            align-items: flex-end;
        }

        .section-next-work .elementor-top-column::before,
        .section-next-work .elementor-top-column::after {
            content: "";
            display: flex;
            aspect-ratio: 1;
            inline-size: auto;
            block-size: var(--h1-font-size);
        }

        .section-next-work .elementor-top-column::before {
            background: var(--arrow-orange);
            order: 1;
        }

        .section-next-work .elementor-top-column::after {
            background: var(--profile-green);
            order: 2;
            margin-inline-start: var(--spacing-xs);
        }

        .section-next-work .elementor-widget-wrap {
            order: 3;
            margin-inline-start: var(--spacing-md);
        }

        .section-next-work .bouton {
            gap: var(--spacing-md);
        }

        .section-next-work .bouton::before {
            content: "";
            background: var(--primary-color);
            display: flex;
            inline-size: auto;
            block-size: .5rem;
            flex-grow: 1;
        }
    }

    @container viewport (inline-size <= 30rem) {
            
        input:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
        textarea {
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs);
        }

        select,
        .elementor-field-group .elementor-select-wrapper select {
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs) calc(var(--spacing-xs) * 3);
        }
        
        .boutons .bouton:not(.link, .icon),
        .bouton:not(.link, .icon),
        .bouton:not(.link, .icon) :is(a, button, [type=submit]),
        :is(button[type=submit], .elementor-post-navigation__link, .mgbutton:not(.moove-gdpr-infobar-reject-btn)) {
            inline-size: 100%;
        }
        
        .bouton:not(.link, .icon, .download, :has(i), div),
        .bouton:not(.link, .icon, .download, :has(i)) :is(a, button, [type=submit]),
        :is(button[type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn)) {
            padding: var(--spacing-xs);
        }
        
        .bouton:is(.download, :has(i)):not(div),
        .bouton:is(.download, :has(i)) :is(a, button, [type=submit]) {
            padding-block: var(--spacing-xs);
            padding-inline: calc(var(--spacing-xs) * 2);
        }
        
        .boutons .bouton.contour {
            order: 1;
        }
        
        .boutons .bouton:not(.contour) {
            order: 2;
        }

        :is(.slider-expertises, .slider-expertises-pv).owl-carousel:not(.item-1) > .item {
            --_spacing-not-loaded: .5rem;
        }
        
        .footer-content .container .column ul:not(.socials-list) {
            align-items: center;
        }
        
        .footer-content .container .column * {
            text-align: center;
        }

        :is(.section-presentation, .section-process) .elementor-container {
            inline-size: 100%;
        }
               
        :is(.section-presentation, .section-process) :is(.elementor-top-column > .elementor-widget-wrap > .elementor-widget-heading, .elementor-inner-section > .elementor-container) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        :is(.section-presentation, .section-process) .elementor-inner-section.fond {
            padding-block: var(--spacing-2xl);
        }

        :is(.section-equipe-ludys, .section-forward-location) > .elementor-container {
            --_nb-cols: 1;
        }

        .section-pq-ludys-alt .elementor-top-column.fond:has(.elementor-widget-google_maps:only-child) {
            padding: 0;
        }
    }

    @container viewport (inline-size <= 24rem) {
            
        .pagination-block .pagination li:is(.prev, .next) a span {
            display: none;
        }
    }
}

#wrapper-body .elementor-widget-image-carousel.elementor-pagination-position-inside .swiper-pagination-bullets {
    inset-block-end: var(--spacing-xs);
    z-index: 1;
}

#wrapper-body :is(.elementor-image-carousel-wrapper, .elementor-main-swiper) {
    width: 100%;
    padding: 0;
}

#wrapper-body .elementor-image-carousel > .swiper-slide {
    height: auto;
}

#wrapper-body .elementor-swiper-button {
    content:"";
    background: var(--forward);
    display: flex;
    aspect-ratio: 31 / 40;
    width: auto;
    height: var(--h1-font-size);
    inset-block-start: 50%;
    transform: initial;
}

#wrapper-body .elementor-widget:not(.elementor-widget-media-carousel) .elementor-swiper-button-prev {
    inset-inline-end: 0;
    rotate: 180deg;
    translate: -63% -50%;
}

#wrapper-body .elementor-widget:not(.elementor-widget-media-carousel) .elementor-swiper-button-next {
    inset-inline-start: 0;
    translate: 63% -50%;
}

#wrapper-body .elementor-widget-media-carousel .elementor-swiper-button-prev {
    inset-inline-end: 0;
    left: initial;
    translate: 63% -50%;
}

#wrapper-body .elementor-widget-media-carousel .elementor-swiper-button-next {
    inset-inline-start: 0;
    rotate: 180deg;
    translate: -63% -50%;
}

#wrapper-body :is(.swiper-button-disabled, .elementor-swiper-button > i) {
    display: none;
}

#wrapper-body .swiper-pagination-bullets {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    width: auto;
    inline-size: 100%;
    position: static;
    margin-block-start: var(--spacing-xl);
}

#wrapper-body .swiper-pagination-bullet {
    background: var(--orange-color);
    aspect-ratio: 1;
    inline-size: .5rem;
    block-size: auto;
    width: auto;
    height: auto;
    margin: 0;
}

#wrapper-body .elementor-pagination-position-inside .swiper-pagination-bullet {
    background: var(--light-color);
}

#wrapper-body .section-about .e-widget-swiper {
    overflow: hidden;
}

#wrapper-body .section-about .swiper-pagination-bullets {
    inline-size: auto;
    position: absolute;
    inset-block-end: 0;
    inset-inline-end: 5%;
    translate: 0 200%;
}

#wrapper-body :where(.section-about, .elementor-pagination-position-outside:not(.carrousel-logos), .elementor-arrows-position-outside) .swiper,
#wrapper-body .section-testimonies .elementor-widget-testimonial-carousel .elementor-main-swiper {
    overflow: initial;
}

@container viewport (inline-size > 60rem) {

    #wrapper-body :is(.elementor-widget-image-carousel.elementor-arrows-position-outside, .elementor-widget-media-carousel.elementor-pagination-position-outside) .swiper-pagination {
        display: none;
    }
}

@container viewport (inline-size <= 60rem) {

    #wrapper-body :is(.elementor-widget-image-carousel.elementor-arrows-position-outside, .elementor-widget-media-carousel.elementor-pagination-position-outside) .elementor-swiper-button {
        display: none;
    }
}