/* Panache Stories, thème sur mesure. Aucun arrondi : tous les angles sont droits. */
@font-face{font-family:"Almost Textual";src:url(../fonts/almost-textual.woff2) format("woff2");font-display:swap;font-weight:400}
@font-face{font-family:Urbanist;src:url(../fonts/urbanist-var.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Urbanist;src:url(../fonts/urbanist-var-ext.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--blue:#2525F4;--dk:#1717C6;--ink:#000;--paper:#fff;--soft:#f2f3f8;--line:#d9dbe6;--mute:#5b5f73;
--pad:clamp(1.15rem,4vw,4rem);--hd:76px;--ab:0px;--ease:cubic-bezier(.16,1,.3,1);--sec:clamp(4rem,9vw,8.5rem)}
*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 44px)}
body{margin:0;font-family:Urbanist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img,video,canvas,iframe{display:block;max-width:100%}
img{height:auto}
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:3px solid var(--blue);outline-offset:3px}
.sec--black :focus-visible,.sec--blue :focus-visible,.hero :focus-visible,.ph--black :focus-visible,.ft :focus-visible,.mm :focus-visible{outline-color:#fff}
::selection{background:var(--blue);color:#fff}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-6rem;z-index:200;background:var(--blue);color:#fff;padding:.9rem 1.2rem;font-weight:700}
.skip:focus{top:1rem}
.wrap{width:100%;margin-inline:auto;padding-inline:var(--pad)}
.wrap--n{max-width:calc(980px + 2*var(--pad))}
.c{text-align:center}

/* Typographie */
.t{font-family:"Almost Textual",Impact,"Arial Black",sans-serif;font-weight:400;text-transform:uppercase;line-height:1;letter-spacing:.005em}
.h1{font-size:clamp(1.85rem,1.15rem + 2.7vw,3.6rem);margin-bottom:clamp(1.4rem,2.6vw,2.4rem);text-wrap:balance}
.h2{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);margin-bottom:1.6rem;text-wrap:balance}
.lead{font-size:clamp(1rem,.8rem + 1vw,1.5rem);margin-bottom:1.2rem}
.kick{font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;margin-bottom:1.1rem;color:var(--mute)}
/* Le « o » de la marque : la lettre reste dans le texte, le pictogramme la recouvre. */
.o{position:relative;display:inline-block;color:transparent;width:.8em;text-align:center}
.o::before{content:"";position:absolute;inset:.06em 0 .1em;background:var(--oc,var(--tc,#000));-webkit-mask:url(../img/wave.png) center/contain no-repeat;mask:url(../img/wave.png) center/contain no-repeat}
.sec--black,.sec--blue,.hero,.ph--black,.ph--img,.nums,.steps,.cta,.ft__band,.mm,.e404{--tc:#fff}

/* Boutons */
.btn{--bg:var(--blue);--fg:#fff;--hv:#000;--hvfg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;padding:1.05rem 1.6rem;background:var(--bg);color:var(--fg);font-family:"Almost Textual",sans-serif;text-transform:uppercase;font-size:.95rem;line-height:1;text-decoration:none;overflow:hidden;isolation:isolate;transition:color .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--hv);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover,.btn:focus-visible{color:var(--hvfg)}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn__l{padding-top:.18em}
.btn__a{width:1.15em;height:1.15em;flex:none;transition:transform .45s var(--ease)}
.btn:hover .btn__a{transform:translateX(.35em)}
.btn--sm{padding:.85rem 1.2rem;font-size:.84rem}
/* Le survol s'adapte au fond : jamais noir sur noir ni bleu sur bleu. */
:where(.sec--black,.steps,.ph--black,.ph--img,.hero,.sc--kaptur,.e404) .btn{--hv:#fff;--hvfg:var(--blue)}
.ofc:hover .btn{--hv:#fff;--hvfg:#000}
.btn--white{--bg:#fff;--fg:var(--blue);--hv:var(--blue);--hvfg:#fff}
:where(.sec--blue,.plan--hi,.cta,.mm,.art__cta,.nums) .btn--white{--hv:#000;--hvfg:#fff}
.btn--line{--bg:transparent;--fg:#fff;--hv:#fff;--hvfg:#000;box-shadow:inset 0 0 0 2px #fff}
.btn--ghost{--bg:transparent;--fg:#000;--hv:#000;--hvfg:#fff;box-shadow:inset 0 0 0 2px #000}
.btn--full{width:100%}

/* Animations d'apparition (uniquement si le JS tourne) */
.js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .02em .06em;margin:-.14em -.02em -.06em}
.wi{display:inline-block;transform:translateY(118%);transition:transform .95s var(--ease);transition-delay:calc(var(--wi,0)*45ms)}
.is-in .wi{transform:none}

/* Éléments de régie : crochets de cadre, REC, compteur */
.cb{position:absolute;width:clamp(22px,3vw,44px);height:clamp(22px,3vw,44px);border:3px solid #fff;pointer-events:none;z-index:3}
.cb--a{left:var(--cbo,1.4rem);top:var(--cbo,1.4rem);border-right:0;border-bottom:0}.cb--b{right:var(--cbo,1.4rem);top:var(--cbo,1.4rem);border-left:0;border-bottom:0}
.cb--c{left:var(--cbo,1.4rem);bottom:var(--cbo,1.4rem);border-right:0;border-top:0}.cb--d{right:var(--cbo,1.4rem);bottom:var(--cbo,1.4rem);border-left:0;border-top:0}
.rec{display:inline-flex;align-items:center;gap:.5em;font-family:"Almost Textual",sans-serif;color:#fff;font-size:.95rem;line-height:1}
.rec i{width:.8em;height:.8em;background:#F5333F;margin-top:-.2em;animation:blink 1.1s steps(1) infinite}
.tc{font-family:"Almost Textual",sans-serif;color:#fff;background:#000;padding:.45em .6em .25em;font-size:.95rem;line-height:1;font-variant-numeric:tabular-nums}
@keyframes blink{50%{opacity:0}}

/* Bandeaux défilants */
.mq{overflow:hidden;display:flex}
.mq__t{display:flex;flex:none;align-items:center;gap:var(--g,3.5rem);padding-right:var(--g,3.5rem);animation:mq var(--s,38s) linear infinite;will-change:transform}
.mq:hover .mq__t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* En-tête */
.hd{position:sticky;top:var(--ab);z-index:100;height:var(--hd);background:#fff;border-bottom:1px solid var(--line);transition:transform .5s var(--ease)}
.hd.is-hidden{transform:translateY(-101%)}
.hd__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-inline:var(--pad)}
.hd__logo{display:block;flex:none;width:clamp(170px,19vw,260px);font-weight:700;text-decoration:none}
.hd__logo img{width:100%}
.hd__menu{display:flex;gap:clamp(1rem,2.2vw,2.2rem)}
.hd__menu a{position:relative;display:block;padding:.5rem 0;text-decoration:none;text-transform:uppercase;font-weight:500;font-size:.95rem;letter-spacing:.02em}
.hd__menu a::after{content:"";position:absolute;left:0;right:0;bottom:.15rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.hd__menu a:hover::after,.hd__menu .current-menu-item a::after,.hd__menu a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.hd__menu .current-menu-item a,.hd__menu a[aria-current]{color:var(--blue)}
.hd__cta{display:flex;align-items:center;gap:.8rem}
.hd__burger{display:none;width:48px;height:48px;position:relative;background:#000}
.hd__burger span:not(.sr){position:absolute;left:12px;right:12px;height:3px;background:#fff;transition:transform .4s var(--ease),top .4s var(--ease)}
.hd__burger span:nth-child(1){top:18px}.hd__burger span:nth-child(2){top:27px}
.hd__burger[aria-expanded=true] span:nth-child(1){top:22.5px;transform:rotate(45deg)}
.hd__burger[aria-expanded=true] span:nth-child(2){top:22.5px;transform:rotate(-45deg)}
main{display:block}
body.admin-bar{--ab:32px}
@media (max-width:782px){body.admin-bar{--ab:46px}}
@media (max-width:600px){body.admin-bar{--ab:0px}}
.mm{position:fixed;inset:calc(var(--hd) + var(--ab)) 0 0;z-index:99;background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,6vw,3rem) var(--pad) 2rem;overflow:auto;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
.mm[hidden]{display:none}
.mm.is-open{clip-path:inset(0)}
.mm__l a{display:block;font-family:"Almost Textual",sans-serif;text-transform:uppercase;font-size:clamp(2rem,9vw,3.4rem);line-height:1.15;text-decoration:none;padding:.15em 0;transform:translateY(40px);opacity:0;transition:transform .7s var(--ease) calc(var(--i)*55ms + .15s),opacity .5s calc(var(--i)*55ms + .15s)}
.mm__l li{--i:0}
.mm.is-open .mm__l a{transform:none;opacity:1}
.mm__l a[aria-current]{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:3px}
.mm__f{display:grid;gap:1.2rem;margin-top:2rem;font-weight:600}

/* Accueil : écran d'ouverture */
.hero{position:relative;min-height:calc(100svh - var(--hd) - var(--ab));display:flex;align-items:flex-end;background:#000;color:#fff;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.25) 55%,rgba(0,0,0,.35))}
.hero__im{opacity:0;transform:scale(1.08);transition:opacity 1.1s ease,transform 6s linear}
.hero__im.is-on{opacity:1;transform:scale(1)}
.hero__in{padding-block:clamp(5rem,12vh,9rem) clamp(4.5rem,9vh,7rem)}
.hero__k{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:1.2rem}
.hero__t{font-size:clamp(2.1rem,1rem + 4.6vw,5.4rem);margin-bottom:clamp(1.2rem,2.5vw,2rem)}
.hero__t .ln{display:block}
.hero__t em{font-style:normal;display:inline-block;background:#fff;color:#000;--oc:#000;padding:.16em .3em .04em;margin-top:.14em;transform:rotate(-2deg);transform-origin:left}
.hero__p{max-width:44rem;font-size:clamp(1rem,.9rem + .5vw,1.25rem);margin-bottom:1.8rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__ui{position:absolute;left:calc(var(--pad) + clamp(22px,3vw,44px) + .9rem);top:calc(1.4rem + .3rem);display:flex;gap:1rem;align-items:center;z-index:3}
.hero .cb{--cbo:var(--pad)}
.hero .cb--a,.hero .cb--b{top:1.4rem}.hero .cb--c,.hero .cb--d{bottom:1.4rem}
.hero__dots{position:absolute;right:calc(var(--pad) + clamp(22px,3vw,44px) + .9rem);bottom:calc(1.4rem + .5rem);display:flex;gap:.6rem;z-index:3}
.hero__dot,.sc__dot{width:1.5rem;height:1.5rem;background:var(--c);border:2px solid #fff;transition:transform .35s var(--ease)}
.hero__dot.is-on,.sc__dot.is-on{transform:scale(1.35)}

.logos{background:#000;padding:clamp(1.6rem,3vw,2.6rem) 0}
.logos .mq__t{--g:clamp(2.5rem,6vw,6rem)}
.logos img{height:clamp(34px,4.2vw,58px);width:auto;max-width:none;object-fit:contain}

/* Sections génériques */
.sec{padding-block:var(--sec);position:relative}
.sec--t0{padding-top:0}
.sec--black{background:#000;color:#fff}
.sec--blue{background:var(--blue);color:#fff}
.sec--white+.sec--white{padding-top:0}

.vid__f{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;--cbo:1.2rem}
.vid__f img,.vid__f video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid__f img{transition:transform 1.2s var(--ease)}
.vid__f:hover img{transform:scale(1.04)}
.vid__b{position:absolute;left:50%;top:50%;width:clamp(72px,9vw,128px);aspect-ratio:1;margin:calc(clamp(72px,9vw,128px)/-2) 0 0 calc(clamp(72px,9vw,128px)/-2);background:var(--blue);color:#fff;display:grid;place-items:center;z-index:2;transition:transform .45s var(--ease),background .3s}
.vid__b svg{width:42%}
.vid__b:hover{transform:scale(1.1);background:#000}
.vid__f.is-playing .vid__b,.vid__f.is-playing img,.vid__f.is-playing .cb{display:none}

.hs__p{max-width:52rem;margin-inline:auto}
.hs__m{margin-top:clamp(2rem,4vw,3rem)}

/* Studios */
.stu--rail{display:flex;gap:clamp(.9rem,1.6vw,1.5rem);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:clamp(2rem,4vw,3.5rem) var(--pad) 1rem;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}
.stu--rail::-webkit-scrollbar{display:none}
.stu--rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.stu--rail .sc{flex:none;width:min(86vw,440px);scroll-snap-align:center}
.stu--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.6vw,1.5rem);padding-top:clamp(2rem,4vw,3.5rem)}
.sc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:border-color .4s,transform .6s var(--ease)}
.sc:hover{border-color:#000}
.sc__ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--ac,#111)}
.sc__im{clip-path:inset(0 100% 0 0);transition:transform 1.2s var(--ease)}
.sc__im img,.rvc,.sc{-webkit-user-drag:none}
.sc__im img{user-select:none}
.sc__im.is-on{clip-path:inset(0);z-index:1}
.sc__im.is-in{z-index:2;animation:wipe .7s var(--ease) both}
@keyframes wipe{from{clip-path:inset(0 100% 0 0);transform:scale(1.12)}to{clip-path:inset(0);transform:none}}
.sc:hover .sc__im.is-on{transform:scale(1.05)}
.sc__rec{position:absolute;left:.9rem;top:.9rem;z-index:3;font-family:"Almost Textual",sans-serif;font-size:.8rem;color:#fff;display:flex;gap:.45em;align-items:center;opacity:0;transition:opacity .3s}
.sc__rec i{width:.75em;height:.75em;background:#F5333F;margin-top:-.2em;animation:blink 1.1s steps(1) infinite}
.sc:hover .sc__rec{opacity:1}
.sc__bd{padding:clamp(1.2rem,2vw,1.8rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;flex:1}
.sc__dots{display:flex;gap:.7rem;margin-bottom:.9rem}
.sc__dot{border-color:#000;width:1.35rem;height:1.35rem}
.sc__t{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}
.sc__m{font-weight:700}
.sc__d{color:var(--mute);margin-bottom:1.1rem}
.sc .btn{margin-top:auto}
.sc--kaptur{position:relative;justify-content:center;align-items:center;min-height:420px;color:#fff;border:0;overflow:hidden;isolation:isolate;text-align:center}
.sc__bg{z-index:-1;filter:brightness(.55);transition:transform 1.2s var(--ease)}
.sc--kaptur:hover .sc__bg{transform:scale(1.06)}
.sc__kin{display:grid;gap:1rem;justify-items:center;padding:2rem}
.sc__kt{font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem)}
.sc__kp{font-size:1.15rem;line-height:1.25}

.qs{margin-top:clamp(3rem,6vw,5rem);max-width:60rem;margin-inline:auto}
.qs__t{font-family:"Almost Textual",sans-serif;text-transform:uppercase;font-weight:400;font-size:clamp(1.2rem,1rem + 1vw,1.7rem);margin-bottom:1rem;text-align:center}
.qs__l a{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.05rem 0;border-bottom:2px solid var(--blue);color:var(--blue);font-weight:700;text-decoration:none;transition:padding .45s var(--ease),background .3s,color .3s}
.qs__l a i{font-style:normal;font-size:1.3em;transition:transform .45s var(--ease)}
.qs__l a:hover{background:var(--blue);color:#fff;padding-inline:1.1rem}
.qs__l a:hover i{transform:translateX(.3em)}

/* Tarifs */
.pr__g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.6vw,1.5rem);align-items:stretch}
.plan{display:flex;flex-direction:column;background:var(--soft);border:2px solid #000;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.plan:hover{transform:translateY(-10px);box-shadow:12px 12px 0 var(--blue)}
.plan__h{background:#000;color:#fff;padding:clamp(1.4rem,2.2vw,2.2rem)}
.plan__n{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em}
.plan__pl{opacity:.8;font-size:.95rem;margin:.2rem 0 1.4rem}
.plan__p{font-size:clamp(2.8rem,2rem + 2.6vw,4.4rem)}
.plan__p small{font-size:.28em;margin-left:.3em}
.plan__f{padding:clamp(1.2rem,2vw,2rem);display:grid;gap:.85rem;flex:1;align-content:start}
.plan__f li{position:relative;padding-left:2rem;font-weight:500;line-height:1.35}
.plan__f li::before{content:"";position:absolute;left:0;top:.1em;width:1.15rem;height:1.15rem;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5L20 6' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='square'/%3E%3C/svg%3E") center/80% no-repeat}
.plan__f li.no{color:#8a8ea3;text-decoration:line-through}
.plan__f li.no::before{background:#c9ccda url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='square'/%3E%3C/svg%3E") center/70% no-repeat}
.plan .btn{margin:0 clamp(1.2rem,2vw,2rem) clamp(1.2rem,2vw,2rem);width:auto}
.plan--hi{background:var(--blue);color:#fff;border-color:var(--blue)}
.plan--hi .plan__h{background:var(--dk)}
.plan--hi .plan__f li::before{background-color:#000}
.plan--hi:hover{box-shadow:12px 12px 0 #000}

/* Quatre atouts */
.ft4__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ft4__l{position:sticky;top:calc(var(--hd) + 2.5rem)}
.ft4__r{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.9rem,1.4vw,1.3rem)}
.tile{position:relative;min-height:clamp(260px,26vw,360px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border:1px solid #2a2a2a}
.tile__bg{z-index:-2;transition:transform 1.4s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.92) 20%,rgba(0,0,0,.35));transition:background .5s}
.tile:hover .tile__bg{transform:scale(1.1)}
.tile:hover::after{background:linear-gradient(to top,rgba(23,23,198,.95) 20%,rgba(37,37,244,.55))}
.tile__in{padding:clamp(1.1rem,1.8vw,1.7rem)}
.tile__n{position:absolute;right:1.1rem;top:1.1rem;font-size:1.1rem}
.tile h3{font-size:clamp(1.15rem,1rem + .7vw,1.6rem);margin-bottom:.5rem}
.tile p{font-size:.98rem;line-height:1.45}

/* Chiffres */
.nums{position:relative;background:var(--dk);color:#fff;padding-block:clamp(3.5rem,7vw,6.5rem);overflow:hidden}
.nums__cv{position:absolute;inset:0;width:100%;height:100%;opacity:.16}
.nums__g{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,3vw,3rem)}
.num{border-top:3px solid #fff;padding-top:1.1rem}
.num__v{font-size:clamp(2rem,.9rem + 3.3vw,4.4rem);font-variant-numeric:tabular-nums;white-space:nowrap}
.num__l{font-weight:600;font-size:clamp(1rem,.9rem + .4vw,1.2rem);margin-top:.5rem;line-height:1.3}

/* Studio photo */
.kp{overflow:hidden}
.kp__g{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.kp__ph{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 0}
.kp__c{box-shadow:0 0 0 8px #fff;overflow:hidden;aspect-ratio:4/5.4}
.kp__c img{width:100%;height:100%;object-fit:cover}
.kp__c--a{rotate:-5deg;translate:6% 0}.kp__c--b{rotate:4deg;translate:-4% 8%}
.kp__tx p{margin-bottom:1.8rem;max-width:34rem}
.kp__fl{position:absolute;inset:0;pointer-events:none}
.kp__fl i{position:absolute;width:70vmax;height:70vmax;margin:-35vmax 0 0 -35vmax;opacity:0;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.7) 7%,rgba(255,255,255,.18) 24%,rgba(255,255,255,0) 55%)}
.kp__fl i:nth-child(1){left:14%;top:26%}.kp__fl i:nth-child(2){left:78%;top:18%}.kp__fl i:nth-child(3){left:46%;top:78%}.kp__fl i:nth-child(4){left:88%;top:70%}
.kp__fl.is-on i{animation:flash 3.6s ease-out infinite}
.kp__fl.is-on i:nth-child(2){animation-delay:.9s}.kp__fl.is-on i:nth-child(3){animation-delay:1.7s}.kp__fl.is-on i:nth-child(4){animation-delay:2.6s}
@keyframes flash{0%{opacity:.55;transform:scale(.2)}9%{opacity:0;transform:scale(1.3)}100%{opacity:0}}

/* Autres offres */
.of__g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.9rem,1.6vw,1.5rem)}
.ofc{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;align-items:flex-start;min-height:280px;padding:clamp(1.5rem,3vw,2.8rem);background:var(--soft);border:2px solid #000;transition:background .4s,color .4s,transform .6s var(--ease)}
.ofc:hover{transform:translateY(-8px);background:#000;color:#fff}
.ofc h3{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);margin-bottom:.6rem}
.ofc p{font-weight:600;font-size:1.1rem}
.ofc__lg{display:flex;align-items:center;gap:1.4rem;margin-bottom:1.1rem}
.ofc__lg img{height:26px;width:auto;transition:filter .4s}
.ofc__lg a img{height:44px}
.ofc:hover .ofc__lg img{filter:invert(1)}

/* Première fois : cartes empilées qui s'envolent au défilement */
.steps{position:relative;background:#000;color:#fff;height:calc(100svh + var(--n)*62vh)}
.steps__st{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:var(--hd)}
.steps__g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.steps__l p{max-width:26rem;margin-bottom:1.8rem}
.steps__c{position:relative;width:min(72%,400px);aspect-ratio:1;justify-self:end;margin:0 clamp(0rem,3vw,4rem) 0 0}
.steps__t{font-size:clamp(1.8rem,1rem + 2.5vw,3.4rem)}
.stp{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.4rem,2.4vw,2.4rem);background:color-mix(in srgb,var(--blue) calc(100% - var(--k,0)*18%),#00008a);transform:rotate(calc(var(--k,0)*-8deg));z-index:calc(10 - var(--i));transition:transform .9s var(--ease),background .6s,visibility 0s .9s;transform-origin:bottom left}
.stp.is-gone{transform:translateY(-120vh) rotate(-60deg);visibility:hidden}
.stp__k{font-weight:700;font-size:clamp(1.05rem,1rem + .4vw,1.35rem)}
.stp__t{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);line-height:1.02}
.stp:not(.is-top) .stp__k,.stp:not(.is-top) .stp__t{opacity:0}
.stp__k,.stp__t{transition:opacity .4s}

/* Accordéons */
.acc{border-top:2px solid var(--blue)}
.acc__i{border-bottom:2px solid var(--blue)}
.acc__q{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.1rem,2vw,1.7rem) 0;cursor:pointer;list-style:none}
.acc__q::-webkit-details-marker{display:none}
.acc__t{font-family:"Almost Textual",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.05rem,.9rem + .8vw,1.5rem);line-height:1.1;transition:color .3s}
.acc__q:hover .acc__t{color:var(--blue)}
.acc__x{position:relative;flex:none;width:1.4rem;height:1.4rem;color:var(--blue)}
.acc__x::before,.acc__x::after{content:"";position:absolute;left:0;right:0;top:calc(50% - 1.5px);height:3px;background:currentColor;transition:transform .45s var(--ease)}
.acc__x::after{transform:rotate(90deg)}
.acc__i[open] .acc__x::after{transform:rotate(0)}
.acc__a{overflow:hidden}
.acc__in{padding:0 0 clamp(1.2rem,2vw,1.8rem);max-width:54rem}
.acc__in p+p,.acc__in ul{margin-top:.8rem}
.acc__in ul{list-style:square;padding-left:1.2rem}
.acc__in li p{margin:0}
.acc--dark,.acc--dark .acc__i{border-color:rgba(255,255,255,.45)}
.acc--dark .acc__x{color:#fff}
.acc--dark .acc__q:hover .acc__t{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.acc--num{counter-reset:a}
.acc--num .acc__t::before{counter-increment:a;content:"0" counter(a);display:inline-block;background:var(--blue);padding:.35em .45em .12em;margin-right:.8em;font-size:.72em;vertical-align:middle}

/* Avis */
.rv{overflow:hidden}
.rv__h{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.rv__h .h1{margin:0}
.rv__s{display:grid;gap:1rem;justify-items:start}
.rv__rail{display:flex;gap:clamp(.9rem,1.4vw,1.3rem);overflow-x:auto;overflow-y:hidden;padding:1.4rem var(--pad) 1rem;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab}
.rv__rail::-webkit-scrollbar{display:none}
.rv__rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.rvc{flex:none;width:min(84vw,400px);scroll-snap-align:start;display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.3rem,2vw,1.9rem);background:var(--soft);border:2px solid #000;transition:background .4s,color .4s,transform .6s var(--ease)}
.rvc:hover{background:var(--blue);color:#fff;transform:translateY(-8px) rotate(-1deg)}
.rvc__top{display:flex;justify-content:space-between;align-items:center}
.rvc__st{color:var(--blue);letter-spacing:.12em;font-size:1.15rem;transition:color .4s}
.rvc:hover .rvc__st{color:#fff}
.rvc__g{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.rvc blockquote{font-size:1.02rem;line-height:1.5;flex:1;user-select:none}
.rvc figcaption{display:grid;border-top:2px solid currentColor;padding-top:.8rem}
.rvc figcaption strong{font-family:"Almost Textual",sans-serif;font-weight:400;text-transform:uppercase}
.rvc figcaption span{font-size:.88rem;opacity:.75}

/* Articles */
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem)}
.pc{display:flex;flex-direction:column;background:#fff;color:#000;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.pc:hover{transform:translateY(-8px);box-shadow:10px 10px 0 var(--blue)}
.pc__im{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.pc__im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pc:hover .pc__im img{transform:scale(1.07)}
.pc__bd{padding:clamp(1.1rem,1.8vw,1.7rem);display:flex;flex-direction:column;gap:.7rem;flex:1}
.pc__d{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.pc__t{font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);line-height:1.12;color:var(--blue)}
.pc__t a{text-decoration:none}
.pc__x{font-size:.98rem;line-height:1.5}
.pc__m{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;font-weight:800;text-transform:uppercase;color:var(--blue);text-decoration:none;letter-spacing:.04em}
.pc__m svg{width:1.1em;height:1.1em;transition:transform .45s var(--ease)}
.pc:hover .pc__m svg{transform:translateX(.4em)}
.bl__m{margin-top:clamp(2rem,4vw,3rem)}
.pag{margin-top:3rem}.pag ul{display:flex;justify-content:center;gap:.5rem}
.pag a,.pag span{display:grid;place-items:center;min-width:2.8rem;height:2.8rem;border:2px solid #000;text-decoration:none;font-weight:800}
.pag .current,.pag a:hover{background:var(--blue);border-color:var(--blue);color:#fff}

/* En-têtes des pages intérieures */
.ph{position:relative;padding-block:clamp(3rem,7vw,6rem) clamp(2.5rem,5vw,4.5rem);overflow:hidden;isolation:isolate}
.ph--c{text-align:center}
.ph--black{background:#000;color:#fff}
.ph--img{color:#fff;background:#000;min-height:min(78svh,720px);display:flex;align-items:flex-end}
.ph__bg{z-index:-2;animation:slow 14s ease-out both}
.ph--img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.3))}
@keyframes slow{from{transform:scale(1.14)}to{transform:none}}
.ph__cv{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.5}
.ph__k{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.1rem}
.ph__t{font-size:clamp(2.2rem,1rem + 4.4vw,5.2rem);margin-bottom:clamp(1rem,2vw,1.6rem);text-wrap:balance}
.ph__t--m{font-size:clamp(1.85rem,1rem + 2.9vw,3.7rem)}
.ph__p{max-width:50rem;margin-bottom:1.6rem}
.ph--c .ph__p{margin-inline:auto}
.ph__p a{text-underline-offset:.2em}
.crumb{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.6rem;opacity:.75}
.ph--c .crumb{justify-content:center}
.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}

.wide{position:relative;height:clamp(320px,56vw,720px);overflow:hidden}
.wide img{width:100%;height:120%;object-fit:cover;transform:translateY(var(--py,0))}
.wide__band{position:absolute;left:-4%;right:-4%;bottom:12%;background:#000;color:#fff;padding:.7rem 0 .45rem;rotate:-2.5deg;font-size:clamp(1.4rem,1rem + 2.2vw,2.7rem)}
.wide__band .mq__t,.ft__band .mq__t{--g:1.2em;--s:30s}

/* Production */
.gs{overflow:hidden}
.mq--ph{rotate:-1.5deg;margin-inline:-3%}
.mq--ph .mq__t{--g:1.2rem;--s:46s}
.mq--ph img{width:clamp(260px,30vw,420px);aspect-ratio:16/10;object-fit:cover;max-width:none}
.why__g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.6vw,1.5rem);margin-bottom:clamp(2rem,4vw,3rem)}
.whyc{position:relative;border:2px solid #fff;padding:clamp(1.4rem,2.4vw,2.4rem);min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;transition:background .4s,color .4s,transform .6s var(--ease)}
.whyc:hover{background:#fff;color:var(--blue);transform:translateY(-8px)}
.whyc__n{position:absolute;right:1.2rem;top:1.2rem;font-size:1.2rem}
.whyc__k{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.whyc h3{font-size:clamp(1.3rem,1rem + 1.2vw,2rem);line-height:1.05}

/* À propos */
.ab__g{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.ab__ph{box-shadow:16px 16px 0 var(--blue);rotate:2deg}
.ab__ph img{width:100%}
.tm__h{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.tm__h .h1{margin:0}
.tm__h p{margin-bottom:1.2rem;max-width:30rem}
.tm__g{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.6vw,1.5rem)}
.tmc__ph{overflow:hidden;aspect-ratio:4/5;margin-bottom:1rem;background:#111}
.tmc__ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1.2s var(--ease)}
.tmc:hover .tmc__ph img{filter:none;transform:scale(1.05)}
.tmc h3{font-size:clamp(1.05rem,.9rem + .6vw,1.4rem)}
.tmc p{opacity:.8;font-size:.98rem}
.tmc__in{display:inline-block;margin-top:.4rem;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em;text-underline-offset:.25em}

/* Contact */
.ct{text-align:left}
.ct .ph__in{text-align:center}
.ct__g{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;margin-top:clamp(1rem,3vw,2.5rem)}
.fm{display:grid;gap:1rem}
.fm__r{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fm p{display:grid;gap:.4rem}
.fm label{font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.1em}
.fm input,.fm textarea{width:100%;font:inherit;color:#fff;background:transparent;border:2px solid rgba(255,255,255,.55);padding:.95rem 1rem;transition:border-color .3s,background .3s}
.fm input:focus,.fm textarea:focus{outline:0;border-color:#fff;background:rgba(37,37,244,.35)}
.fm textarea{resize:vertical;min-height:9rem}
.fm__hp{position:absolute!important;left:-9999px}
.fm__msg{min-height:1.5em;font-weight:700}
.fm__msg.is-ok{color:#7dffb0}.fm__msg.is-ko{color:#ff9aa1}
.fm__rc{font-size:.78rem;opacity:.7}
.fm.is-busy button{opacity:.6;pointer-events:none}
.ct__a{display:grid;gap:1.4rem;justify-items:start}
.note{position:relative;background:#fff;color:#000;padding:2.6rem 1.6rem 1.6rem;rotate:-2deg;box-shadow:10px 10px 0 var(--blue);text-align:center;font-weight:600;width:min(100%,340px)}
.note img{margin:0 auto 1.1rem}
.note strong{color:var(--blue);font-size:1.25em}
.note__tape{position:absolute;left:50%;top:-14px;width:110px;height:30px;margin-left:-55px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.15);rotate:3deg}
.grecaptcha-badge{visibility:hidden}
.resa__f{height:max(800px,90svh);border:2px solid #000;margin-bottom:1rem}
.resa__f iframe{width:100%;height:100%;border:0}
.resa{padding-bottom:var(--sec)}

/* Article et contenus rédigés */
.art__t{font-size:clamp(1.7rem,1rem + 2.4vw,3.3rem);max-width:22em;margin-bottom:1.2rem;text-wrap:balance}
.art__m{display:flex;gap:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;opacity:.8}
.prose{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.7}
.prose>*+*{margin-top:1.15em}
.prose h2,.prose h3,.prose h4{font-family:"Almost Textual",sans-serif;font-weight:400;text-transform:uppercase;line-height:1.08;margin-top:2em;text-wrap:balance}
.prose h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.3rem)}
.prose h3{font-size:clamp(1.2rem,1rem + .9vw,1.6rem)}
.prose h4{font-size:1.1rem}
.prose a:not(.btn){color:var(--blue);font-weight:600;text-underline-offset:.2em}
.prose ul,.prose ol{padding-left:1.3rem}
.prose ul{list-style:square}.prose ol{list-style:decimal}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--blue)}
.prose img{margin-block:1.5em}
.prose blockquote{border-left:6px solid var(--blue);padding:.4rem 0 .4rem 1.3rem;font-size:1.15em;font-weight:600}
.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:.7rem .9rem;text-align:left}
.prose th{background:#000;color:#fff}
.cta{background:var(--blue);color:#fff;padding-block:clamp(3.5rem,8vw,7rem)}
.cta__b{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}
.e404{min-height:calc(100svh - var(--hd));display:grid;align-content:center}
.e404__n{font-size:clamp(5rem,18vw,14rem);line-height:.85;color:var(--blue);--oc:var(--blue);margin-bottom:1rem}
.ig{padding-top:0}

/* Pied de page */
.ft{background:#fff;border-top:2px solid #000}
.ft__band{background:var(--blue);color:#fff;font-size:clamp(1.6rem,1rem + 2.8vw,3.4rem);padding:.45em 0 .28em;overflow:hidden}
.ft__band span{white-space:nowrap}
.ft__in{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,5vw,4.5rem) 1.6rem}
.ft__logo{display:block;width:min(100%,360px);margin-bottom:1.4rem;font-weight:800;text-decoration:none}
.ft__p{max-width:30rem;font-size:.98rem}
.ft__b{display:grid;gap:1.4rem;justify-items:end;text-align:right;align-content:start}
.ft__ad{display:grid;gap:.4rem;font-style:normal;font-weight:600;text-transform:uppercase;font-size:.92rem}
.ft__ad a{text-decoration:none}.ft__ad a:hover,.ft__nav a:hover,.ft__legal a:hover{color:var(--blue);text-decoration:underline}
.ft__nav{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.4rem}
.ft__nav ul{display:flex;flex-wrap:wrap;gap:.6rem clamp(1.2rem,3vw,2.6rem)}
.ft__nav a{text-decoration:none;text-transform:uppercase;font-weight:500}
.ft__legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;font-size:.82rem;color:var(--mute)}
.ft__legal ul{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.ft__legal span{margin-left:1rem}

/* Adaptation aux écrans */
@media (max-width:1100px){
  .stu--grid,.pg,.pr__g{grid-template-columns:repeat(2,1fr)}
  .pr__g .plan:last-child{grid-column:1/-1}
  .tm__g{grid-template-columns:repeat(2,1fr)}
  .ft4__g{grid-template-columns:1fr}
  .ft4__l{position:static}
}
@media (max-width:1180px){
  :root{--hd:66px}
  .hd__nav{display:none}.hd__burger{display:block}
}
@media (min-width:1180.02px){.mm{display:none!important}}
@media (max-width:820px){
  .nums__g{grid-template-columns:1fr 1fr}
  .kp__g,.ab__g,.ct__g,.rv__h,.tm__h,.of__g,.why__g{grid-template-columns:1fr}
  .ab__ph{order:-1;max-width:420px}
  .steps__g{grid-template-columns:1fr;gap:1.6rem}
  .steps__l .h1{font-size:clamp(1.7rem,7vw,2.6rem);margin-bottom:.8rem}
  .steps__l p{margin-bottom:1rem}
  .steps__c{width:min(62vw,300px);justify-self:center;margin:0}
  .ft__in{grid-template-columns:1fr}
  .ft__b{justify-items:start;text-align:left}
  .hero__dots{right:auto;left:calc(var(--pad) + clamp(22px,3vw,44px) + .9rem)}
  .hero__in{padding-bottom:6rem}
}
@media (max-width:640px){
  .stu--grid,.pg,.pr__g,.ft4__r,.fm__r{grid-template-columns:1fr}
  .tm__g{gap:1.4rem .9rem}
  .hd .btn--sm .btn__a{display:none}
  .hd .btn--sm{padding:.8rem .9rem}
  .hero .tc{display:none}
  .ft__legal span{display:block;margin:0}
  .plan:hover,.pc:hover,.rvc:hover,.ofc:hover,.whyc:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}.wi{transform:none}
  .mq__t{animation:none}.mq{overflow-x:auto}
  .steps{height:auto}.steps__st{position:static;height:auto;padding-block:var(--sec)}
  .steps__c{aspect-ratio:auto;display:grid;gap:.8rem;width:100%}.stp{position:static;transform:none!important;visibility:visible!important}
  .stp .stp__k,.stp .stp__t{opacity:1!important}
}
@media print{.hd,.mm,.ft__band,.hero__ui,.hero__dots{display:none}main{padding:0}.js [data-reveal]{opacity:1;transform:none}.wi{transform:none}}

/* Ajustements */
.mq__t.t{line-height:1.3}
.wide__band{padding:.35rem 0 .1rem}
.ft__band{padding:.2em 0 .05em}
.ph__cv{opacity:.2}

/* ===== Version 1.1 ===== */
/* Photos de fond : le conteneur porte la position, l'image remplit toujours tout l'espace. */
picture{display:contents}
.cv{position:absolute;inset:0;display:block;overflow:hidden}
.cv img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.hero__bg{left:0;right:0;width:100%}
.vid__f img,.kp__c img,.pc__im img,.tmc__ph img,.fp__im img,.wide img{max-width:none}

/* Commandes des carrousels */
.rl{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);margin-top:.6rem}
.rl[hidden]{display:none}
.rl__h{display:flex;align-items:center;gap:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;white-space:nowrap}
.rl__hand{position:relative;width:34px;height:14px;border:2px solid currentColor}
.rl__hand::after{content:"";position:absolute;top:1px;bottom:1px;left:1px;width:9px;background:var(--blue);animation:hand 1.8s var(--ease) infinite}
@keyframes hand{0%,15%{transform:none}60%,100%{transform:translateX(19px)}}
.rl__bar{flex:1;height:4px;background:var(--line);position:relative;overflow:hidden}
.rl__bar i{position:absolute;inset:0;background:var(--blue);transform-origin:left;transform:scaleX(var(--p,.2));transition:transform .25s linear}
.rl__b{display:flex;gap:.5rem}
.rl__a{width:3.4rem;height:3.4rem;display:grid;place-items:center;background:var(--blue);color:#fff;transition:background .3s,color .3s,opacity .3s,transform .4s var(--ease)}
.rl__a svg{width:1.3rem;height:1.3rem}
.rl__a--p svg{transform:scaleX(-1)}
.rl__a:hover{background:#000}
.rl__a:active{transform:scale(.94)}
.rl__a:disabled{opacity:.3;cursor:default;background:var(--blue)}
.stu--rail{padding-top:clamp(2.4rem,4vw,3.5rem)}
.stu--rail:focus-visible,.rv__rail:focus-visible{outline-offset:-3px}

/* Production : cinq étapes qui défilent toutes seules */
.prd__h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.2rem)}
.prd__h .h1{margin:0}
.prd__h p{max-width:30rem;font-size:1.1rem}
.pst{--dur:5s;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:start}
.pst__tabs{display:grid}
.pst__tab{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.1rem;text-align:left;padding:clamp(1rem,1.7vw,1.5rem) 0;border-top:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.5);transition:color .4s,padding .5s var(--ease)}
.pst__tab:last-child{border-bottom:1px solid rgba(255,255,255,.28)}
.pst__tab:hover,.pst__tab.is-on{color:#fff}
.pst__tab.is-on{padding-left:.4rem}
.pst__n{display:grid;place-items:center;min-width:2.9rem;padding:.6rem .5rem .38rem;font-size:1rem;box-shadow:inset 0 0 0 2px currentColor;transition:background .4s,box-shadow .4s}
.pst__tab.is-on .pst__n{background:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}
.pst__tt{font-size:clamp(1.05rem,.9rem + .75vw,1.5rem);line-height:1.08}
.pst__pg{position:absolute;left:0;right:0;top:-2px;height:3px;overflow:hidden}
.pst__pg b{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.pst__tab.is-on .pst__pg b{animation:pg var(--dur) linear forwards}
.pst.is-manual .pst__tab.is-on .pst__pg b{animation:none;transform:none}
@keyframes pg{to{transform:none}}
.pst.is-paused *,.pst.is-off *{animation-play-state:paused!important}
.pst.is-hold .pst__pg b{animation-play-state:paused}
.pst__main{display:grid;gap:clamp(1.1rem,2vw,1.8rem);min-width:0}
.pst__stage{position:relative;aspect-ratio:16/9;background:#0a0a0a;border:3px solid #fff;overflow:hidden;container-type:inline-size;--cbo:1rem}
.pst__stage .rec{position:absolute;left:calc(1rem + clamp(22px,3vw,44px) + .7rem);top:1.35rem;z-index:4}
.pst__stage .tc{position:absolute;right:calc(1rem + clamp(22px,3vw,44px) + .7rem);top:1.1rem;z-index:4}
.pst__ct{position:absolute;left:calc(1rem + clamp(22px,3vw,44px) + 5.2rem);top:1.1rem;z-index:4;background:#fff;color:#000;padding:.4em .55em .2em;font-size:.95rem}
.scn{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s;overflow:hidden}
.scn.is-on{opacity:1;visibility:visible;transition:opacity .5s}
.scn img{width:100%;height:100%;object-fit:cover;max-width:none}
@keyframes pop{from{transform:scale(0) rotate(var(--r0,-20deg));opacity:0}to{transform:rotate(var(--r,0deg));opacity:1}}
@keyframes inL{from{transform:translateX(-140%) rotate(-24deg)}to{transform:rotate(var(--r,0deg))}}
@keyframes inR{from{transform:translateX(140%) rotate(24deg)}to{transform:rotate(var(--r,0deg))}}
@keyframes inU{from{transform:translateY(130%) rotate(var(--r,0deg))}to{transform:rotate(var(--r,0deg))}}
@keyframes growX{from{transform:scaleX(0)}to{transform:none}}
@keyframes growY{from{transform:scaleY(0)}to{transform:none}}
@keyframes wipe2{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
/* 1. Conception */
.scn--1{background:var(--blue);color:#fff}
.scn__wave{position:absolute;left:0;top:34%;width:100%;height:32%;opacity:.35;stroke-dasharray:1;stroke-dashoffset:1}
.scn--1.is-on .scn__wave{animation:draw 2.4s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.chip{position:absolute;padding:.5em .6em .26em;font-size:4.3cqw;line-height:1;background:#fff;color:#000;opacity:0}
.scn--1.is-on .chip{animation:pop .7s var(--ease) both}
.chip--a{left:9%;top:22%;--r:-5deg;animation-delay:.25s!important}
.chip--b{left:41%;top:15%;--r:3deg;background:#000;color:#fff;animation-delay:.6s!important}
.chip--c{left:18%;top:50%;--r:2deg;background:#000;color:#fff;animation-delay:.95s!important}
.chip--d{left:50%;top:42%;--r:-3deg;animation-delay:1.3s!important}
.chip--e{left:9%;top:74%;--r:-2deg;font-size:5.2cqw;animation-delay:1.65s!important}
.scn__note{position:absolute;right:8%;bottom:13%;width:27cqw;padding:2.6cqw 2.2cqw;background:#fff;color:#000;display:grid;gap:1.3cqw;--r:5deg;box-shadow:1.2cqw 1.2cqw 0 #000;opacity:0}
.scn--1.is-on .scn__note{animation:pop .8s var(--ease) 2s both}
.scn__note b{font-size:2.9cqw;font-weight:400}
.scn__note i{height:.9cqw;background:var(--blue);transform-origin:left;transform:scaleX(0)}
.scn__note i:nth-of-type(2){width:80%}.scn__note i:nth-of-type(3){width:55%}
.scn--1.is-on .scn__note i{animation:growX .6s var(--ease) 2.6s both}
.scn--1.is-on .scn__note i:nth-of-type(2){animation-delay:2.85s}.scn--1.is-on .scn__note i:nth-of-type(3){animation-delay:3.1s}
/* 2. Studios modulables */
.scn__ph{position:absolute;inset:0;clip-path:inset(0 100% 0 0)}
.scn--2.is-on .scn__ph{animation:wipe2 .7s var(--ease) both;animation-delay:calc(var(--k)*.92s)}
.scn__dots{position:absolute;left:50%;bottom:9%;display:flex;gap:1.6cqw;transform:translateX(-50%);z-index:2}
.scn__dots i{width:4cqw;height:4cqw;background:var(--c);border:.45cqw solid #fff}
.scn--2.is-on .scn__dots i{animation:dot .92s var(--ease) both;animation-delay:calc(var(--k)*.92s)}
@keyframes dot{0%,100%{transform:none}18%,80%{transform:scale(1.5)}}
.scn__tag{position:absolute;left:7%;bottom:24%;z-index:2;background:#fff;color:#000;padding:.4em .5em .18em;font-size:5cqw;line-height:1;--r:-3deg;transform:rotate(-3deg)}
.scn--2.is-on .scn__tag{animation:inL .9s var(--ease) .5s both}
/* 3. Salon et loge */
.scn--3{background:#101010 repeating-linear-gradient(45deg,transparent 0 3cqw,rgba(255,255,255,.04) 3cqw 3.3cqw)}
.pola{position:absolute;width:41cqw;padding:1.5cqw 1.5cqw 0;background:#fff;color:#000;display:grid}
.pola img{aspect-ratio:4/3;height:auto}
.pola b{font-weight:400;font-size:3.4cqw;padding:1.3cqw 0 .8cqw;text-align:center}
.pola--a{left:7%;top:17%;--r:-6deg;transform:rotate(-6deg);z-index:1}
.pola--b{right:7%;top:23%;--r:5deg;transform:rotate(5deg);box-shadow:-1.4cqw 1.4cqw 0 var(--blue);z-index:2}
.scn--3.is-on .pola--a{animation:inL 1s var(--ease) .15s both}
.scn--3.is-on .pola--b{animation:inR 1s var(--ease) .7s both}
/* 4. Post-production */
.scn--4{background:#0c0c0c}
.ed__mon{position:absolute;left:5%;top:17%;width:44cqw;aspect-ratio:16/9;border:.4cqw solid #fff;overflow:hidden}
.ed__play{position:absolute;left:50%;top:50%;width:9cqw;height:9cqw;margin:-4.5cqw 0 0 -4.5cqw;background:var(--blue)}
.ed__play::after{content:"";position:absolute;inset:27% 24% 27% 34%;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.scn--4.is-on .ed__mon{animation:inL .9s var(--ease) both}
.ed__lv{position:absolute;right:6%;top:17%;width:38cqw;height:24.7cqw;display:flex;align-items:flex-end;gap:1.6cqw}
.ed__lv i{flex:1;height:100%;background:linear-gradient(to top,var(--blue) 0 62%,#fff 62% 100%);transform-origin:bottom;animation:lv 1.1s ease-in-out infinite alternate}
.ed__lv i:nth-child(2n){animation-duration:.7s}.ed__lv i:nth-child(3n){animation-duration:.9s;animation-delay:-.4s}.ed__lv i:nth-child(5n){animation-duration:1.4s;animation-delay:-.8s}
@keyframes lv{from{transform:scaleY(.18)}to{transform:scaleY(1)}}
.ed__tl{position:absolute;left:0;right:0;bottom:0;height:26cqw;background:#161616;border-top:.4cqw solid #fff;display:grid;grid-template-rows:repeat(3,1fr);padding:1.6cqw 0}
.ed__tr{position:relative;display:flex;align-items:center}
.ed__tr em{font-style:normal;font-size:2cqw;padding-left:2cqw;color:rgba(255,255,255,.75)}
.ed__tr i,.ed__tr u{position:absolute;top:14%;bottom:14%;left:calc(17cqw + (100% - 19cqw)*var(--l)/100);width:calc((100% - 19cqw)*var(--w)/100);background:var(--blue);transform-origin:left}
.ed__tr i.d{background:var(--dk)}.ed__tr i.w{background:#fff}
.scn--4.is-on .ed__tr i{animation:growX .5s var(--ease) both;animation-delay:calc(.5s + var(--k)*.22s)}
.ed__tr u{--l:0;--w:100;background:repeating-linear-gradient(90deg,#8f8fff 0 .5cqw,transparent .5cqw 1cqw);-webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 60%,transparent 100%) 0 0/11cqw 100%;mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 60%,transparent 100%) 0 0/11cqw 100%}
.scn--4.is-on .ed__tr u{animation:wipe2 1.6s var(--ease) .8s both}
.ed__hd{position:absolute;top:0;bottom:0;left:17cqw;width:.5cqw;background:#fff;box-shadow:0 0 2cqw .5cqw rgba(37,37,244,.9)}
.scn--4.is-on .ed__hd{animation:hd2 5s linear both}
@keyframes hd2{to{left:calc(100% - 2.5cqw)}}
.pst__stage .cb{transition:opacity .4s}
.pst__stage:has(.scn--4.is-on) .cb--c,.pst__stage:has(.scn--4.is-on) .cb--d{opacity:0}
/* 5. Diffusion */
.scn--5{background:var(--dk)}
.dv{position:absolute;border:.5cqw solid #fff;background:#000;overflow:visible}
.dv img{position:absolute;inset:0}
.dv b{position:absolute;left:-.5cqw;bottom:-5.2cqw;background:#fff;color:#000;font-weight:400;font-size:2.6cqw;line-height:1;padding:.45em .5em .2em}
.dv--w{left:6%;top:17%;width:52cqw;aspect-ratio:16/9;--r:-2deg;transform:rotate(-2deg)}
.dv--p{right:9%;top:13%;width:19cqw;aspect-ratio:9/16;--r:4deg;transform:rotate(4deg);box-shadow:1.2cqw 1.2cqw 0 #000}
.dv--p .ed__play{width:7cqw;height:7cqw;margin:-3.5cqw 0 0 -3.5cqw}
.scn--5.is-on .dv--w{animation:inU .9s var(--ease) .1s both}
.scn--5.is-on .dv--p{animation:inU .9s var(--ease) .55s both}
.dv__bars{position:absolute;left:36%;bottom:9%;width:22cqw;height:13cqw;display:flex;align-items:flex-end;gap:1.1cqw}
.dv__bars i{flex:1;background:#fff;transform-origin:bottom;transform:scaleY(0);height:calc(22% + var(--n)*15%)}
.dv__bars i:nth-child(1){--n:0}.dv__bars i:nth-child(2){--n:1}.dv__bars i:nth-child(3){--n:1.6}.dv__bars i:nth-child(4){--n:2.8}.dv__bars i:nth-child(5){--n:3.9}.dv__bars i:nth-child(6){--n:5.2}
.scn--5.is-on .dv__bars i{animation:growY .7s var(--ease) both;animation-delay:calc(1.2s + var(--n)*.16s)}
.dv__r{position:absolute;right:18.5cqw;top:calc(13% + 17cqw);width:0;height:0;z-index:-0}
.dv__r i{position:absolute;left:-17cqw;top:-17cqw;width:34cqw;height:34cqw;border:.4cqw solid rgba(255,255,255,.7);opacity:0;animation:ring 2.4s linear infinite}
.dv__r i:nth-child(2){animation-delay:.8s}.dv__r i:nth-child(3){animation-delay:1.6s}
@keyframes ring{from{transform:scale(.3);opacity:.9}to{transform:scale(1.5);opacity:0}}
.pst__panels{display:grid}
.pst__p{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s,transform .6s var(--ease),visibility 0s .45s}
.pst__p.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .45s .1s,transform .6s var(--ease) .1s}
.pst__pt{font-size:clamp(1.3rem,1rem + 1.3vw,2.1rem);margin-bottom:.8rem;line-height:1.05}
.pst__pt span{color:#7d7dff}
.pst__p p{max-width:46rem}
.pst__p p+p{margin-top:.7rem}
.pst__p a{text-underline-offset:.2em}
.pst__ft{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.pst__pause{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;padding:.6rem 0}
.pst__pause i{position:relative;width:1.9rem;height:1.9rem;box-shadow:inset 0 0 0 2px #fff}
.pst__pause i::before{content:"";position:absolute;inset:30% 34%;border-left:3px solid #fff;border-right:3px solid #fff}
.pst__pause[aria-pressed=true] i::before{inset:28% 28% 28% 36%;border:0;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.pst__pause:hover i{background:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}

/* Blog */
.bh__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem clamp(2rem,5vw,5rem);align-items:end}
.bh .ph__t{margin:0}.bh .ph__p{margin:0;font-size:1.1rem}
.fp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border:2px solid #000;margin-bottom:clamp(1.2rem,2.4vw,2rem);background:#fff;transition:box-shadow .6s var(--ease),transform .6s var(--ease)}
.fp:hover{box-shadow:14px 14px 0 var(--blue);transform:translate(-4px,-4px)}
.fp__im{position:relative;display:block;min-height:clamp(260px,34vw,520px);overflow:hidden;background:#000;--cbo:1.2rem}
.fp__im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.fp:hover .fp__im img{transform:scale(1.05)}
.fp__bd{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.1rem;padding:clamp(1.4rem,3.4vw,3.4rem)}
.fp__k{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.fp__k span:first-child{background:var(--blue);color:#fff;padding:.45em .7em .35em}
.fp__t{font-size:clamp(1.4rem,1rem + 1.6vw,2.5rem);line-height:1.06;text-wrap:balance}
.fp__t a{text-decoration:none;background:linear-gradient(var(--blue),var(--blue)) 0 100%/0 3px no-repeat;transition:background-size .6s var(--ease)}
.fp:hover .fp__t a{background-size:100% 3px}
.pc{border:2px solid #000}
.pc__rt{position:absolute;left:0;bottom:0;background:#000;color:#fff;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.5em .8em .4em}
.pc__t{color:#000;transition:color .3s}
.pc:hover .pc__t{color:var(--blue)}
.pag ul{flex-wrap:wrap}
.pag a,.pag span{padding:0 1rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em}

/* Article */
.rp{position:fixed;left:0;right:0;top:var(--ab);height:4px;z-index:110;pointer-events:none}
.rp i{position:absolute;inset:0;background:var(--blue);transform-origin:left;transform:scaleX(var(--p,0))}
.art__h{padding-bottom:clamp(4rem,9vw,8rem)}
.art__m{flex-wrap:wrap;gap:.4rem 1.4rem}
.art__im{margin-top:calc(clamp(2.5rem,6vw,5.5rem)*-1);position:relative;z-index:1}
.art__im img{width:100%;aspect-ratio:21/9;object-fit:cover;border:3px solid #fff;box-shadow:14px 14px 0 var(--blue)}
.art__g{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(2rem,5vw,5.5rem);align-items:start;padding-block:clamp(2.5rem,5vw,4.5rem)}
.art__g--solo{grid-template-columns:minmax(0,1fr)}
.art__g--solo .art__b{max-width:50rem;margin-inline:auto}
.art__s{position:sticky;top:calc(var(--ab) + var(--hd) + 1rem);display:grid;gap:1.2rem;max-height:calc(100svh - 2rem - var(--hd) - var(--ab));overflow:auto;scrollbar-width:thin}
.art__b{min-width:0;max-width:50rem}
.toc{border:2px solid #000;background:#fff}
.toc__h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem .8rem;cursor:pointer;list-style:none;font-size:1.15rem;border-bottom:2px solid #000}
.toc__h::-webkit-details-marker{display:none}
.toc__d:not([open]) .toc__h{border-bottom:0}
.toc__d[open] .acc__x::after{transform:rotate(0)}
.toc__l{counter-reset:t;padding:.5rem 0}
.toc__l a{counter-increment:t;position:relative;display:grid;grid-template-columns:2rem 1fr;gap:.2rem;padding:.55rem 1.2rem;text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.3;color:var(--mute);transition:color .3s,background .3s}
.toc__l a::before{content:counter(t,decimal-leading-zero);font-family:"Almost Textual",sans-serif;font-weight:400;color:var(--blue)}
.toc__l a::after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--blue);transform:scaleY(0);transition:transform .4s var(--ease)}
.toc__l a:hover,.toc__l a.is-on{color:#000;background:var(--soft)}
.toc__l a.is-on::after{transform:none}
.art__cta{background:var(--blue);color:#fff;padding:1.4rem 1.2rem;display:grid;gap:.6rem}
.art__cta .t{font-size:1.35rem}
.art__cta p:not(.t){font-size:.95rem;line-height:1.4;margin-bottom:.4rem}
.prose h2{scroll-margin-top:calc(var(--ab) + var(--hd) + 1rem);padding-top:.9em;border-top:2px solid #000;margin-top:2.2em}
.prose>h2:first-child{margin-top:0}
.prose>p:first-child{font-size:1.15em;font-weight:500}
.shr{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.6rem;border-top:2px solid #000}
.shr__t{font-size:1.1rem}
.shr__l{display:flex;flex-wrap:wrap;gap:.5rem}
.shr__l a,.shr__l button{display:block;padding:.65rem 1rem .6rem;border:2px solid #000;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;transition:background .3s,color .3s,border-color .3s}
.shr__l a:hover,.shr__l button:hover,.shr__l button.is-ok{background:var(--blue);border-color:var(--blue);color:#fff}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.pn__a{display:grid;gap:.5rem;align-content:start;padding:1.2rem;background:var(--soft);border:2px solid #000;text-decoration:none;transition:background .4s,color .4s}
.pn__a--n{text-align:right}
.pn__a span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);transition:color .4s}
.pn__a strong{font-weight:400;font-size:1.05rem;line-height:1.15}
.pn__a:hover{background:#000;color:#fff}.pn__a:hover span{color:#fff}

.prose .pr__g--in{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.8rem;margin-block:2em;font-size:.92rem;line-height:1.4}
.prose .pr__g--in .plan:last-child{grid-column:auto}
.prose .plan__h{padding:1.2rem}.prose .plan__p{font-size:2.6rem}.prose .plan__n{margin:0;font-family:Urbanist,sans-serif}
.prose .plan__f{list-style:none;padding:1.1rem;margin:0;gap:.65rem}
.prose .plan__f li+li{margin-top:0}
.prose .plan .btn{margin:0 1.1rem 1.1rem}
.prose .plan:hover{transform:none}
.bx .pg{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.prose figure{margin-block:1.6em}.prose figure img{margin:0;width:100%}
.prose figcaption{font-size:.85rem;color:var(--mute);margin-top:.5rem}
.prose .wp-block-gallery{gap:.6rem}

/* Carte et cookies */
.map{position:relative;min-height:clamp(380px,42vw,560px);background:var(--soft) repeating-linear-gradient(45deg,transparent 0 22px,rgba(37,37,244,.07) 22px 24px);display:grid;place-items:center;border-top:2px solid #000}
.map__ph{display:grid;justify-items:center;gap:.7rem;text-align:center;padding:2.5rem var(--pad);max-width:44rem}
.map__pin{width:2.6rem;height:2.6rem;background:var(--blue);rotate:45deg;margin-bottom:.8rem;position:relative}
.map__pin::after{content:"";position:absolute;inset:32%;background:#fff}
.map__t{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.4rem)}
.map__a{font-weight:700;font-size:1.1rem}
.map__n{color:var(--mute);font-size:.95rem}
.map__b{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.8rem}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map iframe[hidden]{display:none}
.map.is-on .map__ph{visibility:hidden}
.ck{position:fixed;left:clamp(.8rem,2vw,1.6rem);bottom:clamp(.8rem,2vw,1.6rem);z-index:150;width:min(430px,calc(100vw - 1.6rem));background:#fff;color:#000;border:2px solid #000;box-shadow:10px 10px 0 var(--blue);padding:1.4rem 1.4rem 1.3rem;display:grid;gap:.8rem;animation:ckin .7s var(--ease) both}
.ck[hidden]{display:none}
@keyframes ckin{from{transform:translateY(120%)}to{transform:none}}
.ck__t{font-size:1.4rem}
.ck__p{font-size:.93rem;line-height:1.45}
.ck__p a{color:var(--blue);font-weight:700;text-underline-offset:.2em}
.ck__b{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.3rem}
.ft__ck{text-decoration:underline;text-underline-offset:.2em}
.ft__ck:hover{color:var(--blue)}
.fm__ok label{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;text-transform:none;letter-spacing:0;font-weight:500;font-size:.93rem;line-height:1.4}
.fm__ok input{width:1.3rem;height:1.3rem;padding:0;margin-top:.1rem;accent-color:var(--blue)}
.fm__ck{border:2px solid #fff;padding:1.1rem;display:grid;gap:.8rem;justify-items:start;font-size:.95rem}
.fm__ck[hidden]{display:none}

/* Finitions */
.hero__p{font-size:clamp(1rem,.9rem + .35vw,1.18rem)}
.ph--img{min-height:min(70svh,640px)}
.ph{padding-block:clamp(2.6rem,5.5vw,4.8rem) clamp(2.2rem,4.5vw,4rem)}
.art__h.ph{padding-bottom:clamp(4rem,9vw,8rem)}
.steps__st{top:0}
.qs{max-width:none}
.acc__in{max-width:60rem}
.sec--black ::selection,.sec--blue ::selection{background:#fff;color:var(--blue)}

@media (max-width:1100px){
  .pst{grid-template-columns:1fr;gap:1.2rem}
  .pst__tabs{grid-template-columns:repeat(5,1fr);gap:.4rem}
  .pst__tab{grid-template-columns:1fr;padding:.9rem 0 0;border-bottom:0!important}
  .pst__tab.is-on{padding-left:0}
  .pst__tt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pst__n{min-width:0}
  .art__g{grid-template-columns:1fr;gap:1.6rem}
  .art__s{position:static;max-height:none;overflow:visible}
  .art__cta{display:none}
  .art__b{max-width:none}
}
@media (max-width:820px){
  .prd__h,.bh__in,.fp{grid-template-columns:1fr}
  .fp__im{min-height:0;aspect-ratio:3/2}
  .rl__h{display:none}
  .pn{grid-template-columns:1fr}.pn__a--n{text-align:left}
  .pst__stage .tc{display:none}
  .pst__stage{aspect-ratio:4/3}
  .ed__tl{height:30cqw}.ed__mon{top:20%}.ed__lv{top:20%}
  .pola--a{top:22%}.pola--b{top:30%}
  .dv--w{top:24%}.dv--p{top:18%}
  .num__v{font-size:clamp(1.9rem,9vw,3rem)}
}
@media (max-width:640px){
  .rl__a{width:3rem;height:3rem}
  .ck{left:.6rem;right:.6rem;bottom:.6rem;width:auto;box-shadow:6px 6px 0 var(--blue)}
  .fp:hover{transform:none}
  .art__im img{aspect-ratio:3/2;box-shadow:8px 8px 0 var(--blue)}
  .pst__ft{flex-direction:column-reverse;align-items:stretch}
  .pst__pause{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .chip,.scn__note{opacity:1}.scn__ph{clip-path:none}.rl__hand::after{animation:none}
}
.hd .btn__l{white-space:nowrap}
@media (max-width:820px){
  .pst__ct{left:auto;top:auto;right:calc(1rem + clamp(22px,3vw,44px) + .5rem);bottom:1.1rem}
  .steps__c{margin-top:2.2rem!important}
  .stp{transform:rotate(calc(var(--k,0)*-5deg))}
}
@media (max-width:400px){.hd__logo{width:150px}.hd .btn--sm{font-size:.76rem;padding:.75rem .7rem}}
.hd__menu a{white-space:nowrap}
.vid__f{max-height:80svh;width:100%}

/* ===== Version 1.2 ===== */
/* Page studio : la pièce se visite de gauche à droite */
.room{position:relative;background:#000;color:#fff;--tc:#fff}
.room__st{position:relative}
.room__tr{display:flex;gap:clamp(.7rem,1.2vw,1.2rem);padding:clamp(1.2rem,2.5vw,2rem) var(--pad) 2.6rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;height:min(82svh,680px)}
.room__tr::-webkit-scrollbar{display:none}
.room__tr:focus-visible{outline-offset:-4px}
.room__p{position:relative;flex:none;height:100%;scroll-snap-align:center}
.room__p--in{width:calc(100vw - 2*var(--pad));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.room__t{font-size:clamp(2.4rem,1rem + 5.4vw,6rem);margin-bottom:.4rem}
.room__tag{font-size:clamp(1.05rem,.9rem + .8vw,1.6rem);background:#fff;color:#000;padding:.4em .55em .2em;rotate:-2deg;margin-bottom:1.4rem}
.room__x{max-width:34rem;margin-bottom:1.6rem;font-size:clamp(1rem,.95rem + .3vw,1.15rem)}
.room__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}
.room__hint{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.room__hint i{position:relative;width:34px;height:14px;border:2px solid #fff}
.room__hint i::after{content:"";position:absolute;top:1px;bottom:1px;left:1px;width:9px;background:#fff;animation:hand 1.8s var(--ease) infinite}
.room__p--ph{width:min(84vw,118svh);overflow:hidden;background:var(--c);--cbo:1rem}
.room__im img{transition:transform 1.6s var(--ease)}
.room__p--ph:hover .room__im img{transform:scale(1.04)}
.room__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem .85rem;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0));font-size:clamp(1rem,.9rem + .5vw,1.35rem)}
.room__cap i{width:1.3rem;height:1.3rem;background:var(--c);border:2px solid #fff;flex:none}
.room__cap b{margin-left:auto;font-weight:400;font-size:.85em;opacity:.85}
.room__p--fm{width:min(86vw,40rem);background:#fff;color:#000;--tc:#000;padding:clamp(1.4rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center}
.room__p--fm .h1{margin-bottom:1.4rem}
.room__fl{display:grid;gap:1.1rem}
.room__fl li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;border-top:2px solid #000;padding-top:1rem}
.room__fl li>span{background:var(--blue);color:#fff;padding:.5em .5em .3em;font-size:.9rem}
.room__fl strong{font-weight:400;font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);line-height:1.1;display:block;margin-bottom:.25rem}
.room__fl p{font-size:.98rem;line-height:1.4}
.room__p--end{width:min(84vw,30rem);background:var(--blue);padding:clamp(1.4rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem}
.room__pr{font-size:clamp(2.6rem,2rem + 3vw,4.6rem)}
.room__pr small{font-size:.3em;margin-left:.3em}
.room__bar{position:absolute;left:var(--pad);right:var(--pad);bottom:1.1rem;height:4px;background:rgba(255,255,255,.22);overflow:hidden}
.room__bar i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(var(--p,.1))}
:where(.room) .btn{--hv:#fff;--hvfg:var(--blue)}
:where(.room__p--end) .btn--white{--hv:#000;--hvfg:#fff}
.room.is-pin .room__st{position:sticky;top:calc(var(--hd) + var(--ab));height:calc(100svh - var(--hd) - var(--ab));overflow:hidden}
.room.is-pin .room__tr{height:100%;width:max-content;overflow:visible;scroll-snap-type:none;will-change:transform}
.room.is-pin .room__p--in{width:min(44vw,46rem);padding-right:clamp(1rem,3vw,3rem)}
.room.is-pin .room__p--ph{width:min(62vw,calc((100svh - var(--hd) - 6rem)*1.5))}

/* Détail du studio */
.sd__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.gear{display:grid;grid-template-columns:1fr 1fr;border:2px solid #000}
.gear li{padding:clamp(1rem,1.8vw,1.6rem);display:grid;gap:.35rem;align-content:start;border-right:2px solid #000;border-bottom:2px solid #000;font-size:.98rem;line-height:1.4;transition:background .4s,color .4s}
.gear li:nth-child(2n){border-right:0}.gear li:nth-last-child(-n+2){border-bottom:0}
.gear li:hover{background:var(--blue);color:#fff}
.gear strong{font-weight:400;font-size:1.15rem}
.sc__more{display:inline-flex;align-items:center;gap:.5rem;margin:-.4rem 0 1rem;font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;color:var(--blue);text-decoration:none}
.sc__more svg{width:1.1em;height:1.1em;transition:transform .45s var(--ease)}
.sc__more:hover{text-decoration:underline;text-underline-offset:.25em}.sc__more:hover svg{transform:translateX(.35em)}
.sc__more--w{color:#fff;margin:0;text-decoration:underline;text-underline-offset:.25em}
.sec--black .stu--grid{padding-top:0}

/* Pages par besoin */
.tx__g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5.5rem);align-items:center}
.tx__g--r>div:first-child{order:2}
.tx__ph{position:relative;--cbo:1rem;box-shadow:14px 14px 0 var(--blue)}
.tx__g--r .tx__ph{box-shadow:-14px 14px 0 var(--blue)}
.tx__ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tx .prose a,.sd .prose a{color:var(--blue)}
.sec--white.tx+.sec--white.tx{padding-top:0}
.nc{display:grid;gap:clamp(.8rem,1.4vw,1.3rem);grid-template-columns:repeat(4,minmax(0,1fr))}
.nc--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ncc{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:clamp(1.2rem,2vw,1.9rem);min-height:210px;background:var(--soft);border:2px solid #000;transition:background .4s,color .4s,transform .6s var(--ease),border-color .4s}
.ncc:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-8px)}
.ncc h3{font-size:clamp(1.1rem,1rem + .55vw,1.45rem);line-height:1.08}
.ncc p{font-size:.98rem;line-height:1.45}
.ncc__n{font-size:.95rem;color:var(--blue);transition:color .4s}
.ncc:hover .ncc__n{color:#fff}
.sec--black .ncc{background:transparent;border-color:rgba(255,255,255,.4)}
.sec--black .ncc__n{color:#8f8fff}
.sec--black .ncc:hover{background:#fff;color:#000;border-color:#fff}.sec--black .ncc:hover .ncc__n{color:var(--blue)}
.ncc--w{background:transparent;border-color:#fff}.ncc--w .ncc__n{color:#fff;font-size:1.6rem}
.ncc--w:hover{background:#fff;color:var(--blue);border-color:#fff}.ncc--w:hover .ncc__n{color:var(--blue)}
.logos--t{padding-top:clamp(2rem,4vw,3rem)}
.logos__t{color:#fff;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;margin-bottom:1.6rem;padding-inline:var(--pad)}
.gal__g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.4vw,1.3rem)}
.gal__i{overflow:hidden;border:3px solid #fff}
.gal__i img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.4s var(--ease)}
.gal__i:hover img{transform:scale(1.06)}
.rel{margin-top:clamp(2rem,4vw,3rem)}
.rel ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.rel a{display:block;padding:.6rem .95rem .55rem;box-shadow:inset 0 0 0 2px currentColor;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;transition:background .3s,color .3s}
.cta .rel a:hover{background:#fff;color:var(--blue)}

/* Accès */
.acs__ad{display:block;font-weight:400;font-size:clamp(1.3rem,1rem + 1.4vw,2.2rem);line-height:1.1}
.mtr{display:grid;border-top:2px solid #000}
.mtr li{display:grid;grid-template-columns:7.2rem 1fr;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:2px solid #000}
.mtr__l{display:flex;gap:.35rem}
.mtr__l b{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:var(--blue);color:#fff;font-weight:400;padding-top:.15em}
.mtr strong{font-weight:400;font-size:clamp(1.1rem,1rem + .5vw,1.4rem)}
.mtr p{color:var(--mute);font-size:.95rem}

/* Pied de page : services */
.ft__sv{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;border-top:1px solid var(--line);padding-top:1.2rem}
.ft__svt{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--mute)}
.ft__sv .rel{margin:0}.ft__sv .rel ul{justify-content:flex-start;gap:.4rem 1.2rem}
.ft__sv .rel a{box-shadow:none;padding:0;font-weight:500;letter-spacing:0;font-size:.92rem}
.ft__sv .rel a:hover,.ft__en:hover{color:var(--blue);text-decoration:underline}
.ft__en{margin-left:auto;text-decoration:none;font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;border:2px solid #000;padding:.4rem .7rem .35rem}

/* Articles : pour aller plus loin */
.more{margin-top:clamp(2.5rem,5vw,4rem);border:2px solid #000;padding:clamp(1.2rem,2.4vw,2rem);background:var(--soft)}
.more__t{font-size:1.3rem;margin-bottom:1rem}
.more__l{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.6rem}
.more__l a{display:grid;gap:.25rem;height:100%;padding:1rem;background:#fff;border:2px solid #000;text-decoration:none;transition:background .3s,color .3s,transform .5s var(--ease)}
.more__l a:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-4px)}
.more__l strong{font-weight:400;font-size:1.1rem}
.more__l span{font-size:.9rem;line-height:1.35}
.more__c{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.more__c a{padding:.45rem .7rem .4rem;border:2px solid var(--blue);color:var(--blue);text-decoration:none;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.more__c a:hover{background:var(--blue);color:#fff}

/* Bouton Réserver fixe sur mobile */
.mb{display:none}
@media (max-width:820px){
  .mb{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem var(--pad) calc(.7rem + env(safe-area-inset-bottom));background:var(--blue);color:#fff;border-top:2px solid #000;transform:translateY(105%);transition:transform .5s var(--ease)}
  .mb[hidden]{display:none}
  .mb.is-on{transform:none}
  .mb__t{display:grid;line-height:1.15}.mb__t strong{font-weight:400;font-size:1.15rem}.mb__t span{font-size:.8rem;opacity:.85}
  .mb .btn{--hv:#000;--hvfg:#fff;padding:.9rem 1.4rem}
  .ft{padding-bottom:0}
  .sd__g,.tx__g{grid-template-columns:1fr}
  .tx__g--r>div:first-child{order:0}
  .tx__ph,.tx__g--r .tx__ph{box-shadow:8px 8px 0 var(--blue);margin-right:8px}
  .nc,.nc--3{grid-template-columns:1fr 1fr}
  .gal__g{grid-template-columns:1fr 1fr}.gal__i:last-child{display:none}
  .ft__en{margin-left:0}
  .room__tr{height:min(76svh,600px)}
  .room__p--in{justify-content:flex-end;padding-bottom:1rem}
}
@media (max-width:1100px) and (min-width:820.02px){.nc{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.nc,.nc--3,.gear{grid-template-columns:1fr}.gear li{border-right:0!important;border-bottom:2px solid #000!important}.gear li:last-child{border-bottom:0!important}.ncc{min-height:0}.mtr li{grid-template-columns:1fr}}
/* Vidéos d'ambiance dans les étapes de production */
.scn__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;opacity:0;transition:opacity .6s;background:#000}
.scn__v.is-ready{opacity:1}
.scn__v.is-vert{object-fit:contain}
.scn--2 .scn__tag,.scn__tag--v{z-index:4}
.scn__tag--v{opacity:0}
.scn--3.has-video .scn__tag--v{opacity:1}
.scn--3.is-on.has-video .scn__tag--v{animation:inL .9s var(--ease) .3s both}
.scn--2.has-video .scn__dots{display:none}

/* ===== Version 1.3 : méga menu ===== */
.hd__menu li{display:flex;align-items:center;gap:.15rem}
.hd__tg{display:grid;place-items:center;width:1.5rem;height:1.5rem;color:inherit}
.hd__chev{width:.7rem;height:.7rem;transition:transform .35s var(--ease)}
.has-mega.is-open .hd__chev{transform:rotate(180deg)}
.has-mega.is-open>a{color:var(--blue)}
.mg{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);border-bottom:2px solid #000;box-shadow:0 30px 60px -30px rgba(0,0,0,.35);opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .4s var(--ease);max-height:calc(100svh - var(--hd) - var(--ab));overflow:auto}
.mg[hidden]{display:none}
.mg.is-open{opacity:1;transform:none}
.mg__in{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,4fr);gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.4rem,2.4vw,2.2rem) var(--pad)}
.mg__h{display:grid;gap:.8rem;align-content:start;justify-items:start;--tc:#000}
.mg__t{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.1rem)}
.mg__h p:not(.mg__t){font-size:.95rem;line-height:1.4;color:var(--mute)}
.mg__st{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}
.mg__st a{display:grid;gap:.3rem;text-decoration:none}
.mg__ph{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft);margin-bottom:.35rem;position:relative}
.mg__ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--blue);transition:box-shadow .35s var(--ease)}
.mg__ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.mg__st a:hover .mg__ph img{transform:scale(1.08)}
.mg__st a:hover .mg__ph::after,.mg__st a[aria-current] .mg__ph::after{box-shadow:inset 0 0 0 5px var(--blue)}
.mg__st strong{font-weight:400;font-size:1.02rem;line-height:1.1;transition:color .3s}
.mg__st a:hover strong,.mg a[aria-current] strong{color:var(--blue)}
.mg__d{display:block;font-size:.82rem;line-height:1.3;color:var(--mute)}
.mg__in--sv{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(220px,1.1fr)}
.mg__k{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--mute);margin-bottom:.8rem}
.mg__sv{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.5rem}
.mg__sv a{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:.8rem .7rem;text-decoration:none;transition:background .3s}
.mg__sv a:hover{background:var(--soft)}
.mg__n{background:#000;color:#fff;padding:.5em .5em .3em;font-size:.8rem;transition:background .3s}
.mg__sv a:hover .mg__n,.mg__sv a[aria-current] .mg__n{background:var(--blue)}
.mg__sv strong{display:block;font-weight:400;font-size:1.08rem;line-height:1.1;margin-bottom:.2rem}
.mg__li{display:grid;gap:.1rem;margin-bottom:1rem}
.mg__li a{display:block;padding:.4rem 0;text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.mg__li a:hover{color:var(--blue)}
.mg__ad{font-size:.88rem;color:var(--mute);line-height:1.4}
.mg__vis{position:relative;display:block;min-height:210px;overflow:hidden;color:#fff;text-decoration:none;background:#000;--cbo:.8rem}
.mg__vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform 1.2s var(--ease),opacity .4s}
.mg__vis:hover img{transform:scale(1.06);opacity:.55}
.mg__vt{position:absolute;left:0;right:0;bottom:0;padding:1rem;display:grid;gap:.1rem;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0))}
.mg__vt strong{font-weight:400;font-size:1.5rem}.mg__vt span{font-size:.9rem}
.mm__s{display:flex;flex-wrap:wrap;gap:.35rem .5rem;padding:.2rem 0 .7rem}
.mm__l .mm__s a{font-family:Urbanist,sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.04em;line-height:1;padding:.5rem .7rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.mm__l .mm__s a[aria-current]{background:#fff;color:var(--blue);text-decoration:none}
.mm__l a{font-size:clamp(1.7rem,7.5vw,3rem)}
@media (max-width:1180px){.mg{display:none!important}}
@media (max-width:1500px){.mg__in{grid-template-columns:1fr}.mg__h{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem}.mg__in--sv{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(200px,1fr)}}

/* ===== Studio photo ===== */
.pho{position:relative;background:#000;color:#fff;--tc:#fff;overflow:hidden;padding-block:clamp(2rem,4vw,3.5rem) clamp(3rem,6vw,5rem)}
.pho::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 78% 40%,rgba(245,51,63,.28),transparent 46%),radial-gradient(circle at 15% 90%,rgba(37,37,244,.4),transparent 45%);pointer-events:none}
.pho__g{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.pho__t{font-size:clamp(2.3rem,1rem + 4.8vw,5.6rem);margin-bottom:1.2rem;text-wrap:balance}
.pho__p{max-width:34rem;font-size:clamp(1rem,.95rem + .35vw,1.2rem);margin-bottom:1.8rem}
.pho__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem}
.pho__pr{display:flex;align-items:baseline;gap:.6rem}.pho__pr strong{font-weight:400;font-size:clamp(2.2rem,1.5rem + 2vw,3.4rem);line-height:1}.pho__pr span{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
:where(.pho) .btn{--hv:#fff;--hvfg:var(--blue)}
.vf{display:grid;gap:1.1rem;justify-items:center}
.vf__fr{position:relative;width:min(100%,calc((100svh - var(--hd) - 13rem)*.75));min-width:260px;aspect-ratio:3/4;overflow:hidden;border:3px solid #fff;cursor:crosshair;--cbo:1rem;rotate:2deg;transition:rotate .6s var(--ease);box-shadow:16px 16px 0 var(--blue)}
.vf__fr:hover{rotate:0deg}
.vf__im img{transition:transform 1.2s var(--ease)}
.vf__fr.is-shot .vf__im img{animation:zoomin 1.1s var(--ease)}
@keyframes zoomin{0%{transform:scale(1.09)}100%{transform:none}}
.vf__af{position:absolute;left:var(--ax,50%);top:var(--ay,36%);width:19%;aspect-ratio:1;translate:-50% -50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.4);z-index:3;pointer-events:none;transition:left .25s var(--ease),top .25s var(--ease),border-color .2s;animation:af 4.2s var(--ease) infinite}
.vf__af::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;background:#fff}
.vf__fr.is-aim .vf__af{animation:none;transition:none}
.vf__fr.is-shot .vf__af{border-color:#12B24A}
@keyframes af{0%,100%{left:50%;top:36%;scale:1}30%{left:42%;top:30%;scale:1.25}55%{left:56%;top:40%;scale:.9}75%{left:50%;top:34%;scale:1}}
.vf__top,.vf__bot{position:absolute;left:0;right:0;z-index:3;display:flex;justify-content:space-between;padding:0 calc(1rem + clamp(22px,3vw,44px) + .6rem);font-size:.85rem;pointer-events:none}
.vf__top{top:1.25rem}.vf__bot{bottom:1.25rem;justify-content:center;gap:1.2rem}
.vf__top b,.vf__bot b{font-weight:400;background:#000;color:#fff;padding:.4em .5em .2em;line-height:1}
.vf__top b:first-child{background:#F5333F}
.vf__flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:5;pointer-events:none}
.vf__fr.is-shot .vf__flash{animation:shot .7s ease-out}
@keyframes shot{0%{opacity:0}6%{opacity:1}100%{opacity:0}}
.vf__btn{display:inline-flex;align-items:center;gap:.8rem;font-size:.95rem;padding:.3rem}
.vf__btn i{width:3.2rem;height:3.2rem;background:#fff;box-shadow:0 0 0 4px #000,0 0 0 6px #fff;transition:transform .2s,background .3s}
.vf__btn:hover i{background:#F5333F}.vf__btn:active i{transform:scale(.86)}
.pho__li{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin-top:1.6rem;font-weight:700}
.pho__li li{position:relative;padding-left:1.7rem}
.pho__li li::before{content:"";position:absolute;left:0;top:.28em;width:1rem;height:1rem;background:var(--blue)}
.cmp{position:relative;aspect-ratio:3/4;max-height:78svh;justify-self:center;width:min(100%,58svh);overflow:hidden;border:3px solid #000;box-shadow:14px 14px 0 var(--blue);background:#111}
.cmp__b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.cmp__h{position:absolute;top:0;bottom:0;left:var(--x);width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);z-index:3;pointer-events:none}
.cmp__h i{position:absolute;left:50%;top:50%;width:3rem;height:3rem;margin:-1.5rem;background:var(--blue);box-shadow:0 0 0 3px #fff}
.cmp__h i::before,.cmp__h i::after{content:"";position:absolute;top:50%;width:.55rem;height:.55rem;margin-top:-.28rem;border-left:3px solid #fff;border-bottom:3px solid #fff}
.cmp__h i::before{left:.65rem;rotate:45deg}.cmp__h i::after{right:.65rem;rotate:-135deg}
.cmp__l{position:absolute;bottom:.9rem;z-index:2;background:#000;color:#fff;padding:.45em .55em .22em;font-size:.82rem;line-height:1}
.cmp__l--a{left:.9rem}.cmp__l--b{right:.9rem}
.cmp__r{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}
.cmp:has(.cmp__r:focus-visible){outline:3px solid var(--blue);outline-offset:4px}
@media (max-width:900px){
  .pho__g{grid-template-columns:1fr}
  .vf__fr{width:min(100%,420px);rotate:0deg;box-shadow:8px 8px 0 var(--blue)}
  .cmp{width:min(100%,420px);box-shadow:8px 8px 0 var(--blue)}
  .pho__li{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.vf__af{animation:none}}

/* Émission tournée au studio (YouTube après accord) */
.cv2__g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.cv2__tx>p:not(.kick){max-width:34rem;margin-bottom:1.6rem}
.sec--black .kick{color:#b9bcd0}
.cv2__b{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}
.cv2__yt{font-weight:800;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em;text-underline-offset:.25em}
.cv2__yt i{font-style:normal}
.yt{position:relative;aspect-ratio:16/9;background:#000 var(--poster,none) center/cover no-repeat;color:#fff;overflow:hidden;border:3px solid currentColor;--cbo:1rem;box-shadow:14px 14px 0 var(--blue)}
.sec--white .yt{border-color:#000}
.yt::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(37,37,244,.75),transparent 55%),radial-gradient(circle at 10% 90%,rgba(217,91,240,.5),transparent 50%);transition:opacity .5s}
.yt.has-poster::before{background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.2))}
.yt__ph{position:absolute;inset:0;display:grid;align-content:end;justify-items:start;gap:.6rem;padding:clamp(1.2rem,3vw,2.6rem);padding-right:clamp(5rem,12vw,10rem)}
.yt__k{background:#fff;color:#000;padding:.4em .5em .2em;font-size:.85rem;line-height:1}
.yt__t{font-size:clamp(1rem,.8rem + 1.2vw,1.9rem);line-height:1.08;text-wrap:balance}
.yt__n{font-size:.78rem;line-height:1.35;opacity:.8;max-width:30rem}
.yt__btn{position:absolute;right:clamp(1.2rem,3vw,2.6rem);top:50%;width:clamp(64px,8vw,112px);aspect-ratio:1;translate:0 -50%;background:var(--blue);color:#fff;display:grid;place-items:center;transition:transform .45s var(--ease),background .3s,color .3s}
.yt__btn svg{width:42%}
.yt__btn:hover{transform:scale(1.1);background:#fff;color:var(--blue)}
.yt .rec{position:absolute;left:calc(1rem + clamp(22px,3vw,44px) + .7rem);top:1.35rem}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}
.yt.is-on .yt__ph,.yt.is-on .cb,.yt.is-on .rec{display:none}
@media (max-width:820px){.cv2__g{grid-template-columns:1fr}.yt{box-shadow:8px 8px 0 var(--blue);margin-right:8px}.yt__n{display:none}.yt__ph{padding-right:5.5rem}}
.kp__b{display:flex;flex-wrap:wrap;gap:.8rem}
.hs{scroll-margin-top:calc(var(--hd) - 2rem)}
/* Vidéo de présentation : cadre 16:9 entier, jamais rogné, limité à 1360 px et à la hauteur de l'écran */
.vid .wrap{max-width:calc(1360px + 2*var(--pad))}
.vid__f{max-height:none;aspect-ratio:16/9;width:min(100%,calc((100svh - var(--hd) - var(--ab) - 3rem)*16/9));margin-inline:auto}
.vid__f video{object-fit:contain;background:#000}
/* Pages studios : la visite occupe tout l'écran sous l'en-tête (100vh au total), avec ou sans épinglage */
.room__tr{height:calc(100svh - var(--hd) - var(--ab));min-height:460px}
.room.is-pin .room__st{min-height:460px}
@media (max-width:820px){.room__tr{height:calc(100svh - var(--hd) - var(--ab));min-height:460px}}
/* Cartes studios sur fond sombre : le texte reste noir sur la carte blanche */
.sc{color:#000;--tc:#000}
.sc--kaptur{color:#fff;--tc:#fff}
.sc .sc__d{color:var(--mute)}

/* ===================================================================
   Version 2.0 : direction sobre et premium
   Tailles réduites, angles arrondis discrets, boutons en pilule,
   plus d'éléments de régie (crochets, REC, compteur, ondes).
   =================================================================== */
:root{--r:14px;--r-s:10px;--line:#e4e5ee;--soft:#f5f5f8;--mute:#5d6072;--sec:clamp(3.5rem,7vw,6.5rem);--sh:0 18px 40px -24px rgba(15,15,40,.28)}

/* Typographie : la police de marque reste réservée aux grands titres, le reste passe en Urbanist. */
.h1{font-size:clamp(1.6rem,1.15rem + 1.7vw,2.55rem);margin-bottom:clamp(1rem,2vw,1.6rem)}
.h2{font-size:clamp(1.35rem,1.1rem + 1vw,2rem)}
.lead{font-size:clamp(1rem,.9rem + .45vw,1.2rem)}
.lead.t{font-family:Urbanist,sans-serif;text-transform:none;font-weight:600;letter-spacing:0}
.kick,.ph__k,.hero__k{font-size:.78rem;letter-spacing:.14em;font-weight:700}
body{font-size:clamp(.98rem,.95rem + .12vw,1.06rem)}
.hero__t{font-size:clamp(1.9rem,1rem + 3vw,3.6rem);line-height:1.02}
.hero__t em{transform:none;background:none;color:inherit;padding:0;margin:0}
.ph__t{font-size:clamp(1.8rem,1rem + 2.6vw,3.3rem)}
.ph__t--m{font-size:clamp(1.6rem,1rem + 2vw,2.7rem)}
.art__t{font-size:clamp(1.5rem,1rem + 1.6vw,2.4rem)}
:where(.tile,.ncc,.ofc,.whyc,.tmc,.pc,.fp,.mg__st,.mg__sv,.room__fl,.gear,.more__l,.pn__a,.pst__p,.stp,.yt,.sc) :is(h3,h2,strong,.t):not(.btn__l){font-family:Urbanist,sans-serif;text-transform:none;letter-spacing:-.01em;font-weight:700}
.acc__t,.qs__t,.toc__h,.shr__t,.more__t,.ck__t,.map__t,.rvc figcaption strong{font-family:Urbanist,sans-serif;text-transform:none;font-weight:700;letter-spacing:-.01em}
.acc__t{font-size:clamp(1rem,.95rem + .3vw,1.18rem);line-height:1.3}
.qs__t{font-size:1.05rem}
.prose h2,.prose h3,.prose h4{font-family:Urbanist,sans-serif;text-transform:none;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.prose h2{font-size:clamp(1.25rem,1.1rem + .6vw,1.55rem);border-top:1px solid var(--line)}
.prose h3{font-size:clamp(1.08rem,1rem + .3vw,1.25rem)}
.prose{font-size:clamp(1rem,.97rem + .15vw,1.1rem)}

/* Boutons en pilule */
.btn{border-radius:999px;font-family:Urbanist,sans-serif;text-transform:none;font-weight:700;font-size:.95rem;letter-spacing:0;padding:.9rem 1.45rem;gap:.6rem}
.btn--sm{padding:.7rem 1.1rem;font-size:.88rem}
.btn__l{padding-top:0}
.btn__a{width:1em;height:1em}
.btn--line{box-shadow:inset 0 0 0 1.5px #fff}.btn--ghost{box-shadow:inset 0 0 0 1.5px #000}
.lnk{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px;color:inherit}
.lnk:hover{text-decoration-thickness:2px}
.lnk svg{width:1em;height:1em;transition:transform .4s var(--ease)}.lnk:hover svg{transform:translateX(.25em)}

/* Plus d'éléments de régie */
.cb,.rec,.tc,.sc__rec,.hero__ui,.nums__cv,.ph__cv,.kp__fl,.ft__band,.wide__band,.note__tape{display:none!important}

/* Angles arrondis */
.vid__f,.sc,.sc__ph,.plan,.tile,.ofc,.rvc,.pc,.fp,.ncc,.gear,.toc,.more,.more__l a,.pn__a,.yt,.tx__ph,.kp__c,.mg__ph,.mg__vis,.ck,.resa__f,.gal__i,.tmc__ph,.ab__ph,.ab__ph img,.whyc,.pst__stage,.room__p,.vf__fr,.cmp,.note,.fm input,.fm textarea,.fm select,.art__im img,.prose img,.prose figure img,.map,.rl__a,.pag a,.pag span,.shr__l a,.shr__l button,.rel a,.more__c a,.mtr__l b,.fp__k span:first-child,.pc__rt,.stp,.tm__ini,.slot{border-radius:var(--r)}
.sc__ph{border-radius:var(--r-s)}
.hero__dot,.sc__dot,.scn__dots i{border-radius:50%}
.rl__a{border-radius:50%}
.pc__im,.fp__im{border-radius:var(--r) var(--r) 0 0}
.fp__im{border-radius:var(--r) 0 0 var(--r)}
.sc,.plan,.tile,.ofc,.rvc,.pc,.fp,.ncc,.yt,.vid__f,.room__p,.gal__i,.tmc__ph,.mg__vis,.whyc,.stp,.pst__stage{overflow:hidden;isolation:isolate}

/* Ombres décalées et rotations : on revient à des effets doux */
.plan:hover,.pc:hover,.fp:hover,.ab__ph,.note,.tx__ph,.tx__g--r .tx__ph,.yt,.vf__fr,.cmp,.art__im img,.ck,.room__p--fm{box-shadow:none}
.plan:hover,.pc:hover,.fp:hover,.rvc:hover,.ncc:hover,.ofc:hover,.whyc:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.fp:hover{transform:translateY(-4px)}
.ab__ph,.note,.kp__c--a,.kp__c--b,.vf__fr,.room__tag,.mq--ph,.stp{rotate:0deg}
.kp__c--a,.kp__c--b{translate:none}
.kp__c{box-shadow:none}
.kp__c--b{margin-top:2.5rem}
.rvc:hover{transform:translateY(-4px)}

/* Bordures plus fines */
.plan,.ofc,.rvc,.pc,.fp,.ncc,.toc,.more,.more__l a,.pn__a,.gear,.shr__l a,.shr__l button,.pag a,.pag span{border-width:1px;border-color:var(--line)}
.toc__h{border-bottom-width:1px;border-color:var(--line)}
.acc,.acc__i{border-width:1px;border-color:var(--line)}
.acc--dark,.acc--dark .acc__i{border-color:rgba(255,255,255,.25)}
.ft{border-top:1px solid var(--line)}
.hd{border-bottom-color:var(--line)}

/* En-tête */
.hd__menu a{text-transform:none;font-weight:600;font-size:.98rem;letter-spacing:0}
.hd__burger{border-radius:50%;width:46px;height:46px}
.hd__burger span:not(.sr){height:2px;left:14px;right:14px}
.mm__l a{font-size:clamp(1.5rem,6vw,2.2rem)}
.mg{border-bottom:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(0,0,0,.3)}
.mg__t{font-size:clamp(1.3rem,1rem + .8vw,1.7rem)}
.mg__sv{grid-template-columns:repeat(3,minmax(0,1fr))}
.mg__in--sv{grid-template-columns:minmax(200px,.8fr) minmax(0,4fr)}
.mg__sv a{border-radius:var(--r-s);grid-template-columns:1fr;gap:.25rem;padding:1rem}
.mg__n{display:none}
.mg__sv strong{font-size:1.02rem}
@media (max-width:1500px){.mg__in--sv{grid-template-columns:1fr}}

/* Accueil */
.hero{min-height:min(calc(100svh - var(--hd) - var(--ab)),860px)}
.hero__bg::after{background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.15) 60%,rgba(0,0,0,.25))}
.hero__k .sep{opacity:.6}
.hero__tag{display:block;font-family:Urbanist,sans-serif;text-transform:none;font-weight:500;font-size:clamp(1.05rem,.95rem + .6vw,1.45rem);letter-spacing:0;line-height:1.35;margin-top:.9rem;max-width:34rem}
.hero__cta{align-items:center;gap:.8rem 1.4rem}
.hero__lnk{color:#fff}
.hero__dots{right:var(--pad);bottom:1.6rem;gap:.5rem}
.hero__dot{width:.95rem;height:.95rem;border-width:1.5px}
.logos{padding:clamp(1.2rem,2.4vw,2rem) 0}
.logos img{height:clamp(26px,3vw,40px);opacity:.85}
.vid__b{border-radius:50%;width:clamp(64px,7vw,96px);margin:calc(clamp(64px,7vw,96px)/-2) 0 0 calc(clamp(64px,7vw,96px)/-2)}
.sec--soft{background:var(--soft)}

/* Cartes studios compactes */
.stu--grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(.8rem,1.4vw,1.2rem)}
.stu--rail .sc{width:min(78vw,320px)}
.sc{border:0;background:transparent;padding:0;overflow:visible}
.sc:hover{border:0}
.sc__ph{aspect-ratio:4/3}
.sc:hover .sc__im.is-on{transform:scale(1.04)}
.sc__bd{padding:.9rem .2rem 0;align-items:flex-start;text-align:left;gap:.25rem}
.sc__top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.8rem}
.sc__t{font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.sc__t .o{color:inherit;width:auto}.sc__t .o::before{display:none}
.sc__m{font-weight:600;font-size:.85rem;color:var(--mute)}
.sc__d{font-size:.95rem;line-height:1.45;margin:.2rem 0 .7rem;color:#30323f}
.sc .sc__d{color:#30323f}
.sc__dots{margin:0;gap:.35rem;order:2}
.sc__dot{width:.85rem;height:.85rem;border-width:1.5px;border-color:#fff;box-shadow:0 0 0 1px var(--line)}
.sc__dot.is-on{transform:scale(1.25);box-shadow:0 0 0 1px #000}
.sc__act{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;margin-top:auto}
.sc .btn{margin-top:0}
.sc__more{margin:0;text-transform:none;font-size:.9rem;letter-spacing:0;font-weight:700;color:#000;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.sc--kaptur{min-height:0;aspect-ratio:auto;border-radius:var(--r);padding:0}
.sc__bg img{object-position:50% 15%}
.sc__kin{padding:1.6rem;gap:.7rem}
.sc__kt{font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem)}
.sc__kp{font-size:1rem}
.sc__more--w{color:#fff}
.stu--rail{padding-top:clamp(1.6rem,3vw,2.4rem)}
.qs__l a{border-bottom:1px solid var(--line);color:#000;font-weight:600}
.qs__l a:hover{background:var(--soft);color:var(--blue);padding-inline:.8rem}

/* Tarifs complets */
.plan{background:#fff;border:1px solid var(--line)}
.plan__h{background:var(--soft);color:#000}
.plan__n{letter-spacing:.14em;font-size:.82rem}
.plan__p{font-size:clamp(2rem,1.6rem + 1.4vw,2.9rem)}
.plan__f li{font-weight:500;font-size:.95rem}
.plan__f li::before{border-radius:50%;width:1.05rem;height:1.05rem}
.plan--hi{background:#fff;color:#000;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.plan--hi .plan__h{background:var(--blue);color:#fff}
.plan--hi .plan__f li::before{background-color:var(--blue)}
.plan--hi .btn--white{--bg:var(--blue);--fg:#fff;--hv:#000;--hvfg:#fff}

/* Tarifs résumés (accueil, pages studios) */
.prt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;background:var(--soft);border-radius:var(--r);padding:clamp(1.6rem,4vw,3.4rem)}
.prt__p{font-family:"Almost Textual",sans-serif;text-transform:uppercase;font-size:clamp(2.2rem,1.6rem + 2.2vw,3.6rem);line-height:1;color:var(--blue);margin:.3rem 0 .8rem}
.prt__p small{font-size:.4em;margin-left:.2em;color:#000}
.prt__tx p{max-width:30rem}
.prt__b{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;margin-top:1.4rem}
.prt__l{display:grid;gap:.6rem}
.prt__l li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:#fff;border-radius:var(--r-s);padding:1rem 1.2rem}
.prt__l strong{font-weight:700}
.prt__l span{color:var(--mute);font-size:.92rem}
.prt__l b{font-weight:800;white-space:nowrap}

/* Quatre atouts, chiffres, autres offres */
.ft4{background:var(--soft);color:#000;--tc:#000}
.ft4 .btn{--hv:#000;--hvfg:#fff}
.tile{border:0;min-height:clamp(220px,22vw,300px)}
.tile h3{font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.tile p{font-size:.92rem}
.tile__n{display:none}
.tile:hover::after{background:linear-gradient(to top,rgba(0,0,0,.92) 25%,rgba(0,0,0,.2))}
.nums{background:#fff;color:#000;--tc:#000;padding-block:clamp(2.5rem,5vw,4.5rem);border-block:1px solid var(--line)}
.num{border-top:1px solid var(--line)}
.num__v{font-size:clamp(1.8rem,1.2rem + 2vw,3rem);color:var(--blue)}
.num__l{font-size:.98rem;font-weight:500;color:var(--mute)}
.ofc{background:var(--soft);border:0;min-height:220px}
.ofc:hover{background:var(--soft);color:#000}
.ofc:hover .ofc__lg img{filter:none}
.ofc:hover .btn{--hv:#000;--hvfg:#fff}
.ofc h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)}
.ofc p{font-weight:500;font-size:1rem}

/* Première fois : cartes plus discrètes */
.steps__t{font-size:clamp(1.6rem,1rem + 1.8vw,2.6rem)}
.stp__t{font-size:clamp(1.25rem,1rem + .9vw,1.7rem)}
.steps__c{width:min(62%,340px)}

/* Avis */
.rv__note{display:flex;align-items:center;gap:.9rem;margin:-.4rem 0 1rem}
.rv__note b{font-family:"Almost Textual",sans-serif;font-weight:400;font-size:2.2rem;line-height:1}
.rv__note span{display:grid;line-height:1.25;font-size:.92rem;color:var(--mute)}
.rv__note i{font-style:normal;color:#F5B300;letter-spacing:.08em;font-size:1.05rem}
.rvc{background:var(--soft);border:0}
.rvc:hover{background:var(--soft);color:#000}
.rvc:hover .rvc__st{color:var(--blue)}
.rvc figcaption{border-top:1px solid var(--line)}
.rvc blockquote{font-size:.97rem}

/* Instagram : sélection */
.igs__h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem}
.igs__h .h1{margin:0}
.igs__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1vw,1rem)}
.igs__g a{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r)}
.igs__g img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.igs__g a:hover img{transform:scale(1.05)}

/* Blog */
.bl{background:#fff;color:#000;--tc:#000}
.bl .btn--white{--bg:var(--blue);--fg:#fff;--hv:#000;--hvfg:#fff}
.pc{border:1px solid var(--line)}
.pc__t{font-size:clamp(1rem,.95rem + .3vw,1.18rem);line-height:1.25}
.pc__m{text-transform:none;letter-spacing:0;font-weight:700;color:#000;font-size:.92rem}
.pc__rt{border-radius:0 var(--r-s) 0 0;background:#fff;color:#000}
.fp{border:1px solid var(--line)}
.fp__t{font-size:clamp(1.25rem,1rem + .9vw,1.85rem);line-height:1.15}
.fp__k span:first-child{border-radius:999px;padding:.4em .8em}
.art__h.ph{padding-bottom:clamp(3rem,7vw,6rem)}
.art__im img{border:0}
.toc__l a::before{font-family:Urbanist,sans-serif;font-weight:700}
.art__cta{border-radius:var(--r)}
.art__cta .t{font-family:Urbanist,sans-serif;text-transform:none;font-weight:700;font-size:1.15rem}
.prose>p:first-child{font-size:1.08em}
.shr,.prose h2{border-top-width:1px;border-color:var(--line)}
.pn__a strong{font-family:Urbanist,sans-serif;text-transform:none;font-weight:700}

/* Pages intérieures */
.ph--img{min-height:min(58svh,560px)}
.ph{padding-block:clamp(2.2rem,4.5vw,4rem) clamp(1.8rem,3.5vw,3.2rem)}
.ph--soft{background:var(--soft)}
.crumb{text-transform:none;letter-spacing:0;font-size:.85rem}
.cta{padding-block:clamp(3rem,6vw,5rem)}
.rel a{box-shadow:inset 0 0 0 1px currentColor;text-transform:none;letter-spacing:0;font-size:.88rem;border-radius:999px}
.ncc{border:0;background:var(--soft);min-height:0}
.ncc:hover{background:var(--soft);color:#000;border:0}
.ncc:hover .ncc__n{color:var(--blue)}
.ncc__n{font-family:Urbanist,sans-serif;font-weight:800;font-size:.85rem}
.sec--black .ncc{background:rgba(255,255,255,.06);border:0}
.sec--black .ncc:hover{background:rgba(255,255,255,.1);color:#fff}
.ncc--w{background:rgba(255,255,255,.1)}.ncc--w:hover{background:rgba(255,255,255,.16);color:#fff}.ncc--w:hover .ncc__n{color:#fff}
.ncc--w .ncc__n{font-size:1rem}
.gal__i{border:0}
.mtr li,.mtr{border-width:1px;border-color:var(--line)}
.mtr__l b{border-radius:50%}

/* Studio : visite plus compacte, sans coins blancs */
.room__tr{height:min(calc(100svh - var(--hd) - var(--ab) - 2rem),720px);min-height:420px}
.room.is-pin .room__st{height:min(calc(100svh - var(--hd) - var(--ab)),760px)}
@media (max-width:820px){.room__tr{height:min(calc(100svh - var(--hd) - var(--ab) - 2rem),620px)}}
.room__t{font-size:clamp(1.9rem,1rem + 3vw,3.6rem)}
.room__tag{rotate:0deg;background:none;color:#fff;padding:0;font-family:Urbanist,sans-serif;text-transform:none;font-weight:600;font-size:clamp(1.05rem,.95rem + .4vw,1.3rem);opacity:.9}
.room__p--ph,.room__p--fm,.room__p--end,.room__p--vd{border-radius:var(--r)}
.room__cap{font-size:.95rem;font-family:Urbanist,sans-serif}
.room__cap .t{font-family:Urbanist,sans-serif;text-transform:none;font-weight:600}
.room__cap i{border-radius:50%;width:.9rem;height:.9rem}
.room__p--fm{background:#141414;color:#fff;--tc:#fff;width:min(86vw,30rem)}
.room__p--fm .h1{font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem)}
.room__fl li{border-top:1px solid rgba(255,255,255,.18);grid-template-columns:1fr}
.room__fl li>span{display:none}
.room__fl strong{font-size:1.05rem}
.room__fl p{opacity:.75}
.room__p--end{width:min(84vw,24rem)}
.room__pr{font-size:clamp(2rem,1.6rem + 1.6vw,3rem)}
.room__p--vd{width:min(84vw,calc((100svh - var(--hd) - 6rem)*1.78));background:#000;overflow:hidden}
.room__p--vd video{width:100%;height:100%;object-fit:cover}
.room__bar{height:2px;border-radius:2px}

/* Le studio en détail : fiche technique modernisée */
.spec{display:grid;gap:.6rem}
.spec li{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;align-items:start;background:var(--soft);border-radius:var(--r-s);padding:1rem 1.1rem}
.spec__i{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:#fff;color:var(--blue)}
.spec__i svg{width:1.2rem;height:1.2rem}
.spec strong{display:block;font-weight:700;margin-bottom:.15rem}
.spec span{font-size:.94rem;line-height:1.45;color:#30323f}
.exm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}

/* Accès, studio photo, vidéo YouTube */
.pho__t{font-size:clamp(1.9rem,1rem + 3vw,3.6rem)}
.yt__btn{border-radius:50%}
.yt__k{border-radius:999px;padding:.45em .8em}
.yt::before{border-radius:inherit}
.cv2__yt{text-transform:none;letter-spacing:0;font-size:.92rem}
.vf__fr{border-width:0}

/* À propos */
.ph--photo{position:relative;color:#fff;--tc:#fff;min-height:min(62svh,600px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.ph--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.15))}
.ph--photo .ph__bg{z-index:-2;animation:none}
.abg{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:clamp(160px,18vw,260px);gap:clamp(.6rem,1vw,1rem)}
.abg>*{border-radius:var(--r);overflow:hidden;position:relative}
.abg>*:first-child{grid-row:span 2}
.abg img{width:100%;height:100%;object-fit:cover}
.ab__ph{box-shadow:none}
.tm{background:#fff;color:#000;--tc:#000}
.tm .btn{--hv:#000;--hvfg:#fff}
.tm__hd{max-width:44rem;margin-bottom:clamp(1.8rem,3.5vw,2.8rem)}
.tm__hd p{margin-bottom:1.2rem;color:#30323f}
.tm__g{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.tmc__ph{background:var(--soft)}
.tmc__ph img{filter:none}
.tm__ini{display:grid;place-items:center;width:100%;height:100%;background:var(--soft);color:var(--blue);font-family:"Almost Textual",sans-serif;font-size:clamp(2.4rem,2rem + 2vw,3.6rem)}
.tmc h3{font-size:1.05rem}
.tmc p{font-size:.92rem;color:var(--mute);opacity:1}
.tmc__in{text-transform:none;letter-spacing:0;font-size:.88rem}

/* Contact */
.fm input,.fm textarea,.fm select{border-width:1px}
.fm label{text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600}
.note{box-shadow:none}

/* Pied de page */
.ft__in{padding-block:clamp(2.5rem,5vw,4rem) 1.4rem}
.ft__logo{width:min(100%,260px)}
.ft__ad{text-transform:none;font-weight:500;font-size:.95rem}
.ft__nav a{text-transform:none;font-weight:600}
.ft__nav,.ft__sv{border-top-color:var(--line)}
.ft__en{border-width:1px;border-radius:999px;text-transform:none;letter-spacing:0;padding:.35rem .8rem}
.mb{border-top:0;border-radius:var(--r) var(--r) 0 0}
.mb__t strong{font-family:Urbanist,sans-serif;font-weight:800;text-transform:none}

/* Cookies */
.ck{border:1px solid var(--line);box-shadow:0 24px 60px -24px rgba(0,0,0,.35)}
.ck__t{font-size:1.1rem}

/* Emplacements de contenu à fournir (visibles par l'équipe connectée uniquement) */
.slot{display:grid;gap:.3rem;place-content:center;text-align:center;min-height:160px;padding:1.6rem;border:1.5px dashed #b9bbd0;background:repeating-linear-gradient(45deg,#fafaff 0 14px,#f3f3fb 14px 28px);color:#3b3e55;font-size:.92rem}
.slot strong{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.slot em{font-size:.78rem;opacity:.7}
.sec--black .slot{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.3);color:#d9dbe6}

@media (max-width:1100px){.igs__g{grid-template-columns:repeat(2,minmax(0,1fr))}.prt{grid-template-columns:1fr}}
@media (max-width:820px){
  .abg{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(140px,40vw,220px)}.abg>*:first-child{grid-column:span 2;grid-row:auto}
  .hero__dots{left:auto;right:var(--pad)}
  .tx__ph,.tx__g--r .tx__ph{box-shadow:none;margin-right:0}
  .yt{box-shadow:none;margin-right:0}
  .prt__l li{grid-template-columns:1fr auto}.prt__l span{grid-column:1/-1;order:3}
}
@media (max-width:640px){.mb .btn{padding:.75rem 1.1rem}}
.hero__t .hero__k{display:block;font-family:Urbanist,sans-serif;font-size:.8rem;line-height:1.3;margin-bottom:1.1rem}
.hero__t .hero__k .w{padding:0;margin:0}
.kp__c img{object-position:50% 12%}
.sts__in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem clamp(2rem,5vw,5rem);align-items:end}
.sts__h .ph__t{margin:0}.sts__h .ph__p{margin:0;color:#30323f}
@media (max-width:820px){.sts__in{grid-template-columns:1fr}}

/* ===== Page Production ===== */
.pdh{padding-block:clamp(1.6rem,3.5vw,3rem) clamp(2.5rem,5vw,4.5rem)}
.pdh__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.pdh__t{font-size:clamp(2rem,1rem + 3.2vw,3.8rem);margin-bottom:1.2rem}
.pdh__p{font-size:clamp(1.02rem,.95rem + .35vw,1.2rem);max-width:34rem;color:#30323f;margin-bottom:1.6rem}
.pdh__b{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}
.pdh__v{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:#000}
.pdh__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pdh__slot{position:absolute;left:1rem;right:1rem;bottom:1rem}.pdh__slot .slot{min-height:0;background:rgba(255,255,255,.92)}
.pdp{background:#000;color:#fff;padding-block:clamp(1.2rem,2.4vw,2rem)}
.pdp .mq__t{--g:clamp(2.5rem,6vw,6rem)}
.pdp img{height:clamp(26px,3vw,40px);width:auto;max-width:none;object-fit:contain;opacity:.85}
.pdp__f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(1.4rem,3vw,2.2rem);padding-top:clamp(1.2rem,2.4vw,1.8rem);border-top:1px solid rgba(255,255,255,.18)}
.pdp__f p{display:grid;gap:.2rem}
.pdp__f b{font-family:"Almost Textual",sans-serif;font-weight:400;font-size:clamp(1.8rem,1.2rem + 2vw,3rem);line-height:1}
.pdp__f span{font-size:.95rem;opacity:.75}
.pdp__f--l{border-color:var(--line)}.pdp__f--l b{color:var(--blue)}.pdp__f--l span{color:var(--mute);opacity:1}
.pdp__s{margin-top:1.2rem}
.pdw__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1.2rem)}
.pdw__c{background:var(--soft);border-radius:var(--r);padding:clamp(1.3rem,2.4vw,2.2rem);display:flex;flex-direction:column;gap:.7rem}
.pdw__c h3{font-size:1.2rem;font-weight:800;letter-spacing:-.01em}
.pdw__n{color:var(--mute);font-size:.95rem}
.pdw__a{margin-top:auto;font-size:1.05rem;font-weight:600;line-height:1.45;padding-top:1rem;border-top:1px solid var(--line)}
.eco__t{max-width:22em}
.eco__tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.2rem,2.4vw,1.8rem)}
.eco__tab{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.2rem;border-radius:999px;background:#fff;font-weight:700;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s}
.eco__tab span{font-size:.78rem;color:var(--blue);transition:color .3s}
.eco__tab:hover{box-shadow:inset 0 0 0 1px #000}
.eco__tab.is-on{background:#000;color:#fff;box-shadow:none}.eco__tab.is-on span{color:#9a9aff}
.eco__p{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;background:#fff;border-radius:var(--r);padding:clamp(1.2rem,2.6vw,2.4rem)}
.eco__p[hidden]{display:none}
.eco__p.is-on .eco__tx{animation:ecoin .6s var(--ease) both}
@keyframes ecoin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eco__tx h3{font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem);font-weight:800;margin-bottom:.5rem}
.eco__tx>p{color:#30323f;margin-bottom:1.2rem}
.eco__l{display:flex;flex-wrap:wrap;gap:.45rem}
.eco__l li,.tags li{padding:.45rem .85rem;border-radius:999px;background:var(--soft);font-weight:600;font-size:.9rem}
.eco__im{aspect-ratio:4/3;border-radius:var(--r-s);overflow:hidden;background:var(--soft)}
.eco__im img{width:100%;height:100%;object-fit:cover}
.eco__band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:clamp(1rem,2vw,1.4rem);padding:1.2rem clamp(1.2rem,2.6vw,2.4rem);border-radius:var(--r);background:var(--blue);color:#fff}
.eco__band .btn{--bg:#fff;--fg:var(--blue);--hv:#000;--hvfg:#fff}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tags li{font-size:.82rem;padding:.35rem .75rem}
.tags--l li{font-size:.95rem;padding:.55rem 1rem}
.pdc__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1rem,2vw,1.6rem)}
.pdc__c{display:grid;gap:.5rem;align-content:start;position:relative}
.pdc__im{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;background:var(--soft);margin-bottom:.4rem}
.pdc__im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pdc__c:hover .pdc__im img{transform:scale(1.04)}
.pdc__c h3{font-size:1.2rem;font-weight:800}
.pdc__c h3 a{text-decoration:none}.pdc__c h3 a::after{content:"";position:absolute;inset:0}
.pdc__cl{color:var(--mute);font-size:.95rem}
.pds__h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.pds__h .h1{margin:0}.pds__h p{opacity:.8}
.pds__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1vw,1rem)}
.pds__c{position:relative;display:block;aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;background:#111;color:#fff;text-decoration:none}
.pds__c video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pds__c:hover video{transform:scale(1.03)}
.pds__cap{position:absolute;left:0;right:0;bottom:0;padding:2.2rem .9rem .8rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);font-weight:700;font-size:.9rem}
.pdy__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem)}
.pdy__g article{border-top:1px solid #000;padding-top:1.2rem}
.pdy__n{display:block;font-weight:800;color:var(--blue);font-size:.85rem;margin-bottom:.8rem}
.pdy__g h3{font-size:clamp(1.15rem,1rem + .5vw,1.4rem);font-weight:800;margin-bottom:.5rem;letter-spacing:-.01em}
.pdy__g p{color:#30323f}
.pdk__l{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1rem);counter-reset:k}
.pdk__l li{background:#fff;border-radius:var(--r);padding:clamp(1.1rem,1.8vw,1.6rem);display:grid;gap:.5rem;align-content:start;position:relative}
.pdk__n{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:.9rem;margin-bottom:.4rem}
.pdk__l h3{font-size:1.05rem;font-weight:800}
.pdk__l p{font-size:.93rem;color:#30323f;line-height:1.45}
.pdo__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1.2rem)}
.pdo__c{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.3rem,2.4vw,2.2rem);border-radius:var(--r);border:1px solid var(--line)}
.pdo__c--hi{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pdo__k{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.pdo__c h3{font-size:1.3rem;font-weight:800}
.pdo__c p:not(.pdo__k){color:#30323f}
.pdo__c .lnk{margin-top:auto}
.pdf__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.pdf__p{margin-bottom:1.6rem;color:#30323f;max-width:30rem}
.pdf__q{font-weight:800;font-size:1.05rem;margin:1.4rem 0 .4rem}
.pdf__g .slot{margin-top:1rem;min-height:0}
.fm--light{background:#fff;border-radius:var(--r);padding:clamp(1.2rem,2.6vw,2.2rem)}
.fm--light input,.fm--light textarea,.fm--light select{color:#000;border-color:#cfd1de;background:#fff}
.fm--light input:focus,.fm--light textarea:focus,.fm--light select:focus{border-color:var(--blue);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(37,37,244,.15)}
.fm select{width:100%;font:inherit;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.55);background:transparent;color:inherit;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:.75rem;padding-right:2.4rem}
.fm--light .fm__msg.is-ok{color:#0a7a3c}.fm--light .fm__msg.is-ko{color:#c0262f}
.fm--light .fm__ck{border-color:var(--line)}
.fm__opt{font-weight:400;color:var(--mute)}
.cs__im{border-radius:var(--r);overflow:hidden}
.cs__im img{width:100%;max-height:78svh;object-fit:cover}
.cs__g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.cs__gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.cs__gal figure{border-radius:var(--r);overflow:hidden}.cs__gal img{width:100%;aspect-ratio:4/5;object-fit:cover}
.cs__q{margin-top:2rem;max-width:48rem}.cs__q blockquote{font-size:clamp(1.2rem,1rem + .8vw,1.6rem);font-weight:600;line-height:1.4}.cs__q figcaption{margin-top:.8rem;color:var(--mute)}
.cs__h .tags{margin-top:.4rem}
@media (max-width:1100px){.pdk__l{grid-template-columns:repeat(2,minmax(0,1fr))}.pds__g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.pdh__g,.eco__p,.pdf__g,.cs__g,.pds__h{grid-template-columns:1fr}.eco__im{order:-1}}
@media (max-width:820px){.pdw__g,.pdy__g,.pdo__g{grid-template-columns:1fr}.pds__g{grid-template-columns:repeat(2,minmax(0,1fr))}.pdp__f{grid-template-columns:1fr 1fr 1fr}.cs__gal{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pdk__l{grid-template-columns:1fr}.pdp__f{grid-template-columns:1fr}.eco__tab{padding:.6rem .9rem;font-size:.92rem}}
.vbtn{position:absolute;right:1rem;bottom:1rem;z-index:3;width:2.6rem;height:2.6rem;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;transition:background .3s}
.vbtn:hover{background:#000}
.vbtn i{width:.8rem;height:.8rem;border-left:3px solid #fff;border-right:3px solid #fff}
.vbtn[aria-pressed=true] i{border:0;width:.75rem;height:.85rem;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%);margin-left:.15rem}
.room__p--vd{position:relative}
.fst__h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.fst__h .h1{margin:0}.fst__h p{color:#30323f}
.pdk__l--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pdk__l--4 h3{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.3}
.fst__b{margin-top:clamp(1.4rem,2.6vw,2rem)}
.hero__tag{margin-bottom:.6rem}
@media (max-width:1100px){.pdk__l--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.fst__h{grid-template-columns:1fr}}
@media (max-width:420px){.pdk__l--4{grid-template-columns:1fr}}
.tm__g{grid-template-columns:repeat(auto-fill,minmax(min(46%,200px),1fr))}
@media (min-width:1100.02px){.stu--c3{grid-template-columns:repeat(3,minmax(0,1fr))}.stu--c4{grid-template-columns:repeat(4,minmax(0,1fr))}.stu--c5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1100.02px){.stu--c3 .sc__ph{aspect-ratio:16/10}}
.sc--kaptur{min-height:260px}
/* Atouts : le texte reste blanc sur les photos */
.ft4 .tile{color:#fff;--tc:#fff}
.ft4 .tile::after{background:linear-gradient(to top,rgba(0,0,0,.85) 15%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.15))}
.ft4 .tile p{opacity:.92}
/* Article : sommaire et texte centrés ensemble, sans grand vide à droite */
.art__hin,.art__im,.art__g{max-width:calc(1220px + 2*var(--pad))}
.art__g{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}
.art__b{max-width:none}
.art__g--solo .art__b{max-width:50rem}
/* Formulaire : mention reCAPTCHA sur une seule ligne de texte, listes déroulantes bordées */
.fm .fm__rc,.fm .fm__msg{display:block}
.fm.fm--light select{border:1px solid #cfd1de;color:#000;background-color:#fff;border-radius:var(--r-s)}
.fm.fm--light select:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(37,37,244,.15)}
.fm.fm--light input,.fm.fm--light textarea{border-radius:var(--r-s)}
