@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/InterTight-900i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/InterTight-900i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/InterTight-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/InterTight-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InterTight-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InterTight-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/InterTight-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/InterTight-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/InterTight-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/InterTight-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/InterTight-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/InterTight-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/InterTight-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/InterTight-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/InterTight-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/InterTight-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Montserrat-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Montserrat-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Roboto-i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Roboto-i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Roboto-n-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Roboto-n-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Feuilles globales reprises du site WordPress, relevées le 2026-08-09.
   Elles ne vivaient dans aucune page : WordPress et Elementor les impriment dans le
   <head> au moment de l'affichage. Sans elles, la largeur des conteneurs et les marges
   verticales entre sections changent, ce qui se voit tout de suite.
   1. presets WordPress : marges de bloc, block-gap, styles de base du body
   2. elementor-kit-18  : --container-max-width 1140px et les variables globales */

/* --- 1. presets WordPress --- */
:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3:4/3;--wp--preset--aspect-ratio--3-4:3/4;--wp--preset--aspect-ratio--3-2:3/2;--wp--preset--aspect-ratio--2-3:2/3;--wp--preset--aspect-ratio--16-9:16/9;--wp--preset--aspect-ratio--9-16:9/16;--wp--preset--color--black:#000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#fff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,#0693e3 0%,#9b51e0 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,#7adcb4 0%,#00d082 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,#fcb900 0%,#ff6900 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,#ff6900 0%,#cf2e2e 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,#eee 0%,#a9b8c3 100%);--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,#4aeadc 0%,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,#ffceec 0%,#9896f0 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,#fecda5 0%,#fe2d2d 50%,#6b003e 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,#ffcb70 0%,#c751c0 50%,#4158d0 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,#fff5cb 0%,#b6e3d4 50%,#33a7b5 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,#caf880 0%,#71ce7e 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,#020381 0%,#2874fc 100%);--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0,0,0,.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0,0,0,.4);--wp--preset--shadow--sharp:6px 6px 0px rgba(0,0,0,.2);--wp--preset--shadow--outlined:6px 6px 0px -3px #fff,6px 6px #000;--wp--preset--shadow--crisp:6px 6px 0px #000}:root{--wp--style--global--content-size:800px;--wp--style--global--wide-size:1200px}:where(body){margin:0}.wp-site-blocks>.alignleft{float:left;margin-right:2em}.wp-site-blocks>.alignright{float:right;margin-left:2em}.wp-site-blocks>.aligncenter{justify-content:center;margin-left:auto;margin-right:auto}:where(.wp-site-blocks)>*{margin-block-start:24px;margin-block-end:0}:where(.wp-site-blocks)>:first-child{margin-block-start:0}:where(.wp-site-blocks)>:last-child{margin-block-end:0}:root{--wp--style--block-gap:24px}:root :where(.is-layout-flow)>:first-child{margin-block-start:0}:root :where(.is-layout-flow)>:last-child{margin-block-end:0}:root :where(.is-layout-flow)>*{margin-block-start:24px;margin-block-end:0}:root :where(.is-layout-constrained)>:first-child{margin-block-start:0}:root :where(.is-layout-constrained)>:last-child{margin-block-end:0}:root :where(.is-layout-constrained)>*{margin-block-start:24px;margin-block-end:0}:root :where(.is-layout-flex){gap:24px}:root :where(.is-layout-grid){gap:24px}.is-layout-flow>.alignleft{float:left;margin-inline-start:0;margin-inline-end:2em}.is-layout-flow>.alignright{float:right;margin-inline-start:2em;margin-inline-end:0}.is-layout-flow>.aligncenter{margin-left:auto !important;margin-right:auto !important}.is-layout-constrained>.alignleft{float:left;margin-inline-start:0;margin-inline-end:2em}.is-layout-constrained>.alignright{float:right;margin-inline-start:2em;margin-inline-end:0}.is-layout-constrained>.aligncenter{margin-left:auto !important;margin-right:auto !important}.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:var(--wp--style--global--content-size);margin-left:auto !important;margin-right:auto !important}.is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size)}body .is-layout-flex{display:flex}.is-layout-flex{flex-wrap:wrap;align-items:center}.is-layout-flex>:is(*,div){margin:0}body .is-layout-grid{display:grid}.is-layout-grid>:is(*,div){margin:0}body{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}:root :where(.wp-element-button,.wp-block-button__link){background-color:#32373c;border-width:0;color:#fff;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding-top:calc(0.667em + 2px);padding-right:calc(1.333em + 2px);padding-bottom:calc(0.667em + 2px);padding-left:calc(1.333em + 2px);text-decoration:none;text-transform:inherit}.has-black-color{color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-color{color:var(--wp--preset--color--white) !important}.has-pale-pink-color{color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-color{color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple) !important}.has-black-background-color{background-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-background-color{background-color:var(--wp--preset--color--white) !important}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple) !important}.has-black-border-color{border-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-border-color{border-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-border-color{border-color:var(--wp--preset--color--white) !important}.has-pale-pink-border-color{border-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-border-color{border-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-border-color{border-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-border-color{border-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-border-color{border-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-border-color{border-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-border-color{border-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-border-color{border-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-border-color{border-color:var(--wp--preset--color--vivid-purple) !important}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important}.has-cool-to-warm-spectrum-gradient-background{background:var(--wp--preset--gradient--cool-to-warm-spectrum) !important}.has-blush-light-purple-gradient-background{background:var(--wp--preset--gradient--blush-light-purple) !important}.has-blush-bordeaux-gradient-background{background:var(--wp--preset--gradient--blush-bordeaux) !important}.has-luminous-dusk-gradient-background{background:var(--wp--preset--gradient--luminous-dusk) !important}.has-pale-ocean-gradient-background{background:var(--wp--preset--gradient--pale-ocean) !important}.has-electric-grass-gradient-background{background:var(--wp--preset--gradient--electric-grass) !important}.has-midnight-gradient-background{background:var(--wp--preset--gradient--midnight) !important}.has-small-font-size{font-size:var(--wp--preset--font-size--small) !important}.has-medium-font-size{font-size:var(--wp--preset--font-size--medium) !important}.has-large-font-size{font-size:var(--wp--preset--font-size--large) !important}.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large) !important}:root :where(.wp-block-icon svg){width:24px}:root :where(.wp-block-pullquote){font-size:1.5em;line-height:1.6}

/* --- 2. elementor-kit-18 --- */
.elementor-kit-18{--e-global-color-primary:#6ec1e4;--e-global-color-secondary:#54595f;--e-global-color-text:#7a7a7a;--e-global-color-accent:#61ce70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.e-con{--container-max-width:1140px}.elementor-widget:not(:last-child){--kit-widget-spacing:20px}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px}{}h1.entry-title{display:var(--page-title-display)}.elementor-lightbox{--lightbox-navigation-icons-size:0px}.site-header .site-branding{flex-direction:column;align-items:stretch}.site-header{padding-inline-end:0px;padding-inline-start:0px}.site-footer .site-branding{flex-direction:column;align-items:stretch}@media(max-width:1024px){.elementor-section.elementor-section-boxed>.elementor-container{max-width:1024px}.e-con{--container-max-width:1024px}}@media(max-width:767px){.elementor-section.elementor-section-boxed>.elementor-container{max-width:767px}.e-con{--container-max-width:767px}}.elementor-327 .elementor-element.elementor-element-d8e8989{--display:flex}.elementor-327 .elementor-element.elementor-element-f7fe9e3{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-5ccb92a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-a5b67d5{width:100%;max-width:100%;margin:-30px 0 calc(var(--kit-widget-spacing, 0px) + 0px) 0px}.elementor-327 .elementor-element.elementor-element-fd5496b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-4a126d7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-823bd3c{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-377610b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-92095e2{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-f4c6a71{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-348f220{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-be094d9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-e6e3aa3{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-cddc2cd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-8429cfd{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-7c7e2be{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-2014891{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-38981ff{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap}.elementor-327 .elementor-element.elementor-element-4c06005{width:100%;max-width:100%}body.elementor-page-327:not(.elementor-motion-effects-element-type-background),body.elementor-page-327>.elementor-motion-effects-container>.elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg,#000 0%,#000 100%)}:root{--page-title-display:none}@media(max-width:767px){.elementor-327 .elementor-element.elementor-element-a5b67d5{margin:-30px 0 calc(var(--kit-widget-spacing, 0px) + 0px) 0px}.elementor-327 .elementor-element.elementor-element-8168e04{margin:0 0 calc(var(--kit-widget-spacing, 0px) + 0px) 0px}.elementor-327 .elementor-element.elementor-element-4a126d7{--margin-top:-65px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px}.elementor-327 .elementor-element.elementor-element-823bd3c{margin:50px 0 calc(var(--kit-widget-spacing, 0px) + 0px) 0px}.elementor-327 .elementor-element.elementor-element-92095e2{width:100%;max-width:100%}.elementor-327 .elementor-element.elementor-element-8429cfd{width:100%;max-width:100%}}


/* --- 3. header en noir ---
   Repris du snippet WPCode « Logique PHP Billetterie », fonction
   wmv_force_black_navigation_menu, accrochée à wp_head. Ce n'est pas de la billetterie,
   c'est du design planqué dans un snippet mal nommé. Il ne vit ni dans le thème ni dans
   les pages : sans cette reprise, le header change de couleur à la bascule. */
header, .site-header, #masthead, .elementor-location-header, .elementor-section.elementor-top-section.elementor-element-header {
            background-color: #000000 !important;
        }
        .elementor-nav-menu a, .main-navigation a, #site-navigation a, .menu-item a {
            color: #ffffff !important;
        }


/* --- 4. styles du footer ---
   Le footer commun n'apporte que sa structure : ses styles vivaient dans la copie
   intégrée à chaque page. En retirant les footers en double le 2026-08-09, j'ai
   emporté le CSS avec eux et le pied de page est devenu invisible, une grande zone
   noire vide. Signalé par Enzo. Le CSS est donc remonté ici, une fois pour toutes. */
/* --- VARIABLES --- */
    :root {
        --wm-bg: #000000;
        --wm-text: #FFFFFF;
        --wm-border: rgba(255, 255, 255, 0.15);
        --wm-font-title: 'Inter Tight', sans-serif;
        --wm-font-text: 'Inter', sans-serif;
    }

    /* --- STRUCTURE FOOTER --- */
    .wm-footer {
        background-color: var(--wm-bg);
        color: var(--wm-text);
        font-family: var(--wm-font-title);
        position: relative;
        z-index: 10;
        overflow: hidden;
        border-top: 1px solid var(--wm-border);
        padding: 100px 0 40px 0;
        min-height: 60vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .wm-footer * { box-sizing: border-box; }

    .wm-footer-container {
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 40px;
        position: relative;
    }

    /* --- LOGO WRAPPER --- */
    .wm-bg-logo-wrapper {
        position: absolute;
        top: 17%; 
        left: 50%; 
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 0;
        pointer-events: none;
    }

    .wm-big-bg-img {
        width: 95%;
        max-width: 1000px;
        height: auto;
        opacity: 0.15;
        filter: brightness(0) invert(1);
        object-fit: contain;
    }

    .wm-content-on-top { position: relative; z-index: 2; }

    /* --- LINKS GRID --- */
    .wm-footer-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
        margin-bottom: 80px;
        text-align: center;
    }

    .wm-footer-col {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .wm-col-label {
        display: block;
        font-size: 10px;
        letter-spacing: 2px;
        opacity: 0.5;
        margin-bottom: 20px;
        text-transform: uppercase;
        font-family: monospace;
        color: #FFF;
        text-shadow: 0 0 10px rgba(0,0,0,0.5); 
    }

    .wm-footer-nav {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: center;
    }

    .wm-footer-link {
        color: #FFF;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        opacity: 0.9;
        transition: opacity 0.3s, transform 0.3s;
        width: fit-content;
        text-shadow: 0 0 10px rgba(0,0,0,0.8);
    }

    .wm-footer-link:hover {
        opacity: 1;
        transform: scale(1.05);
        color: #FFF;
    }

    .wm-address {
        font-size: 14px;
        line-height: 1.6;
        opacity: 0.9;
        margin: 0;
        text-shadow: 0 0 10px rgba(0,0,0,0.8);
    }
    .wm-address a { color: #FFF; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.3); }

    /* --- LEGAL BAR --- */
    .wm-legal-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-top: 1px solid rgba(255,255,255,0.2);
        padding-top: 30px;
        font-size: 10px;
        opacity: 0.6;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .wm-legal-links { display: flex; gap: 20px; }
    .wm-legal-links a { color: #FFF; text-decoration: none; transition: opacity 0.3s; }
    .wm-legal-links a:hover { opacity: 1; }

    /* ========================================= */
    /* === STYLES DU CURSEUR CUSTOM WEMOOVE === */
    /* ========================================= */
    
    @media (min-width: 992px) {
        
        /* 1. CACHER LE CURSEUR PARTOUT... SAUF DANS ELEMENTOR */
        /* La pseudo-classe :not(.elementor-editor-active) protège ton éditeur */
        body:not(.elementor-editor-active),
        body:not(.elementor-editor-active) * {
            cursor: none !important;
        }

        /* Si on EST dans Elementor : on force le curseur normal */
        body.elementor-editor-active,
        body.elementor-editor-active * {
            cursor: auto !important;
            cursor: default !important;
        }

        /* Si on EST dans Elementor : on cache les boules blanches qui gênent */
        body.elementor-editor-active #wm-cursor-dot,
        body.elementor-editor-active #wm-cursor-follower {
            display: none !important;
        }
        
        /* 2. Point central (Le DOT) */
        #wm-cursor-dot {
            position: fixed;
            top: 0; left: 0;
            width: 8px; height: 8px;
            background-color: #ffffff;
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999999; 
            transform: translate(-50%, -50%);
            mix-blend-mode: difference;
        }

        /* 3. Cercle suiveur (Le FOLLOWER) */
        #wm-cursor-follower {
            position: fixed;
            top: 0; left: 0;
            width: 40px; height: 40px;
            border: 1px solid #ffffff;
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999998;
            transform: translate(-50%, -50%);
            mix-blend-mode: difference;
            transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
        }

        /* 4. État HOVER (Survol) */
        body.is-hovering #wm-cursor-follower {
            width: 60px; height: 60px;
            background-color: #ffffff;
            border-color: transparent;
        }
    }

    /* Mobile : Pas de curseur custom, on remet le curseur système */
    @media (max-width: 991px) {
        #wm-cursor-dot, #wm-cursor-follower { display: none !important; }
        html, body, * { cursor: auto !important; }
        
        /* Ajustements responsive footer */
        .wm-footer { padding: 60px 0 20px 0; }
        .wm-footer-container { padding: 0 20px; }
        .wm-big-bg-img { width: 90%; }
    }

    /* --- RESPONSIVE FOOTER SPECIFIQUE TABLETTE/MOBILE --- */
    @media (max-width: 768px) {
        .wm-footer-container { display: flex; flex-direction: column; }
        .wm-footer-grid {
            grid-template-columns: 1fr 1fr;
            gap: 50px 20px;
            margin-bottom: 60px;
        }
        .wm-bg-logo-wrapper {
            position: relative;
            top: auto; left: auto;
            transform: none;
            width: 100%; height: auto;
            margin-bottom: 60px;
            opacity: 1;
        }
        .wm-big-bg-img {
            width: 100%; max-width: 100%;
            opacity: 0.3;
        }
        .wm-legal-bar {
            flex-direction: column;
            gap: 15px;
            text-align: center;
            padding-top: 20px;
        }
    }
/* Lenis CSS */
    html.lenis { height: auto; }
    .lenis.lenis-smooth { scroll-behavior: auto; }
    .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
    .lenis.lenis-stopped { overflow: hidden; }
    .lenis.lenis-scrolling iframe { pointer-events: none; }
/* 1. OVERSCROLL NOIR (Pour iOS/Safari) */
    body, html {
        background-color: #000000;
    }
    
    /* 2. STYLE DE L'ONDE (Ultra subtil) */
    .wm-touch-ripple {
        position: fixed;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.1); 
        transform: translate(-50%, -50%) scale(0);
        pointer-events: none;
        z-index: 999999;
        animation: wm-ripple-anim 0.5s ease-out;
        filter: blur(2px);
    }

    @keyframes wm-ripple-anim {
        0% {
            transform: translate(-50%, -50%) scale(0);
            opacity: 1;
        }
        100% {
            transform: translate(-50%, -50%) scale(2.5); 
            opacity: 0;
        }
    }


/* --- 5. titres : plus de contour, du blanc plein, et une échelle assumée ---
   Demande d'Enzo le 2026-08-09 : « plus de contour mais en blanc, et peut-être plus
   gros pour être stylé et moderne ».

   Le contour d'abord. La classe .wm-outline pose color: transparent et un trait de 1px.
   Sur fond noir le titre passait presque inaperçu. Ces règles vivent dans les blocs de
   style des pages, donc APRÈS cette feuille dans la cascade : d'où le !important, seul
   moyen de reprendre la main sans réécrire chaque page.

   La taille ensuite. Les pages légales plafonnaient à 8vw quand l'accueil monte à 13vw
   et à-propos à 10vw : elles paraissaient timides à côté du reste du site. Elles passent
   à 11vw, avec un interlignage resserré à 0,84 et un crénage négatif. C'est ce qui donne
   le bloc compact des titres de magazine, plutôt qu'une suite de lignes espacées.

   Le clamp borne les deux extrémités : lisible sur un téléphone, jamais démesuré sur un
   très grand écran. */
/* Restreint aux deux pages legales le 2026-08-09, apres qu'Enzo ait signale
   le probleme : « fallait pas le faire sur MOOVE dans la banniere hero ».

   Le selecteur [class*="outline"] attrapait TOUT element dont la classe
   contient « outline », donc le .wm-outline-text du H1 de l'accueil. Or ce
   contour y est voulu : « WE » et « PEOPLE. » sont pleins, « MOOVE » est creux,
   et c'est ce contraste qui fait le titre.

   Les pages legales portent elementor-page-1243 et elementor-page-1248 sur leur
   body. Le remplissage ne s'applique plus qu'a elles. */
.elementor-page-1243 .wm-outline,
.elementor-page-1243 [class*="outline"],
.elementor-page-1248 .wm-outline,
.elementor-page-1248 [class*="outline"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  -webkit-text-stroke-width: 0 !important;
  -webkit-text-stroke: none !important;
}

.wm-legal-title,
.wm-privacy-title {
  /* Ramene de 11vw a 7vw le 2026-08-09 : « politique de confidentialite est trop
     gros et deborde le titre », signale par Enzo. A 11vw le titre atteignait
     85,8 px sur une fenetre de 780. */
  font-size: clamp(2rem, 7vw, 7rem) !important;
  /* 1 et pas 0,88 : une hauteur de ligne INFERIEURE a la taille du texte fait
     que les capitales accentuees de la ligne du bas touchent celle du dessus.
     A 85,8 px de texte pour 75,5 px de ligne, les deux lignes se chevauchaient.
     Le francais accentue ses capitales, il lui faut la place. */
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

/* Sur petit écran, 11vw reste trop grand pour un mot long. Mesuré à 390px de large :
   « CONFIDENTIALITÉ » sortait à 402px dans un conteneur de 340, donc coupé. Le mot le
   plus long du site commande donc la taille en dessous de 640px. Le débordement ne se
   voyait pas dans un contrôle de scrollWidth, le parent masquant ce qui dépasse : c'est
   la capture d'écran qui l'a montré. */
@media (max-width: 640px) {
  .wm-legal-title,
  .wm-privacy-title {
    font-size: clamp(1.9rem, 8.4vw, 2.6rem) !important;
    letter-spacing: -.03em !important;
  }
}

/* --- 6. curseur personnalisé ---
   Signalé par Enzo le 2026-08-09 : « sur les pages mentions et confidentialité, il n'y a
   pas la souris ». Exact. Ces pages portaient le balisage du curseur, qui vient du footer
   commun, mais ni son CSS ni son JavaScript : ceux-là vivaient dans les blocs de style de
   chaque page, et les pages légales ne les avaient pas.

   Les deux requêtes média sont conservées telles quelles, et c'est essentiel : le curseur
   est réservé au bureau, et masqué sous 992px. Une extraction règle par règle perdait ces
   requêtes et aurait masqué le curseur partout, ou l'aurait affiché sur mobile. */
@media (min-width: 992px) {
        
        body:not(.elementor-editor-active),
        body:not(.elementor-editor-active) * {
            cursor: none !important;
        }

        body.elementor-editor-active,
        body.elementor-editor-active * {
            cursor: auto !important;
            cursor: default !important;
        }

        body.elementor-editor-active #wm-cursor-dot,
        body.elementor-editor-active #wm-cursor-follower {
            display: none !important;
        }
        
        /* 2. Point central */
        #wm-cursor-dot {
            position: fixed;
            top: 0; left: 0;
            width: 8px; height: 8px;
            background-color: #ffffff;
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999999; 
            /* J'ai retiré le transform CSS ici pour laisser GSAP gérer */
            mix-blend-mode: difference;
        }

        /* 3. Cercle suiveur */
        #wm-cursor-follower {
            position: fixed;
            top: 0; left: 0;
            width: 40px; height: 40px;
            border: 1px solid #ffffff;
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999998;
            /* J'ai retiré le transform CSS ici pour laisser GSAP gérer */
            mix-blend-mode: difference;
            transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
        }

        body.is-hovering #wm-cursor-follower {
            width: 60px; height: 60px;
            background-color: #ffffff;
            border-color: transparent;
        }
    }
@media (max-width: 991px) {
        #wm-cursor-dot, #wm-cursor-follower { display: none !important; }
        html, body, * { cursor: auto !important; }
        .wm-footer { padding: 60px 0 20px 0; }
        .wm-footer-container { padding: 0 20px; }
        .wm-big-bg-img { width: 90%; }
    }

/* --------------------------------------------------------------------------
   Traits de separation entre sections, retires le 2026-08-09

   Demande d'Enzo : « je vois des legers traits gris entre les sections sur le
   fond noir, enleve que les traits entre les sections qui ne servent a rien ».

   Ce sont des bordures en rgba(255,255,255,.15), donc un gris pale sur fond
   noir. Elles ne separent rien que le fond ne separe deja.

   CE QUI RESTE, volontairement : les bordures de .pole-item et de .lab-item.
   Celles-la separent les elements d'une liste les uns des autres, elles
   dessinent la structure au lieu de decouper la page. Idem pour le haut de
   .poles-container, qui ferme la liste.

   Le !important est necessaire : ces regles vivent dans les blocs de style des
   pages, donc apres cette feuille dans la cascade.

   Les classes sont nommees une par une, sans joker. Un selecteur trop large a
   deja rempli le MOOVE du hero plus tot dans la journee. */
.section-partners-marquee,
.section-projects,
.section-process,
.section-footer,
.wm-footer,
.wm-legal-bar {
  border-top: none !important;
  border-bottom: none !important;
}
