/* ==========================================================================
   Voyant · Médium · Marabout
   Thème nuit : violet profond, or, rose. Titres en serif, texte en sans.
   ========================================================================== */

:root{
  --bg:#0a0612; --ink:#f6f3ff; --text-2:#d9d0f2; --muted:#b9aedb; --dim:#9086b8;
  --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.22);
  --violet:#8b5cf6; --lilac:#c4b5fd; --rose:#f472b6;
  --gold:#f2c867; --gold-2:#e0a93a; --wa:#25d366; --error:#ff9b9b;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","New York",Georgia,serif;
  --container:1200px; --gutter:clamp(20px,4vw,48px); --r:28px;
  --section:clamp(72px,10vw,140px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --gold-grad:linear-gradient(120deg,#fbe7a6,#e8b445 55%,#f4a8d8);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-padding-top:90px;scrollbar-color:#3b2a73 var(--bg)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;color:var(--ink);font:400 17px/1.6 var(--sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
::selection{background:var(--gold);color:#1c1233}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-70px;background:var(--gold);color:#1c1233;padding:10px 18px;border-radius:999px;z-index:200;text-decoration:none;font-weight:600}
.skip:focus{top:10px}
.container{max-width:calc(var(--container) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0;position:relative}
.section--band{background:linear-gradient(180deg,transparent,rgba(255,255,255,.03) 18%,rgba(255,255,255,.03) 82%,transparent)}

/* ===== Typographie ===== */
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(42px,6.2vw,88px);line-height:.98}
h2{font-size:clamp(34px,4.8vw,64px);line-height:1.03}
h3{font-size:clamp(22px,2.2vw,30px);line-height:1.12}
em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .07em 0 0;margin-right:-.07em}
.eyebrow{white-space:normal;max-width:100%;display:inline-flex;align-items:center;gap:14px;font:600 12px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";flex:none;width:38px;height:1px;background:var(--gold);opacity:.8}
.hero__grid>*,.phero__grid>*,.split>*{min-width:0}
.lead{font-size:clamp(18px,1.7vw,22px);line-height:1.55;color:var(--muted);max-width:34em}
.muted{color:var(--muted)}

/* ===== Atmosphère : aurore, ciel étoilé, halo souris ===== */
.aurora{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;translate:calc(var(--mx,0)*var(--k)*1px) calc(var(--my,0)*var(--k)*1px)}
.aurora i:nth-child(1){width:70vw;height:70vw;left:-20vw;top:-26vw;background:radial-gradient(closest-side,rgba(109,40,217,.55),transparent);--k:90}
.aurora i:nth-child(2){width:60vw;height:60vw;right:-18vw;top:18vh;background:radial-gradient(closest-side,rgba(190,24,93,.30),transparent);--k:-70}
.aurora i:nth-child(3){width:64vw;height:64vw;left:20vw;bottom:-30vw;background:radial-gradient(closest-side,rgba(37,99,235,.32),transparent);--k:50}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.cursor-glow{position:fixed;left:0;top:0;width:560px;height:560px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(167,139,250,.20),rgba(232,121,249,.06) 55%,transparent);opacity:0;transition:opacity .4s}
.cursor-glow.on{opacity:1}
.cursor,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:120;opacity:0;transition:opacity .3s}
.cursor{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(242,200,103,.75);border-radius:50%;transition:opacity .3s,width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background-color .3s}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold)}
.cursor.on,.cursor-dot.on{opacity:1}
.cursor.hot{width:68px;height:68px;margin:-34px 0 0 -34px;background:rgba(242,200,103,.10)}
.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:95;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--violet),var(--gold),var(--rose));pointer-events:none}

/* ===== Boutons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border-radius:999px;border:1px solid transparent;font:600 16px/1 var(--sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s,background-color .25s,color .25s,border-color .25s,filter .2s}
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn--gold{background:linear-gradient(135deg,#fbe7a6,#e8b445);color:#1c1233;box-shadow:0 12px 34px -10px rgba(242,200,103,.65),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--ease)}
.btn--gold:hover::after{transform:translateX(130%)}
.btn--gold:hover{box-shadow:0 18px 44px -10px rgba(242,200,103,.8),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--ghost{border-color:var(--line-2);color:var(--ink);background:rgba(255,255,255,.04)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);background:rgba(242,200,103,.08)}
.btn--wa{background:var(--wa);color:#062b14;box-shadow:0 12px 30px -10px rgba(37,211,102,.6)}
.btn--wa:hover{filter:brightness(1.07)}
.btn--sm{min-height:42px;padding:0 20px;font-size:14px}
.btn--lg{min-height:58px;padding:0 36px;font-size:17px}
.btn:active{transform:scale(.97)}
.tlink{color:var(--lilac);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1px no-repeat;transition:color .2s,background-size .4s var(--ease)}
.tlink:hover{color:#fff;background-size:100% 1px}
.tlink svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}
.tlink:hover svg{transform:translateX(4px)}

/* ===== Navigation ===== */
.nav{position:sticky;top:0;z-index:80;height:78px;transition:height .3s var(--ease),background-color .3s,border-color .3s}
.nav.scrolled{height:66px;background:rgba(10,6,18,.74);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--line)}
.nav__in{max-width:calc(var(--container) + 2*var(--gutter));height:100%;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font:400 26px/1 var(--serif);letter-spacing:-.01em;text-decoration:none;margin-right:auto}
.brand svg{width:28px;height:28px;transition:transform .9s var(--ease)}
.brand:hover svg{transform:rotateY(360deg) rotateZ(-14deg)}
.nav__main>ul{display:flex;align-items:center;gap:6px}
.nav__main a,.menu-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;font-size:15px;color:var(--text-2);text-decoration:none;transition:color .2s,background-color .2s}
.nav__main a:hover,.menu-btn:hover,.has-menu.open>.menu-btn{color:#fff;background:rgba(255,255,255,.07)}
.nav__main a[aria-current="page"]{color:var(--gold)}
.menu-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s var(--ease)}
.has-menu.open .menu-btn svg{transform:rotate(180deg)}
.nav__cta{display:flex;align-items:center;gap:14px}
.tel-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-weight:600;font-size:15px;text-decoration:none;color:var(--ink);white-space:nowrap}
.tel-link svg{width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tel-link:hover{color:var(--gold)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);place-items:center}
.burger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(12,7,24,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .4s var(--ease),visibility .3s}
.has-menu:hover>.mega,.has-menu.open>.mega,.has-menu:focus-within>.mega{opacity:1;visibility:visible;transform:none}
.mega__in{max-width:calc(var(--container) + 2*var(--gutter));margin:0 auto;padding:32px var(--gutter) 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 28px}
.mega a{display:grid;grid-template-columns:44px 1fr;gap:6px 16px;align-items:center;padding:14px 16px;border-radius:20px;color:var(--ink);transition:background-color .25s,transform .3s var(--ease)}
.mega a:hover{background:rgba(255,255,255,.06);transform:translateX(4px)}
.mega svg{width:44px;height:44px;grid-row:span 2;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.mega b{font:400 22px/1.1 var(--serif);display:block}
.mega small{font-size:13px;line-height:1.35;color:var(--muted);display:block}
.drawer{position:fixed;inset:0;z-index:75;padding:96px var(--gutter) 120px;background:rgba(10,6,18,.97);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.drawer.open{opacity:1;visibility:visible}
.drawer a.dl{display:flex;align-items:center;justify-content:space-between;min-height:56px;font:400 clamp(26px,7vw,36px)/1.1 var(--serif);text-decoration:none;border-bottom:1px solid var(--line);padding:10px 2px}
.drawer a.dl small{font:400 13px var(--sans);color:var(--dim)}
.drawer .drawer__cta{display:grid;gap:12px;margin-top:28px}

/* ===== Boutons flottants & barre mobile ===== */
.dock{position:fixed;bottom:26px;z-index:78;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .4s,transform .5s var(--ease)}
.dock.show{opacity:1;transform:none;pointer-events:auto}
.dock--right{right:26px}.dock--left{left:26px}
.dock__btn{position:relative;display:flex;align-items:center;height:58px;min-width:58px;padding:0 18px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;overflow:visible;transition:padding .4s var(--ease),transform .3s var(--ease)}
.dock__btn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dock__btn span{display:block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .45s var(--ease),opacity .3s,margin .45s var(--ease)}
.dock__btn:hover,.dock__btn:focus-visible{padding:0 24px}
.dock__btn:hover span,.dock__btn:focus-visible span{max-width:220px;opacity:1;margin-left:10px}
.dock__btn--wa{background:var(--wa);color:#062b14;box-shadow:0 14px 34px -8px rgba(37,211,102,.7)}
.dock__btn--tel{background:linear-gradient(135deg,#fbe7a6,#e8b445);color:#1c1233;box-shadow:0 14px 34px -8px rgba(242,200,103,.7)}
.dock__btn::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid currentColor;opacity:0;animation:pulse 2.8s ease-out infinite}
.dock__btn--tel::before{animation-delay:1.4s}
@keyframes pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.45);opacity:0}}
.mbar{display:none}

/* ===== Hero (accueil) ===== */
.hero{position:relative;padding:clamp(24px,5vw,72px) 0 clamp(48px,7vw,96px)}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,5vw,64px);align-items:center}
.hero h1{margin:26px 0 28px;font-size:clamp(38px,5.4vw,76px)}
.hero .lead{margin-bottom:38px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px}
.trust{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.trust li{display:flex;align-items:center;gap:10px}
.trust svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stage{position:relative;width:100%;max-width:580px;margin-left:auto;aspect-ratio:1/1;transform:perspective(1200px) rotateX(calc(var(--sp,0)*14deg)) translateY(calc(var(--sp,0)*30px)) scale(calc(1 - var(--sp,0)*.08));transform-origin:50% 100%}
.stage::before{content:"";position:absolute;inset:10%;background:radial-gradient(closest-side,rgba(139,92,246,.55),rgba(232,121,249,.12) 60%,transparent);translate:calc(var(--mx,0)*28px) calc(var(--my,0)*20px)}
.stage canvas{position:relative;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.stage canvas:active{cursor:grabbing}
.stage__tag{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(18,10,38,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-2);font-size:13px;color:var(--text-2);translate:calc(var(--mx,0)*var(--k,20)*1px) calc(var(--my,0)*var(--k,20)*.7px)}
.stage__tag i{width:8px;height:8px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 0 rgba(37,211,102,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.stage__tag--a{left:-2%;bottom:16%;--k:-34}
.stage__tag--b{right:-1%;top:12%;--k:30}

/* ===== Marquee ===== */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:26px 0;background:rgba(255,255,255,.02);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;align-items:center;width:max-content;will-change:transform;animation:marq 46s linear infinite}
.js .marquee__track{animation:none}
.marquee__item{display:flex;align-items:center;gap:36px;padding-right:36px;font:italic 400 clamp(30px,4.4vw,60px)/1 var(--serif);white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(242,200,103,.6)}
.marquee__item:nth-child(even){color:var(--ink);-webkit-text-stroke:0}
.marquee__item::after{content:"";width:14px;height:14px;flex:none;background:var(--gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ===== Index des domaines ===== */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{margin-top:22px;max-width:14em}
.sec-head p{max-width:26em;color:var(--muted)}
.index{border-top:1px solid var(--line)}
.index li{border-bottom:1px solid var(--line)}
.row{position:relative;display:grid;grid-template-columns:70px 1.2fr 1fr 52px;align-items:center;gap:20px;padding:clamp(20px,2.8vw,34px) 8px;text-decoration:none;transition:padding .5s var(--ease)}
.row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,200,103,.11),transparent 72%);opacity:0;transition:opacity .4s}
.row:hover::before,.row:focus-visible::before{opacity:1}
.row:hover,.row:focus-visible{padding-left:26px}
.row .n{font:600 13px/1 var(--sans);letter-spacing:.14em;color:var(--gold);position:relative}
.row .t{font:400 clamp(28px,3.8vw,56px)/1.04 var(--serif);letter-spacing:-.02em;position:relative}
.row .d{color:var(--muted);font-size:16px;line-height:1.5;max-width:28em;position:relative}
.row .ar{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:background-color .35s,border-color .35s,transform .5s var(--ease),color .35s}
.row .ar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.row:hover .ar,.row:focus-visible .ar{background:var(--gold);border-color:var(--gold);color:#1c1233;transform:rotate(-45deg)}
.peek{position:fixed;left:0;top:0;width:240px;height:300px;z-index:70;pointer-events:none;opacity:0;border-radius:28px;display:grid;place-items:center;align-content:center;gap:18px;text-align:center;padding:24px;background:linear-gradient(155deg,#33208a,#150a38 75%);border:1px solid rgba(242,200,103,.6);box-shadow:inset 0 0 0 7px rgba(10,6,18,.5),inset 0 0 0 8px rgba(242,200,103,.28),0 40px 80px -30px rgba(139,92,246,.7);transition:opacity .3s}
.peek.on{opacity:1}
.peek svg{width:118px;height:118px;fill:none;stroke:var(--gold);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.peek span{font:italic 400 22px/1.1 var(--serif);color:var(--ink)}

/* ===== Parcours (frise) ===== */
.timeline{position:relative;margin-top:clamp(40px,6vw,72px);display:grid;gap:clamp(28px,5vw,64px)}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
.timeline__fill{position:absolute;left:50%;top:0;width:2px;margin-left:-.5px;height:calc(var(--tp,0)*100%);background:linear-gradient(var(--violet),var(--gold));box-shadow:0 0 16px rgba(242,200,103,.65)}
.tstep{position:relative;display:grid;grid-template-columns:1fr 1fr}
.tstep .card3d{grid-column:1;margin-right:clamp(28px,5vw,72px)}
.tstep:nth-child(odd) .card3d{grid-column:2;margin-right:0;margin-left:clamp(28px,5vw,72px)}
.tstep::before{content:"";position:absolute;left:50%;top:44px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--bg);border:1px solid var(--line-2);z-index:1;transition:background-color .5s,border-color .5s,box-shadow .5s}
.tstep.is-on::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 7px rgba(242,200,103,.16),0 0 28px rgba(242,200,103,.75)}
.numeral{font:400 clamp(64px,8vw,104px)/.9 var(--serif);font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:10px}

/* ===== Cartes en 3D ===== */
.tilt{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .8s var(--ease),box-shadow .4s}
.tilt.is-tilting{transition:transform .12s ease-out,box-shadow .3s}
.card3d{position:relative;background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,3vw,38px)}
.card3d::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(440px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.17),transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none}
.card3d.is-tilting::before{opacity:1}
.card3d.is-tilting{box-shadow:0 36px 70px -26px rgba(139,92,246,.65),0 0 0 1px rgba(196,181,253,.4)}
.pop{transform:translateZ(46px)}.pop-2{transform:translateZ(28px)}.pop-3{transform:translateZ(14px)}
.card3d h3{margin:6px 0 12px}
.card3d p{color:var(--muted)}

/* ===== Approche ===== */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,88px);align-items:center}
.quote{font:400 clamp(30px,4vw,56px)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.split .lead{margin-top:28px}
.split--rev{grid-template-columns:.85fr 1.15fr}
.split--rev>:first-child{order:2}
.vows{padding:12px clamp(22px,3vw,34px)}
.vows li{display:flex;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.vows li:first-child{border-top:0}
.vows svg{flex:none;width:28px;height:28px;margin-top:3px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vows b{display:block;font:400 22px/1.15 var(--serif);margin-bottom:4px}
.vows span{font-size:15px;line-height:1.5;color:var(--muted)}

/* ===== FAQ ===== */
.faq{max-width:860px;margin:0 auto}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:14px 0;font:400 clamp(20px,2.2vw,26px)/1.2 var(--serif);transition:color .2s}
.faq summary:hover{color:var(--gold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:16px;height:16px;background:linear-gradient(var(--gold),var(--gold)) center/100% 1.6px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1.6px 100% no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] p{animation:faqin .45s var(--ease)}
.faq details p{padding:0 48px 28px 0;color:var(--muted);max-width:44em}
@keyframes faqin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ===== Contact ===== */
.contact__head{position:relative;display:flex;justify-content:space-between;gap:32px;margin-bottom:clamp(32px,5vw,56px)}
.contact__head h2{margin:22px 0 22px;max-width:11em}
.orbit3d{position:absolute;right:0;top:-30px;width:min(34vw,340px);aspect-ratio:1;perspective:900px;pointer-events:none;transform:rotateX(calc(var(--my,0)*-24deg)) rotateY(calc(var(--mx,0)*30deg));transform-style:preserve-3d}
.orbit3d i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(242,200,103,.55);transform:rotateX(68deg) rotateZ(0deg);animation:spin 18s linear infinite}
.orbit3d i:nth-child(2){inset:12%;border-color:rgba(196,181,253,.55);animation-duration:26s;animation-direction:reverse}
.orbit3d i:nth-child(3){inset:26%;border-color:rgba(244,114,182,.55);animation-duration:12s}
.orbit3d b{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#f2c867 45%,#b8731c);box-shadow:0 0 50px rgba(242,200,103,.7)}
@keyframes spin{to{transform:rotateX(68deg) rotateZ(360deg)}}
.contact__card{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,60px);padding:clamp(26px,4vw,52px);background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--line-2);border-radius:var(--r);position:relative}
.channels{display:flex;flex-direction:column;gap:6px}
.channel{display:flex;align-items:center;gap:16px;min-height:72px;padding:10px 14px;margin:0 -14px;border-radius:22px;text-decoration:none;transition:background-color .25s,transform .35s var(--ease)}
a.channel:hover{background:rgba(255,255,255,.07);transform:translateX(6px)}
.channel__ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(242,200,103,.12);border:1px solid rgba(242,200,103,.4)}
.channel__ico svg{width:21px;height:21px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.channel--wa .channel__ico{background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.5)}
.channel--wa .channel__ico svg{stroke:var(--wa)}
.channel small{display:block;font-size:12px;line-height:1.3;letter-spacing:.04em;color:var(--dim)}
.channel b{font-weight:600;font-size:18px}
.note{margin-top:22px;font-size:14px;line-height:1.55;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-weight:500;font-size:14px;line-height:1.3}
.field .hint{font-size:12px;color:var(--dim)}
.opt{font-weight:400;color:var(--dim)}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;min-height:52px;padding:0 22px;background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line-2);border-radius:999px;font:400 17px/1.3 var(--sans);-webkit-appearance:none;appearance:none;transition:border-color .25s,background-color .25s}
::placeholder{color:#9d92c4;opacity:1}
select{padding-right:52px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23f2c867' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px center}
option{background:#1a1033;color:var(--ink)}
textarea{border-radius:24px;padding:16px 22px;min-height:150px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:rgba(255,255,255,.42)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold);background:rgba(255,255,255,.09)}
[aria-invalid="true"]{border-color:var(--error)!important}
.error{font-size:14px;line-height:1.35;color:var(--error)}
.error:empty{display:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.consent{display:flex;gap:12px;align-items:flex-start;min-height:44px;font-size:14px;line-height:1.45;color:var(--muted);cursor:pointer}
.consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--gold);cursor:pointer}
.form__foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.status{margin-top:20px;padding:16px 20px;background:rgba(242,200,103,.1);border:1px solid rgba(242,200,103,.4);border-radius:20px;font-size:14px;line-height:1.5}
.status[hidden]{display:none}
.status a{color:var(--gold)}

/* ===== Pied de page ===== */
.footer{border-top:1px solid var(--line);padding:clamp(48px,7vw,88px) 0 40px;background:rgba(0,0,0,.28);font-size:15px;color:var(--muted)}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:clamp(28px,5vw,64px)}
.footer h3{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer ul{display:grid;gap:2px}
.footer a{text-decoration:none;display:inline-flex;align-items:center;min-height:36px;transition:color .2s}
.footer a:hover{color:#fff}
.legal-links{display:flex;flex-wrap:wrap;gap:4px 24px}
.legal-links a{color:var(--muted)}
.footer .brand{margin:0 0 16px;color:var(--ink)}
.footer ul.cities{columns:2;column-gap:20px}
.footer ul.cities li{break-inside:avoid}
.care{display:flex;gap:18px;align-items:flex-start;margin:30px 0;padding:22px 24px;border:1px solid rgba(244,114,182,.38);border-radius:var(--r);background:linear-gradient(155deg,rgba(244,114,182,.11),rgba(242,200,103,.06))}
.care svg{flex:none;width:30px;height:30px;margin-top:2px;fill:rgba(244,114,182,.2);stroke:var(--rose);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.care b{display:block;font:400 22px/1.2 var(--serif);margin-bottom:6px;color:var(--ink)}
.care span{display:block;color:var(--text-2);font-size:16px;line-height:1.55}
.grid-2,.grid-3{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2 .cell,.grid-3 .cell{display:flex}
.qcard{margin:0;display:flex;flex-direction:column;gap:18px;flex:1}
.qcard blockquote{margin:0;font:italic 400 clamp(19px,1.9vw,23px)/1.45 var(--serif);color:var(--ink)}
.qcard figcaption{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.invite{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:36px;padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px);border:1px solid var(--line-2);border-radius:var(--r);background:linear-gradient(155deg,rgba(242,200,103,.08),rgba(139,92,246,.07))}
.invite b{display:block;font:400 clamp(22px,2.4vw,30px)/1.15 var(--serif);margin-bottom:8px}
.invite span{display:block;max-width:34em;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid var(--line-2);border-radius:999px;font-size:16px;text-decoration:none;color:var(--text-2);background:rgba(255,255,255,.04);transition:border-color .25s,color .25s,background-color .25s,transform .3s var(--ease)}
.chips a:hover{border-color:var(--gold);color:var(--gold);background:rgba(242,200,103,.08);transform:translateY(-2px)}
.dept{margin-bottom:38px}
.dept h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:16px}
.dept h3 span{font:500 14px var(--sans);letter-spacing:.1em;color:var(--gold);margin-left:8px}
.footer__legal{margin-top:clamp(36px,5vw,56px);padding-top:26px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--dim);display:grid;gap:10px;max-width:70em}

/* ===== Pages de service ===== */
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:13px;color:var(--dim);margin-bottom:28px}
.crumbs a{text-decoration:none;transition:color .2s}
.crumbs a:hover{color:var(--gold)}
.crumbs li+li::before{content:"/";margin-right:10px;opacity:.5}
.crumbs [aria-current]{color:var(--text-2)}
.phero{position:relative;padding:clamp(16px,3vw,40px) 0 clamp(40px,6vw,80px)}
.phero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:center}
.phero h1{font-size:clamp(38px,5.4vw,76px);margin:22px 0 24px}
.phero .lead{margin-bottom:34px}
.phero__stage{position:relative;width:100%;max-width:520px;margin-left:auto;aspect-ratio:1/1}
.phero__stage::before{content:"";position:absolute;inset:8%;background:radial-gradient(closest-side,var(--glow,rgba(139,92,246,.5)),transparent 70%);translate:calc(var(--mx,0)*24px) calc(var(--my,0)*18px)}
.phero__stage canvas{position:relative;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:clamp(28px,4vw,48px)}
.facts li{padding:22px 24px 4px 0}
.facts li+li{padding-left:24px;border-left:1px solid var(--line)}
.facts small{display:block;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.facts span{font:400 clamp(18px,1.8vw,22px)/1.25 var(--serif)}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(36px,6vw,96px);align-items:start}
.prose h2{font-size:clamp(28px,3.4vw,44px);line-height:1.08;margin:56px 0 18px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--text-2);margin-bottom:18px;max-width:42em}
.prose ul,.prose ol{margin:6px 0 24px;max-width:42em;display:grid;gap:12px}
.prose li{position:relative;padding-left:30px;color:var(--text-2)}
.prose ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.prose ol{counter-reset:s}
.prose ol li{counter-increment:s;padding-left:54px}
.prose ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-.1em;font:italic 400 28px/1.2 var(--serif);color:var(--gold)}
.prose strong{color:var(--ink);font-weight:600}
.honest{margin-top:56px;padding:clamp(24px,3vw,36px);border:1px solid rgba(242,200,103,.38);border-radius:var(--r);background:linear-gradient(155deg,rgba(242,200,103,.09),rgba(139,92,246,.06))}
.honest h2{font-size:clamp(24px,2.6vw,32px)!important;margin:0 0 14px!important}
.honest p{margin-bottom:12px;color:var(--text-2)}
.honest p:last-child{margin-bottom:0}
.side{position:sticky;top:96px}
.side .card3d{padding:32px 30px}
.side .kick{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.side h3{font-size:30px;margin:14px 0 8px}
.side .big{display:block;font:400 clamp(28px,3vw,34px)/1.1 var(--serif);margin:18px 0 22px;text-decoration:none}
.side .big:hover{color:var(--gold)}
.side .btn{width:100%;margin-top:10px}
.side small{display:block;margin-top:16px;font-size:13px;color:var(--dim);line-height:1.5}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rel .cell{display:flex}
.rel a.card3d{flex:1;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
.rel svg.gl{width:56px;height:56px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.rel p{flex:1;font-size:15px}
.rel .go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:14px;color:var(--gold)}
.rel .go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}
.rel a:hover .go svg{transform:translateX(5px)}
.cta-band{text-align:center;padding:clamp(48px,7vw,96px) clamp(20px,5vw,64px);border:1px solid var(--line-2);border-radius:calc(var(--r) + 8px);background:linear-gradient(155deg,rgba(139,92,246,.2),rgba(244,114,182,.08) 60%,rgba(242,200,103,.1));position:relative;overflow:hidden}
.cta-band h2{max-width:14em;margin:0 auto 20px}
.cta-band p{color:var(--muted);max-width:32em;margin:0 auto 32px}
.cta-band .cta-row{justify-content:center}

/* ===== Apparition ===== */
.js [data-r]{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}
.js [data-r="left"]{transform:translate3d(-48px,0,0)}
.js [data-r="right"]{transform:translate3d(48px,0,0)}
.js [data-r="scale"]{transform:scale(.9)}
.js [data-r="rise"]{transform:perspective(900px) rotateX(16deg) translate3d(0,50px,-70px)}
.js [data-r].in{opacity:1;transform:none}
.js [data-split] .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.1em .08em .18em;margin:-.1em -.08em -.18em}
.js [data-split] .wi{display:inline-block;transform:translateY(112%) rotateX(-55deg);transform-origin:0 100%;opacity:0;transition:transform 1s var(--ease),opacity .8s;transition-delay:calc(var(--i)*70ms + var(--d,0ms))}
.js [data-split].in .wi{transform:none;opacity:1}
[data-split] em{background:none;color:inherit;margin:0;padding:0}
[data-split] em .wi{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.leaving main,.leaving .footer{opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .25s}

/* ===== Responsive ===== */
@media (max-width:1060px){
  .nav__main,.tel-link{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
  .burger{display:grid}
  .mega{display:none}
  .page-grid{grid-template-columns:1fr}
  .side{position:static}
}
@media (max-width:900px){
  .hero__grid,.phero__grid,.split,.contact__card,.footer__grid,.grid-2,.grid-3{grid-template-columns:1fr}
  .split--rev>:first-child{order:0}
  .stage,.phero__stage{margin:8px auto 0;max-width:460px}
  .stage__tag--a{left:0}.stage__tag--b{right:0}
  .row{grid-template-columns:44px 1fr 44px;gap:14px}
  .row .d{grid-column:2/3;grid-row:2;font-size:15px}
  .row .ar{grid-column:3;grid-row:1/3;width:42px;height:42px}
  .peek{display:none}
  .rel{grid-template-columns:1fr}
  .orbit3d{opacity:.55;width:200px;top:-10px}
  .timeline::before,.timeline__fill{left:14px}
  .tstep{grid-template-columns:1fr}
  .tstep .card3d,.tstep:nth-child(odd) .card3d{grid-column:1;margin:0 0 0 44px}
  .tstep::before{left:14px}
}
@media (max-width:760px){
  body{padding-bottom:84px}
  .brand{font-size:23px}
  .nav__cta .btn{display:none}
  .dock{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:78;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(10,6,18,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
  .mbar .btn{min-height:50px;padding:0 12px}
  .row2{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .facts li,.facts li+li{padding:16px 0;border-left:0}
  .facts li+li{border-top:1px solid var(--line)}
  .stage__tag{font-size:12px;padding:8px 12px}
  .contact__head{flex-direction:column}
  .btn--lg{min-height:54px;padding:0 28px}
  .cursor,.cursor-dot{display:none}
}

@media (prefers-reduced-motion:reduce){
  .js [data-r],.js [data-split] .wi{opacity:1!important;transform:none!important;transition:none!important}
  .marquee__track,.orbit3d i,.dock__btn::before,.stage__tag i{animation:none}
  .tilt,.brand svg,.row,.btn--gold::after{transition:none}
  .stage{transform:none}
  .faq details[open] p{animation:none}
}

/* ===== Sélecteur de langue ===== */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);font:600 13px/1 var(--sans);letter-spacing:.06em;color:var(--text-2);transition:border-color .25s,color .25s,background-color .25s}
.lang__btn:hover,.lang.open .lang__btn{border-color:var(--gold);color:var(--gold);background:rgba(242,200,103,.08)}
.lang__btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lang__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;padding:8px;background:rgba(14,8,28,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line-2);border-radius:20px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .3s var(--ease),visibility .25s;z-index:90}
.lang.open .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__menu a{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:14px;text-decoration:none;color:var(--text-2);font-size:16px;transition:background-color .2s,color .2s}
.lang__menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.lang__menu a[aria-current="true"]{color:var(--gold)}
.drawer__langs{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.drawer__langs a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line-2);border-radius:999px;text-decoration:none;font-size:15px;color:var(--text-2)}
.drawer__langs a[aria-current="true"]{border-color:var(--gold);color:var(--gold)}
.langbar{position:fixed;left:50%;bottom:26px;z-index:79;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:12px 12px 12px 22px;background:rgba(18,10,38,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:999px;font-size:14px;transform:translate(-50%,30px);opacity:0;transition:opacity .5s,transform .6s var(--ease)}
.langbar.on{transform:translate(-50%,0);opacity:1}
.langbar__x{flex:none;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;color:var(--muted);transition:color .2s,background-color .2s}
.langbar__x:hover{color:#fff;background:rgba(255,255,255,.08)}
.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media (max-width:1060px){.lang{margin-right:2px}}
@media (max-width:760px){
  .langbar{bottom:96px;border-radius:24px;flex-wrap:wrap}
  .lang__btn{padding:0 12px}
  .lang__menu{right:-40px}
}
@media (prefers-reduced-motion:reduce){.langbar{transition:none}}

/* En-tête étroit : le nom reste sur une ligne, le sélecteur de langue se compacte */
.brand{white-space:nowrap}
@media (max-width:430px){
  .brand{font-size:21px;gap:9px}
  .brand svg{width:24px;height:24px}
  .lang__btn{padding:0 10px;gap:6px}
}
@media (max-width:360px){
  .brand{font-size:19px}
  .lang__btn{padding:0 9px}
  .lang__btn svg{width:15px;height:15px}
}

/* Bandeau de cookies (affiché seulement si Google Ads / Analytics sont activés) */
.cookiebar{position:fixed;left:50%;bottom:20px;z-index:86;width:min(640px,calc(100% - 24px));max-height:calc(100vh - 40px);overflow:auto;padding:22px 24px;background:rgba(14,8,28,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line-2);border-radius:24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);transform:translate(-50%,24px);opacity:0;transition:opacity .45s,transform .55s var(--ease)}
.cookiebar:focus{outline:none}
.cookiebar.on{transform:translate(-50%,0);opacity:1}
.cookiebar__t{margin:0 0 6px;font:400 22px/1.2 var(--serif);color:var(--ink)}
.cookiebar__d{margin:0 0 16px;font-size:15px;line-height:1.55;color:var(--text-2)}
.cookiebar__d a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookiebar__opts{margin:0 0 16px;display:grid;gap:10px}
.cookiebar__opts[hidden]{display:none}
.cookiebar__none{margin:0;font-size:13.5px;color:var(--muted)}
.cb-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:16px;cursor:pointer}
.cb-opt input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--gold)}
.cb-opt b{display:block;font-weight:600;font-size:15px;color:var(--ink)}
.cb-opt small{display:block;margin-top:2px;font-size:13.5px;line-height:1.45;color:var(--muted)}
.cookiebar__save{display:flex;justify-content:flex-end}
.cookiebar__btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cookiebar__btns .btn{flex:1 1 150px}
.cookiebar__custom{flex:none;min-height:44px;padding:0 6px;font:600 14px/1 var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:4px;background:none;border:0;cursor:pointer}
.cookiebar__custom:hover{color:var(--gold)}
body.has-cookiebar .langbar{opacity:0!important;pointer-events:none}
.linkbtn{padding:0;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0}
.linkbtn:hover{color:var(--gold)}
@media (max-width:760px){.cookiebar{bottom:12px;padding:18px}}
@media (prefers-reduced-motion:reduce){.cookiebar{transition:none}}

/* Bloc « En bref » de l'accueil : 6 repères en 3 colonnes */
#en-bref .facts{grid-template-columns:repeat(3,1fr)}
#en-bref .facts li:nth-child(3n+1){padding-left:0;border-left:0}
#en-bref .facts li:nth-child(n+4){border-top:1px solid var(--line);margin-top:22px}
@media (max-width:900px){
  #en-bref .facts{grid-template-columns:1fr}
  #en-bref .facts li,#en-bref .facts li:nth-child(n+4){padding:16px 0;border-left:0;margin-top:0}
  #en-bref .facts li+li{border-top:1px solid var(--line)}
}

/* Réponse directe en tête de page, et bande d'appel à l'action */
.answer{margin:0 0 28px;padding:18px 22px;border-left:3px solid var(--gold);border-radius:0 18px 18px 0;background:linear-gradient(90deg,rgba(242,200,103,.10),rgba(139,92,246,.05))}
.answer p{margin:0;font-size:17px;line-height:1.55;color:var(--text-2)}
.answer strong{color:var(--gold);font-weight:600}
.ctaband-wrap{padding-top:0;padding-bottom:clamp(24px,4vw,56px)}
.ctaband{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 32px;padding:clamp(24px,3vw,40px);border:1px solid rgba(242,200,103,.38);border-radius:var(--r);background:linear-gradient(155deg,rgba(242,200,103,.09),rgba(139,92,246,.08))}
.ctaband h2{margin:0 0 6px;font-size:clamp(24px,2.6vw,34px)}
.ctaband p{margin:0;color:var(--text-2)}
.ctaband .cta-row{margin:0}
