/* iart — feuille de styles de production */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/outfit-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/outfit-latin-ext-400-normal.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:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/outfit-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/outfit-latin-ext-500-normal.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:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/outfit-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/outfit-latin-ext-600-normal.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:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/outfit-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/outfit-latin-ext-700-normal.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:'Outfit';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/outfit-latin-800-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/outfit-latin-ext-800-normal.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:'M PLUS 1p';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/m-plus-1p-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'M PLUS 1p';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/m-plus-1p-latin-ext-400-normal.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:'M PLUS 1p';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/m-plus-1p-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'M PLUS 1p';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/m-plus-1p-latin-ext-500-normal.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:'M PLUS 1p';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/m-plus-1p-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'M PLUS 1p';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/m-plus-1p-latin-ext-700-normal.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:'M PLUS 1p';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/m-plus-1p-latin-800-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'M PLUS 1p';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/m-plus-1p-latin-ext-800-normal.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:'Noto Sans';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/noto-sans-latin-800-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/noto-sans-latin-ext-800-normal.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}


/* Webfonts are served from Google Fonts (no licensed binaries were provided).
   Logo wordmark: Noto Sans 800. Headings: Outfit. Body: M PLUS 1p. */
:root{--font-logo:"Noto Sans","Outfit",sans-serif;--font-display:"Outfit",sans-serif;--font-body:"M PLUS 1p","Outfit",sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace}

:root{
/* base palette */
--ink:#090909;--ink-80:#3a3a3a;--ink-60:#6b6b6b;--ink-40:#9c9c9c;--ink-20:#d2d2d2;
--paper:#F6F6F6;--paper-pure:#FFFFFF;--paper-warm:#EFEFEF;
--blue:#003ED9;--blue-hover:#0033B4;--blue-active:#002A94;--blue-tint:#E8EEFF;
--rose-tint:#F3DDE8;
--line:#E2E2E2;--line-strong:#CFCFCF;--line-invert:#242424;
--success:#0F7A4A;--warning:#A9600A;--danger:#B32020;

/* semantic — light surface (default) */
--bg:var(--paper);--bg-elevated:var(--paper-pure);--bg-subtle:var(--paper-warm);
--bg-accent-blue:var(--blue-tint);--bg-accent-rose:var(--rose-tint);--bg-invert:var(--ink);
--text-primary:var(--ink);--text-secondary:var(--ink-60);--text-muted:var(--ink-40);
--text-invert:var(--paper);--text-link:var(--blue);--text-on-primary:var(--paper);
--border:var(--line);--border-strong:var(--line-strong);--border-focus:var(--blue);
--primary:var(--blue);--primary-hover:var(--blue-hover);--primary-active:var(--blue-active);
--surface-card:var(--paper-pure);--surface-card-invert:var(--ink);
--overlay:rgba(9,9,9,.62);
}

/* semantic — dark surface. Apply on any container: <section class="iart-dark"> */
.iart-dark,[data-theme="dark"]{
--bg:var(--ink);--bg-elevated:#121212;--bg-subtle:#161616;
--bg-accent-blue:#0A1740;--bg-accent-rose:#2A1620;--bg-invert:var(--paper);
--text-primary:var(--paper);--text-secondary:#A6A6A6;--text-muted:#6B6B6B;
--text-invert:var(--ink);--text-link:#8FA9FF;--text-on-primary:var(--paper);
--border:var(--line-invert);--border-strong:#3A3A3A;
--surface-card:#121212;--surface-card-invert:var(--paper);
color:var(--text-primary);background-color:var(--bg);
}

:root{
/* weights */
--fw-light:300; /* @kind font */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-extrabold:800; /* @kind font */

/* sizes — desktop (fluid) */
--fs-display:clamp(3rem,7.5vw,6.5rem); /* @kind font */
--fs-h1:clamp(2.25rem,5vw,4.5rem); /* @kind font */
--fs-h2:clamp(1.875rem,3.6vw,3.5rem); /* @kind font */
--fs-h3:clamp(1.5rem,2.4vw,2.5rem); /* @kind font */
--fs-h4:1.75rem; /* @kind font */
--fs-h5:1.375rem; /* @kind font */
--fs-h6:1.125rem; /* @kind font */
--fs-body-lg:1.25rem; /* @kind font */
--fs-body:1rem; /* @kind font */
--fs-body-sm:0.875rem; /* @kind font */
--fs-caption:0.75rem; /* @kind font */
--fs-label:0.75rem; /* @kind font */
--fs-button:0.9375rem; /* @kind font */

/* line heights */
--lh-display:0.98; /* @kind font */
--lh-tight:1.06; /* @kind font */
--lh-snug:1.18; /* @kind font */
--lh-heading:1.24; /* @kind font */
--lh-body:1.65; /* @kind font */
--lh-relaxed:1.75; /* @kind font */
--lh-flat:1; /* @kind font */

/* letter spacing */
--ls-display:-0.04em; /* @kind font */
--ls-h1:-0.03em; /* @kind font */
--ls-h2:-0.022em; /* @kind font */
--ls-h3:-0.015em; /* @kind font */
--ls-h4:-0.01em; /* @kind font */
--ls-body:0; /* @kind font */
--ls-label:0.09em; /* @kind font */
--ls-button:0.005em; /* @kind font */
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-11:120px;--space-12:160px;

/* t-shirt aliases */
--space-xs:8px;--space-sm:12px;--space-md:24px;--space-lg:48px;--space-xl:80px;--space-xxl:120px;

/* layout */
--container-max:1440px;--container-text:680px;
--gutter-desktop:48px;--gutter-tablet:32px;--gutter-mobile:20px;
--grid-cols-desktop:12; /* @kind other */
--grid-cols-tablet:8; /* @kind other */
--grid-cols-mobile:4; /* @kind other */
--grid-gap-desktop:24px;--grid-gap-tablet:20px;--grid-gap-mobile:16px;
--section-y-desktop:120px;--section-y-tablet:96px;--section-y-mobile:64px;
--bp-mobile:480px;--bp-tablet:768px;--bp-desktop:1200px;
}

:root{--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-pill:999px;
--radius-control:var(--radius-sm);--radius-card:var(--radius-lg);--radius-block:var(--radius-xl);--radius-media:var(--radius-md)}

:root{
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(9,9,9,.04);
--shadow-sm:0 2px 6px rgba(9,9,9,.05);
--shadow-md:0 8px 24px rgba(9,9,9,.07);
--shadow-lg:0 24px 60px rgba(9,9,9,.10);
--shadow-focus:0 0 0 3px rgba(0,62,217,.22);
--shadow-inset-line:inset 0 0 0 1px var(--border);
}

:root{
--dur-instant:80ms; /* @kind other */
--dur-fast:160ms; /* @kind other */
--dur-base:240ms; /* @kind other */
--dur-slow:420ms; /* @kind other */
--dur-reveal:720ms; /* @kind other */
--ease-standard:cubic-bezier(.2,.6,.2,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-in-out:cubic-bezier(.65,.05,.36,1); /* @kind other */
--motion-hover-lift:-2px; /* @kind other */
--motion-image-scale:1.03; /* @kind other */
--motion-press-scale:.99; /* @kind other */
}
@media (prefers-reduced-motion:reduce){
:root{
--dur-fast:0ms; /* @kind other */
--dur-base:0ms; /* @kind other */
--dur-slow:0ms; /* @kind other */
--dur-reveal:0ms; /* @kind other */
--motion-image-scale:1; /* @kind other */
}
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-bold);margin:0;color:var(--text-primary)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--primary-hover);opacity:.85}
img{display:block;max-width:100%}
::selection{background:var(--blue);color:var(--paper)}
.iart-label{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}
.iart-logo{font-family:var(--font-logo);font-weight:800;letter-spacing:-0.03em;text-transform:lowercase;line-height:1}



/* ---------- Mise en page ---------- */
body{margin:0;background:#F6F6F6;font-family:'M PLUS 1p',sans-serif;color:#090909}
img,video{max-width:100%}
a{color:#003ED9;text-decoration:none}
a:hover{color:#0033B4}
:focus-visible{outline:2px solid #003ED9;outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a.visually-hidden:focus{position:fixed!important;top:12px;left:12px;width:auto;height:auto;clip:auto;margin:0;padding:12px 18px;background:#003ED9;color:#F6F6F6;border-radius:4px;z-index:200}
.sc-host,.sc-host-x{display:contents}

/* ---------- En-tête ---------- */
header[data-nav]{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;transform:none;
  --nav-fond:260ms cubic-bezier(.2,.6,.2,1);   /* apparition du blanc */
  --nav-morph:620ms cubic-bezier(.22,.61,.24,1); /* dézoom du logo */
  transition:transform 240ms cubic-bezier(.2,.6,.2,1),background var(--nav-fond),box-shadow var(--nav-fond)}
header[data-nav] [data-nav-link]{color:#F6F6F6;transition:color var(--nav-fond),border-color 160ms cubic-bezier(.2,.6,.2,1),font-weight 160ms cubic-bezier(.2,.6,.2,1)}
header[data-nav] [data-burger]{color:#F6F6F6;border-color:rgba(246,246,246,.55);transition:color var(--nav-fond),border-color var(--nav-fond),background 160ms cubic-bezier(.2,.6,.2,1)}
header[data-nav] [data-nav-logo] img{height:96px;transition:height var(--nav-morph),filter var(--nav-morph)}
header[data-nav].is-solid{background:#fff;box-shadow:0 8px 24px rgba(9,9,9,.07)}
header[data-nav].is-solid [data-nav-link]{color:#090909}
header[data-nav].is-solid [data-burger]{color:#090909;border-color:#CFCFCF}
header[data-nav].is-solid [data-nav-logo] img{height:32px;filter:invert(1)}
header[data-nav].is-hidden{transform:translateY(-102%)}
@media (max-width:900px){header[data-nav] [data-nav-logo] img{height:44px}header[data-nav].is-solid [data-nav-logo] img{height:28px}}

/* ---------- Menu mobile ---------- */
[data-menu]{display:none}
[data-menu].is-open{display:flex}
@media (max-width:900px){[data-nav-desktop]{display:none!important}[data-burger]{display:inline-flex!important}}

/* ---------- Sections offres / process ---------- */
#offre{--surface-card:#F6F6F6;--border:rgba(9,9,9,.12)}
#offre span[style*="--font-display"]{color:#003ED9!important;font-weight:800!important}
/* cartes pleinement opaques : la vidéo ne transparaît jamais au travers,
   ni au repos ni au survol. Le survol se signale par l'ombre et la bordure. */
#offre .sc-host-x>div{background:#F6F6F6!important;border-color:rgba(9,9,9,.12)!important;
  box-shadow:0 1px 2px rgba(9,9,9,.06)!important;
  transition:box-shadow 200ms cubic-bezier(.2,.6,.2,1),border-color 160ms cubic-bezier(.2,.6,.2,1)!important}
#offre a:hover .sc-host-x>div,#offre a:focus-visible .sc-host-x>div{
  background:#FFFFFF!important;border-color:rgba(9,9,9,.28)!important;
  box-shadow:0 12px 32px rgba(9,9,9,.18)!important;transform:none!important}
/* boutons : contour discret au repos, bleu plein au survol de la carte */
#offre button{background:transparent!important;border:1px solid #CFCFCF!important;color:#090909!important;
  transform:none!important;
  transition:background 160ms cubic-bezier(.2,.6,.2,1),border-color 160ms cubic-bezier(.2,.6,.2,1),
    color 160ms cubic-bezier(.2,.6,.2,1)!important}
#offre a:hover button,#offre a:focus-visible button,#offre button:hover,#offre button:focus{
  background:#003ED9!important;border-color:#003ED9!important;color:#F6F6F6!important}
/* composition : la paire de cartes est centrée et tenue à une largeur lisible */
#offre .offre-cartes{max-width:920px;margin-left:auto;margin-right:auto;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;
  gap:clamp(16px,2vw,24px)!important}
#offre .sc-host-x>div{gap:clamp(18px,2vw,24px)!important;padding:clamp(28px,3vw,40px)!important}
[data-step-detail]{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 480ms cubic-bezier(.2,.6,.2,1),opacity 480ms cubic-bezier(.2,.6,.2,1)}
[data-step-detail]>div{overflow:hidden}
[data-step]:hover [data-step-detail],[data-step]:focus-within [data-step-detail]{grid-template-rows:1fr;opacity:1}
@media (hover:none){[data-step-detail]{grid-template-rows:1fr;opacity:1}}

/* ---------- Bandeau références ---------- */
@keyframes iart-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[data-marquee]{animation:iart-marquee 42s linear infinite}
.ref-logo{filter:none;opacity:1}
/* séparateur bleu discret entre deux logos clients */
[data-marquee]>div{position:relative}
[data-marquee]>div::after{content:"✦";position:absolute;right:-6px;top:50%;transform:translateY(-50%);
  font-size:10px;line-height:1;color:#003ED9;opacity:.55;pointer-events:none}
/* bandeau plus compact sur mobile */
@media (max-width:900px){
  .ref-band{padding:16px 0!important}
  .ref-band [data-marquee]>div{width:clamp(104px,24vw,140px)!important;height:52px!important;
    padding:0 clamp(16px,4vw,28px)!important}
}
@media (max-width:480px){
  .ref-band{padding:12px 0!important}
  .ref-band [data-marquee]>div{width:clamp(88px,22vw,116px)!important;height:44px!important;
    padding:0 clamp(12px,3.4vw,20px)!important}
}

/* ---------- Section Production : flux libre, écart constant ---------- */
.prod-mosaic{margin-top:clamp(24px,3vw,40px);
  columns:4;column-gap:8px;             /* le même écart partout, vertical comme horizontal */
  orphans:1;widows:1}
.prod-tile{margin:0 0 8px;break-inside:avoid;overflow:hidden;border-radius:6px;background:#EDEDED}
.prod-tile img,.prod-tile video{width:100%;height:100%;object-fit:cover;display:block}
/* tuile large : occupe la largeur de deux colonnes */
.prod-tile--wide{column-span:all;width:calc(50% - 4px)}

@media (max-width:1100px){
  .prod-mosaic{columns:3}
  .prod-tile--wide{width:calc(66.666% - 2.667px)}
}
@media (max-width:760px){
  .prod-mosaic{columns:2;column-gap:6px}
  .prod-tile{margin-bottom:6px}
  .prod-tile--wide{width:100%}
}

/* ---------- Offres : sur mobile, les cartes se posent sur la vidéo ---------- */
@media (max-width:900px){
  #offre>video{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
  #offre>div:last-of-type{position:relative!important;inset:auto!important;overflow:visible!important;z-index:1}
  #offre{display:block;padding:clamp(48px,8vw,72px) 0}
}

/* ---------- Emplacement média vide (showreel) ---------- */
.slot-empty{position:absolute;inset:0;width:100%;height:100%;background:#090909}

/* ---------- Apparitions au scroll ---------- */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity 720ms cubic-bezier(.16,1,.3,1),transform 720ms cubic-bezier(.16,1,.3,1)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- CTA ---------- */
[data-hero-cta],[data-sticky-cta]{transition:opacity 240ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1),background 160ms cubic-bezier(.2,.6,.2,1)}
.js [data-sticky-cta]{opacity:0;pointer-events:none;transform:translateY(8px);box-shadow:0 8px 24px rgba(9,9,9,.10)}
.js [data-sticky-cta].is-on{opacity:1;pointer-events:auto;transform:none}
.js [data-hero-cta]{opacity:0;pointer-events:none;transform:translateY(8px)}
.js [data-hero-cta].is-on{opacity:1;pointer-events:auto;transform:none}

/* ---------- Formulaire ---------- */
form input,form textarea{padding:6px 10px!important;font-size:13px!important;line-height:1.35!important}
form label,form label span{font-size:11px!important}
form button{padding:12px 22px!important;font-size:14px!important}
form input:focus,form textarea:focus{border-color:#003ED9!important;box-shadow:0 0 0 3px rgba(0,62,217,.15)!important}
.form-status{margin:0;font-size:13px;line-height:1.5;color:#003ED9}

/* ---------- Icônes ---------- */
i[data-icon]{align-items:center;justify-content:center}
i[data-icon] svg{width:100%;height:100%;display:block}

/* ---------- Page de confirmation ---------- */
.merci-wrap{max-width:1440px;margin:0 auto;padding:clamp(64px,10vw,140px) clamp(20px,4vw,48px) clamp(48px,7vw,96px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,72px);align-items:start}
.merci-mark{width:clamp(56px,6vw,76px);height:clamp(56px,6vw,76px);border-radius:999px;background:#003ED9;color:#F6F6F6;
  display:flex;align-items:center;justify-content:center;margin-bottom:clamp(24px,3vw,36px)}
.merci-mark svg{width:50%;height:50%}
.merci h1{font-family:Outfit,sans-serif;font-weight:400;font-size:clamp(44px,7vw,96px);line-height:.98;
  letter-spacing:-.04em;margin:0;max-width:14ch;text-wrap:pretty}
.merci h1 strong{font-weight:800}
.merci-lede{margin:clamp(20px,2.4vw,32px) 0 0;font-size:clamp(17px,1.4vw,20px);line-height:1.65;max-width:52ch;text-wrap:pretty}
.merci-next{border-top:1px solid #E2E2E2;padding-top:clamp(24px,3vw,36px)}
.merci-next h2{font-family:Outfit,sans-serif;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:#6B6B6B;margin:0 0 clamp(20px,2.4vw,28px)}
.merci-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
.merci-steps li{display:flex;gap:clamp(14px,1.6vw,20px);align-items:baseline;font-size:16px;line-height:1.6;text-wrap:pretty}
.merci-steps span{font-family:Outfit,sans-serif;font-weight:800;font-size:15px;color:#003ED9;flex:0 0 auto;
  font-variant-numeric:tabular-nums}
.merci-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(32px,4vw,48px)}
.merci-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:4px;font-size:15px;font-weight:500;
  transition:background 160ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1),color 160ms cubic-bezier(.2,.6,.2,1)}
.merci-btn svg{width:16px;height:16px}
.merci-btn--primary{background:#003ED9;color:#F6F6F6}
.merci-btn--primary:hover{background:#0033B4;color:#F6F6F6;transform:translateY(-2px)}
.merci-btn--ghost{border:1px solid #CFCFCF;color:#090909}
.merci-btn--ghost:hover{border-color:#090909;color:#090909;transform:translateY(-2px)}

/* ---------- Pied de page ---------- */
.site-footer{background:#090909;color:#B4B4B4;font-size:14px;padding:clamp(48px,6vw,88px) clamp(20px,4vw,48px) clamp(24px,2.4vw,32px)}
.site-footer__inner{max-width:1440px;margin:0 auto;display:grid;gap:clamp(40px,5vw,72px);
  grid-template-columns:minmax(240px,1fr) minmax(300px,1.4fr);align-items:start}
.site-footer__logo{display:block;height:26px;width:auto;margin-bottom:clamp(20px,2.4vw,28px)}
.site-footer__baseline{margin:0;color:#F6F6F6;font-family:Outfit,sans-serif;font-size:clamp(18px,1.8vw,24px);
  line-height:1.25;letter-spacing:-.02em;max-width:22ch;text-wrap:pretty}
.site-footer__cta{display:inline-flex;align-items:center;margin-top:clamp(24px,3vw,32px);padding:14px 22px;border-radius:4px;
  background:#003ED9;color:#F6F6F6;font-size:14px;font-weight:500;
  transition:background 160ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1)}
.site-footer__cta:hover{background:#0033B4;color:#F6F6F6;transform:translateY(-2px)}
.site-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(28px,3.5vw,48px)}
.site-footer__col h2{margin:0 0 clamp(14px,1.6vw,20px);font-family:Outfit,sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:#6B6B6B}
.site-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.site-footer__col a{color:#B4B4B4}
.site-footer__col a:hover{color:#F6F6F6}
.site-footer__base{max-width:1440px;margin:clamp(40px,5vw,64px) auto 0;padding-top:clamp(20px,2.4vw,28px);
  border-top:1px solid rgba(246,246,246,.14);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  font-size:12px;color:#6B6B6B}
.site-footer__base p{margin:0}
.site-footer__base a{color:#6B6B6B}
.site-footer__base a:hover{color:#F6F6F6}
@media (max-width:760px){
  .site-footer__inner{grid-template-columns:1fr}
  .site-footer__cols{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
}

@media (prefers-reduced-motion:reduce){
  [data-marquee]{animation:none!important}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto!important}
}

/* --- pages légales (mentions, CGV, confidentialité) --- */

/* ═══════════════════════════════════════════════
   iart — Mentions légales
   Même système visuel que la page CGV. Préfixe .lg-
   et portée .legal pour ne rien percuter.
   ═══════════════════════════════════════════════ */

.legal{
  --lg-accent:#003ED9;
  --lg-ink:#0A0A0A;
  --lg-ink-60:rgba(10,10,10,.62);
  --lg-ink-40:rgba(10,10,10,.42);
  --lg-rule:rgba(10,10,10,.12);
  --lg-rule-soft:rgba(10,10,10,.07);
  --lg-measure:68ch;
  --lg-pad-x:clamp(20px,5vw,80px);
  --lg-nav:72px;

  background:#fff !important;
  color:var(--lg-ink);
  
}

.legal *,
.legal *::before,
.legal *::after{box-sizing:border-box}

.legal [hidden]{display:none !important}

@media (prefers-reduced-motion:no-preference){
  html:has(.legal){scroll-behavior:smooth}
}

.legal .iart-nav{
  padding-top:0 !important;padding-bottom:0 !important;
  height:var(--lg-nav) !important;
  min-height:var(--lg-nav) !important;
  max-height:var(--lg-nav) !important;
  position:fixed !important;top:0;left:0;right:0;z-index:100;
}

.legal .lg-skip{
  position:absolute;left:-9999px;top:0;
  background:var(--lg-ink);color:#fff;padding:12px 20px;z-index:200;
}
.legal .lg-skip:focus{left:0}

.legal a:focus-visible{outline:2px solid var(--lg-accent);outline-offset:3px}

/* ── Titre ── */
.legal .lg-masthead{
  padding:clamp(48px,7vw,104px) var(--lg-pad-x) clamp(28px,3vw,44px);
  border-bottom:1px solid var(--lg-rule);
}
.legal .lg-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lg-accent);margin:0 0 clamp(20px,2.5vw,32px);
}
.legal .lg-masthead h1{
  margin:0;font-size:clamp(38px,6.5vw,88px);
  font-weight:900;letter-spacing:-.045em;line-height:.95;
  max-width:14ch;color:var(--lg-ink);
}
.legal .lg-meta{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,64px);margin-top:clamp(32px,4vw,56px)}
.legal .lg-meta > div{min-width:150px}
.legal .lg-meta dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);margin:0 0 6px}
.legal .lg-meta dd{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}

/* ── Mise en page ── */
.legal .lg-wrap{
  display:grid;grid-template-columns:minmax(200px,240px) 1fr;
  gap:clamp(40px,6vw,96px);
  padding:clamp(40px,5vw,72px) var(--lg-pad-x) clamp(48px,5vw,80px);
  align-items:start;
}
.legal .lg-wrap > .lg-toc{grid-column:1;grid-row:1}
.legal .lg-wrap > main{grid-column:2;grid-row:1;min-width:0}

/* ── Sommaire ── */
.legal .lg-toc{position:sticky;top:calc(var(--lg-nav) + 32px);max-height:calc(100vh - 140px);overflow-y:auto}
.legal .lg-toc-title{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-ink-40);
  padding-bottom:14px;margin:0 0 14px;border-bottom:1px solid var(--lg-rule);
}
.legal .lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:lgtoc}
.legal .lg-toc li{counter-increment:lgtoc;padding:0;margin:0;list-style:none}
.legal .lg-toc li::before{display:none}
.legal .lg-toc a{
  display:flex;gap:10px;padding:7px 0;
  font-size:13px;line-height:1.4;color:var(--lg-ink-40);
  text-decoration:none;border:none;transition:color .2s;
}
.legal .lg-toc a::before{
  content:counter(lgtoc,decimal-leading-zero);
  flex-shrink:0;font-variant-numeric:tabular-nums;
  font-size:10px;letter-spacing:.06em;color:var(--lg-rule);
  padding-top:3px;transition:color .2s;
}
.legal .lg-toc a:hover{color:var(--lg-ink)}
.legal .lg-toc a.is-current{color:var(--lg-ink);font-weight:600}
.legal .lg-toc a.is-current::before{color:var(--lg-accent)}
.legal .lg-toc-mobile{display:none}

/* ── Corps ── */
.legal .lg-doc{
  max-width:var(--lg-measure);min-width:0;
  font-family:Outfit,sans-serif;
  font-size:16px;line-height:1.75;color:var(--lg-ink);
}
.legal .lg-doc p,
.legal .lg-doc li,
.legal .lg-doc dd{
  font-size:16px;line-height:1.75;color:var(--lg-ink);
  font-family:inherit;letter-spacing:normal;
}
.legal .lg-doc p{margin:0 0 1.15em}
.legal .lg-doc p:last-child{margin-bottom:0}
.legal .lg-doc a{
  color:inherit;text-decoration:none;
  border-bottom:1px solid rgba(0,62,217,.55);
  transition:color .2s,border-color .2s;
}
.legal .lg-doc a:hover{color:var(--lg-accent);border-bottom-color:var(--lg-accent)}

.legal .lg-intro{
  padding-bottom:clamp(32px,4vw,48px);margin-bottom:clamp(32px,4vw,48px);
  border-bottom:1px solid var(--lg-rule);font-size:17px;color:var(--lg-ink-60);
}

.legal .lg-art{
  padding-top:clamp(40px,5vw,64px);margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--lg-rule-soft);
}
.legal .lg-art:first-of-type{border-top:none;margin-top:0;padding-top:0}

.legal .lg-art-num{
  font-size:clamp(40px,4.5vw,64px);font-weight:900;letter-spacing:-.05em;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px rgba(0,62,217,.4);
  margin-bottom:clamp(14px,1.6vw,22px);font-variant-numeric:tabular-nums;
}

.legal .lg-doc h2{
  margin:0 0 clamp(20px,2.4vw,32px);
  font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.15;
  color:var(--lg-ink);scroll-margin-top:calc(var(--lg-nav) + 40px);
}

/* Fiche d'identité */
.legal .lg-id{
  display:grid;grid-template-columns:minmax(140px,180px) 1fr;
  border-top:1px solid var(--lg-rule);
  margin:0 0 clamp(24px,3vw,32px);
}
.legal .lg-id dt{
  padding:13px 20px 13px 0;border-bottom:1px solid var(--lg-rule-soft);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);
}
.legal .lg-id dd{
  margin:0;padding:13px 0;border-bottom:1px solid var(--lg-rule-soft);
  font-size:15px;
}

.legal .lg-list{margin:0 0 1.15em;padding-left:0;list-style:none}
.legal .lg-list li{position:relative;padding-left:20px;margin-bottom:.55em;list-style:none}
.legal .lg-list li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:6px;height:1px;background:var(--lg-accent);
}

/* Champ à compléter */
.legal .lg-fill{
  background:rgba(0,62,217,.09);
  border-bottom:1px dashed rgba(0,62,217,.65);
  padding:1px 6px;font-weight:600;font-size:.94em;
}

.legal .lg-notice{
  padding:clamp(20px,2.4vw,28px);
  border:1px solid var(--lg-rule);border-left:3px solid var(--lg-accent);
  background:rgba(0,62,217,.03);
  margin:clamp(24px,3vw,36px) 0;font-size:15px;
}

.legal .lg-signoff{
  margin-top:clamp(40px,5vw,64px);padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--lg-rule);font-size:13px;color:var(--lg-ink-40);
}

/* ── Footer ── */
.legal .iart-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(20px,3vw,40px);
  padding:clamp(36px,4.5vw,56px) var(--lg-pad-x);
  border-top:1px solid var(--lg-rule);background:#fff;
}
.legal .iart-footer-logo{font-size:20px;font-weight:900;letter-spacing:-.05em;color:var(--lg-ink);line-height:1}
.legal .iart-footer-links{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:clamp(16px,2.2vw,32px);list-style:none;margin:0;padding:0;
}
.legal .iart-footer-links li{margin:0;padding:0;list-style:none}
.legal .iart-footer-links li::before{display:none}
.legal .iart-footer-links a{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);text-decoration:none;border:none;transition:color .25s;
}
.legal .iart-footer-links a:hover{color:var(--lg-accent)}
.legal .iart-footer-copy{font-size:11px;letter-spacing:.06em;color:var(--lg-ink-40)}

/* ── Responsive ── */
@media (max-width:900px){
  .legal .lg-wrap{grid-template-columns:1fr;gap:0}
  .legal .lg-wrap > main{grid-column:1}
  .legal .lg-toc{display:none}
  .legal .lg-toc-mobile{display:block;margin-bottom:clamp(32px,4vw,48px);border:1px solid var(--lg-rule)}
  .legal .lg-toc-mobile summary{
    padding:16px 20px;cursor:pointer;
    font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);
  }
  .legal .lg-toc-mobile summary::marker{color:var(--lg-accent)}
  .legal .lg-toc-mobile ol{list-style:none;margin:0;padding:0 20px 16px;counter-reset:lgtoc}
  .legal .lg-toc-mobile li{counter-increment:lgtoc;padding:0;margin:0;list-style:none}
  .legal .lg-toc-mobile li::before{display:none}
  .legal .lg-toc-mobile a{display:block;padding:6px 0;font-size:14px;color:var(--lg-ink-60);text-decoration:none;border:none}
  .legal .lg-doc{max-width:none}
  .legal .lg-id{grid-template-columns:1fr}
  .legal .lg-id dt{padding-bottom:2px;border-bottom:none}
  .legal .lg-id dd{padding-top:0}
}
@media (max-width:700px){
  .legal .iart-footer{flex-direction:column;align-items:flex-start;gap:clamp(18px,3vw,28px)}
}
@media (max-width:480px){
  .legal{--lg-pad-x:20px}
}

/* ── Impression ── */
@media print{
  .legal .iart-nav,
  .legal .lg-toc,
  .legal .lg-toc-mobile,
  .legal .lg-skip,
  .legal .iart-footer{display:none !important}
  .legal{padding-top:0}
  .legal .lg-wrap{display:block;padding:0}
  .legal .lg-masthead{padding:0 0 18pt}
  .legal .lg-masthead h1{font-size:26pt}
  .legal .lg-doc{font-size:10.5pt;line-height:1.55;color:#000;max-width:none}
  .legal .lg-art-num{font-size:14pt;color:#000;-webkit-text-stroke:0;margin-bottom:4pt}
  .legal .lg-doc h2{font-size:12pt;page-break-after:avoid}
  .legal .lg-art{page-break-inside:avoid;border-top:none;padding-top:14pt;margin-top:0}
  .legal .lg-fill{background:none;border-bottom:1pt dotted #000}
  .legal .lg-doc a{border:none}
}


/* ═══════════════════════════════════════════════
   iart — Conditions générales de vente
   Toutes les règles sont préfixées .lg- et portées
   par .legal pour ne rien percuter dans Divi
   ni dans le thème parent.
   ═══════════════════════════════════════════════ */

.legal{
  --lg-accent:#003ED9;
  --lg-ink:#0A0A0A;
  --lg-ink-60:rgba(10,10,10,.62);
  --lg-ink-40:rgba(10,10,10,.42);
  --lg-rule:rgba(10,10,10,.12);
  --lg-rule-soft:rgba(10,10,10,.07);
  --lg-measure:68ch;
  --lg-pad-x:clamp(20px,5vw,80px);
  --lg-nav:72px;

  background:#fff !important;
  color:var(--lg-ink);
  
}

.legal *,
.legal *::before,
.legal *::after{box-sizing:border-box}

/* ═══ CORRECTIF ═══
   Le reset du thème déclare les balises nav en display block, avec une
   spécificité supérieure à celle de l'attribut hidden côté navigateur.
   Sans la règle ci-dessous, les deux sommaires s'affichent ensemble. */
.legal [hidden]{display:none !important}

@media (prefers-reduced-motion:no-preference){
  html:has(.legal){scroll-behavior:smooth}
}

/* ── Nav du thème : hauteur fixe, identique aux autres pages ── */
.legal .iart-nav{
  padding-top:0 !important;padding-bottom:0 !important;
  height:var(--lg-nav) !important;
  min-height:var(--lg-nav) !important;
  max-height:var(--lg-nav) !important;
  position:fixed !important;top:0;left:0;right:0;z-index:100;
}

.legal .lg-skip{
  position:absolute;left:-9999px;top:0;
  background:var(--lg-ink);color:#fff;padding:12px 20px;z-index:200;
}
.legal .lg-skip:focus{left:0}

.legal a:focus-visible,
.legal button:focus-visible{outline:2px solid var(--lg-accent);outline-offset:3px}

/* ── Titre ── */
.legal .lg-masthead{padding:clamp(48px,7vw,104px) var(--lg-pad-x) clamp(28px,3vw,44px)}
.legal .lg-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lg-accent);margin:0 0 clamp(20px,2.5vw,32px);
}
.legal .lg-masthead h1{
  margin:0;font-size:clamp(38px,6.5vw,88px);
  font-weight:900;letter-spacing:-.045em;line-height:.95;max-width:14ch;color:var(--lg-ink);
}
.legal .lg-meta{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,64px);margin-top:clamp(32px,4vw,56px)}
.legal .lg-meta > div{min-width:150px}
.legal .lg-meta dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);margin:0 0 6px}
.legal .lg-meta dd{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}

/* ── Sélecteur de document ── */
.legal .lg-switch{
  display:flex;padding:0 var(--lg-pad-x);
  border-bottom:1px solid var(--lg-rule);
  position:sticky;top:var(--lg-nav);z-index:90;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  overflow-x:auto;
}
.legal .lg-switch button{
  appearance:none;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;
  color:var(--lg-ink-40);
  padding:18px 0;margin-right:clamp(24px,3vw,48px);
  border-bottom:2px solid transparent;white-space:nowrap;
  transition:color .25s,border-color .25s;
}
.legal .lg-switch button:hover{color:var(--lg-ink)}
.legal .lg-switch button[aria-selected="true"]{color:var(--lg-ink);border-bottom-color:var(--lg-accent)}
.legal .lg-switch-num{
  font-size:10px;letter-spacing:.14em;color:var(--lg-accent);
  margin-right:8px;font-variant-numeric:tabular-nums;
}

/* ── Mise en page ── */
.legal .lg-wrap{
  display:grid;grid-template-columns:minmax(200px,240px) 1fr;
  gap:clamp(40px,6vw,96px);
  padding:clamp(40px,5vw,72px) var(--lg-pad-x) clamp(48px,5vw,80px);
  align-items:start;
}
/* Placement explicite : la grille contient 3 enfants (2 sommaires + le
   contenu). Sans ces règles, le 3e bascule en ligne 2 colonne 1 et passe
   sous le sommaire collant. */
.legal .lg-wrap > .lg-toc{grid-column:1;grid-row:1}
.legal .lg-wrap > main{grid-column:2;grid-row:1;min-width:0}

/* ── Sommaire ── */
.legal .lg-toc{position:sticky;top:calc(var(--lg-nav) + 66px);max-height:calc(100vh - 180px);overflow-y:auto}
.legal .lg-toc-title{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-ink-40);
  padding-bottom:14px;margin:0 0 14px;border-bottom:1px solid var(--lg-rule);
}
.legal .lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:cgvtoc}
.legal .lg-toc li{counter-increment:cgvtoc;padding:0;margin:0}
.legal .lg-toc li::before{display:none}
.legal .lg-toc a{
  display:flex;gap:10px;padding:7px 0;
  font-size:13px;line-height:1.4;color:var(--lg-ink-40);
  text-decoration:none;border:none;transition:color .2s;
}
.legal .lg-toc a::before{
  content:counter(cgvtoc,decimal-leading-zero);
  flex-shrink:0;font-variant-numeric:tabular-nums;
  font-size:10px;letter-spacing:.06em;color:var(--lg-rule);
  padding-top:3px;transition:color .2s;
}
.legal .lg-toc a:hover{color:var(--lg-ink)}
.legal .lg-toc a.is-current{color:var(--lg-ink);font-weight:600}
.legal .lg-toc a.is-current::before{color:var(--lg-accent)}
.legal .lg-toc-mobile{display:none}

/* ── Corps ── */
.legal .lg-doc{
  max-width:var(--lg-measure);min-width:0;
  font-family:Outfit,sans-serif;
  font-size:16px;line-height:1.75;color:var(--lg-ink);
}
.legal .lg-doc a{
  color:inherit;text-decoration:none;
  border-bottom:1px solid rgba(0,62,217,.55);
  transition:color .2s,border-color .2s;
}
.legal .lg-doc a:hover{color:var(--lg-accent);border-bottom-color:var(--lg-accent)}

.legal .lg-intro{
  padding-bottom:clamp(32px,4vw,48px);margin-bottom:clamp(32px,4vw,48px);
  border-bottom:1px solid var(--lg-rule);font-size:17px;color:var(--lg-ink-60);
}

.legal .lg-art{
  padding-top:clamp(40px,5vw,64px);margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--lg-rule-soft);
}
.legal .lg-art:first-of-type{border-top:none;margin-top:0;padding-top:0}

.legal .lg-art-num{
  font-size:clamp(40px,4.5vw,64px);font-weight:900;letter-spacing:-.05em;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px rgba(0,62,217,.4);
  margin-bottom:clamp(14px,1.6vw,22px);font-variant-numeric:tabular-nums;
}

.legal .lg-doc h2{
  margin:0 0 clamp(20px,2.4vw,32px);
  font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.15;
  color:var(--lg-ink);scroll-margin-top:calc(var(--lg-nav) + 80px);
}

.legal .lg-doc p,
.legal .lg-doc li,
.legal .lg-doc dd{
  font-size:16px;line-height:1.75;color:var(--lg-ink);
  font-family:inherit;letter-spacing:normal;
}
.legal .lg-doc p{margin:0 0 1.15em}
.legal .lg-doc p:last-child{margin-bottom:0}

.legal .lg-clause{display:grid;grid-template-columns:auto 1fr;gap:0 16px;margin-bottom:1.15em}
.legal .lg-ref{
  font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;
  color:var(--lg-accent);padding-top:4px;white-space:nowrap;
}
.legal .lg-clause p{margin:0 0 .8em}
.legal .lg-clause p:last-child{margin-bottom:0}

.legal .lg-list{margin:0 0 1.15em;padding-left:0;list-style:none}
.legal .lg-list li{position:relative;padding-left:20px;margin-bottom:.55em;list-style:none}
.legal .lg-list li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:6px;height:1px;background:var(--lg-accent);
}

.legal .lg-term{font-weight:700;border-bottom:1px solid rgba(0,62,217,.45)}

/* Échéancier */
.legal .lg-table{
  display:grid;grid-template-columns:1fr auto auto;
  border-top:1px solid var(--lg-rule);
  margin:clamp(24px,3vw,32px) 0;font-size:14px;
}
.legal .lg-table > *{padding:14px 16px 14px 0;border-bottom:1px solid var(--lg-rule-soft)}
.legal .lg-table .lg-th{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);border-bottom-color:var(--lg-rule);
}
.legal .lg-table .lg-amount{font-weight:700;white-space:nowrap}

/* Encadré */
.legal .lg-notice{
  padding:clamp(20px,2.4vw,28px);
  border:1px solid var(--lg-rule);border-left:3px solid var(--lg-accent);
  background:rgba(0,62,217,.03);
  margin:clamp(24px,3vw,36px) 0;font-size:15px;
}

/* Signature */
.legal .lg-sign{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px);
  margin-top:clamp(48px,6vw,80px);padding-top:clamp(28px,3vw,40px);
  border-top:1px solid var(--lg-rule);
}
.legal .lg-sign dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);margin-bottom:10px}
.legal .lg-sign dd{margin:0;font-size:14px;line-height:1.6}
.legal .lg-sign-note{grid-column:1/-1;margin:clamp(20px,2.4vw,28px) 0 0;font-size:13px;color:var(--lg-ink-40)}

.legal .lg-signoff{
  margin-top:clamp(40px,5vw,64px);padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--lg-rule);font-size:13px;color:var(--lg-ink-40);
}

/* ── Footer ─────────────────────────────────────
   Styles portés par le template : sur ce modèle de
   page, la feuille du thème n'est pas chargée et le
   footer s'affichait sans mise en forme.
   ───────────────────────────────────────────── */
.legal .iart-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(20px,3vw,40px);
  padding:clamp(36px,4.5vw,56px) var(--lg-pad-x);
  border-top:1px solid var(--lg-rule);
  background:#fff;
}
.legal .iart-footer-logo{
  font-size:20px;font-weight:900;letter-spacing:-.05em;color:var(--lg-ink);
  line-height:1;
}
.legal .iart-footer-links{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:clamp(16px,2.2vw,32px);
  list-style:none;margin:0;padding:0;
}
.legal .iart-footer-links li{margin:0;padding:0;list-style:none}
.legal .iart-footer-links li::before{display:none}
.legal .iart-footer-links a{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);text-decoration:none;border:none;
  transition:color .25s;
}
.legal .iart-footer-links a:hover{color:var(--lg-accent)}
.legal .iart-footer-copy{
  font-size:11px;letter-spacing:.06em;color:var(--lg-ink-40);
}
@media (max-width:700px){
  .legal .iart-footer{
    flex-direction:column;align-items:flex-start;
    gap:clamp(18px,3vw,28px);
  }
}

/* ── Responsive ── */
@media (max-width:900px){
  .legal .lg-wrap{grid-template-columns:1fr;gap:0}
  .legal .lg-toc{display:none}
  .legal .lg-toc-mobile{display:block;margin-bottom:clamp(32px,4vw,48px);border:1px solid var(--lg-rule)}
  .legal .lg-toc-mobile summary{
    padding:16px 20px;cursor:pointer;
    font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);
  }
  .legal .lg-toc-mobile summary::marker{color:var(--lg-accent)}
  .legal .lg-toc-mobile ol{list-style:none;margin:0;padding:0 20px 16px;counter-reset:cgvtoc}
  .legal .lg-toc-mobile li{counter-increment:cgvtoc;padding:0;margin:0;list-style:none}
  .legal .lg-toc-mobile li::before{display:none}
  .legal .lg-toc-mobile a{display:block;padding:6px 0;font-size:14px;color:var(--lg-ink-60);text-decoration:none;border:none}
  .legal .lg-doc{max-width:none}
  .legal .lg-clause{grid-template-columns:1fr;gap:0}
  .legal .lg-ref{padding:0 0 2px;font-size:12px}
  .legal .lg-table{grid-template-columns:1fr auto}
  .legal .lg-table .lg-c3{display:none}
  .legal .lg-sign{grid-template-columns:1fr}
}
@media (max-width:480px){
  .legal{--lg-pad-x:20px}
}

/* ── Impression ── */
@media print{
  .legal .iart-nav,
  .legal .lg-toc,
  .legal .lg-toc-mobile,
  .legal .lg-switch,
  .legal .lg-skip,
  .legal .iart-footer{display:none !important}
  .legal{padding-top:0}
  .legal .lg-wrap{display:block;padding:0}
  .legal .lg-masthead{padding:0 0 18pt;border-bottom:1pt solid #000}
  .legal .lg-masthead h1{font-size:26pt}
  .legal .lg-doc{font-size:10.5pt;line-height:1.55;color:#000;max-width:none}
  .legal .lg-art-num{font-size:14pt;color:#000;-webkit-text-stroke:0;margin-bottom:4pt}
  .legal .lg-doc h2{font-size:12pt;page-break-after:avoid}
  .legal .lg-art{page-break-inside:avoid;border-top:none;padding-top:14pt;margin-top:0}
  .legal .lg-notice{border:1pt solid #000;background:none}
  .legal .lg-doc a{border:none}
  .legal [hidden]{display:none !important}
}



/* ═══════════════════════════════════════════════
   iart — Mentions légales
   Même système visuel que la page CGV. Préfixe .lg-
   et portée .legal pour ne rien percuter.
   ═══════════════════════════════════════════════ */

.legal{
  --lg-accent:#003ED9;
  --lg-ink:#0A0A0A;
  --lg-ink-60:rgba(10,10,10,.62);
  --lg-ink-40:rgba(10,10,10,.42);
  --lg-rule:rgba(10,10,10,.12);
  --lg-rule-soft:rgba(10,10,10,.07);
  --lg-measure:68ch;
  --lg-pad-x:clamp(20px,5vw,80px);
  --lg-nav:72px;

  background:#fff !important;
  color:var(--lg-ink);
  
}

.legal *,
.legal *::before,
.legal *::after{box-sizing:border-box}

.legal [hidden]{display:none !important}

@media (prefers-reduced-motion:no-preference){
  html:has(.legal){scroll-behavior:smooth}
}

.legal .iart-nav{
  padding-top:0 !important;padding-bottom:0 !important;
  height:var(--lg-nav) !important;
  min-height:var(--lg-nav) !important;
  max-height:var(--lg-nav) !important;
  position:fixed !important;top:0;left:0;right:0;z-index:100;
}

.legal .lg-skip{
  position:absolute;left:-9999px;top:0;
  background:var(--lg-ink);color:#fff;padding:12px 20px;z-index:200;
}
.legal .lg-skip:focus{left:0}

.legal a:focus-visible{outline:2px solid var(--lg-accent);outline-offset:3px}

/* ── Titre ── */
.legal .lg-masthead{
  padding:clamp(48px,7vw,104px) var(--lg-pad-x) clamp(28px,3vw,44px);
  border-bottom:1px solid var(--lg-rule);
}
.legal .lg-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lg-accent);margin:0 0 clamp(20px,2.5vw,32px);
}
.legal .lg-masthead h1{
  margin:0;font-size:clamp(38px,6.5vw,88px);
  font-weight:900;letter-spacing:-.045em;line-height:.95;
  max-width:14ch;color:var(--lg-ink);
}
.legal .lg-meta{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,64px);margin-top:clamp(32px,4vw,56px)}
.legal .lg-meta > div{min-width:150px}
.legal .lg-meta dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);margin:0 0 6px}
.legal .lg-meta dd{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}

/* ── Mise en page ── */
.legal .lg-wrap{
  display:grid;grid-template-columns:minmax(200px,240px) 1fr;
  gap:clamp(40px,6vw,96px);
  padding:clamp(40px,5vw,72px) var(--lg-pad-x) clamp(48px,5vw,80px);
  align-items:start;
}
.legal .lg-wrap > .lg-toc{grid-column:1;grid-row:1}
.legal .lg-wrap > main{grid-column:2;grid-row:1;min-width:0}

/* ── Sommaire ── */
.legal .lg-toc{position:sticky;top:calc(var(--lg-nav) + 32px);max-height:calc(100vh - 140px);overflow-y:auto}
.legal .lg-toc-title{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-ink-40);
  padding-bottom:14px;margin:0 0 14px;border-bottom:1px solid var(--lg-rule);
}
.legal .lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:lgtoc}
.legal .lg-toc li{counter-increment:lgtoc;padding:0;margin:0;list-style:none}
.legal .lg-toc li::before{display:none}
.legal .lg-toc a{
  display:flex;gap:10px;padding:7px 0;
  font-size:13px;line-height:1.4;color:var(--lg-ink-40);
  text-decoration:none;border:none;transition:color .2s;
}
.legal .lg-toc a::before{
  content:counter(lgtoc,decimal-leading-zero);
  flex-shrink:0;font-variant-numeric:tabular-nums;
  font-size:10px;letter-spacing:.06em;color:var(--lg-rule);
  padding-top:3px;transition:color .2s;
}
.legal .lg-toc a:hover{color:var(--lg-ink)}
.legal .lg-toc a.is-current{color:var(--lg-ink);font-weight:600}
.legal .lg-toc a.is-current::before{color:var(--lg-accent)}
.legal .lg-toc-mobile{display:none}

/* ── Corps ── */
.legal .lg-doc{
  max-width:var(--lg-measure);min-width:0;
  font-family:Outfit,sans-serif;
  font-size:16px;line-height:1.75;color:var(--lg-ink);
}
.legal .lg-doc p,
.legal .lg-doc li,
.legal .lg-doc dd{
  font-size:16px;line-height:1.75;color:var(--lg-ink);
  font-family:inherit;letter-spacing:normal;
}
.legal .lg-doc p{margin:0 0 1.15em}
.legal .lg-doc p:last-child{margin-bottom:0}
.legal .lg-doc a{
  color:inherit;text-decoration:none;
  border-bottom:1px solid rgba(0,62,217,.55);
  transition:color .2s,border-color .2s;
}
.legal .lg-doc a:hover{color:var(--lg-accent);border-bottom-color:var(--lg-accent)}

.legal .lg-intro{
  padding-bottom:clamp(32px,4vw,48px);margin-bottom:clamp(32px,4vw,48px);
  border-bottom:1px solid var(--lg-rule);font-size:17px;color:var(--lg-ink-60);
}

.legal .lg-art{
  padding-top:clamp(40px,5vw,64px);margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--lg-rule-soft);
}
.legal .lg-art:first-of-type{border-top:none;margin-top:0;padding-top:0}

.legal .lg-art-num{
  font-size:clamp(40px,4.5vw,64px);font-weight:900;letter-spacing:-.05em;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px rgba(0,62,217,.4);
  margin-bottom:clamp(14px,1.6vw,22px);font-variant-numeric:tabular-nums;
}

.legal .lg-doc h2{
  margin:0 0 clamp(20px,2.4vw,32px);
  font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.15;
  color:var(--lg-ink);scroll-margin-top:calc(var(--lg-nav) + 40px);
}

/* Fiche d'identité */
.legal .lg-id{
  display:grid;grid-template-columns:minmax(140px,180px) 1fr;
  border-top:1px solid var(--lg-rule);
  margin:0 0 clamp(24px,3vw,32px);
}
.legal .lg-id dt{
  padding:13px 20px 13px 0;border-bottom:1px solid var(--lg-rule-soft);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);
}
.legal .lg-id dd{
  margin:0;padding:13px 0;border-bottom:1px solid var(--lg-rule-soft);
  font-size:15px;
}

.legal .lg-list{margin:0 0 1.15em;padding-left:0;list-style:none}
.legal .lg-list li{position:relative;padding-left:20px;margin-bottom:.55em;list-style:none}
.legal .lg-list li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:6px;height:1px;background:var(--lg-accent);
}

/* Champ à compléter */
.legal .lg-fill{
  background:rgba(0,62,217,.09);
  border-bottom:1px dashed rgba(0,62,217,.65);
  padding:1px 6px;font-weight:600;font-size:.94em;
}

.legal .lg-notice{
  padding:clamp(20px,2.4vw,28px);
  border:1px solid var(--lg-rule);border-left:3px solid var(--lg-accent);
  background:rgba(0,62,217,.03);
  margin:clamp(24px,3vw,36px) 0;font-size:15px;
}

.legal .lg-signoff{
  margin-top:clamp(40px,5vw,64px);padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--lg-rule);font-size:13px;color:var(--lg-ink-40);
}

/* ── Footer ── */
.legal .iart-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(20px,3vw,40px);
  padding:clamp(36px,4.5vw,56px) var(--lg-pad-x);
  border-top:1px solid var(--lg-rule);background:#fff;
}
.legal .iart-footer-logo{font-size:20px;font-weight:900;letter-spacing:-.05em;color:var(--lg-ink);line-height:1}
.legal .iart-footer-links{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:clamp(16px,2.2vw,32px);list-style:none;margin:0;padding:0;
}
.legal .iart-footer-links li{margin:0;padding:0;list-style:none}
.legal .iart-footer-links li::before{display:none}
.legal .iart-footer-links a{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);text-decoration:none;border:none;transition:color .25s;
}
.legal .iart-footer-links a:hover{color:var(--lg-accent)}
.legal .iart-footer-copy{font-size:11px;letter-spacing:.06em;color:var(--lg-ink-40)}

/* ── Responsive ── */
@media (max-width:900px){
  .legal .lg-wrap{grid-template-columns:1fr;gap:0}
  .legal .lg-wrap > main{grid-column:1}
  .legal .lg-toc{display:none}
  .legal .lg-toc-mobile{display:block;margin-bottom:clamp(32px,4vw,48px);border:1px solid var(--lg-rule)}
  .legal .lg-toc-mobile summary{
    padding:16px 20px;cursor:pointer;
    font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-ink-40);
  }
  .legal .lg-toc-mobile summary::marker{color:var(--lg-accent)}
  .legal .lg-toc-mobile ol{list-style:none;margin:0;padding:0 20px 16px;counter-reset:lgtoc}
  .legal .lg-toc-mobile li{counter-increment:lgtoc;padding:0;margin:0;list-style:none}
  .legal .lg-toc-mobile li::before{display:none}
  .legal .lg-toc-mobile a{display:block;padding:6px 0;font-size:14px;color:var(--lg-ink-60);text-decoration:none;border:none}
  .legal .lg-doc{max-width:none}
  .legal .lg-id{grid-template-columns:1fr}
  .legal .lg-id dt{padding-bottom:2px;border-bottom:none}
  .legal .lg-id dd{padding-top:0}
}
@media (max-width:700px){
  .legal .iart-footer{flex-direction:column;align-items:flex-start;gap:clamp(18px,3vw,28px)}
}
@media (max-width:480px){
  .legal{--lg-pad-x:20px}
}

/* ── Impression ── */
@media print{
  .legal .iart-nav,
  .legal .lg-toc,
  .legal .lg-toc-mobile,
  .legal .lg-skip,
  .legal .iart-footer{display:none !important}
  .legal{padding-top:0}
  .legal .lg-wrap{display:block;padding:0}
  .legal .lg-masthead{padding:0 0 18pt}
  .legal .lg-masthead h1{font-size:26pt}
  .legal .lg-doc{font-size:10.5pt;line-height:1.55;color:#000;max-width:none}
  .legal .lg-art-num{font-size:14pt;color:#000;-webkit-text-stroke:0;margin-bottom:4pt}
  .legal .lg-doc h2{font-size:12pt;page-break-after:avoid}
  .legal .lg-art{page-break-inside:avoid;border-top:none;padding-top:14pt;margin-top:0}
  .legal .lg-fill{background:none;border-bottom:1pt dotted #000}
  .legal .lg-doc a{border:none}
}

/* ── Tableaux (finalités, durées, cookies) ── */
.legal .lg-grid{
  display:grid;border-top:1px solid var(--lg-rule);
  margin:0 0 clamp(24px,3vw,32px);font-size:14px;
}
.legal .lg-grid-3{grid-template-columns:1.4fr 1fr 1fr}
.legal .lg-grid-2{grid-template-columns:1.2fr 1fr}
.legal .lg-grid > *{
  padding:13px 20px 13px 0;border-bottom:1px solid var(--lg-rule-soft);
  font-size:14px;line-height:1.55;
}
.legal .lg-grid .lg-gh{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-ink-40);border-bottom-color:var(--lg-rule);
}
@media (max-width:900px){
  .legal .lg-grid-3,
  .legal .lg-grid-2{grid-template-columns:1fr}
  .legal .lg-grid .lg-gh{display:none}
  .legal .lg-grid > *{border-bottom:none;padding:4px 0}
  .legal .lg-grid > .lg-row-start{
    padding-top:16px;margin-top:12px;
    border-top:1px solid var(--lg-rule-soft);font-weight:700;
  }
}

/* --- états de survol issus du prototype --- */
.h-scp0:hover { opacity: 0.72 !important; }
.h-scp1:hover { border-bottom-color: currentcolor !important; font-weight: 700 !important; }
.h-scp2:hover { background: rgba(246, 246, 246, 0.14) !important; }
.h-scp3:hover { color: rgb(9, 9, 9) !important; font-weight: 800 !important; }
.h-scp4:hover { background: rgb(0, 62, 217) !important; color: rgb(246, 246, 246) !important; }
.h-scp5:hover { background: rgb(0, 62, 217) !important; border-color: rgb(0, 62, 217) !important; transform: scale(1.04) !important; }
.h-scp6:hover { background: rgb(0, 51, 180) !important; transform: translateY(-2px) !important; color: rgb(246, 246, 246) !important; }
.h-scp7:active { transform: scale(0.99) !important; }
.h-scp8:hover { transform: scale(1.03) !important; }
.h-scp9:hover { background: rgb(239, 239, 239) !important; }

.c-scp0:hover { opacity: 0.72 !important; }
.c-scp1:hover { color: rgb(246, 246, 246) !important; border-bottom: 1px solid rgb(246, 246, 246) !important; }
.c-scp2:hover { background: rgb(0, 62, 217) !important; color: rgb(246, 246, 246) !important; transform: translateY(-2px) !important; }
.c-scp3:hover { background: rgb(0, 51, 180) !important; transform: translateY(-2px) !important; color: rgb(246, 246, 246) !important; }
.c-scp4:active { transform: scale(0.99) !important; }

/* ---------- Parcours de contact (rappel en 3 étapes) ---------- */
.fn{max-width:560px;border-top:1px solid #E2E2E2;padding-top:clamp(28px,3vw,40px);
  display:flex;flex-direction:column;gap:0}
.fn__bar{display:flex;align-items:center;gap:14px;margin-bottom:clamp(22px,2.6vw,30px)}
.fn__track{flex:1 1 auto;display:flex;gap:4px}
.fn__seg{flex:1;height:3px;border-radius:999px;background:#E2E2E2;
  transition:background 280ms cubic-bezier(.2,.6,.2,1)}
.fn__seg.is-on{background:#003ED9}
.fn__count{flex:0 0 auto;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:#6B6B6B;font-variant-numeric:tabular-nums}

.fn__screen{display:none}
.fn__screen.is-on{display:block;animation:fn-in 320ms cubic-bezier(.16,1,.3,1) both}
@keyframes fn-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fn__screen.is-on{animation:none}}

.fn__title{font-family:Outfit,sans-serif;font-weight:400;font-size:clamp(26px,3vw,40px);
  line-height:1.05;letter-spacing:-.03em;margin:0;color:#090909;text-wrap:pretty;outline:none}
.fn__title strong{font-weight:800}
.fn__sub{margin:12px 0 0;font-size:15px;line-height:1.6;color:#6B6B6B;text-wrap:pretty}

/* choix (cases et boutons radio) */
.fn__choices{display:flex;flex-direction:column;gap:8px;margin-top:clamp(22px,2.6vw,30px)}
.fn__choice{display:flex;align-items:center;gap:14px;margin:0;
  padding:15px 18px!important;border:1px solid #E2E2E2;border-radius:4px;background:#FFF;
  font-family:"M PLUS 1p",sans-serif;font-size:15px!important;line-height:1.4;color:#090909;
  cursor:pointer;text-wrap:pretty;
  transition:border-color 160ms cubic-bezier(.2,.6,.2,1),background 160ms cubic-bezier(.2,.6,.2,1)}
.fn__choice:hover{border-color:#090909}
.fn__choice input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0!important}
.fn__box{flex:0 0 auto;width:20px;height:20px;border:1px solid #CFCFCF;border-radius:4px;background:#FFF;
  display:flex;align-items:center;justify-content:center;color:#F6F6F6;
  transition:background 160ms cubic-bezier(.2,.6,.2,1),border-color 160ms cubic-bezier(.2,.6,.2,1)}
.fn__choice--radio .fn__box{border-radius:999px}
.fn__box svg{width:12px;height:12px;opacity:0;transition:opacity 120ms cubic-bezier(.2,.6,.2,1)}
input:checked~.fn__box{background:#003ED9;border-color:#003ED9}
input:checked~.fn__box svg{opacity:1}
.fn__choice.is-checked{border-color:#003ED9;background:rgba(0,62,217,.045)}
input:focus-visible~.fn__box{box-shadow:0 0 0 3px rgba(0,62,217,.18)}

/* champs */
.fn__fields{display:flex;flex-direction:column;gap:16px;margin-top:clamp(22px,2.6vw,30px)}
.fn__field{display:flex;flex-direction:column;gap:8px}
.fn__label{font-family:"M PLUS 1p",sans-serif;font-size:12px!important;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:#6B6B6B}
.fn__label span{font-size:12px!important;font-weight:400;letter-spacing:0;text-transform:none;color:#9A9A9A}
.fn__input{height:48px;width:100%;padding:0 14px!important;
  font-family:"M PLUS 1p",sans-serif;font-size:15px!important;line-height:1.35!important;color:#090909;
  background:#FFF;border:1px solid #E2E2E2;border-radius:4px;outline:none;
  transition:border-color 160ms cubic-bezier(.2,.6,.2,1),box-shadow 160ms cubic-bezier(.2,.6,.2,1)}
.fn__input:focus{border-color:#003ED9!important;box-shadow:0 0 0 3px rgba(0,62,217,.15)!important}

/* créneau préféré : deux pastilles */
.fn__pills{display:flex;flex-wrap:wrap;gap:8px}
.fn__pill{display:inline-flex;align-items:center;gap:8px;margin:0;
  padding:11px 16px!important;border:1px solid #E2E2E2;border-radius:999px;background:#FFF;
  font-family:"M PLUS 1p",sans-serif;font-size:14px!important;color:#090909;cursor:pointer;
  transition:border-color 160ms cubic-bezier(.2,.6,.2,1),background 160ms cubic-bezier(.2,.6,.2,1)}
.fn__pill:hover{border-color:#090909}
.fn__pill input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0!important}
.fn__pill.is-checked{border-color:#003ED9;background:rgba(0,62,217,.045);color:#003ED9}

/* consentement */
.fn__consent{display:flex;align-items:flex-start;gap:12px;margin:4px 0 0;
  font-family:"M PLUS 1p",sans-serif;font-size:13px!important;line-height:1.55;color:#6B6B6B;
  cursor:pointer;text-wrap:pretty}
.fn__consent input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0!important}
.fn__consent .fn__box{width:18px;height:18px;margin-top:1px}
.fn__consent a{color:#003ED9;text-decoration:underline;text-underline-offset:2px}

/* actions */
.fn__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:clamp(24px,3vw,32px)}
.fn__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:50px;padding:0 26px!important;border:1px solid #003ED9;border-radius:4px;
  background:#003ED9;color:#F6F6F6;cursor:pointer;
  font-family:"M PLUS 1p",sans-serif;font-size:15px!important;font-weight:500;line-height:1;
  transition:background 160ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1)}
.fn__btn:hover{background:#0033B4;border-color:#0033B4;transform:translateY(-2px)}
.fn__btn[disabled]{opacity:.55;cursor:default;transform:none}
.fn__btn svg{width:16px;height:16px}
.fn__back{background:none;border:0;padding:0!important;cursor:pointer;
  font-family:"M PLUS 1p",sans-serif;font-size:14px!important;color:#6B6B6B;
  transition:color 160ms cubic-bezier(.2,.6,.2,1)}
.fn__back:hover{color:#090909}
.fn__alt{display:block;margin-top:clamp(20px,2.4vw,26px);font-size:13px;line-height:1.6;color:#9A9A9A}
.fn__alt a{color:#6B6B6B;text-decoration:underline;text-underline-offset:2px}
.fn__alt a:hover{color:#003ED9}
.fn__error{margin:14px 0 0;font-size:13px;line-height:1.5;color:#B4231F}

/* ---------- Accueil : hero épuré sur téléphone ---------- */
@media (max-width:760px){
  /* le showreel parle seul : ni titre, ni accroche. Le bouton bleu reste. */
  .hero-copy{display:none!important}
  /* le dégradé ne servait qu'à la lisibilité du texte : la vidéo se montre telle quelle */
  .hero-voile{display:none!important}
  /* showreel en 9:16 : format portrait, plein écran sur téléphone */
  #top>div{aspect-ratio:9/16!important;min-height:0!important}
  /* le bouton reste posé en bas à droite de l'écran, au-dessus du showreel puis
     du contenu, au lieu de remonter avec la vidéo jusque dans l'en-tête */
  [data-hero-cta]{position:fixed!important;right:clamp(16px,4vw,20px)!important;
    bottom:clamp(16px,4vw,20px)!important;z-index:80}
  /* un seul bouton flottant : celui-ci. On masque le second, redondant. */
  [data-sticky-cta]{display:none!important}
}
