@font-face{font-family:'Inter';font-style:italic;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-italic-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';font-style:italic;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-italic-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';font-style:italic;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-italic-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';font-style:italic;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-italic-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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/inter-normal-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(../assets/fonts/inter-normal-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:500;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/inter-normal-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(../assets/fonts/inter-normal-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';font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-normal-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';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-normal-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}

/* ============================================================
   BRAINLAB · styles.css · v5 + DA réelle brainlab.club
   Typo : Inter · titres en Inter 900 italique MAJUSCULES
   (identité du logo BRAINLAB), texte Inter 400/500
   Couleurs : nuit #161722 · crème #F5F2F0 · gris #525F6B
   orange #FF7448 · rouge #FF4848 · violet #6248FF
   Dégradé 103° FF7448 → FF4848 (43 %) → 6248FF (90 %)
   ============================================================ */

:root{
  --nuit:#161722;
  --creme:#F5F2F0;
  --blanc:#FFFFFF;
  --gris:#525F6B;
  --orange:#FF7448;
  --rouge:#FF4848;
  --violet:#6248FF;
  --grad:linear-gradient(103deg,#FF7448 0%,#FF4848 43%,#6248FF 90%);
  --maxw:1180px;
  --nav-h:61px;
  --font:'Inter',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--gris);background:var(--blanc);font-size:17px;line-height:1.65}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
button{font:inherit}

/* Typo display : l'identité du logo (Inter Black italique, majuscules) */
h1,h2,.disp,.punch,.verb,.statement{font-family:var(--font);font-weight:900;font-style:italic;text-transform:uppercase;color:var(--nuit);line-height:1.06;letter-spacing:-.01em}
h3{font-family:var(--font);font-weight:800;font-style:italic;text-transform:uppercase;color:var(--nuit);line-height:1.15;letter-spacing:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.kicker{font-family:var(--font);font-weight:800;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
section{padding:92px 0;position:relative}
.tight{padding:56px 0}
.section-creme{background:var(--creme)}
.section-nuit{background:var(--nuit)}
.section-nuit h2,.section-nuit h3{color:var(--blanc)}
.section-nuit p{color:#C9CBD6}
h2{font-size:clamp(26px,3.6vw,44px);margin-bottom:18px}
h3{font-size:18px;margin-bottom:8px}
p.lead{font-size:19px;max-width:780px;line-height:1.75}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.punch{font-size:clamp(30px,4.4vw,52px)}
.section-nuit .punch{color:#fff}

/* Utilitaires d'espacement */
.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mt-18{margin-top:18px}.mt-20{margin-top:20px}
.mt-22{margin-top:22px}.mt-24{margin-top:24px}.mt-26{margin-top:26px}.mt-28{margin-top:28px}
.mt-30{margin-top:30px}.mt-34{margin-top:34px}.mt-44{margin-top:44px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.section-head h2{margin-bottom:0}
.small-txt{font-size:14px}
.small-italic{font-size:14px;font-style:italic}

/* Accessibilité */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--nuit);color:#fff;padding:10px 18px;z-index:200;border-radius:0 0 10px 0;font-weight:700}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:4px}

/* ========================= NAV ========================= */
nav{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #EAE6E3;z-index:50;transition:transform .28s ease,box-shadow .28s ease}
nav.nav-hide{transform:translateY(-100%)}
nav.nav-scrolled{box-shadow:0 8px 28px rgba(22,23,34,.07)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center}
.logo img{height:19px;display:block;transition:opacity .15s}
.logo:hover img{opacity:.85}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:15px;align-items:center}
.nav-links>a{color:var(--nuit);font-weight:500;position:relative}
.nav-links>a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--grad);transition:right .22s ease}
.nav-links>a:hover:after,.nav-links>a.on:after{right:0}
.nav-links>a:hover,.nav-links>a.on{color:var(--violet)}
.nav-cta{white-space:nowrap}

/* Burger (mobile) */
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:10px}
.nav-burger span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--nuit);transition:transform .2s,opacity .2s}
body.nav-open .nav-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.nav-open .nav-burger span:nth-child(2){opacity:0}
body.nav-open .nav-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Dropdown */
.dd{position:relative}
.dd-btn{background:none;border:none;font:inherit;font-weight:500;color:var(--nuit);cursor:pointer;display:flex;align-items:center;gap:5px}
.dd.on-parent .dd-btn{color:var(--violet)}
.dd-btn .chev{font-size:11px;transition:transform .15s}
.dd:hover .chev,.dd:focus-within .chev,.dd.open .chev{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 14px);left:-16px;background:var(--blanc);border:1px solid #EAE6E3;border-radius:14px;box-shadow:0 18px 44px rgba(22,23,34,.13);padding:10px;min-width:335px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dd-menu:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.dd-menu a{display:block;padding:11px 14px;border-radius:10px;transition:background .12s}
.dd-menu a:hover{background:var(--creme)}
.dd-menu a b{display:block;font-weight:700;font-size:15px;color:var(--nuit)}
.dd-menu a.on b{color:var(--violet)}
.dd-menu a small{display:block;font-size:12.5px;color:var(--gris);font-style:italic}

/* ========================= BOUTONS (pilule + flèche) ========================= */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--grad);background-size:170% 100%;background-position:0 0;color:#fff;font-family:var(--font);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background-position .35s ease}
.btn:after{content:"↗";font-size:15px;line-height:1;transition:transform .22s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(98,72,255,.28);background-position:95% 0}
.btn:hover:after{transform:translate(3px,-3px)}
.btn.ghost{background:none;border:2px solid var(--nuit);color:var(--nuit)}
.btn.ghost:hover{background:var(--nuit);color:#fff;box-shadow:0 10px 26px rgba(22,23,34,.18)}
.section-nuit .btn.ghost,.videohero .btn.ghost{border-color:#fff;color:#fff}
.section-nuit .btn.ghost:hover,.videohero .btn.ghost:hover{background:#fff;color:var(--nuit)}

/* ========================= HERO VIDÉO (accueil) ========================= */
.videohero{position:relative;background:var(--nuit);color:#fff;min-height:86vh;display:flex;align-items:center;overflow:hidden}
.video-bg{position:absolute;inset:0;background:#161722}
.video-bg .video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.videohero.no-video .video-el{display:none}
.video-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(1000px 500px at 78% 18%,rgba(255,116,72,.34),transparent 60%),radial-gradient(900px 600px at 15% 85%,rgba(98,72,255,.30),transparent 60%)}
@keyframes vb{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.video-tag{display:none;position:absolute;top:22px;left:50%;transform:translateX(-50%);background:rgba(227,160,8,.92);color:#fff;font-weight:700;font-size:11.5px;letter-spacing:.06em;padding:6px 14px;border-radius:20px;z-index:2;max-width:92%;text-align:center}
.videohero.no-video .video-tag{display:block}
.videohero .wrap{position:relative;z-index:1;padding-top:70px;padding-bottom:190px}
.videohero h1{color:#fff;font-size:clamp(34px,5.2vw,64px);max-width:940px;margin:14px 0 22px}
.videohero p{color:#D6D8E2;font-size:20px;max-width:640px;margin-bottom:32px}
.videohero .kicker{color:#fff;opacity:.85}
.videohero .logoband-abs{position:absolute;bottom:0;left:0;right:0;padding:18px 0;z-index:1}

/* Entrée des heros (au chargement) */
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.videohero .kicker,.hero .kicker{animation:rise .6s .05s ease both}
.videohero h1,.hero h1{animation:rise .65s .15s ease both}
.videohero>.wrap>p,.hero .baseline{animation:rise .65s .26s ease both}
.hero>.wrap>p{animation:rise .65s .34s ease both}
.hero-ctas,.hero>.wrap>.btn{animation:rise .65s .42s ease both}
.videohero .logoband-abs{animation:fadeIn 1s .6s ease both}

/* ========================= HERO pôle ========================= */
.hero{background:var(--nuit);color:#fff;padding:104px 0 88px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-220px;top:-220px;width:640px;height:640px;background:var(--grad);filter:blur(150px);opacity:.3;border-radius:50%}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:#fff;font-size:clamp(30px,4.6vw,54px);max-width:900px;margin:14px 0 14px}
.hero .baseline{font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(15px,1.8vw,20px);color:var(--orange);margin-bottom:18px;letter-spacing:.01em}
.hero p{color:#D6D8E2;font-size:19px;max-width:660px;margin-bottom:32px}
.hero .kicker{color:#fff;opacity:.85}

/* ========================= GRILLES / CARTES ========================= */
.grid{display:grid;gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
.grid.center{align-items:center;gap:48px}
.grid.start{align-items:start;gap:48px}
.grid.tight-gap{gap:14px}
.card{background:var(--creme);border-radius:16px;padding:30px 28px}
.section-creme .card{background:var(--blanc)}
.card.dark{background:var(--nuit)}
.card.dark h3{color:#fff}
.card.dark p{color:#C9CBD6}
.card .tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);background:rgba(0,0,0,.05);border-radius:20px;padding:4px 12px;margin-bottom:12px}
.card.dark .tag{background:rgba(255,255,255,.12);color:#C9CBD6}
a.card{transition:transform .18s,box-shadow .18s;display:block}
a.card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(22,23,34,.10)}
.verbatim{font-weight:800;font-style:italic;font-size:clamp(18px,1.9vw,22px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin:4px 0 10px}
.stat .n{font-weight:900;font-style:italic;font-size:44px;color:var(--nuit);display:block;letter-spacing:-.01em}
.stat .l{font-weight:800;font-style:italic;text-transform:uppercase;color:var(--violet);font-size:14.5px;display:block;margin:4px 0 8px;letter-spacing:.01em}
.card.dark .n{color:#fff}
.card.dark .l{color:var(--orange)}
.stat small{font-size:13.5px}
.card.dark.stat small{color:#C9CBD6}

/* ========================= LOGOS (gris discret, images normalisées par filtre) ========================= */
.logoband{background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.09)}
.logos{display:flex;flex-wrap:wrap;gap:12px}
.logos span{background:var(--creme);border-radius:12px;padding:11px 20px;font-weight:700;color:var(--nuit);font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;min-height:56px}
.logos span img{width:112px;height:28px;object-fit:contain;display:block}
.logoband .logos span{background:rgba(255,255,255,.10);color:#fff;min-width:168px;height:64px}
.logoband .logos span img{width:120px;height:32px;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
.section-creme .logos span{background:#fff}
.logos.grey span{color:rgba(22,23,34,.55)}
.logos.grey span img{filter:brightness(0);opacity:.55;transition:opacity .2s}
.logos.grey span:hover img{opacity:.85}

/* ========================= EMPLACEMENTS MÉDIA ========================= */
.ph{position:relative;border-radius:16px;overflow:hidden;background:repeating-linear-gradient(45deg,#ECE7E3,#ECE7E3 12px,#F5F2F0 12px,#F5F2F0 24px);display:flex;align-items:center;justify-content:center}
.ph span{background:rgba(22,23,34,.82);color:#fff;font-weight:700;font-size:11px;letter-spacing:.05em;padding:6px 12px;border-radius:16px;text-align:center;max-width:86%;z-index:1}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph img+span{display:none}
.ph.photo{aspect-ratio:4/3}
.ph.face{aspect-ratio:1/1;border-radius:14px}
.ph.wide{aspect-ratio:16/9}
.ph.tall{aspect-ratio:3/4}
.ph.sticky{position:sticky;top:90px}

/* Cadres téléphone 9/16 */
.tel{aspect-ratio:9/16;border-radius:22px;border:6px solid var(--nuit);background:repeating-linear-gradient(45deg,#211f2e,#211f2e 12px,#2a2740 12px,#2a2740 24px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tel:before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:56px;height:7px;border-radius:6px;background:rgba(255,255,255,.22);z-index:2}
.tel span{background:var(--grad);color:#fff;font-weight:700;font-size:10.5px;letter-spacing:.04em;padding:6px 11px;border-radius:14px;text-align:center;max-width:84%;z-index:1}
.tel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tel video~span{display:none}
.tel .play{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;z-index:2;border:none;cursor:pointer;transition:background .15s,transform .15s}
.tel .play:hover{background:rgba(255,255,255,.3);transform:translateX(-50%) scale(1.08)}

/* ========================= BANDEAU SHOWCASE ========================= */
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:start}
.strip .tel:nth-child(even){transform:translateY(26px)}

/* ========================= ÉTAPES ========================= */
.steps .step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #E7E2DE}
.steps .step:last-child{border-bottom:none}
.step .num{flex:0 0 46px;height:46px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.section-nuit .steps .step{border-color:rgba(255,255,255,.12)}

/* ========================= FAQ ========================= */
details{border-bottom:1px solid #E7E2DE;padding:16px 0}
summary{font-weight:700;font-size:17px;color:var(--nuit);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:24px;color:var(--orange);flex-shrink:0;transition:transform .2s ease}
details[open] summary:after{content:"+";transform:rotate(45deg)}
details p{padding-top:10px;max-width:820px}
details[open] p{animation:faqOpen .3s ease both}
@keyframes faqOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ========================= EMPLACEMENT RÉSERVÉ ========================= */
.pending{border:2px dashed #E3A008;background:#FFF9EB;border-radius:12px;padding:16px 20px;color:#8a6d1a;font-size:14.5px}
.pending b{display:block;font-weight:800;letter-spacing:.08em;font-size:11px;text-transform:uppercase;margin-bottom:5px}

/* ========================= CTA ========================= */
.cta-band{background:var(--grad);border-radius:22px;padding:56px 48px;color:#fff;text-align:center}
.cta-band h2{color:#fff;margin-bottom:10px}
.cta-band p{color:#fff;opacity:.92;margin-bottom:26px}
.cta-band .btn{background:#fff;color:var(--nuit)}
.cta-band .btn:hover{box-shadow:0 12px 30px rgba(22,23,34,.3)}

/* ========================= CITATION ========================= */
.bigquote{background:var(--nuit);border-radius:20px;padding:44px 46px;color:var(--creme)}
.bigquote p{font-size:20px;font-style:italic;color:var(--creme)}
.bigquote cite{display:block;margin-top:18px;font-style:normal;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:var(--orange)}

/* ========================= FILTRES / CHIPS ========================= */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1.5px solid #D8D2CE;border-radius:22px;padding:8px 18px;font-weight:700;font-size:13.5px;color:var(--nuit);cursor:pointer;background:#fff;transition:background .15s,color .15s,border-color .15s}
.chip.static{cursor:default}
.chip.on,.chip:not(.static):hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.filter-label{display:block;font-weight:800;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}

/* ========================= CARTE CAS ========================= */
.case{background:#fff;border:1px solid #ECE7E3;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.case:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(22,23,34,.08)}
.case .media{position:relative;aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#ECE7E3,#ECE7E3 12px,#F5F2F0 12px,#F5F2F0 24px);display:flex;align-items:center;justify-content:center}
.case .media span{background:rgba(22,23,34,.82);color:#fff;font-weight:700;font-size:10.5px;letter-spacing:.04em;padding:5px 11px;border-radius:14px;z-index:1}
.case .media img,.case .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case .media img+span,.case .media video+span{display:none}
.case .body{padding:20px 22px 22px}
.case .meta{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.case .meta span{font-size:11.5px;font-weight:600;background:var(--creme);border-radius:14px;padding:3px 10px;color:var(--gris)}
.case h3{font-size:16px}
.case .kpi{font-weight:900;font-style:italic;font-size:24px;color:var(--violet);display:block;margin:6px 0 4px}
.case .wait{font-size:13px;color:#8a6d1a;background:#FFF9EB;border:1.5px dashed #E3A008;border-radius:10px;padding:8px 12px;margin-top:8px}
.case.hidden{display:none}

/* ========================= FRISE (simple) ========================= */
.tl{border-left:3px solid var(--orange);padding-left:26px}
.tl .ev{margin-bottom:26px;position:relative}
.tl .ev:before{content:"";position:absolute;left:-33px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--grad)}
.tl .y{font-weight:800;font-style:italic;color:var(--violet);font-size:16px}

/* ========================= REPÈRES RETOURS ========================= */
.marker{display:none;position:absolute;top:8px;right:10px;background:#E3A008;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;z-index:5}
body.retours section{outline:1px dashed rgba(227,160,8,.55);outline-offset:-6px}
body.retours .marker{display:block}
#toggleRetours{position:fixed;bottom:18px;right:18px;z-index:99;background:var(--nuit);color:#fff;border:none;border-radius:30px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:12.5px;opacity:.85;transition:opacity .15s}
#toggleRetours:hover{opacity:1}

/* ========================= FOOTER ========================= */
footer{background:var(--nuit);color:#9BA0B0;padding:56px 0 40px;font-size:14px}
footer .logo{margin-bottom:8px;display:inline-flex}
footer .logo img{height:16px}
footer .cols{display:flex;gap:60px;flex-wrap:wrap;margin-top:20px}
footer a:hover{color:#fff}
footer .nl-col{max-width:340px}
footer .nl-col strong{color:#fff;font-weight:800;text-transform:uppercase;font-size:12.5px;letter-spacing:.06em}
footer .legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);font-size:12.5px;color:#6E7383}

/* ===== V4 · direction Ben&Vic ===== */
/* Marquee logos (hero) */
.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee .track{display:flex;gap:12px;width:max-content;animation:mq 30s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee .logos{flex-wrap:nowrap}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Pourquoi Brainlab / raisons numérotées */
.why-row{display:flex;gap:28px;padding:24px 0;border-bottom:1px solid #E7E2DE;align-items:flex-start}
.why-row:last-child{border-bottom:none}
.why-num{font-weight:900;font-style:italic;font-size:50px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;flex:0 0 88px}
/* Douleurs en ouverture des pôles */
.pain-quote{font-weight:800;font-style:italic;font-size:clamp(19px,2.4vw,28px);color:var(--nuit);padding:16px 0;border-bottom:1px solid #ECE7E3;display:block}
.pain-quote:last-of-type{border-bottom:none}
/* Bandeau pré-footer « Diagnostic offert » */
.band-diag{background:var(--nuit)}
.band-diag .in{max-width:var(--maxw);margin:0 auto;padding:26px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.band-diag .t{font-weight:900;font-style:italic;text-transform:uppercase;font-size:19px;color:#fff}
.band-diag .t small{display:block;font-weight:400;font-style:normal;text-transform:none;font-size:13.5px;color:#C9CBD6;margin-top:4px}
/* Slider « À la une » (cas d'études) */
.featured{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.featured .fcard{flex:0 0 min(560px,86%);scroll-snap-align:start;background:var(--creme);border-radius:18px;padding:30px 32px}
.featured .fnum{font-weight:900;font-style:italic;font-size:48px;color:var(--nuit);display:block;line-height:1.05;letter-spacing:-.01em}
.featured .fl{font-weight:800;font-style:italic;text-transform:uppercase;color:var(--violet);font-size:13.5px;display:block;margin:6px 0 10px;letter-spacing:.02em}
/* Frise « Notre trajectoire » (l'agence) */
.tl-big .jalon{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid #ECE7E3}
.tl-big .jalon:last-child{border-bottom:none}
.tl-big .jalon:nth-child(even) .txt{order:2}
.tl-big .an{font-weight:900;font-style:italic;font-size:56px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;display:block;margin-bottom:8px;padding-right:.05em}
/* Citation CEO */
.ceo-quote{font-weight:800;font-style:italic;font-size:clamp(22px,3vw,36px);color:var(--nuit);line-height:1.25}
/* Newsletter footer */
.nl-form{display:flex;gap:8px;margin-top:10px;max-width:320px}
.nl-form input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:9px 12px;color:#fff;font-family:var(--font);font-size:13px;min-width:0;flex:1}
.nl-form input:focus{outline:none;border-color:var(--violet)}
.nl-form button{background:var(--grad);border:none;border-radius:8px;color:#fff;font-weight:700;padding:9px 14px;cursor:pointer}

/* ===== V5 · dispositifs signatures ===== */
/* Cartes verbe (home) */
.verb-card{display:block;padding:34px 32px;border-radius:18px;background:var(--creme);transition:transform .18s,box-shadow .18s}
.verb-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(22,23,34,.10)}
.verb{font-size:clamp(32px,4.2vw,50px);display:block;transition:opacity .15s}
.verb-card:hover .verb{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.verb-promise{font-weight:800;font-style:italic;font-size:17px;color:var(--violet);display:block;margin:10px 0 12px}
.verb-card:nth-child(odd) .verb-promise{color:var(--rouge)}
/* Chaîne de la vente (performance) */
.chain{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.chain .link{flex:1;min-width:150px;padding:22px 18px;border:1.5px solid #ECE7E3;border-radius:14px;margin-right:26px;position:relative;background:#fff;transition:transform .18s,box-shadow .18s}
.chain .link:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,23,34,.08)}
.chain .link:last-child{margin-right:0}
.chain .link:not(:last-child):after{content:"→";position:absolute;right:-22px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--orange);font-weight:700}
.chain .link b{font-weight:800;font-style:italic;text-transform:uppercase;font-size:14px;color:var(--nuit);display:block;margin-bottom:6px;letter-spacing:.02em}
.chain .link p{font-size:12.5px;line-height:1.5}
.chain .link.dark{background:var(--nuit);border-color:var(--nuit)}
.chain .link.dark b{color:#fff}
.chain .link.dark p{color:#C9CBD6}
/* Liste numérotée de services */
.svc-list{columns:2;column-gap:56px}
.svc-item{break-inside:avoid;padding:16px 0;border-bottom:1px solid #ECE7E3}
.svc-item b{font-weight:700;font-size:16.5px;color:var(--nuit);display:block}
.svc-item .no{font-weight:900;font-style:italic;color:var(--orange);margin-right:8px}
/* Déclaration (studio créatif) */
.statement{color:#fff;font-size:clamp(24px,3.4vw,42px)}
/* Le mois type (réseaux sociaux) */
.week .day{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid #ECE7E3;align-items:baseline}
.week .day:last-child{border-bottom:none}
.week .when{flex:0 0 170px;font-weight:800;font-style:italic;color:var(--violet);font-size:14px;text-transform:uppercase;letter-spacing:.05em}
/* Les épisodes (médias) */
.ep{display:flex;gap:26px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12);align-items:flex-start}
.ep:last-child{border-bottom:none}
.ep .eno{flex:0 0 88px;font-weight:900;font-style:italic;font-size:30px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;padding-right:.05em}
.ep h3{color:#fff}
.ep p{color:#C9CBD6;font-size:14px}

/* ========================= MODULE RDV · maquette Calendly ========================= */
.cal-mock{background:#fff;border:1px solid #ECE7E3;border-radius:18px;display:grid;grid-template-columns:260px 1fr 216px;overflow:hidden;box-shadow:0 18px 44px rgba(22,23,34,.07)}
.cal-info{padding:30px 26px;border-right:1px solid #ECE7E3}
.cal-info .logo img{height:14px}
.cal-info h3{font-size:22px;margin:12px 0 4px}
.cal-info .cal-sub{font-size:14px;color:var(--gris);margin-bottom:16px}
.cal-info ul{list-style:none}
.cal-info li{font-size:14.5px;color:var(--gris);padding:6px 0;display:flex;gap:10px;align-items:center}
.cal-info li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);flex-shrink:0}
.cal-cal{padding:30px 28px}
.cal-cal .cal-month,.cal-cal .cal-days,.cal-cal .cal-grid{max-width:440px}
.cal-cal h4,.cal-slots h4{font-weight:800;text-transform:uppercase;font-size:12.5px;letter-spacing:.06em;color:var(--nuit);margin-bottom:14px}
.cal-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-month strong{font-weight:800;font-size:16px;color:var(--nuit)}
.cal-month .cal-arrow{width:32px;height:32px;border-radius:50%;background:var(--creme);display:flex;align-items:center;justify-content:center;color:var(--gris);font-size:14px}
.cal-days,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal-days{font-weight:700;font-size:11px;color:var(--gris);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.cal-grid span{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13.5px;color:#B9B3AE}
.cal-grid span.av{background:rgba(98,72,255,.08);color:var(--violet);font-weight:600}
.cal-grid span.sel{background:var(--grad);color:#fff;font-weight:700}
.cal-slots{padding:30px 22px;border-left:1px solid #ECE7E3}
.cal-slots .slot{display:block;width:100%;text-align:center;border:1.5px solid rgba(98,72,255,.45);color:var(--violet);font-weight:700;border-radius:9px;padding:9px 0;margin-bottom:9px;font-size:14px;background:#fff}
.cal-slots .slot.sel{background:var(--nuit);border-color:var(--nuit);color:#fff}

/* ========================= LIVRABLE ========================= */
.doc-mock{aspect-ratio:16/10;border-radius:14px;background:var(--nuit);position:relative;overflow:hidden;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 40px rgba(22,23,34,.18)}
.doc-mock:before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;background:var(--grad);filter:blur(70px);opacity:.6;border-radius:50%}
.doc-mock .logo{position:absolute;top:20px;left:24px}
.doc-mock .logo img{height:12px}
.doc-mock .t{position:relative;font-weight:900;font-style:italic;text-transform:uppercase;color:#fff;font-size:20px;line-height:1.15}
.doc-mock .s{position:relative;color:#C9CBD6;font-size:13px;margin-top:6px}

/* ========================= ANIMATIONS D'APPARITION ========================= */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal.in-view{opacity:1;transform:none}
.strip .tel.reveal.in-view:nth-child(even){transform:translateY(26px)}

/* ===== V6 · inspirations Ben&Vic ===== */
/* Halo lumineux en tête de page claire */
.glow{background-image:radial-gradient(900px 420px at 12% -5%,rgba(255,116,72,.07),transparent 62%),radial-gradient(900px 480px at 88% -2%,rgba(98,72,255,.07),transparent 62%)}
.section-creme.glow{background-color:var(--creme)}

/* Révélation des titres par masque */
.ttl{overflow:hidden}
.ttl .ttl-in{display:block;transform:translateY(112%);transition:transform .8s cubic-bezier(.22,.61,.36,1);padding-bottom:.09em;margin-bottom:-.09em}
.ttl.in-view .ttl-in{transform:none}

/* Pop des gros chiffres */
@keyframes statpop{0%{opacity:0;transform:scale(.85)}70%{opacity:1;transform:scale(1.045)}100%{opacity:1;transform:scale(1)}}
.card.stat.reveal.in-view .n,.fcard.reveal.in-view .fnum{animation:statpop .55s .18s cubic-bezier(.22,.61,.36,1) both}

/* Avatars équipe sous le CTA du hero */
.avatar-row{display:flex;align-items:center;margin-top:28px}
.avatar-row .faces{display:flex}
.avatar-row .faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 18%;border:2px solid rgba(255,255,255,.9);margin-left:-11px;background:var(--creme)}
.avatar-row .faces img:first-child{margin-left:0}
.avatar-row small{margin-left:14px;color:#D6D8E2;font-size:13.5px}

/* Témoignages vidéo façon Ben&Vic */
.vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vt-card{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:repeating-linear-gradient(45deg,#ECE7E3,#ECE7E3 12px,#F5F2F0 12px,#F5F2F0 24px)}
.vt-card img,.vt-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vt-card .vt-tag{position:absolute;top:14px;left:14px;right:64px;background:rgba(22,23,34,.82);color:#fff;font-weight:700;font-size:10.5px;letter-spacing:.05em;padding:6px 12px;border-radius:14px;z-index:2}
.vt-card img~.vt-tag,.vt-card video~.vt-tag{display:none}
.vt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.24);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;z-index:2;border:none;cursor:pointer;transition:transform .18s,background .18s}
.vt-card:hover .vt-play{transform:translate(-50%,-50%) scale(1.1);background:rgba(255,255,255,.38)}
.vt-info{position:absolute;left:0;right:0;bottom:0;padding:46px 18px 16px;background:linear-gradient(transparent,rgba(22,23,34,.88));z-index:1;color:#fff}
.vt-info b{display:block;font-weight:700;font-size:14.5px;color:#fff}
.vt-info span{font-size:12.5px;color:#C9CBD6}

/* Badges partenaires flottants sur photo */
.partner-scene{position:relative}
.partner-scene .ph{aspect-ratio:16/8}
.badges{position:absolute;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-end;z-index:3}
.badge{background:#fff;border-radius:14px;padding:11px 18px;box-shadow:0 12px 30px rgba(22,23,34,.18);display:flex;align-items:center}
.badge img{height:24px;width:auto;display:block}
.badge:nth-child(even){margin-right:30px}

/* Méthode en onglets (home) */
.tabs-nav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 24px}
.tab-btn{border:1.5px solid #D8D2CE;background:#fff;border-radius:999px;padding:10px 20px;font-weight:700;font-size:14px;color:var(--nuit);cursor:pointer;display:inline-flex;gap:9px;align-items:center;transition:background .15s,color .15s,border-color .15s}
.tab-btn .tno{font-weight:900;font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tab-btn.on{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.tabs.tabs-ready .tab-panel{display:none}
.tabs.tabs-ready .tab-panel.on{display:block;animation:faqOpen .3s ease}
.tab-panel{background:#fff;border-radius:18px;padding:30px 32px}
.tab-panel p{max-width:720px}

/* Affordance des cartes cliquables */
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);opacity:.7;transition:opacity .18s,transform .18s}
.card-link:after{content:"↗";font-size:13px}
.verb-card:hover .card-link,.case:hover .card-link{opacity:1;transform:translateX(3px)}
.verb-card .card-link{margin-top:16px}

/* Galerie de créations statiques (studio) */
.static-grid{columns:4;column-gap:16px}
.static-grid img{width:100%;border-radius:14px;margin-bottom:16px;display:block;break-inside:avoid;box-shadow:0 6px 20px rgba(22,23,34,.08);transition:transform .3s ease}
.static-grid img:hover{transform:scale(1.02)}

/* Bande d'avatars clients */
.avatar-strip{display:flex;align-items:center;margin-top:22px}
.avatar-strip .faces{display:flex}
.avatar-strip .faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-11px;box-shadow:0 2px 8px rgba(22,23,34,.14)}
.avatar-strip .faces img:first-child{margin-left:0}
.avatar-strip span{margin-left:14px;font-size:13.5px}

/* Trombinoscope avec prénoms */
.member .ph.face{margin-bottom:8px}
.member .ph.face img{object-position:center 12%}
.member b{display:block;font-weight:700;font-size:13.5px;color:var(--nuit);line-height:1.3}
.member span{font-size:11.5px;color:var(--gris)}

/* Parallaxe discret */
.ph img.plx{transform:scale(1.14);will-change:transform}

/* Mega-footer */
footer .cols{gap:44px}
footer .col-title{display:block;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:10px}
footer .cols a{display:inline-block;padding:2px 0}

/* Pages cas d'études détaillées */
.cas-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cas-hero-meta span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.12);border-radius:14px;padding:5px 13px;color:#D6D8E2}
.cas-visual{border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(22,23,34,.16)}
.cas-visual img{width:100%;display:block}
.backlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;color:#D6D8E2;margin-bottom:18px}
.backlink:before{content:"←"}
.backlink:hover{color:#fff}

@media(max-width:980px){
  .vt-grid{grid-template-columns:1fr 1fr}
  .static-grid{columns:3}
}
@media(max-width:640px){
  .vt-grid{grid-template-columns:1fr}
  .static-grid{columns:2;column-gap:12px}
  .badges{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin-top:14px}
  .badge:nth-child(even){margin-right:0}
  .badge img{height:20px}
  .tab-panel{padding:24px 20px}
}

/* ========================= RESPONSIVE ========================= */
@media(max-width:980px){
  .g3,.g4,.g6{grid-template-columns:1fr 1fr}
  .strip{grid-template-columns:repeat(3,1fr)}
  .grid.center,.grid.start{gap:32px}
  .cal-mock{grid-template-columns:1fr}
  .cal-info{border-right:none;border-bottom:1px solid #ECE7E3}
  .cal-slots{border-left:none;border-top:1px solid #ECE7E3;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .cal-slots h4{width:100%;margin-bottom:6px}
  .cal-slots .slot{width:auto;flex:1 1 90px;margin-bottom:0}
}
@media(max-width:860px){
  .nav-burger{display:flex;order:3}
  .nav-in{gap:14px}
  .nav-cta{margin-left:auto;padding:11px 16px;font-size:12.5px}
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;height:calc(100vh - var(--nav-h));background:var(--blanc);flex-direction:column;align-items:flex-start;padding:26px 24px 40px;gap:20px;font-size:17px;display:none;overflow:auto;border-top:1px solid #EAE6E3}
  body.nav-open .nav-links{display:flex}
  body.nav-open{overflow:hidden}
  body.nav-open nav{transform:none}
  .nav-links>a:after{display:none}
  .dd-btn{font-size:17px}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-left:2px solid #EAE6E3;border-radius:0;min-width:0;padding:6px 0 0 14px;display:none;transition:none}
  .dd.open .dd-menu{display:block}
  .dd-menu:before{display:none}
}
@media(max-width:820px){
  .svc-list{columns:1}
  .chain{gap:0 16px}
  .chain .link{min-width:44%;margin-right:0;margin-bottom:30px}
  .chain .link:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-26px;transform:translateX(-50%)}
}
@media(max-width:640px){
  .g2,.g3,.g4,.g6{grid-template-columns:1fr}
  section{padding:64px 0}
  .cta-band{padding:40px 24px}
  .strip{grid-template-columns:repeat(2,1fr)}
  .videohero{min-height:70vh}
  .bigquote{padding:32px 26px}
  footer .cols{gap:32px}
  .why-num{flex:0 0 50px;font-size:36px}
  .tl-big .jalon{grid-template-columns:1fr;gap:16px}
  .tl-big .jalon:nth-child(even) .txt{order:0}
  .band-diag .in{flex-direction:column;align-items:flex-start}
  .week .day{flex-direction:column;gap:6px}
  .week .when{flex:none}
  .ep .eno{flex:0 0 60px;font-size:24px}
  .ph.sticky{position:static}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  nav.nav-hide{transform:none}
}

/* ===== V7 · retours Axel + Junto (J3/J6/J7/J8/J10/J11) ===== */
/* Réassurance sous les CTA (J7) */
.cta-note{display:block;margin-top:12px;font-size:13px;color:#C9CBD6;letter-spacing:.02em}
.section-creme .cta-note{color:var(--gris)}

/* Verbes empilés plein écran (J11) */
.verb-stack .vrow{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:44px 0;border-bottom:1px solid #E2DCD7;position:relative}
.verb-stack .vrow:last-child{border-bottom:none}
.verb-stack .vno{position:absolute;top:48px;left:2px;font-weight:900;font-style:italic;font-size:15px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.verb-stack .verb{font-size:clamp(46px,6.8vw,92px);padding-left:52px;transition:none}
.verb-stack .verb-promise{padding-left:52px;margin:8px 0 0}
.verb-stack .vtxt p{margin-bottom:0}
.verb-stack .vrow:hover .verb{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.verb-stack a{display:block}

/* Slider témoignages (J10) */
.t-slider{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}
.t-card{flex:0 0 min(430px,86%);scroll-snap-align:start;background:#fff;border:1px solid #ECE7E3;border-radius:18px;padding:26px 28px;display:flex;flex-direction:column}
.t-card p{font-size:14.5px;font-style:italic;line-height:1.65;flex:1;color:var(--gris)}
.t-card .t-who{display:flex;align-items:center;gap:12px;margin-top:18px}
.t-card .t-who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.t-card .t-who b{display:block;font-size:13.5px;color:var(--nuit);font-weight:700}
.t-card .t-who span{font-size:12px;color:var(--gris)}
.t-hint{display:inline-flex;align-items:center;gap:10px;color:var(--gris);font-size:12.5px;margin-top:6px}
.t-hint:after{content:"→";color:var(--orange);font-weight:700;font-size:16px}

/* Bandeau compteurs (performance) */
.ticker{background:var(--nuit);border-radius:20px;padding:34px 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.ticker .tk span{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:8px}
.ticker .tk b{display:block;font-weight:900;font-style:italic;font-size:clamp(22px,2.4vw,32px);color:#fff;font-variant-numeric:tabular-nums}
.ticker .tk small{font-size:11.5px;color:#8b90a0;display:block;margin-top:5px}

/* Images dans les cadres téléphone */
.tel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tel img~span{display:none}

@media(max-width:820px){
  .verb-stack .vrow{grid-template-columns:1fr;gap:14px;padding:34px 0}
  .verb-stack .verb,.verb-stack .verb-promise{padding-left:44px}
  .verb-stack .vno{top:38px}
  .ticker{grid-template-columns:1fr 1fr;padding:26px 24px}
}

.verb-stack .vrow:nth-child(odd) .verb-promise{color:var(--rouge)}

/* ===== V8 ===== */
/* CTA collant mobile */
.sticky-cta{display:none}
@media(max-width:860px){
  .sticky-cta{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:60;justify-content:center;box-shadow:0 12px 34px rgba(22,23,34,.35)}
  body.has-sticky-cta{padding-bottom:76px}
  #toggleRetours{bottom:80px}
}
/* Pause du marquee */
.mq-pause{position:absolute;right:14px;bottom:14px;z-index:4;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);border:none;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mq-pause:hover{background:rgba(255,255,255,.3)}
.marquee.paused .track{animation-play-state:paused}
/* Lightbox créas */
.lightbox{position:fixed;inset:0;background:rgba(22,23,34,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:34px;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:min(92vw,900px);max-height:88vh;width:auto;height:auto;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox .lb-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);border:none;color:#fff;font-size:20px;cursor:pointer}
.static-grid img{cursor:zoom-in}
/* Flèches de sliders */
.slider-nav{display:flex;gap:10px;margin-top:14px}
.slider-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid #D8D2CE;background:#fff;color:var(--nuit);font-size:17px;cursor:pointer;transition:background .15s,color .15s}
.slider-nav button:hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
/* Fil d'Ariane cas */
.crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#C9CBD6;margin-bottom:18px;flex-wrap:wrap}
.crumb a:hover{color:#fff}
.crumb span{opacity:.6}
/* Navigation cas précédent / suivant */
.case-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.case-nav a{border:1.5px solid #ECE7E3;border-radius:16px;padding:20px 24px;transition:transform .15s,box-shadow .15s;background:#fff}
.case-nav a:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(22,23,34,.08)}
.case-nav .dirlabel{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin-bottom:6px}
.case-nav b{font-weight:800;font-style:italic;text-transform:uppercase;color:var(--nuit)}
.case-nav a.next{text-align:right}
@media(max-width:640px){.case-nav{grid-template-columns:1fr}}

.lang-switch{font-weight:800;font-size:12.5px;letter-spacing:.06em;color:var(--gris);border:1.5px solid #D8D2CE;border-radius:999px;padding:8px 13px;transition:all .15s}
.lang-switch:hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
@media(max-width:860px){.lang-switch{display:none}}

/* ===== V9 ===== */
/* Effet « changement d'univers » : le contenu recouvre le hero épinglé */
.videohero,.hero{position:sticky;top:0;z-index:0}
main{position:relative;z-index:2;margin-top:-34px}
main>section:first-child{border-radius:34px 34px 0 0;box-shadow:0 -18px 50px rgba(22,23,34,.30)}
main>section:first-child:not(.section-creme):not(.section-nuit){background-color:#fff}

/* Schéma partenaires : Brainlab au centre, plateformes autour */
.orbit{position:relative;max-width:560px;aspect-ratio:1/1;margin:30px auto 0}
.orbit:before,.orbit:after{content:"";position:absolute;border:1.5px dashed #D8D2CE;border-radius:50%}
.orbit:before{inset:6%}
.orbit:after{inset:24%}
.orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--nuit);border-radius:20px;padding:22px 30px;box-shadow:0 18px 44px rgba(22,23,34,.25);z-index:2}
.orbit-center img{height:22px;width:auto;display:block}
.orbit .sat{position:absolute;background:#fff;border:1px solid #ECE7E3;border-radius:16px;padding:12px 18px;box-shadow:0 10px 28px rgba(22,23,34,.10);display:flex;align-items:center;transform:translate(-50%,-50%)}
.orbit .sat img{height:22px;width:104px;object-fit:contain;display:block}
.orbit .sat:nth-of-type(1){top:6%;left:50%}
.orbit .sat:nth-of-type(2){top:36%;left:95%}
.orbit .sat:nth-of-type(3){top:88%;left:78%}
.orbit .sat:nth-of-type(4){top:88%;left:22%}
.orbit .sat:nth-of-type(5){top:36%;left:5%}
@media(max-width:640px){
  .orbit{aspect-ratio:auto;max-width:none;margin-top:22px}
  .orbit:before,.orbit:after{display:none}
  .orbit-center{position:static;transform:none;display:inline-flex;margin-bottom:14px}
  .orbit .sat{position:static;transform:none;display:inline-flex;margin:4px 6px 4px 0}
}

/* Marque groupe (footer) */
.by-gbm{display:inline-block;margin-left:18px;padding-left:18px;border-left:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6E7383;vertical-align:middle}
.by-gbm:hover{color:#fff}

/* Cartes médias du groupe */
.media-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.media-card .tags span{font-size:11px;font-weight:600;background:rgba(255,255,255,.10);color:#C9CBD6;border-radius:12px;padding:3px 10px}
.media-card .host{font-size:13px;color:var(--orange);font-weight:700;margin-bottom:8px;display:block}

/* ===== V10 : Ressources, articles & pages outils ===== */
/* Vignettes d'articles */
.card-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:14px;background:#ECE7E3;display:block}

/* Page article */
.art-cover{width:100%;max-height:440px;object-fit:cover;border-radius:18px;box-shadow:0 18px 44px rgba(22,23,34,.14)}
.art-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--gris);margin-top:14px}
.art-meta .dot{opacity:.5}
.article-body{max-width:720px;margin:0 auto;font-size:17px;line-height:1.75;color:#3A424C}
.article-body p{margin:0 0 1.2em}
.article-body h1,.article-body h2{font-size:26px;margin:1.6em 0 .6em;color:var(--nuit)}
.article-body h3{font-size:20px;margin:1.4em 0 .5em;color:var(--nuit)}
.article-body h4{font-size:17px;margin:1.2em 0 .4em;color:var(--nuit)}
.article-body ul,.article-body ol{margin:0 0 1.2em;padding-left:1.3em}
.article-body li{margin-bottom:.45em}
.article-body li p{margin-bottom:.45em}
.article-body a{color:var(--violet);text-decoration:underline;text-underline-offset:2px}
.article-body a:hover{color:var(--rouge)}
.article-body figure{margin:1.6em 0}
.article-body img{max-width:100%;height:auto;border-radius:12px;display:block;margin:0 auto}
.article-body figcaption{text-align:center;font-size:13.5px;color:var(--gris);margin-top:8px}
.article-body blockquote{border-left:3px solid var(--orange);margin:1.4em 0;padding:.2em 0 .2em 1.1em;color:var(--nuit);font-weight:500}
.article-body hr{border:none;border-top:1px solid #E7E2DE;margin:2em auto;max-width:220px}
.article-body iframe{max-width:100%;border-radius:12px;border:none}
.article-body .yt{position:relative;aspect-ratio:16/9;margin:1.6em 0}
.article-body .yt iframe{position:absolute;inset:0;width:100%;height:100%}
.article-body strong{color:var(--nuit)}

/* Formulaires de capture */
.lead-form{background:#fff;border:1px solid #ECE7E3;border-radius:20px;padding:34px;box-shadow:0 18px 44px rgba(22,23,34,.08)}
.section-nuit .lead-form,.glow .lead-form{border:none}
.lead-form .frm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.lead-form .field{display:flex;flex-direction:column;gap:6px}
.lead-form .field.full{grid-column:1/-1}
.lead-form label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.lead-form label em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;opacity:.7}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-size:15.5px;color:var(--nuit);background:#FBFAF9;border:1.5px solid #E2DCD7;border-radius:11px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(98,72,255,.13);background:#fff}
.lead-form textarea{min-height:96px;resize:vertical}
.lead-form .frm-note{font-size:12.5px;color:var(--gris);margin-top:14px}
.lead-form .btn{margin-top:20px}
@media(max-width:640px){.lead-form{padding:24px 18px}.lead-form .frm-grid{grid-template-columns:1fr}}

/* Choix de variante (calculateur) */
.variant-pick{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 8px}
.variant-pick button{font:inherit;text-align:left;background:#fff;border:2px solid #E2DCD7;border-radius:16px;padding:18px 20px;cursor:pointer;transition:all .15s}
.variant-pick button b{display:block;font-weight:900;font-style:italic;text-transform:uppercase;color:var(--nuit);font-size:16px;margin-bottom:4px}
.variant-pick button small{color:var(--gris);font-size:13.5px;line-height:1.4;display:block}
.variant-pick button.on{border-color:var(--violet);box-shadow:0 0 0 3px rgba(98,72,255,.13)}
.variant-pick button:hover{border-color:var(--violet)}
@media(max-width:640px){.variant-pick{grid-template-columns:1fr}}

/* Calculateur */
.calc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.calc-results{position:sticky;top:96px;background:var(--nuit);border-radius:20px;padding:30px;color:#fff}
.calc-results h3{color:#fff}
.calc-results .res-hero{margin:18px 0 6px}
.calc-results .res-hero .v{display:block;font-weight:900;font-style:italic;font-size:44px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.calc-results .res-hero .l{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#C9CBD6;margin-top:8px}
.res-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14.5px}
.res-line:last-child{border-bottom:none}
.res-line .k{color:#C9CBD6}
.res-line .v{font-weight:800;white-space:nowrap}
.res-line.good .v{color:#7BE3A2}
.res-line.bad .v{color:#FF9C9C}
.calc-note{font-size:12.5px;color:#9AA0AE;margin-top:16px;line-height:1.5}
@media(max-width:900px){.calc-grid{grid-template-columns:1fr}.calc-results{position:static}}

/* Grille de l'audit (ce qu'on analyse) */
.scope-card{background:#fff;border:1px solid #ECE7E3;border-radius:18px;padding:26px;height:100%}
.scope-card .sc-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.scope-card .sc-num{flex:0 0 40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-style:italic;font-size:15px}
.scope-card h3{margin:0}
.scope-card ul{list-style:none;margin:0;padding:0}
.scope-card li{padding:7px 0 7px 22px;position:relative;font-size:14.5px;color:#3A424C;border-bottom:1px solid #F1EDEA}
.scope-card li:last-child{border-bottom:none}
.scope-card li:before{content:"→";position:absolute;left:0;color:var(--orange);font-weight:700}
.art-hero h1{font-size:clamp(26px,4vw,44px);line-height:1.12}
.art-hero .crumb{margin-bottom:22px}

/* ===== V11 : hero centré, articles, formulaires, vidéos ===== */
/* Hero d'accueil recentré, logos en bande défilante en bas (structure inchangée) */
.videohero .wrap{text-align:center}
.videohero h1{margin-left:auto;margin-right:auto}
.videohero>.wrap>p{margin-left:auto;margin-right:auto}
.videohero .hero-ctas{justify-content:center}
.videohero .avatar-row{justify-content:center}

/* Articles : plus d'air, titres posés, accent dégradé */
.article-body{max-width:680px;font-size:17.5px;line-height:1.85}
.article-body p{margin:0 0 1.35em}
.article-body h2{font-size:clamp(22px,2.6vw,30px);line-height:1.18;margin:2.3em 0 .8em}
.article-body h2:after{content:"";display:block;width:52px;height:4px;border-radius:4px;background:var(--grad);margin-top:12px}
.article-body h3{font-size:clamp(19px,2vw,23px);margin:1.9em 0 .6em}
.article-body h4{margin:1.6em 0 .5em}
.article-body>h2:first-child,.article-body>h3:first-child{margin-top:.4em}
.article-body ul,.article-body ol{margin:0 0 1.35em;padding-left:1.35em}
.article-body li{margin-bottom:.55em}
.article-body figure{margin:2.2em 0}
.article-body img{box-shadow:0 14px 34px rgba(22,23,34,.10)}
.article-body hr{margin:2.6em auto;max-width:180px;border-top:2px solid #ECE7E3}
.article-body blockquote{margin:1.8em 0;padding:.4em 0 .4em 1.2em;font-size:18.5px}
.article-body .yt{margin:2.2em 0}

/* Formulaires : version soignée */
.lead-form{padding:42px;border-radius:24px;border:1px solid #ECE7E3;box-shadow:0 24px 60px rgba(22,23,34,.09)}
.lead-form .frm-grid{gap:18px 20px}
.lead-form label{font-size:11.5px;color:#7A828E;letter-spacing:.09em}
.lead-form input,.lead-form select,.lead-form textarea{padding:14px 16px;border-radius:12px;font-size:16px;background:#FBFAF9}
.lead-form input:hover,.lead-form select:hover,.lead-form textarea:hover{border-color:#C9C2BC}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(98,72,255,.12);background:#fff}
.lead-form .btn{margin-top:26px;width:100%;justify-content:center;display:inline-flex}
.lead-form .frm-note{text-align:center}
@media(max-width:640px){.lead-form{padding:26px 20px}}

/* Choix de variante : cartes radio */
.variant-pick{gap:16px;margin:26px 0 10px}
.variant-pick button{position:relative;padding:24px 26px 24px 64px;border-radius:20px;border:2px solid #E2DCD7;background:#fff;box-shadow:0 10px 28px rgba(22,23,34,.05);transition:all .18s}
.variant-pick button:before{content:"";position:absolute;left:24px;top:26px;width:24px;height:24px;border-radius:50%;border:2px solid #D8D2CE;background:#fff;transition:all .18s;box-sizing:border-box}
.variant-pick button.on{border-color:var(--violet);box-shadow:0 16px 40px rgba(98,72,255,.16);transform:translateY(-2px)}
.variant-pick button.on:before{border-color:transparent;background:var(--grad)}
.variant-pick button.on:after{content:"✓";position:absolute;left:31px;top:27px;color:#fff;font-weight:800;font-size:13px;line-height:1.6}
.variant-pick button:hover{border-color:var(--violet);transform:translateY(-2px)}
.variant-pick button b{font-size:17px;margin-bottom:5px}
.variant-pick button small{font-size:14px;line-height:1.5}

/* Panneau résultats du calculateur */
.calc-results{border-radius:24px;padding:34px;position:sticky;top:96px;overflow:hidden}
.calc-results:before{content:"";position:absolute;right:-110px;top:-110px;width:280px;height:280px;background:var(--grad);filter:blur(80px);opacity:.45;border-radius:50%;pointer-events:none}
.calc-results>div{position:relative}
.calc-results .res-hero{margin:20px 0 14px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
.calc-results .res-hero .v{font-size:clamp(38px,4.4vw,52px)}
@media(max-width:900px){.calc-results{position:static}}

/* Vitrines vidéo (Cloudflare Stream) */
.vid{position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;cursor:pointer;border:none;padding:0;background:var(--nuit);display:block;width:100%}
.vid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.vid:hover img{transform:scale(1.045)}
.vid .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--nuit);display:flex;align-items:center;justify-content:center;font-size:18px;padding-left:4px;box-shadow:0 10px 30px rgba(22,23,34,.35);transition:transform .18s}
.vid:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.vid .who{position:absolute;left:10px;bottom:10px;background:rgba(22,23,34,.72);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 11px;backdrop-filter:blur(4px)}
.vid-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:980px){.vid-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.vid-grid{grid-template-columns:repeat(2,1fr)}}
/* Lecteur en surimpression */
.vid-overlay{position:fixed;inset:0;background:rgba(12,13,20,.88);z-index:200;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(6px)}
.vid-overlay .frame{position:relative;height:min(86vh,860px);aspect-ratio:9/16;max-width:92vw;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.vid-overlay iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.vid-overlay .close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;border:none;font-size:20px;cursor:pointer;z-index:2;transition:background .15s}
.vid-overlay .close:hover{background:rgba(255,255,255,.28)}
.calc-grid>*{min-width:0}
@media(max-width:640px){
  .calc-results{padding:26px 20px}
  .res-line{flex-wrap:wrap}
  .res-line .v{white-space:normal}
  .calc-results .res-hero .v{font-size:34px}
}

/* ===== V12 : effet univers assaini ===== */
/* Toute section a un fond opaque : le hero épinglé ne transparaît plus jamais
   (les classes .section-creme / .section-nuit gardent la main) */
main>section{background-color:#fff}
/* Le hero s'efface pendant que le contenu le recouvre (opacité pilotée en JS) */
.videohero .wrap,.videohero .logoband-abs,.hero .wrap{will-change:opacity,transform}

/* ===== V13 : bande logos du hero ===== */
/* Le footer et le bandeau diagnostic passent au-dessus du hero épinglé :
   plus aucun résidu du hero visible en bas de page */
.band-diag,footer{position:relative;z-index:2}
/* La bande logos remonte au-dessus de la feuille arrondie du contenu (-34px)
   et gagne en lisibilité */
.videohero .logoband-abs{bottom:44px}
.logoband .logos span{background:rgba(255,255,255,.15)}

/* ===== V14 : bande logos dans le flux + vitrines fusionnées ===== */
/* La bande logos vit dans le contenu : elle scrolle naturellement avec la page */
.logoband-flow{position:relative;z-index:2;padding:16px 0 20px}
.videohero .wrap{padding-bottom:120px}
/* Tuiles vidéo dans la masonry des créations (plus de trou en fin de grille) */
.static-grid .vid{break-inside:avoid;margin-bottom:16px;width:100%}
/* Vitrines verticales du showcase studio */
.strip .vid:nth-child(even){transform:translateY(26px)}
@media(max-width:640px){.strip .vid:nth-child(even){transform:none}}

/* ===== V15 : bande logos visible sans scroller ===== */
/* Le hero laisse la place à la bande dans le premier écran */
.videohero{min-height:calc(100vh - 240px);min-height:calc(100svh - 240px)}
.videohero .wrap{padding-bottom:84px}
@media(max-width:860px){.videohero{min-height:calc(100svh - 200px)}}

/* ===== V16 : cartes verbes plus explicites (retour équipe) ===== */
.verb-card .verb-pole{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--nuit);background:rgba(22,23,34,.06);border-radius:999px;padding:5px 12px;margin:10px 0 8px}
.verb-card .verb-promise{display:block}

/* ===== V17 : recos concurrents validées ===== */
/* Badge résultat sur une créa de la vitrine */
.stat-tile{position:relative;display:block;break-inside:avoid;margin-bottom:16px}
.stat-tile img{margin-bottom:0}
.badge-kpi{position:absolute;top:10px;left:10px;background:var(--nuit);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 12px;box-shadow:0 6px 18px rgba(22,23,34,.35);pointer-events:none}
.badge-kpi b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* Délais dans la timeline de production */
.delay-tag{display:inline-block;margin-left:10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);background:rgba(255,116,72,.12);border-radius:999px;padding:4px 10px;vertical-align:middle}
/* Réassurance sous les offres */
.reassure{display:flex;gap:10px 26px;flex-wrap:wrap;justify-content:center;margin-top:26px;padding:16px 22px;background:var(--creme);border-radius:14px}
.reassure span{font-size:14px;font-weight:600;color:var(--nuit);display:flex;align-items:center;gap:8px}
.reassure span:before{content:"✓";flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
/* Chiffre héros accolé à un témoignage */
.quote-stat{display:inline-block;margin-top:16px;font-weight:900;font-style:italic;text-transform:uppercase;font-size:15px;background:var(--nuit);color:#fff;border-radius:999px;padding:9px 18px}
.quote-stat b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:19px;margin-right:6px}

/* ===== V18 : batch retours ===== */
/* Chiffres sans cadre sous les cas (home) */
.stat-bare{padding:28px 10px;text-align:left}
.stat-bare .n{font-weight:900;font-style:italic;font-size:clamp(34px,4vw,52px);color:var(--nuit);display:block}
.stat-bare .l{display:block;font-weight:800;font-style:italic;text-transform:uppercase;font-size:13.5px;color:var(--violet);margin:8px 0 6px;letter-spacing:.02em}
.stat-bare small{color:var(--gris);font-size:14px}
/* Avatars des témoignages */
.t-who{display:flex;align-items:center;gap:12px}
.t-who img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 auto}
/* Cartes photos clients (ex-témoignages vidéo) */
.vt-card.has-photo{position:relative;overflow:hidden}
.vt-card.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vt-card.has-photo .vt-info{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(22,23,34,.82));z-index:1}
/* Orbit : 7 plateformes, pastilles texte pour celles sans logo */
.orbit .sat.sat-txt{font-weight:800;font-size:13px;color:var(--nuit);white-space:nowrap}
/* le centre est le 1er div : les 8 satellites sont nth-of-type 2 à 9 */
.orbit .sat:nth-of-type(2){top:6%;left:50%}
.orbit .sat:nth-of-type(3){top:19%;left:81%}
.orbit .sat:nth-of-type(4){top:50%;left:94%}
.orbit .sat:nth-of-type(5){top:81%;left:81%}
.orbit .sat:nth-of-type(6){top:94%;left:50%}
.orbit .sat:nth-of-type(7){top:81%;left:19%}
.orbit .sat:nth-of-type(8){top:50%;left:6%}
.orbit .sat:nth-of-type(9){top:19%;left:19%}
.orbit .sat img{height:36px;width:150px;object-fit:contain}
/* les satellites proches du bord étaient écrasés par le calcul de largeur
   des éléments absolus : max-content leur rend leur largeur intrinsèque */
.orbit .sat{width:max-content}
.orbit .sat img{flex:0 0 auto}
.orbit{max-width:640px}
/* Emplacement Calendly (pages pôles) */
.cal-lite{background:#fff;border:1.5px solid #ECE7E3;border-radius:20px;padding:34px;text-align:center;box-shadow:0 18px 44px rgba(22,23,34,.08);max-width:720px;margin:0 auto}
.cal-lite .ic{font-size:34px;display:block;margin-bottom:12px}
.cal-lite p{color:var(--gris);margin-bottom:18px}
.calendly-inline-widget{border-radius:20px;overflow:hidden;box-shadow:0 18px 44px rgba(22,23,34,.10)}

/* ===== V19 : page merci-rdv + calendly ===== */
.rdv-video-ph{background:rgba(255,255,255,.06);border:1.5px dashed rgba(255,255,255,.25);border-radius:20px;padding:70px 30px;text-align:center;color:#C9CBD6;max-width:860px}
.rdv-video-ph .ic{font-size:38px;display:block;margin-bottom:10px}
.rdv-video-frame{position:relative;aspect-ratio:16/9;max-width:860px;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.rdv-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}

/* ===== V20 : blueprint Performance (home) ===== */
.bp-schema{max-width:980px;margin:34px auto 0}
.bp-row{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-bottom:14px}
.bp-pill{display:inline-block;font-size:13px;font-weight:600;color:#C9CBD6;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 16px;line-height:1.35;position:relative}
.bp-side{display:flex}
.bp-side.left{justify-content:flex-end;text-align:right}
.bp-side.right{justify-content:flex-start;text-align:left}
.bp-side.left .bp-pill:after{content:"→";margin-left:9px;color:var(--orange);font-weight:800}
.bp-side.right .bp-pill:before{content:"←";margin-right:9px;color:var(--orange);font-weight:800}
.bp-stage{border-radius:999px;padding:16px 34px;text-align:center;font-weight:900;font-style:italic;text-transform:uppercase;font-size:16px;letter-spacing:.02em}
.bp-stage small{display:block;font-weight:600;font-style:normal;text-transform:none;letter-spacing:0;font-size:12.5px;margin-top:3px;opacity:.75}
.bp-stage.s1{width:400px;background:#0C0D14;color:#fff;border:1px solid rgba(255,255,255,.12)}
.bp-stage.s2{width:330px;background:transparent;color:#fff;border:2px solid var(--orange)}
.bp-stage.s3{width:260px;background:var(--grad);color:#fff}
.bp-stage.s4{width:88px;height:88px;padding:0;border-radius:50%;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-style:normal}
.bp-services{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.bp-services span{font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 18px}
.bp-services span b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-right:6px;font-style:italic}
@media(max-width:900px){
  .bp-row{grid-template-columns:1fr;gap:8px;justify-items:center;margin-bottom:20px}
  .bp-side.left,.bp-side.right{justify-content:center;text-align:center}
  .bp-side.left .bp-pill:after{content:"↓"}
  .bp-side.right .bp-pill:before{content:"↑"}
  .bp-row .bp-side.right{order:3}
  .bp-stage.s1,.bp-stage.s2,.bp-stage.s3{width:min(100%,340px)}
}

/* ===== V21 : recette affinée ===== */
.bp-arrow{text-align:center;color:var(--orange);font-size:22px;font-weight:800;margin:-4px 0 10px;line-height:1}
.bp-stage.s4{width:200px;height:auto;padding:16px 26px;border-radius:999px;background:var(--violet);font-size:16px;font-style:italic;display:block}
.bp-stage.s4 small{opacity:.8}
/* Détail des 4 étapes (page Performance) */
.bp-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.bp-detail .scope-card h3 span{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--grad);border-radius:999px;padding:4px 12px;margin-right:10px;vertical-align:middle;font-style:normal}
@media(max-width:860px){.bp-detail{grid-template-columns:1fr}}

/* ===== V22 : retours équipe validés (5,7,10,11) ===== */
/* 10 · Épisodes lisibles sur fond clair (les styles étaient prévus pour fond nuit) */
.ep h3{color:var(--nuit)}
.ep p{color:var(--gris);font-size:15.5px}
.section-nuit .ep h3{color:#fff}
.section-nuit .ep p{color:#C9CBD6;font-size:15.5px}
/* 11 · FAQ resserrée */
details{padding:12px 0}
details p{padding-top:8px}
/* 5 · Effectif visible sur la grille équipe (home) */
.team-grid-wrap{position:relative}
.team-more{position:absolute;right:-8px;bottom:-14px;background:var(--grad);color:#fff;font-weight:900;font-style:italic;border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:0 10px 26px rgba(22,23,34,.25);white-space:nowrap}
/* 7 · Partenaires certifiés sur l'orbite */
.orbit .sat{overflow:visible}
.sat .cert{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);background:var(--nuit);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:3px 10px;white-space:nowrap}

/* ===== V23 — retours associé : comparatif médias ===== */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.compare .cmp{border-radius:18px;padding:28px 30px}
.compare .cmp h3{font-size:19px;margin-bottom:4px}
.compare .cmp.no{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14)}
.compare .cmp.no h3{color:#fff}
.compare .cmp.no li{color:#aab0bf}
.compare .cmp.yes{background:#fff}
.compare .cmp.yes h3{color:var(--nuit)}
.compare .cmp.yes li{color:var(--gris)}
.compare .cmp ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.compare .cmp li{display:flex;align-items:flex-start;gap:11px;font-size:15px;line-height:1.5}
.compare .cmp li:before{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:2px}
.compare .cmp.no li:before{content:"✕";background:rgba(255,72,72,.16);color:var(--rouge)}
.compare .cmp.yes li:before{content:"✓";background:var(--grad);color:#fff}
@media(max-width:760px){.compare{grid-template-columns:1fr}}

/* ===== V24 — retours Léa : typo & fixes ===== */
h1,h2,.punch,.statement{text-wrap:balance}
.ttl{padding-top:.16em;margin-top:-.16em}
h1,h2{padding-top:.08em;margin-top:-.08em}
.card .nl-form input{background:#fff;border:1px solid #E2DCD7;color:var(--nuit)}
.card .nl-form input::placeholder{color:#9AA2AD}
#toggleRetours{display:none}
body.reperes-on #toggleRetours{display:block}
.bq-who{display:flex;align-items:center;gap:14px;margin-top:20px}
.bq-who img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}
.bq-who cite{margin-top:0}
.rs-logo{height:42px;width:auto;max-width:170px;object-fit:contain;display:block;margin:10px 0 4px;border-radius:6px}
.partner-badges{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px}
.partner-badges img{height:58px;width:auto;border-radius:10px}

/* ===== V25 — fix Safari : famille dédiée aux italiques (Safari confond les variantes d'une famille mixte avec unicode-range) ===== */
@font-face{font-family:'InterIt';font-style:italic;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-italic-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:'InterIt';font-style:italic;font-weight:800;font-display:swap;src:url(../assets/fonts/inter-italic-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:'InterIt';font-style:italic;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-italic-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:'InterIt';font-style:italic;font-weight:900;font-display:swap;src:url(../assets/fonts/inter-italic-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}
h1,h2,h3,.disp,.punch,.verb,.statement,.hero .baseline,.verbatim,.stat .n,.stat .l,.case .kpi,.tl .y,.why-num,.pain-quote,.band-diag .t,.featured .fnum,.featured .fl,.tl-big .an,.ceo-quote,.verb-promise,.chain .link b,.svc-item .no,.week .when,.ep .eno,.doc-mock .t,.tab-btn .tno,.verb-stack .vno,.ticker .tk b,.case-nav b,.variant-pick button b,.calc-results .res-hero .v,.scope-card .sc-num,.quote-stat,.stat-bare .n,.stat-bare .l,.bp-stage,.bp-services span b,.team-more,.card.persona .pq{font-family:'InterIt',var(--font)}

/* ===== V26 — cartes personas (Pour qui) ===== */
.card.persona{position:relative;padding-left:30px;display:flex;flex-direction:column}
.card.persona:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:4px;background:var(--grad)}
.card.persona .pq{display:block;font-weight:800;font-style:italic;font-size:16px;line-height:1.4;color:var(--violet);margin:10px 0 12px}
.card.persona:nth-child(even) .pq{color:var(--rouge)}
.card.persona p{flex:1}
.pq-ref{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(22,23,34,.09);font-size:12.5px;color:var(--gris)}

/* ===== V27 — bandeau de consentement (mesure d'audience) ===== */
#blCookies{position:fixed;left:18px;right:18px;bottom:18px;z-index:200;max-width:640px;margin:0 auto;background:var(--nuit);border:1px solid rgba(255,255,255,.14);color:var(--creme);border-radius:18px;padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 22px 60px rgba(22,23,34,.34);opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s}
#blCookies.on{opacity:1;transform:none}
#blCookies p{margin:0;flex:1 1 300px;font-size:14px;line-height:1.55;color:var(--creme)}
#blCookies a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.ck-actions{display:flex;gap:10px;flex:0 0 auto}
.ck-btn{font-family:var(--font);font-weight:700;font-size:14px;border-radius:999px;padding:11px 22px;cursor:pointer;border:1px solid transparent;transition:opacity .15s,background .15s}
.ck-btn.ck-non{background:transparent;color:var(--creme);border-color:rgba(255,255,255,.32)}
.ck-btn.ck-non:hover{background:rgba(255,255,255,.09)}
.ck-btn.ck-oui{background:var(--grad);color:#fff}
.ck-btn.ck-oui:hover{opacity:.9}
.ck-lien{background:none;border:none;padding:0;font-family:var(--font);font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.85}
.ck-lien:hover{opacity:1}
body.has-sticky-cta #blCookies{bottom:96px}
@media(max-width:620px){
  #blCookies{left:12px;right:12px;bottom:12px;padding:18px;gap:14px}
  .ck-actions{width:100%}
  .ck-btn{flex:1}
  body.has-sticky-cta #blCookies{bottom:88px}
}


/* ===== V28 — encart effectif sur la grille équipe (page L'agence) ===== */
.team-grid{position:relative}
.team-plus{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--grad);color:#fff;border-radius:16px;min-height:190px;padding:20px 16px}
.team-plus b{font-family:'InterIt',var(--font);font-weight:900;font-style:italic;font-size:34px;line-height:1;display:block}
.team-plus span{display:block;margin-top:8px;font-size:13px;font-weight:600;line-height:1.4;opacity:.95}
