/* BOW Design v2 : même langage que le site actuel (Webflow) : étiquettes, blocs arrondis 1rem, boutons 5px à texte défilant,
   rideau du hero, bandeau de logos, apparitions de 100 px en 1 s. */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");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:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/fonts/lora-latin-wght-italic.woff2) format("woff2");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:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/fonts/lora-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/lora-latin-wght-normal.woff2) format("woff2");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}

:root{
  --bg:#eeedea; --bg-2:#e6e3de; --paper:#f7f6f3; --ink:#111; --ink-2:#413936; --muted:#6f6863; --line:#dcd8d5; --dark:#111; --dark-2:#1b1b1b; --light:#eeedea;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --gut:clamp(18px,3vw,40px); --maxw:1560px; --maxw-text:1240px;
  --hdr:88px; --r:1rem; --r-s:5px;
  --outq:cubic-bezier(.165,.84,.44,1); --io:cubic-bezier(.645,.045,.355,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:500;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:not(.home) main{padding-top:var(--hdr)}
main{overflow-x:clip}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none;transition:opacity .3s var(--io)}
.prose a,.faq-item a,.contact-card a,.crumbs a:hover,.p-story a{text-decoration:underline;text-underline-offset:.2em}
h1,h2,h3,h4{font-weight:500;line-height:1.1;margin:0 0 .5em;text-wrap:balance}
h1{letter-spacing:-2.5px}h2{letter-spacing:-1.5px}h3{letter-spacing:-.8px}
p{margin:0 0 1.1em;text-wrap:pretty}
ul,ol{margin:0;padding:0}
em{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:0}
.muted{color:var(--muted)}
.center{text-align:center}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7em 1em;z-index:2000}
.skip:focus{left:8px;top:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--maxw-text) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.wrap-wide{width:100%;max-width:calc(var(--maxw) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:calc(860px + var(--gut)*2)}
.section{padding-block:clamp(48px,6vw,96px);background:var(--bg);position:relative}
.h2{font-size:clamp(2rem,3.4vw + .5rem,3.4rem);max-width:19ch}
.center .h2,.sec-head.center .h2,.cta-band .h2{margin-inline:auto}
.h3{font-size:clamp(1.4rem,1.6vw + .7rem,2.2rem)}
.lead{font-size:clamp(1.1rem,.9vw + .9rem,1.5rem);line-height:1.3;letter-spacing:-.3px;color:var(--ink-2);max-width:48ch}
.center .lead,.sec-head.center .lead{margin-inline:auto}
.cover{width:100%;height:100%;object-fit:cover}
picture{display:block}
picture img{width:100%}
.cover,picture:has(.cover){height:100%}
.sec-head{margin-bottom:clamp(32px,5vw,64px)}
.sec-head.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.sec-head.center .h2{max-width:20ch}
.sec-head .lead{margin-top:.8em}

/* Étiquette (label) : puce arrondie 5px avec W */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:var(--line);color:var(--ink-2);border-radius:var(--r-s);padding:.4rem .7rem;font-size:.85rem;font-weight:500;line-height:1.2;margin:0 0 1.2rem}
.eyebrow::before{content:"";width:12px;height:12px;flex:none;background:url(/assets/logo/logo-bw-noir.svg) center/contain no-repeat}
.eyebrow.on-dark{background:rgba(34,37,37,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--light)}
.eyebrow.on-dark::before,.cta-band .eyebrow::before,.site-footer .eyebrow::before{background-image:url(/assets/logo/logo-bw-blanc.svg)}

/* Boutons : 5px, texte qui défile (750 ms), flèche qui glisse */
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--ink-2);color:var(--light);border:1px solid var(--ink-2);border-radius:var(--r-s);padding:.5rem 1.25rem;font-size:.95rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .4s var(--io),color .4s var(--io),border-color .4s var(--io)}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink-2);border-color:rgba(20,55,46,.2)}
.btn.ghost:hover{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
.btn.light{background:var(--light);color:var(--ink-2);border-color:var(--light);font-weight:600}
.btn.light:hover{background:#fff;border-color:#fff}
.roll{display:flex;flex:none;flex-direction:column;height:1.2em;overflow:hidden;text-align:left}
.roll>span{display:block;height:1.2em;line-height:1.2em;white-space:nowrap;transition:transform .75s var(--io)}
a:hover>.roll>span,button:hover>.roll>span{transform:translateY(-100%)}
.arr{display:inline-flex;width:18px;height:18px;overflow:hidden;flex:none}
.arr-in{display:flex;transition:transform .75s var(--io)}
.arr svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
a:hover .arr-in,button:hover .arr-in{transform:translateX(-18px)}
.arrow-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:.15em}
.arrow-link::after{content:"→";transition:transform .5s var(--io)}
.arrow-link:hover::after{transform:translateX(5px)}
.link-light{color:var(--light);border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.15em;font-weight:600}

/* Barre de navigation fixe */
.site-header{position:fixed;inset:0 0 auto 0;z-index:999;background:transparent;border-bottom:1px solid transparent;color:var(--ink);transition:background-color .4s var(--io),border-color .4s var(--io),color .4s var(--io)}
.site-header.is-solid{background:var(--bg);border-bottom-color:var(--line)}
.hdr-in{display:flex;align-items:center;gap:clamp(16px,2.5vw,40px);height:var(--hdr);max-width:calc(var(--maxw) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.brand{display:block;flex:none}
.brand img{height:50px;width:auto}
.nav{margin-inline:auto}
.nav>ul{display:flex;list-style:none;align-items:center;gap:.1rem}
.nav>ul>li>a{display:flex;align-items:center;gap:.35rem;padding:.6rem .85rem;font-size:.9rem;font-weight:600;border-radius:var(--r-s);transition:background-color .4s var(--io)}
.nav>ul>li>a:hover,.has-dd:hover>a,.has-dd:focus-within>a{background:rgba(65,57,54,.09)}
.chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--io)}
.has-dd:hover .chev,.has-dd:focus-within .chev{transform:rotate(180deg)}
.has-dd{position:relative}
.dd{position:absolute;top:calc(100% + 14px);left:0;transform:translateY(8px);min-width:460px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:26px 30px;display:grid;grid-auto-flow:column;gap:44px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--io),transform .4s var(--io),visibility .4s;box-shadow:0 30px 70px -40px rgba(0,0,0,.45)}
.dd::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.dd ul{list-style:none;display:grid;gap:2px}
.dd a{display:block;font-weight:500;font-size:.95rem;padding:.3em 0;white-space:nowrap}
.dd a:hover{opacity:.55}
.dd-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .7em}
.hdr-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}
.hdr-shop{display:flex;align-items:center;gap:.4rem;border:1px solid rgba(20,55,46,.2);border-radius:var(--r-s);padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--ink-2);background:var(--bg);transition:background-color .4s var(--io)}
.hdr-shop:hover{background:#fff}
.hdr-cta{display:flex;align-items:center;gap:.4rem;background:var(--ink);color:var(--light);border-radius:var(--r-s);padding:.5rem 1.1rem;font-size:.9rem;font-weight:500;white-space:nowrap}
.mmenu{display:none}
/* au-dessus du hero : texte clair, fond transparent */
.site-header.is-overlay:not(.is-solid){color:var(--light)}
.site-header.is-overlay:not(.is-solid) .brand img{filter:brightness(0) invert(1)}
.site-header.is-overlay:not(.is-solid) .nav>ul>li>a:hover,.site-header.is-overlay:not(.is-solid) .has-dd:hover>a{background:rgba(255,255,255,.14)}
.site-header.is-overlay:not(.is-solid) .hdr-shop{background:var(--light);color:var(--ink-2);border-color:var(--light)}

@media (max-width:1040px){
  :root{--hdr:72px}
  .nav,.hdr-actions{display:none}
  .brand img{height:42px}
  .mmenu{display:block;margin-left:auto}
  .mmenu summary{list-style:none;cursor:pointer;font-weight:600;padding:.5em .2em;position:relative;z-index:1300}
  .mmenu summary::-webkit-details-marker{display:none}
  .mm-close{display:none}
  .mmenu[open] .mm-open{display:none}
  .mmenu[open] .mm-close{display:inline}
  .mm-panel{position:fixed;inset:0;z-index:1200;background:var(--bg);color:var(--ink);padding:calc(var(--hdr) + 12px) var(--gut) 40px;overflow:auto;display:flex;flex-direction:column;gap:2px}
  .mmenu[open] summary{position:fixed;top:calc(var(--hdr)/2 - 18px);right:var(--gut);color:var(--ink)}
  .mm-top{font-size:1.8rem;font-weight:500;letter-spacing:-.04em;padding:.35em 0;border-bottom:1px solid var(--line)}
  .mm-sub{display:flex;flex-wrap:wrap;gap:6px 18px;padding:.5em 0 .9em}
  .mm-sub a{font-size:1rem;color:var(--ink-2)}
  .mm-panel .btn{margin-top:20px;justify-content:center}
  .mm-contact{margin-top:20px;color:var(--muted)}
  .site-header.is-overlay:not(.is-solid) .mmenu summary{color:var(--light)}
  .site-header.is-overlay:not(.is-solid) .mmenu[open] summary{color:var(--ink)}
}

/* Loader d'entrée (accueil, une fois par session) */
.loader{display:none}
html.is-loading .loader{position:fixed;inset:0;z-index:3000;background:#000;display:flex;align-items:center;justify-content:center;transition:transform .9s var(--io)}
html.is-loading.loader-out .loader{transform:translateY(-100%)}
.loader img{width:min(260px,52vw);height:auto;clip-path:inset(0 100% 0 0)}
html.is-loading.loader-in .loader img{clip-path:inset(0 0 0 0);transition:clip-path 1s var(--io)}
html.is-loading{overflow-y:scroll}

/* Barre de progression de lecture */
.progress{position:fixed;left:0;bottom:0;height:.4rem;width:0;background:var(--ink);z-index:998;pointer-events:none}

/* Hero accueil : montage diagonal de 3 photos réelles, collant (effet rideau) */
.hero{position:sticky;top:0;height:100svh;min-height:560px;overflow:clip;color:var(--light);background:#26231f;display:grid;align-items:end}
.hero-media{position:absolute;inset:0}
.hero-slice{position:absolute;inset:0}
.hero-slice picture,.hero-slice img{width:100%;height:100%}
.hero-slice img{object-fit:cover}
.hs-1{clip-path:polygon(0 0,31% 0,5% 100%,0 100%)}
.hs-2{clip-path:polygon(31% 0,89% 0,50% 100%,5% 100%)}
.hs-3{clip-path:polygon(89% 0,100% 0,100% 100%,50% 100%)}
.hs-1 img{object-position:30% 60%}.hs-2 img{object-position:48% 62%}.hs-3 img{object-position:58% 60%}
.hero-grad{position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(29,22,13,.7) 12%,rgba(13,29,25,0) 38% 70%,rgba(29,23,13,.7) 92%),linear-gradient(180deg,rgba(17,12,8,0) 30%,rgba(17,12,8,.55) 100%);pointer-events:none}
.hero-in{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(var(--hdr) + 24px) var(--gut) clamp(36px,9vh,96px);text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-h1{margin:0;font-weight:600;letter-spacing:-.04em}
.hero-display{display:block;font-size:clamp(2.7rem,6.6vw,5.6rem);line-height:1;max-width:13ch;margin-inline:auto}
.hero-display em{font-weight:600;letter-spacing:0}
.hero-lead{font-size:clamp(1.05rem,.8vw + .9rem,1.35rem);max-width:40ch;margin:1.2em auto 1.2em;opacity:.95;line-height:1.3}
.hero-cta{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:0}
.hero-in .eyebrow{margin-bottom:1.4rem}
.curtain{position:relative;z-index:2;background:var(--bg);border-radius:var(--r) var(--r) 0 0}

/* Bandeau de logos qui défile */
.logos-block{padding-block:2.5rem 1.5rem}
.logos-title{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin:0 0 1.2rem;color:var(--ink-2);opacity:.5}
.marquee{position:relative;overflow:hidden;margin-bottom:1.6rem}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(238,237,234,0))}
.marquee::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(238,237,234,0))}
.marquee-in{--g:4rem;display:flex;align-items:center;gap:var(--g);width:max-content;animation:scroll 30s linear infinite}
.marquee-in picture{height:50px;width:auto;flex:none;display:flex;align-items:center}
.marquee-in img{height:50px;width:auto;max-width:200px;object-fit:contain;mix-blend-mode:multiply}
@keyframes scroll{to{transform:translateX(calc(-50% - var(--g)/2))}}
.logos{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(24px,5vw,64px);margin-bottom:1.5rem}
.logos picture{width:clamp(96px,12vw,150px)}
.logos img{height:auto;max-height:54px;object-fit:contain;filter:grayscale(1);opacity:.78;mix-blend-mode:multiply}

/* Intro + chiffres */
.grid-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:center}
.intro-text .h2{max-width:20ch}
.intro-fig{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r)}
.intro-text p{max-width:56ch;font-size:1.1rem}
.numbers-wrapper{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vw,80px)}
.number{display:flex;flex-direction:column;align-items:center;text-align:center;border-left:1px solid var(--line);padding:2.5rem 1rem;gap:.5rem}
.number:last-child{border-right:1px solid var(--line)}
.number strong{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.05em;line-height:1;font-weight:500}
.number span{color:var(--ink-2);font-size:.95rem}

/* Pièces */
.room-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,32px)}
.room{display:block}
.room-img{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.room-img img,.pcard-img img,.bcard-img img,.sitem-img img,.mat-img img{transition:transform .5s var(--io)}
.room:hover .room-img img,.pcard:hover .pcard-img img,.bcard:hover .bcard-img img,.sitem:hover .sitem-img img,.mat-row:hover .mat-img img{transform:scale(1.1)}
.room-name{display:block;font-size:1.2rem;font-weight:600;margin-top:.8em;letter-spacing:-.02em}
.room-line{display:block;color:var(--muted);font-size:.92rem;font-weight:500}

/* Matières */
.mat-row{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,6vw,96px);align-items:center;margin-bottom:clamp(48px,8vw,112px)}
.mat-row.rev{grid-template-columns:.85fr 1.15fr}
.mat-row.rev .mat-img{order:2}
.mat-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.mat-text{max-width:30em}
.mat-text .h3{font-size:clamp(1.7rem,2.2vw + .6rem,2.8rem);max-width:15ch}
.note-bois{text-align:center;color:var(--ink-2);margin:0}

/* Réalisations */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,56px) clamp(16px,2.4vw,32px)}
.pgrid-3{grid-template-columns:repeat(3,1fr)}
.pcard{display:block}
.pcard-img{display:block;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.pcard-meta{display:block;padding-top:.9em}
.pcard-title{display:block;font-weight:600;font-size:1.1rem;line-height:1.2;letter-spacing:-.02em}
.pcard-sub{display:block;color:var(--muted);font-size:.9rem;margin-top:.25em;font-weight:500}
.real-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(28px,4vw,56px) clamp(16px,2.4vw,32px);align-items:start;margin-bottom:clamp(32px,5vw,64px)}
.rm-a{grid-column:span 7}.rm-b{grid-column:span 5}.rm-c{grid-column:span 5}.rm-d{grid-column:span 7}
.pcard[hidden]{display:none}

/* Bien-être : bloc sombre arrondi */
.well{background:var(--bg)}
.well-block{background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(24px,4vw,56px)}
.grid-well{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,80px);align-items:center}
.well-fig{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r)}
.well-text .h2{max-width:14ch}
.well-text .lead{color:#cfc9c1}
.well-list{list-style:none;display:grid;gap:1em;margin-top:1.8em}
.well-list li{padding-top:1em;border-top:1px solid #2d2926;max-width:52ch;color:#b9b2a9;font-weight:500}
.well-list strong{color:var(--light);font-weight:600}

/* Savoir-faire */
.craft-head{margin-bottom:clamp(32px,5vw,56px)}
.craft-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(16px,2.4vw,32px);align-items:end}
.craft-grid figure{margin:0;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.craft-a{aspect-ratio:3/2}.craft-b{aspect-ratio:3/4}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,40px);margin:clamp(36px,5vw,64px) 0}
.steps li{border-top:1px solid var(--ink);padding-top:1em;color:var(--ink-2);font-size:.97rem}
.steps strong{display:block;color:var(--ink);font-size:1.2rem;font-weight:600;margin-bottom:.25em;letter-spacing:-.02em}
.steps span{display:block;font-family:var(--serif);font-style:italic;color:var(--muted);margin-bottom:.4em}

/* Preuves, avis */
.proofs .lead{margin-bottom:1em}
.reviews{background:var(--paper)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-bottom:2.4em}
.rev{margin:0;background:var(--bg);border-radius:var(--r);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;gap:1.4em}
.rev blockquote{margin:0}
.rev blockquote p{font-size:1.05rem;line-height:1.5;color:var(--ink-2);margin:0}
.rev figcaption{font-weight:600}

/* Zone */
.grid-zone{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,100px);align-items:start}
.zone-list{list-style:none;display:grid;gap:12px}
.zone-list li{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);padding:1.4rem 1.6rem;transition:transform .4s var(--io)}
.zone-list li:hover{transform:scale(.97)}
.zone-list a{font-size:clamp(1.25rem,1.6vw + .6rem,1.8rem);font-weight:600;letter-spacing:-.04em}
.zone-list span{color:var(--muted);font-size:.95rem}

/* Cartes blog */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-bottom:2.4em}
.bcard{display:block}
.bcard-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.bcard-img img{height:100%;object-fit:cover}
.bcard-meta{display:block;padding-top:.9em}
.bcard-cluster{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.35em}
.bcard-title{display:block;font-weight:600;font-size:1.15rem;line-height:1.2;letter-spacing:-.02em}

/* FAQ */
.faq{background:var(--bg)}
.faq .h2{margin-bottom:1em}
.faq-item{background:#fff;border-radius:var(--r);margin-bottom:10px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1.3em 3.2em 1.3em 1.6em;font-weight:600;font-size:1.05rem;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.4em;top:50%;transform:translateY(-50%);font-size:1.6rem;font-weight:300;transition:transform .5s var(--io)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{color:var(--ink-2);max-width:62ch;padding:0 1.6em 1.5em;margin:0}

/* Bloc CTA noir + filigrane BW */
.cta-band{background:var(--bg);padding:0 var(--gut) clamp(40px,6vw,80px)}
.cta-in{position:relative;overflow:hidden;background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(48px,8vw,112px) var(--gut);max-width:var(--maxw);margin-inline:auto;text-align:center}
.cta-in::before{content:"";position:absolute;inset:0 -2% auto auto;height:100%;width:42%;background:url(/assets/logo/logo-w-blanc.svg) right center/contain no-repeat;opacity:.07;pointer-events:none}
.cta-in>*{position:relative}
.cta-band .h2{font-size:clamp(2.2rem,4.4vw + .5rem,4.5rem);max-width:15ch;color:var(--light)}
.cta-band .lead{color:#cfc9c1;margin-inline:auto;margin-bottom:1.8em}
.cta-band .btn{background:var(--light);color:var(--ink-2);border-color:var(--light);font-weight:600}
.cta-band .btn:hover{background:#fff}
.cta-band .btn.ghost{background:transparent;color:var(--light);border-color:rgba(255,255,255,.35)}
.cta-band .btn.ghost:hover{background:var(--light);color:var(--ink)}
.cta-band .btn+.btn{margin-left:10px}

/* Pied de page */
.site-footer{background:var(--dark);color:#cfc9c1;padding:clamp(48px,7vw,96px) 0 28px;font-size:.95rem}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(24px,4vw,64px);padding-bottom:48px}
.ft-brand img{width:150px;height:auto;margin-bottom:1.2em}
.ft-brand p{max-width:34ch}
.ft-contact a{color:#fff}
.ft-title{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#8d867e;margin:0 0 1em}
.ft-col ul{list-style:none;display:grid;gap:.45em}
.site-footer a:hover{color:#fff;opacity:1;text-decoration:underline}
.ft-bottom{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;border-top:1px solid #2a2725;padding-top:24px;color:#8d867e;font-size:.85rem}
.ft-bottom p{margin:0}
.ft-links{display:flex;gap:6px 20px;flex-wrap:wrap}

/* Barre mobile */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:990;background:rgba(17,17,17,.94);border-radius:var(--r-s);padding:6px;backdrop-filter:blur(8px)}
  .mbar a{color:#fff;font-weight:600;font-size:.95rem;padding:.8em 1.2em;border-radius:var(--r-s);text-align:center}
  .mbar-cta{background:var(--light);color:var(--ink)!important}
  body{padding-bottom:78px}
  .progress{display:none}
}

/* Pages internes : en-tête centré comme sur le site actuel */
.crumbs{font-size:.82rem;color:var(--muted);margin:0 0 1.6em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3em .6em;justify-content:center}
.crumbs li+li::before{content:"/";margin-right:.6em;opacity:.6}
.crumbs a:hover{text-decoration:underline}
.page-head{padding-block:clamp(36px,6vw,80px) clamp(24px,4vw,48px)}
.page-head>.wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.page-head .h1{font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1.02;max-width:17ch;margin-bottom:.4em;letter-spacing:-.05em;font-weight:600}
.page-head .lead{max-width:44ch;margin-inline:auto}
.page-head .muted{margin-top:.6em}
.page-head nav .use-links{justify-content:center}
.page-fig{margin:0 0 clamp(40px,6vw,88px);overflow:hidden;background:var(--bg-2);aspect-ratio:16/8;border-radius:var(--r)}
.prose{max-width:68ch;margin-inline:auto}
.prose h2{font-size:clamp(1.5rem,1.6vw + .8rem,2.1rem);margin-top:1.8em}
.prose h3{font-size:1.25rem;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.post-fig{margin:2em 0}
.post-fig img{width:100%;border-radius:var(--r)}

/* Matière / pièce */
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,6vw,100px);align-items:start}
.sticky{position:sticky;top:calc(var(--hdr) + 24px)}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.benefit{background:#fff;border-radius:var(--r);padding:clamp(20px,2.4vw,32px)}
.benefit h3{font-size:1.3rem;margin-bottom:.4em;letter-spacing:-.03em}
.benefit p{color:var(--ink-2);margin:0}
.timeline{list-style:none;counter-reset:s;display:grid;gap:10px}
.timeline li{counter-increment:s;display:grid;grid-template-columns:3.2em 1fr;gap:1em;padding:1.2em 1.4em;background:#fff;border-radius:var(--r)}
.timeline li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-style:italic;color:var(--muted)}
.timeline h3{font-size:1.15rem;margin:0 0 .25em}
.timeline p{margin:0;color:var(--ink-2)}
.use-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.use-links a{display:inline-block;border:1px solid rgba(20,55,46,.25);border-radius:var(--r-s);padding:.5em 1.1em;font-weight:600;font-size:.92rem;transition:background-color .4s var(--io),color .4s var(--io)}
.use-links a:hover{background:var(--ink-2);color:var(--light)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,28px);margin-block:clamp(32px,5vw,72px)}
.duo figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:var(--bg-2);border-radius:var(--r)}
.band{background:var(--paper)}
.doc-link{display:inline-flex;gap:.5em;align-items:center}

/* Réalisation */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2em 2em;margin:0;padding:1.4em 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.facts dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2em}
.facts dd{margin:0;font-weight:600}
.p-hero{margin:clamp(24px,4vw,48px) 0;overflow:hidden;border-radius:var(--r)}
.p-hero picture,.p-hero img{width:100%}
.p-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,100px);padding-block:clamp(40px,6vw,88px)}
.p-story ul{list-style:none;display:grid;gap:.5em;color:var(--ink-2)}
.p-story li::before{content:"";display:inline-block;width:.45em;height:1px;background:var(--ink);vertical-align:middle;margin-right:.7em}
.gallery{column-count:2;column-gap:clamp(12px,2vw,28px)}
.gallery figure{margin:0 0 clamp(12px,2vw,28px);break-inside:avoid;background:var(--bg-2);border-radius:var(--r);overflow:hidden}
.gallery img{width:100%}
.pager{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:1.4em;margin-top:3em}

/* Index réalisations */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.filters+.filters{margin-bottom:clamp(28px,4vw,48px)}
.chip{font:inherit;font-size:.88rem;font-weight:600;background:transparent;border:1px solid rgba(20,55,46,.25);border-radius:var(--r-s);padding:.45em 1em;cursor:pointer;color:var(--ink-2);transition:background-color .4s var(--io),color .4s var(--io)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
.filter-label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .6em}
.js-only{display:none}.js .js-only{display:flex}
.empty{color:var(--muted)}

/* Équipe, formulaire, boutique, zones */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
.team li{background:#fff;border-radius:var(--r);padding:1.4em}
.team strong{display:block;font-size:1.2rem;font-weight:600;letter-spacing:-.02em}
.team span{color:var(--muted)}
.quote-big{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.5rem,2.4vw + .5rem,2.5rem);line-height:1.25;max-width:26ch;margin:0}
.form{display:grid;gap:1.1em;max-width:640px}
.form label{display:grid;gap:.35em;font-weight:600;font-size:.92rem}
.form input,.form textarea,.form select{font:inherit;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:.85em 1em;color:var(--ink);width:100%}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1em}
.form .hp{position:absolute;left:-9999px}
.form small{color:var(--muted);font-weight:500}
.form-msg{padding:1em 1.2em;border-radius:var(--r-s);background:#fff;display:none;margin-bottom:1em}
.form-msg.show{display:block}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,100px);align-items:start}
.contact-card{background:#fff;border-radius:var(--r);padding:clamp(22px,2.4vw,32px)}
.contact-card p{margin-bottom:1.3em}
.contact-card strong{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.2em}
.shop{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.sitem{display:block}
.sitem-img{display:block;aspect-ratio:1;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.sitem-img img{height:100%;object-fit:cover}
.sitem-tag{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.9em}
.sitem-title{display:block;font-weight:600;font-size:1.1rem;line-height:1.2}
.sitem-price{display:block;margin-top:.3em}
.sitem-price s{color:var(--muted);margin-left:.5em}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,100px);align-items:start}
.pdp-img{aspect-ratio:1;overflow:hidden;background:var(--bg-2);border-radius:var(--r)}
.price{font-size:1.6rem;font-weight:600}
.price s{font-size:1.1rem;color:var(--muted);margin-left:.6em;font-weight:500}
.towns{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px}
.towns li{background:#fff;border-radius:var(--r-s);padding:.35em .9em;font-size:.92rem;color:var(--ink-2)}

/* Apparitions : 100 px et fondu en 1 s (outQuart), comme sur le site actuel */
.js [data-rv]{opacity:0;transform:translateY(56px)}
.js [data-rv="fade"]{transform:none}
.js [data-rv="left"]{transform:translateX(-64px)}
.js [data-rv="right"]{transform:translateX(64px)}
.js [data-rv="scale"]{transform:scale(.75)}
.js [data-rv].in{opacity:1;transform:none;transition:opacity .9s ease-out,transform 1.2s cubic-bezier(.22,.7,.3,1)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-rv]{opacity:1;transform:none}
  .marquee-in{animation:none}
  .loader{display:none!important}
  *,*::before,*::after{transition-duration:.01ms!important}
}
@media (hover:none){
  .room:hover .room-img img,.pcard:hover .pcard-img img,.bcard:hover .bcard-img img,.sitem:hover .sitem-img img,.mat-row:hover .mat-img img{transform:none}
}

/* Tablette et mobile */
@media (max-width:1000px){
  .grid-intro,.grid-well,.grid-zone,.two-col,.contact-grid,.pdp,.p-story{grid-template-columns:1fr}
  .intro-fig,.well-fig{aspect-ratio:4/3}
  .room-grid{grid-template-columns:repeat(2,1fr)}
  .mat-row,.mat-row.rev{grid-template-columns:1fr;gap:20px}
  .mat-row.rev .mat-img{order:0}
  .real-mosaic{grid-template-columns:1fr}
  .rm-a,.rm-b,.rm-c,.rm-d{grid-column:auto}
  .craft-grid{grid-template-columns:1fr}
  .craft-b{aspect-ratio:3/2}
  .steps{grid-template-columns:repeat(2,1fr)}
  .rev-grid,.bgrid,.shop,.pgrid-3{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  .ft-brand{grid-column:1/-1}
  .team{grid-template-columns:repeat(2,1fr)}
  .benefits{grid-template-columns:1fr}
  .numbers-wrapper{grid-template-columns:1fr 1fr}
  .number{border-bottom:1px solid var(--line)}
  .number:nth-child(2){border-right:1px solid var(--line)}
  .sticky{position:static}
  .page-fig{aspect-ratio:4/3}
  .js [data-rv="left"],.js [data-rv="right"]{transform:translateY(40px)}
}
@media (max-width:640px){
  .hero{min-height:100svh}
  .hs-1{clip-path:polygon(0 0,38% 0,0 70%)}
  .hs-2{clip-path:polygon(38% 0,100% 0,100% 40%,0 100%,0 70%)}
  .hs-3{clip-path:polygon(100% 40%,100% 100%,0 100%)}
  .hero-display{font-size:clamp(2.6rem,12.5vw,3.6rem)}
  .pgrid{grid-template-columns:1fr}
  .gallery{column-count:1}
  .duo{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  .cta-band .btn+.btn{margin:10px 0 0}
  .cta-in::before{width:70%;opacity:.05}
  .marquee::before,.marquee::after{width:60px}
  .marquee-in{--g:3rem}
}
@media print{.site-header,.mbar,.cta-band,.site-footer,.loader,.progress{display:none}}

/* v2.1 : alignements du site actuel */
.statement{font-size:clamp(1.7rem,2.7vw + .6rem,3rem);line-height:1.13;letter-spacing:-.04em;max-width:26ch;margin:0 auto 1em;text-align:center;font-weight:500;color:var(--ink)}
.statement em{font-weight:700;letter-spacing:-.01em}
.center-head{display:flex;flex-direction:column;align-items:center;text-align:center}
.center-head .lead{margin-inline:auto}
.gridlines{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--line) calc(25% - 1px),var(--line) 25%)}
.marquee-in .line-up{width:1px;height:32px;background:var(--ink-2);opacity:.12;flex:none}
.mcards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mcards.two{grid-template-columns:repeat(2,1fr)}
.mcard{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;aspect-ratio:5/3;border-radius:var(--r);overflow:hidden;color:#fff;padding:clamp(18px,2vw,28px);background:#2a2623;transition:transform .4s var(--io)}
.mcard picture{position:absolute;inset:0;z-index:0}
.mcard picture img{height:100%;object-fit:cover;transition:transform .5s var(--io)}
.mcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.15) 30%,rgba(17,17,17,.72) 100%);z-index:1}
.mcard>*:not(picture){position:relative;z-index:2}
.mcard-name{display:block;font-size:clamp(1.3rem,1.5vw + .6rem,2rem);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.mcard-line{display:block;font-size:.95rem;opacity:.9;margin-top:.35em;max-width:30ch;font-weight:500}
.mcard .arr{width:24px;height:24px}
.mcard .arr svg{width:24px;height:24px}
.mcard:hover picture img{transform:scale(1.06)}
.mcard.ext{aspect-ratio:12/5}
.black-block{position:relative;overflow:hidden;background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(32px,5vw,72px);display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.black-block::before{content:"";position:absolute;inset:0 -3% 0 auto;width:46%;background:url(/assets/logo/logo-w-blanc.svg) right center/contain no-repeat;opacity:.07;pointer-events:none}
.black-block>*{position:relative}
.black-block .statement{text-align:left;margin:0;max-width:22ch;color:var(--light);font-size:clamp(1.6rem,2.4vw + .6rem,2.6rem)}
.black-block .btn{background:var(--light);color:var(--ink-2);border-color:var(--light)}
.grid-zone2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,100px);align-items:center}
.zone-fig{position:relative;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.zone-fig figcaption{position:absolute;right:1rem;bottom:.9rem;font-style:italic;font-size:.85rem;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5);z-index:2}
.zone-text .h2{max-width:16ch}
.zone-text .lead{margin-bottom:1.2em}
.real-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(28px,4vw,56px)}
.real-head .h2{max-width:14ch;margin-bottom:0}
.real-head-r{max-width:30ch;text-align:right}
.real-head-r p{margin-bottom:1em;color:var(--ink-2)}
.js .mcard.done:hover,.js .zone-list li.done:hover{transform:scale(.97)}
.js [data-rv].in.done{transition:transform .4s var(--io),opacity .3s var(--io);will-change:auto}
@media (max-width:1000px){
  .mcards,.mcards.two{grid-template-columns:1fr 1fr}
  .grid-zone2{grid-template-columns:1fr}
  .zone-fig{aspect-ratio:4/3}
  .black-block{grid-template-columns:1fr}
  .real-head{flex-direction:column;align-items:flex-start}
  .real-head-r{text-align:left}
}
@media (max-width:640px){
  .mcards,.mcards.two{grid-template-columns:1fr}
  .mcard,.mcard.ext{aspect-ratio:16/10}
  .gridlines{background:none}
}

/* Sliders : défilement natif avec accroche, flèches, glisser à la souris */
.slider{--sg:16px;--n:3;position:relative}
.slider-track{display:flex;gap:var(--sg);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scroll-padding-inline:var(--gut);overscroll-behavior-x:contain;cursor:grab}
.slider-track::-webkit-scrollbar{display:none}
.slider-track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.slider-track.is-drag *{pointer-events:none}
.slide{flex:0 0 calc((min(100vw,var(--maxw) + var(--gut)*2) - var(--gut)*2 - (var(--n) - 1)*var(--sg))/var(--n));scroll-snap-align:start;min-width:0}
.slider-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:1.2rem}
.slider.is-static .slider-nav{display:none}
.slider-nav button{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(20,55,46,.25);border-radius:var(--r-s);background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .4s var(--io),color .4s var(--io),opacity .3s}
.slider-nav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.slider-nav button:hover:not(:disabled){background:var(--ink-2);color:var(--light)}
.slider-nav button:disabled{opacity:.3;cursor:default}
.slide .room,.slide .pcard,.slide .bcard,.slide .rev{height:100%}
.slide .mcard:hover{transform:scale(.97)}
.slide .mcard{aspect-ratio:4/5}
.slider.mats-sl .slide .mcard{aspect-ratio:4/5}
.slide .rev{height:100%}
/* --n inline ne convient pas : on pilote par classes pour pouvoir changer selon l'écran */
.slider.n2{--n:2}.slider.n3{--n:3}.slider.n4{--n:4}
@media (max-width:1000px){.slider.n2,.slider.n3,.slider.n4{--n:2.2}}
@media (max-width:640px){.slider.n2,.slider.n3,.slider.n4{--n:1.18;--sg:12px}}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(24px,4vw,48px)}
.sec-head-row .h2{margin-bottom:0}
.more-wrap{text-align:center;margin-top:clamp(28px,4vw,48px)}
.more-wrap[hidden]{display:none}

.js-only .filters{justify-content:center;margin-bottom:clamp(24px,3vw,40px)}
.bcard[hidden]{display:none}

/* Page contact */
.contact-sec{padding:clamp(16px,3vw,32px) 0 clamp(32px,5vw,64px)}
.contact-dark{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(24px,4vw,56px);background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(20px,3.5vw,48px)}
.contact-left{display:flex;flex-direction:column;padding:clamp(4px,1vw,16px)}
.contact-h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;letter-spacing:-.05em;font-weight:600;margin:.1em 0 .35em;max-width:11ch}
.contact-left .lead{color:#cfc9c1;max-width:34ch}
.contact-list{list-style:none;display:grid;gap:10px;margin:1.6rem 0}
.contact-list a{display:flex;align-items:center;gap:1rem;background:var(--dark-2);border-radius:var(--r);padding:1rem 1.2rem;transition:background-color .4s var(--io)}
.contact-list a:hover{background:#262321}
.contact-list .ci{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;flex:none}
.contact-list .ci svg{width:20px;height:20px;fill:none;stroke:var(--light);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact-list small{display:block;font-size:.78rem;color:#9a938a;font-weight:500}
.contact-list strong{display:block;font-weight:600;font-size:1.02rem;letter-spacing:-.01em}
.contact-photo{margin:auto 0 0;flex:1;min-height:200px;border-radius:var(--r);overflow:hidden;position:relative}
.contact-photo picture{position:absolute;inset:0}
.contact-formcard{background:var(--bg);color:var(--ink);border-radius:var(--r);padding:clamp(22px,3vw,44px)}
.contact-h2{font-size:clamp(1.6rem,2vw + .6rem,2.4rem);letter-spacing:-.04em;margin:0 0 1.2rem}
.contact-formcard .form{max-width:none;gap:1.2em}
.rchips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rchips legend{font-weight:600;font-size:.92rem;margin-bottom:.6rem;padding:0}
.rchip{display:block;position:relative}
.rchip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.rchip span{display:block;border:1px solid rgba(20,55,46,.25);border-radius:var(--r-s);padding:.5em 1em;font-size:.9rem;font-weight:600;color:var(--ink-2);transition:background-color .3s var(--io),color .3s var(--io)}
.rchip:hover span{border-color:var(--ink)}
.rchip input:checked+span{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
.rchip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.form-foot{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin:0}
.form-foot small{flex:1;min-width:200px;line-height:1.3}
.contact-formcard .form-msg{background:#fff}
@media (max-width:1000px){.contact-dark{grid-template-columns:1fr}.contact-photo{min-height:240px}.contact-h1{max-width:none}}
.contact-left .eyebrow{align-self:flex-start}

/* v2.2 : slider pleine largeur, fluide ; méga-menu */
.slider-track{position:relative;margin-inline:calc(50% - 50vw);padding-inline:max(var(--gut),calc((100vw - var(--maxw))/2));scroll-padding-inline:max(var(--gut),calc((100vw - var(--maxw))/2));will-change:scroll-position}
.slider-track.is-anim{scroll-snap-type:none}
@media (hover:hover) and (pointer:fine){.slider-track{scroll-snap-type:none}}
.slider-nav{padding-right:0}

.has-dd{position:static}
.nav>ul>li>a{position:relative}
.has-dd>a::before{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:48px}
.mega{position:absolute;left:0;right:0;top:100%;padding:10px var(--gut) 0;visibility:hidden;pointer-events:none;transition:visibility 0s .35s}
.has-dd:hover .mega,.has-dd:focus-within .mega{visibility:visible;pointer-events:auto;transition-delay:0s}
.mega-in{max-width:1000px;min-height:340px;align-items:start;margin:0 auto;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr)) 320px;gap:clamp(24px,3.2vw,56px);padding:clamp(24px,2.6vw,40px);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 40px 90px -50px rgba(17,17,17,.55);opacity:0;transform:translateY(12px);transition:opacity .4s var(--io),transform .5s var(--io)}
.has-dd:hover .mega-in,.has-dd:focus-within .mega-in{opacity:1;transform:none}
.mega-col .dd-title{margin-bottom:1rem}
.mega-col ul{list-style:none;display:grid}
.mega-col li{opacity:0;transform:translateY(10px);transition:opacity .4s var(--io),transform .5s var(--io)}
.has-dd:hover .mega-col li,.has-dd:focus-within .mega-col li{opacity:1;transform:none;transition-delay:calc(var(--i)*35ms + 80ms)}
.mega-col a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:1.02rem;font-weight:600;letter-spacing:-.02em;white-space:nowrap;background:none!important;border-radius:0}
.mega-col a::after{content:"→";opacity:0;transform:translateX(-8px);transition:opacity .35s var(--io),transform .45s var(--io)}
.mega-col a:hover{opacity:1}
.mega-col a:hover::after{opacity:1;transform:none}
.mega-col a:hover span{transform:translateX(4px)}
.mega-col a span{transition:transform .45s var(--io)}
.mega-feat{display:grid;gap:.9rem;align-content:start;color:var(--ink);background:none!important;padding:0!important}
.mf-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--bg-2)}
.mf-img img{transition:transform .6s var(--io)}
.mega-feat:hover .mf-img img{transform:scale(1.08)}
.mf-cap small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-weight:500}
.mf-cap strong{display:block;font-size:1.05rem;line-height:1.2;letter-spacing:-.02em;font-weight:600;margin-bottom:.5rem;text-wrap:balance}
.mf-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:.1rem}
.mf-link .arr,.mf-link .arr svg{width:16px;height:16px}
.mega-dim{position:fixed;inset:0;background:rgba(17,17,17,.28);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .45s var(--io);z-index:990}
body:has(.has-dd:hover) .mega-dim,body:has(.has-dd:focus-within) .mega-dim{opacity:1}
.site-header.is-overlay:not(.is-solid) .mega-in{color:var(--ink)}
@media (max-width:1040px){.mega,.mega-dim{display:none}}

.proofs-logos{margin-top:clamp(40px,5vw,72px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.proofs .logos-title{margin-bottom:1.6rem}

/* v2.3 : barre de filtres premium (pastille qui glisse), animations de grille */
.fbar{display:none}
.js .fbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:calc(var(--hdr) + 12px);z-index:60;margin:0 0 clamp(24px,3vw,44px);padding:8px 14px 8px 10px;background:rgba(247,246,243,.84);-webkit-backdrop-filter:saturate(1.5) blur(18px);backdrop-filter:saturate(1.5) blur(18px);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 50px -38px rgba(17,17,17,.5)}
.fbar-main{display:grid;gap:2px;min-width:0;flex:1}
.fbar-center{width:fit-content;max-width:100%;margin-inline:auto}
.frow{display:flex;align-items:center;gap:.8rem;min-width:0}
.flabel{flex:none;width:68px;padding-left:.6rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ftabs{position:relative;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:4px;-webkit-overflow-scrolling:touch}
.ftabs::-webkit-scrollbar{display:none}
.ftab{position:relative;z-index:1;flex:none;display:flex;align-items:baseline;gap:.35rem;font:inherit;font-size:.92rem;font-weight:600;letter-spacing:-.015em;background:none;border:0;padding:.55rem .95rem;color:var(--ink-2);cursor:pointer;border-radius:var(--r-s);transition:color .45s var(--io)}
.ftab:hover{color:var(--ink)}
.ftab sup{font-size:.66rem;font-weight:500;opacity:.5;transform:translateY(-.2em);transition:opacity .4s var(--io)}
.ftab[aria-pressed="true"]{color:var(--light)}
.ftab[aria-pressed="true"] sup{opacity:.75}
.ftab-ind{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:var(--r-s);background:var(--ink-2);z-index:0;transition:transform .65s var(--outq),width .65s var(--outq)}
.fcount{flex:none;margin:0;padding-left:1rem;border-left:1px solid var(--line);font-size:.82rem;color:var(--muted);line-height:1.15;text-align:center}
.fcount strong{display:block;font-size:1.6rem;letter-spacing:-.05em;color:var(--ink);font-weight:500;line-height:1}
@media (max-width:760px){
  .js .fbar{top:calc(var(--hdr) + 6px);padding:6px;border-radius:12px}
  .flabel{display:none}
  .fcount{display:none}
  .ftab{padding:.5rem .8rem;font-size:.88rem}
}

/* Article de blog : mise en page éditoriale */
.post-head{padding-block:clamp(28px,5vw,64px) clamp(20px,3vw,36px)}
.post-head>.wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.post-h1{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.02;letter-spacing:-.05em;font-weight:600;max-width:20ch;margin:0 0 .6em}
.post-meta{display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;font-weight:500}
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
.author{display:flex;align-items:center;gap:.7rem;text-align:left;color:var(--ink)}
.author strong{display:block;font-size:.95rem;line-height:1.1}
.author small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--dark);display:grid;place-items:center;flex:none}
.avatar img{width:22px;height:auto}
.post-hero{margin:0;aspect-ratio:21/9;overflow:hidden;border-radius:var(--r);background:var(--bg-2)}
.post-grid{display:grid;grid-template-columns:240px minmax(0,740px);justify-content:center;gap:clamp(32px,5vw,72px);padding-block:clamp(36px,5vw,72px)}
.post-aside-r{display:none}
.post-aside{width:100%}
.toc{position:sticky;top:calc(var(--hdr) + 28px)}
.toc-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 1rem}
.toc ol{list-style:none;display:grid;border-left:1px solid var(--line)}
.toc a{display:flex;gap:.8rem;padding:.55rem 0 .55rem 1rem;margin-left:-1px;border-left:2px solid transparent;font-size:.92rem;line-height:1.25;font-weight:500;color:var(--muted);transition:color .4s var(--io),border-color .4s var(--io)}
.toc a span{font-family:var(--serif);font-style:italic;font-size:.85rem;opacity:.7;flex:none;width:1.6em}
.toc a:hover,.toc a.is-on{color:var(--ink);border-left-color:var(--ink)}
.toc-back{display:inline-block;margin-top:1.4rem;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.toc-back:hover{text-decoration:underline}
.post-prose{max-width:none;margin:0;font-size:1.12rem;line-height:1.62;color:var(--ink-2);font-weight:500}
.post-prose>p:first-child{font-size:clamp(1.3rem,1.2vw + 1rem,1.6rem);line-height:1.38;letter-spacing:-.02em;color:var(--ink)}
.post-prose p{margin-bottom:1.3em}
.post-prose strong{color:var(--ink);font-weight:600}
.post-prose a{text-decoration:underline;text-decoration-color:rgba(65,57,54,.35);text-underline-offset:.22em;transition:text-decoration-color .3s}
.post-prose a:hover{text-decoration-color:currentColor}
.post-h2{display:flex;align-items:baseline;gap:.9rem;font-size:clamp(1.6rem,1.8vw + .9rem,2.3rem);line-height:1.1;letter-spacing:-.04em;font-weight:600;color:var(--ink);margin:2.2em 0 .7em;padding-top:1.4em;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 20px)}
.post-h2:first-child{margin-top:0;padding-top:0;border-top:0}
.post-n{font-family:var(--serif);font-style:italic;font-weight:500;font-size:.5em;letter-spacing:0;color:var(--muted);flex:none}
.post-prose ul{list-style:none;padding:0;margin:0 0 1.5em;display:grid;gap:.7em}
.post-prose ul li{position:relative;padding-left:1.7rem;margin:0}
.post-prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:.8rem;height:1px;background:var(--ink)}
.post-prose .post-fig{margin:2.2em 0}
.post-prose .post-fig img{border-radius:var(--r)}
.post-cta{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:end;background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(28px,4.5vw,64px);margin-bottom:clamp(40px,6vw,80px);position:relative;overflow:hidden}
.post-cta::before{content:"";position:absolute;inset:0 -3% 0 auto;width:34%;background:url(/assets/logo/logo-w-blanc.svg) right center/contain no-repeat;opacity:.06;pointer-events:none}
.post-cta>*{position:relative}
.post-cta-t{font-size:clamp(1.9rem,3vw + .6rem,3.2rem);letter-spacing:-.05em;max-width:16ch;margin:.2em 0 .4em;color:var(--light)}
.post-cta p{color:#cfc9c1;max-width:46ch;margin:0}
.post-cta-b{display:grid;gap:1.1rem;justify-items:start}
.post-cta .btn{background:var(--light);color:var(--ink-2);border-color:var(--light);font-weight:600}
.arrow-link.light{color:var(--light)}
@media (max-width:1000px){
  .post-grid{grid-template-columns:minmax(0,1fr)}
  .post-aside{justify-self:stretch;max-width:none}
  .toc{position:static;background:#fff;border-radius:var(--r);padding:1.2rem 1.4rem}
  .post-aside-r{display:none}
  .post-cta{grid-template-columns:1fr}
  .post-hero{aspect-ratio:16/9}
}

.ftabs.is-over{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}

/* v2.4 : photo d'ouverture de projet en paysage, en-têtes aérés */
.p-hero{aspect-ratio:16/8;max-height:min(68vh,720px)}
.p-hero picture,.p-hero img{width:100%;height:100%;object-fit:cover}
.head-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 24px;margin:1.8rem 0 0}
@media (max-width:640px){
  .p-hero{aspect-ratio:4/3;max-height:none}
  .page-head{padding-block:28px 20px}
  .page-head .crumbs{margin-bottom:1.1rem}
  .crumbs{font-size:.78rem}
  .page-head .eyebrow{margin-bottom:1rem}
  .page-head .h1{font-size:clamp(2.2rem,10.5vw,3rem);margin-bottom:.55em}
  .page-head .lead{font-size:1.05rem;line-height:1.45;max-width:30ch;opacity:.92}
  .head-cta{flex-direction:column;align-items:stretch;gap:16px;margin-top:1.6rem;width:100%}
  .head-cta .btn{justify-content:center;padding:.9rem 1.25rem}
  .head-cta .arrow-link{align-self:center}
}

/* v2.4 : pied de page */
.site-footer{position:relative;overflow:hidden;background:var(--dark);color:#cfc9c1;padding:clamp(56px,7vw,104px) 0 28px;font-size:.95rem}
.site-footer .wrap-wide{position:relative;z-index:1}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(28px,4vw,72px);padding-bottom:clamp(40px,6vw,88px)}
.ft-brand img{width:132px;height:auto;margin-bottom:1.4rem}
.ft-tag{font-size:clamp(1.3rem,1.5vw + .7rem,1.8rem);line-height:1.15;letter-spacing:-.04em;color:var(--light);max-width:16ch;margin:0 0 2rem;font-weight:500}
.ft-tag em{color:var(--light)}
.ft-contact{list-style:none;display:grid;gap:1.1rem}
.ft-contact small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8d867e;margin-bottom:.25rem;font-weight:600}
.ft-contact a,.ft-contact span{color:var(--light);font-weight:500;font-size:1rem;line-height:1.35}
.ft-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8d867e;margin:0 0 1.2rem;font-weight:600}
.ft-col ul{list-style:none;display:grid;gap:.15rem}
.ft-col a{display:inline-block;padding:.3rem 0;color:#cfc9c1;font-weight:500;font-size:1rem;transition:color .35s var(--io),transform .45s var(--io)}
.site-footer a:hover{color:#fff;opacity:1;text-decoration:none}
.ft-col a:hover{transform:translateX(5px)}
.ft-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;border-top:1px solid #2a2725;padding-top:24px;color:#8d867e;font-size:.85rem}
.ft-bottom p{margin:0}
.ft-links,.ft-social{display:flex;gap:6px 22px;flex-wrap:wrap}
.ft-bottom a{color:#b9b2a9}
.ft-mark{position:absolute;right:-2%;bottom:-12%;width:min(48vw,620px);aspect-ratio:1.24;background:url(/assets/logo/logo-w-blanc.svg) right bottom/contain no-repeat;opacity:.05;pointer-events:none}
@media (max-width:1000px){
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px 28px}
  .ft-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .ft-grid{grid-template-columns:1fr 1fr}
  .ft-bottom{flex-direction:column;align-items:flex-start}
  .ft-mark{width:90vw;bottom:-6%}
}

/* Filigrane W comme sur le site actuel : très grand, rogné en haut et à droite */
.cta-in::before,.black-block::before,.post-cta::before{inset:-14% -5% auto auto;width:auto;height:130%;aspect-ratio:413/333.66;background:url(/assets/logo/logo-w-blanc.svg) center/contain no-repeat;opacity:.09}
@media (max-width:640px){.cta-in::before,.black-block::before,.post-cta::before{height:100%;inset:0 -12% auto auto;opacity:.08}}

/* v2.7 : le bouton Menu ne bouge plus à l'ouverture */
@media (max-width:1040px){.mmenu summary,.mmenu[open] summary{position:relative;top:auto;right:auto}}

/* Équipe : portraits individuels, survol couleur vers noir et blanc */
.team{gap:clamp(14px,2vw,28px)}
.team li.tcard{background:none;padding:0}
.tcard-img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);background:#2a2623;margin-bottom:1rem}
.tcard-img picture{position:absolute;inset:0}
.tcard-img picture:last-child{opacity:0;transition:opacity .8s var(--io)}
.tcard-img picture:first-child img{transition:transform 1s var(--io)}
.tcard:hover .tcard-img picture:last-child{opacity:1}
.tcard:hover .tcard-img picture:first-child img,.tcard:hover .tcard-img picture:last-child img{transform:scale(1.05)}
.tcard-img picture:last-child img{transition:transform 1s var(--io)}
.tcard strong{display:block;font-size:1.15rem;font-weight:600;letter-spacing:-.03em}
.tcard span{color:var(--muted)}
@media (hover:none){.tcard:hover .tcard-img picture:first-child img,.tcard:hover .tcard-img picture:last-child img{transform:none}}

.mega-col a .mc-t{display:grid;gap:.15rem}
.mega-col a small{display:block;font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:0;white-space:normal;max-width:30ch}
.mega-col a{white-space:normal}

/* Parcours en étapes (page Notre méthode) */
.mstepper{position:sticky;top:var(--hdr);z-index:70;background:rgba(238,237,234,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);margin-top:clamp(8px,2vw,24px)}
.mstepper-in{position:relative}
.mstepper ol{list-style:none;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;overflow-x:auto;scrollbar-width:none}
.mstepper ol::-webkit-scrollbar{display:none}
.mstepper a{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem .6rem 1.1rem;font-weight:600;font-size:.95rem;letter-spacing:-.01em;color:var(--muted);white-space:nowrap;transition:color .45s var(--io)}
.ms-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(20,55,46,.25);font-size:.85rem;font-family:var(--serif);font-style:italic;transition:background-color .45s var(--io),color .45s var(--io),border-color .45s var(--io)}
.mstepper a:hover{color:var(--ink)}
.mstepper a.is-on{color:var(--ink)}
.mstepper a.is-on .ms-n,.mstepper a.is-done .ms-n{background:var(--ink-2);border-color:var(--ink-2);color:var(--light)}
.ms-track{position:absolute;left:var(--gut);right:var(--gut);bottom:-1px;height:2px;background:var(--line)}
.ms-fill{position:absolute;left:0;top:0;bottom:0;width:calc(100% * var(--prog,0));background:var(--ink-2);transition:width .7s var(--outq)}
.mstep{padding-block:clamp(48px,7vw,104px);scroll-margin-top:calc(var(--hdr) + 70px);border-bottom:1px solid var(--line)}
.mstep:last-of-type{border-bottom:0}
.mstep-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,96px);align-items:start}
.mstep-h{font-size:clamp(1.9rem,3vw + .6rem,3.2rem);line-height:1.04;letter-spacing:-.05em;font-weight:600;max-width:15ch;margin:0 0 .6em}
.mstep-text .lead{margin-bottom:1em}
.mstep-text p:not(.lead):not(.eyebrow){font-size:1.05rem;color:var(--ink-2);max-width:54ch}
.mstep-pts{list-style:none;display:grid;gap:.6rem;margin-top:1.6rem}
.mstep-pts li{display:flex;gap:.8rem;align-items:baseline;padding-top:.7rem;border-top:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.98rem}
.mstep-pts li::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--ink-2);transform:translateY(-.1em)}
.mstep-fig{position:sticky;top:calc(var(--hdr) + 96px)}
.mstep-card{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--dark);box-shadow:0 40px 80px -50px rgba(17,17,17,.55)}
.mstep-card picture{position:absolute;inset:0}
@media (max-width:1000px){
  .mstep-grid{grid-template-columns:1fr}
  .mstep-fig{position:static;order:-1}
  .mstep-card{aspect-ratio:4/3}
  .mstepper ol{grid-template-columns:repeat(var(--n),max-content);gap:2px}
  .mstepper a{padding:.85rem 1rem 1rem}
  .ms-track{left:0;right:0}
}

/* 7 entrées de menu : on libère de la place sur les écrans moyens */
@media (max-width:1320px){.hdr-shop{display:none}.nav>ul>li>a{padding:.6rem .7rem}}
@media (max-width:1180px){.hdr-in{gap:14px}.hdr-cta{padding:.5rem .9rem}.nav>ul>li>a{padding:.6rem .55rem;font-size:.86rem}}

/* Fin de page : vidéo en noir et blanc, dégradé vers le pied de page */
.cta-band.cta-video{position:relative;overflow:hidden;background:var(--dark);color:var(--light);padding:clamp(96px,14vw,200px) var(--gut) clamp(72px,10vw,140px);min-height:min(88svh,720px);display:grid;align-items:center}
.cta-media{position:absolute;inset:0}
.cta-vid{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:.9}
.cta-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(238,237,234,0) 0%,rgba(17,17,17,.25) 38%,rgba(17,17,17,.62) 70%,var(--dark) 100%)}
.cta-content{position:relative;z-index:2}
.cta-video .h2{font-size:clamp(2.4rem,5vw + .5rem,5rem);max-width:14ch;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.cta-video .lead{color:#e4e0da;margin-inline:auto;margin-bottom:1.8em}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0}
.cta-video .btn+.btn{margin-left:0}
@media (max-width:640px){.cta-band.cta-video{min-height:auto;padding-block:96px 80px}}
@media (prefers-reduced-motion:reduce){.cta-vid{display:none}.cta-media{background:url(/assets/video/footer-poster.jpg) center/cover;filter:grayscale(1)}}

/* Hero : menu lisible sur photo claire, titre plus bas */
.hero-grad{background:radial-gradient(circle at 50% 100%,rgba(29,22,13,.7) 12%,rgba(13,29,25,0) 38% 70%,rgba(29,23,13,.7) 92%),linear-gradient(180deg,rgba(17,12,8,.62) 0,rgba(17,12,8,.34) 110px,rgba(17,12,8,0) 240px),linear-gradient(180deg,rgba(17,12,8,0) 30%,rgba(17,12,8,.6) 100%)}
.site-header.is-overlay:not(.is-solid) .nav>ul>li>a,.site-header.is-overlay:not(.is-solid) .brand{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.site-header.is-overlay:not(.is-solid) .nav>ul>li>a{font-weight:600}
.hero-in{padding-bottom:clamp(24px,5vh,56px)}
.hero-display{font-size:clamp(2.6rem,min(6.6vw,11.5vh),5.6rem)}
.hero-in{padding-top:calc(var(--hdr) + 8px)}
.hero-lead{margin:.9em auto 1em}
.hero-in .eyebrow{margin-bottom:1rem}

/* Notre méthode : rideau d'image, parallaxe, chiffres, liste en cascade */
.js [data-rv="wipe"]{opacity:1;transform:none;clip-path:inset(14% 10% 14% 10% round 1rem)}
.js [data-rv="wipe"].in{clip-path:inset(0 0 0 0 round 1rem);transition:clip-path 1.4s var(--outq)}
.mstep-card{--py:0px}
.mstep-card img{transform:translateY(var(--py)) scale(1.14);will-change:transform}
.js .mstep-card[data-rv="wipe"] img{transition:none}
.mstep-grid{position:relative}
.mstep-bg{position:absolute;left:-.04em;top:-.2em;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(9rem,20vw,19rem);line-height:1;color:var(--ink);opacity:.045;pointer-events:none;user-select:none;z-index:0;will-change:transform}
.mstep-text{position:relative;z-index:1}
.js .mstep-pts li{transition-delay:0s}
.js .mstep-pts li:nth-child(2){transition-delay:.12s}
.js .mstep-pts li:nth-child(3){transition-delay:.24s}
.js .mstep-pts li::before{transform:scale(0);transition:transform .7s var(--outq) .5s}
.js .mstep-pts li.in::before{transform:scale(1) translateY(-.1em)}
@media (max-width:1000px){.mstep-bg{font-size:8rem;top:-.1em}}

/* Fin de page : sections arrondies, vidéo qui se révèle et bouge doucement */
.cta-band.cta-video{margin:0 var(--gut) 14px;border-radius:var(--r);padding-inline:var(--gut)}
.cta-band.cta-video .cta-media{border-radius:inherit;overflow:hidden}
.cta-media{--py:0px}
.cta-vid{transform:translateY(var(--py)) scale(1.14);will-change:transform}
.cta-grad{background:linear-gradient(180deg,rgba(17,17,17,.12) 0%,rgba(17,17,17,.3) 40%,rgba(17,17,17,.72) 100%)}
.site-footer{border-radius:var(--r) var(--r) 0 0}
.js .cta-band.cta-video[data-rv="wipe"]{clip-path:inset(10% 6% 10% 6% round 1.4rem)}
.js .cta-band.cta-video[data-rv="wipe"].in{clip-path:inset(0 0 0 0 round 1rem);transition:clip-path 1.5s var(--outq)}
.js .cta-band.cta-video[data-rv="wipe"].done{clip-path:none}
.ft-mark{will-change:transform}
.js .site-footer .ft-col:nth-child(3){transition-delay:.1s}
.js .site-footer .ft-col:nth-child(4){transition-delay:.2s}

/* Barre mobile : pas sur la page contact, et sur l'accueil seulement une fois le hero passé */
.mbar{transition:transform .6s var(--outq),opacity .4s}
.no-mbar .mbar{display:none!important}
@media (max-width:760px){
  .no-mbar{padding-bottom:0}
  .home .mbar{transform:translateY(160%);opacity:0;pointer-events:none}
  .home.past-hero .mbar{transform:none;opacity:1;pointer-events:auto}
}

/* Notre méthode : photos moins grandes, ligne de progression bord à bord */
.mstep-grid{grid-template-columns:1.4fr .6fr}
.mstep-card{aspect-ratio:1/1;max-width:420px;margin-left:auto}
.ms-track{left:0;right:0}
@media (max-width:1000px){.mstep-card{max-width:none;aspect-ratio:4/3;margin:0}}
/* Contact : arrivée en cascade */
.js .contact-dark[data-rv="wipe"]{clip-path:inset(6% 4% 6% 4% round 1.4rem)}
.js .contact-dark[data-rv="wipe"].in{clip-path:inset(0 0 0 0 round 1rem);transition:clip-path 1.3s var(--outq)}
.js .contact-dark[data-rv="wipe"].done{clip-path:none}
.js .contact-photo[data-rv="wipe"]{clip-path:inset(12% 10% 12% 10% round 1rem)}
.js .contact-photo[data-rv="wipe"].in{clip-path:inset(0 0 0 0 round 1rem);transition:clip-path 1.4s var(--outq)}
.js .contact-photo[data-rv="wipe"].done{clip-path:none}
.ft-links{gap:6px 18px}

/* v3 : menu plein écran (ordinateur et mobile) */
html:has(.mmenu[open]){overflow-y:scroll}
.mmenu{display:block;margin-left:.7rem}
.hdr-actions{margin-left:auto}
.hdr-shop{display:none}
.mmenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.85rem;padding:.58rem 1.05rem;border:1px solid rgba(20,55,46,.28);border-radius:var(--r-s);font-weight:600;font-size:.92rem;line-height:1.2;position:relative;z-index:1300;background:transparent;color:var(--ink);transition:background-color .45s var(--io),color .45s var(--io),border-color .45s var(--io)}
.mmenu summary::-webkit-details-marker{display:none}
.mmenu summary:hover{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
.site-header.is-overlay:not(.is-solid) .mmenu summary{color:var(--light);border-color:rgba(255,255,255,.6);background:rgba(17,17,17,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.site-header.is-overlay:not(.is-solid) .mmenu summary:hover{background:var(--light);color:var(--ink);border-color:var(--light)}
.mmenu[open] summary,.mmenu[open] summary:hover{background:var(--light);color:var(--ink);border-color:var(--light);-webkit-backdrop-filter:none;backdrop-filter:none}
.mm-lab{display:block;height:1.2em;overflow:hidden;min-width:3.6em}
.mm-lab>span{display:block;height:1.2em;transition:transform .6s var(--io)}
.mmenu[open] .mm-lab>span{transform:translateY(-100%)}
.burger{width:22px;height:11px;position:relative;display:block;flex:none}
.burger i{position:absolute;left:0;right:0;height:1.6px;background:currentColor;border-radius:1px;transition:transform .6s var(--io),top .6s var(--io),width .4s var(--io)}
.burger i:first-child{top:0}
.burger i:last-child{top:9.4px}
.mmenu summary:hover .burger i:last-child{width:70%}
.mmenu[open] .burger i:first-child{top:4.8px;transform:rotate(45deg)}
.mmenu[open] .burger i:last-child{top:4.8px;transform:rotate(-45deg);width:100%}

.mm-panel{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;color:var(--light);overflow-y:auto;overflow-x:hidden;padding:0 var(--gut) calc(26px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mm-bg{position:fixed;inset:0;z-index:-1;pointer-events:none}
.mm-bg1{background:var(--ink-2);animation:mmWipe .8s var(--io) both}
.mm-bg2{background:var(--dark);animation:mmWipe .95s var(--io) .14s both}
@keyframes mmWipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.mm-bar{height:var(--hdr);display:flex;align-items:center;flex:none;max-width:var(--maxw);width:100%;margin-inline:auto}
.mm-logo img{height:50px;width:auto}
.mm-body{flex:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,96px);align-items:center;width:100%;max-width:var(--maxw);margin-inline:auto;padding-block:clamp(8px,2vh,28px)}
.mm-nav{display:grid}
.mm-item{border-bottom:1px solid #2d2926;transition:opacity .45s var(--io)}
.mm-nav:hover .mm-item:not(:hover){opacity:.36}
.mm-top{display:flex;align-items:baseline;gap:1.2rem;padding:clamp(.4rem,1.05vh,.85rem) 0;font-size:clamp(2.1rem,min(4.4vw,7vh),4.2rem);letter-spacing:-.05em;font-weight:500;line-height:1.02;color:var(--light)}
.mm-n{font-family:var(--serif);font-style:italic;font-size:.9rem;color:#8d867e;letter-spacing:0;width:1.9em;flex:none;transform:translateY(-.25em)}
.mm-l{display:block;overflow:hidden;padding-block:.07em;transition:transform .6s var(--io)}
.mm-l>span{display:block;transform:translateY(112%);animation:mmLine .95s var(--outq) forwards;animation-delay:calc(var(--i)*65ms + 430ms)}
@keyframes mmLine{to{transform:none}}
.mm-top:hover .mm-l{transform:translateX(16px)}
.mm-top::after{content:"→";margin-left:auto;align-self:center;font-size:.45em;opacity:0;transform:translateX(-12px);transition:opacity .4s var(--io),transform .5s var(--io)}
.mm-top:hover::after{opacity:1;transform:none}
.mm-plus{display:none}
.mm-sub{display:none}

.mm-side{position:relative;align-self:stretch;min-height:min(62vh,560px);opacity:0;transform:translateY(24px);animation:mmSide .95s var(--outq) .8s forwards}
@keyframes mmSide{to{opacity:1;transform:none}}
.mm-pane{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .45s var(--io),transform .6s var(--io),visibility 0s .45s}
.mm-pane.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mm-groups{display:grid;grid-template-columns:1.5fr 1fr;gap:1.4rem 2.2rem}
.mm-gt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8d867e;font-weight:600;margin:0 0 .7rem}
.mm-grp ul{list-style:none;display:grid}
.mm-grp:first-child:not(:last-child) ul{grid-template-columns:1fr 1fr;column-gap:1.4rem}
.mm-grp a{display:block;padding:.34rem 0;color:#e9e5df;font-weight:500;font-size:1.02rem;letter-spacing:-.01em;transition:color .3s var(--io),transform .45s var(--io)}
.mm-grp a:hover{color:#fff;transform:translateX(6px)}
.mm-grp small{display:block;font-size:.8rem;color:#8d867e;font-weight:500}
.mm-feat{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;color:#fff;background:#26231f}
.mm-feat.is-plain{aspect-ratio:4/3}
.mm-feat-img{position:absolute;inset:0;display:block}
.mm-feat-img picture{height:100%}
.mm-feat-img img{transition:transform .8s var(--io)}
.mm-feat:hover .mm-feat-img img{transform:scale(1.06)}
.mm-feat:not(.is-plain)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,0) 30%,rgba(17,17,17,.78) 100%)}
.mm-feat-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem 1.2rem}
.mm-feat-cap small{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:.2rem}
.mm-feat-cap strong{display:block;font-size:1.05rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:.4rem}
.mm-feat .mf-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:.1rem}
.mm-feat .arr,.mm-feat .arr svg,.mm-go .arr,.mm-go .arr svg{width:16px;height:16px}
.mm-blurb p{font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.15;letter-spacing:-.035em;color:#f1eee9;max-width:20ch;margin:0 0 1.1rem;font-weight:500}
.mm-go{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#fff;border-bottom:1px solid currentColor;padding-bottom:.15rem}

.mm-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem 2rem;border-top:1px solid #2d2926;padding-top:1.25rem;max-width:var(--maxw);width:100%;margin-inline:auto;opacity:0;animation:mmSide .9s var(--outq) calc(var(--i)*65ms + 520ms) forwards}
.mm-foot .btn{background:var(--light);color:var(--ink-2);border-color:var(--light);font-weight:600;margin:0}
.mm-contact{display:flex;flex-wrap:wrap;gap:.3rem 1.8rem;margin:0;color:#cfc9c1;font-size:.95rem}
.mm-contact a{color:#fff;font-weight:600}
.mm-social{display:flex;gap:1.4rem;margin:0;color:#8d867e;font-size:.9rem}
.mm-social a{color:#b9b2a9;margin:0}
.mm-social a:hover,.mm-contact a:hover{color:#fff}

.mmenu.is-closing .mm-panel{animation:mmOut .48s var(--io) forwards}
@keyframes mmOut{to{opacity:0;transform:translateY(-18px)}}

@media (max-width:1040px){
  .mm-body{grid-template-columns:1fr;align-items:start;padding-top:.4rem}
  .mm-side{display:none}
  .mm-top{font-size:clamp(1.9rem,8.4vw,2.6rem);padding:.7rem 0;gap:.9rem;align-items:center}
  .mm-top::after{display:none}
  .mm-top:hover .mm-l{transform:none}
  .mm-nav:hover .mm-item:not(:hover){opacity:1}
  .mm-n{transform:none}
  .mm-plus{display:block;position:relative;width:16px;height:16px;margin-left:auto;flex:none}
  .mm-plus::before,.mm-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:#cfc9c1;transition:transform .5s var(--io)}
  .mm-plus::after{transform:rotate(90deg)}
  .has-sub.is-open .mm-plus::after{transform:rotate(0)}
  .mm-sub{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 0 2.8rem;max-height:0;overflow:hidden;transition:max-height .6s var(--io),padding .6s var(--io)}
  .has-sub.is-open .mm-sub{max-height:340px;padding:.1rem 0 1.1rem 2.8rem}
  .mm-sub a{font-size:.88rem;border:1px solid #3a3531;border-radius:var(--r-s);padding:.42em .85em;color:#cfc9c1;font-weight:500}
  .mm-sub a.mm-all{background:var(--light);color:var(--ink);border-color:var(--light);font-weight:600}
  .mm-foot{flex-direction:column;align-items:stretch;margin-top:1.4rem}
  .mm-foot .btn{justify-content:center;padding:.95rem 1.25rem}
  .mm-contact{flex-direction:column}
  .mm-logo img{height:44px}
}
.mm-lab>span.mm-open,.mm-lab>span.mm-close{display:block!important}
.mm-panel{background:transparent!important}
@media (max-width:1040px){.mmenu{margin-left:auto}.hdr-actions{display:none}}

/* Page Intérieur : liste éditoriale des pièces, cartes matières, frise de méthode */
.roomlist{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:start}
.rl-list{list-style:none}
.rl-list a{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);transition:padding .55s var(--io),opacity .45s var(--io)}
.roomlist:hover .rl-list a:not(:hover){opacity:.35}
.rl-list li:first-child a{border-top:1px solid var(--line)}
.rl-list a:hover{padding-left:1rem}
.rl-n{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.95rem}
.rl-main{display:grid;gap:.15rem}
.rl-t{font-size:clamp(1.9rem,3.4vw,3.2rem);letter-spacing:-.05em;font-weight:500;line-height:1.02}
.rl-d{color:var(--muted);font-size:.95rem;font-weight:500}
.rl-a{font-size:1.4rem;opacity:0;transform:translateX(-14px);transition:opacity .4s var(--io),transform .5s var(--io)}
.rl-list a:hover .rl-a{opacity:1;transform:none}
.rl-imgs{position:sticky;top:calc(var(--hdr) + 28px);aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#2a2623}
.rl-img{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .75s var(--io),transform 1.2s var(--io)}
.rl-img picture{height:100%}
.rl-img.is-on{opacity:1;transform:scale(1)}
.mcards.two .mcard{aspect-ratio:16/10}
.mcard-count{display:inline-block;margin-top:.7rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.55);border-radius:var(--r-s);padding:.2rem .55rem}
.mstrip{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,28px);counter-reset:s}
.mstrip li{border-top:1px solid var(--ink);padding-top:1rem;display:grid;gap:.3rem;align-content:start}
.mstrip .ms-n{width:32px;height:32px;margin-bottom:.4rem}
.mstrip strong{font-size:1.2rem;letter-spacing:-.03em}
.mstrip li span:last-child{color:var(--muted);font-size:.95rem}
@media (max-width:1000px){
  .roomlist{grid-template-columns:1fr}
  .rl-imgs{display:none}
  .rl-a{opacity:1;transform:none}
  .mstrip{grid-template-columns:1fr 1fr}
  .mcards.two{grid-template-columns:1fr}
}
@media (max-width:640px){.mstrip{grid-template-columns:1fr}.mcards.two .mcard{aspect-ratio:16/10}}

/* Pages légales */
.legal-grid{display:grid;grid-template-columns:260px minmax(0,780px);justify-content:center;gap:clamp(32px,5vw,72px);align-items:start}
.legal-aside .toc{position:sticky;top:calc(var(--hdr) + 28px)}
.legal-card{background:#fff;border-radius:var(--r);padding:clamp(22px,3vw,40px);margin-bottom:14px;scroll-margin-top:calc(var(--hdr) + 20px)}
.legal-t{display:flex;align-items:baseline;gap:1rem;font-size:clamp(1.35rem,1.4vw + .8rem,1.9rem);letter-spacing:-.04em;margin:0 0 1rem;font-weight:600}
.legal-t span{font-family:var(--serif);font-style:italic;font-weight:500;font-size:.6em;color:var(--muted);letter-spacing:0}
.legal-b{color:var(--ink-2);font-size:1.02rem;line-height:1.6}
.legal-b p{margin-bottom:.9em}
.legal-b p:last-child{margin-bottom:0}
.legal-b a{text-decoration:underline;text-underline-offset:.2em}
.legal-b strong{color:var(--ink);font-weight:600}
.legal-b ul{list-style:none;display:grid;gap:.45rem;margin:0 0 1em;padding:0}
.legal-b li{position:relative;padding-left:1.4rem}
.legal-b li::before{content:"";position:absolute;left:0;top:.7em;width:.7rem;height:1px;background:var(--ink)}
.legal-big{margin:clamp(40px,6vw,72px) 0 18px;scroll-margin-top:calc(var(--hdr) + 20px)}
.legal-bigt{font-size:clamp(2rem,3vw + .6rem,3.2rem);letter-spacing:-.05em;font-weight:600;margin:0 0 .6em}
.legal-big>p{color:var(--ink-2)}
.legal-contact{margin-top:2rem;color:var(--muted)}
.legal-contact a{color:var(--ink);text-decoration:underline}
@media (max-width:1000px){
  .legal-grid{grid-template-columns:1fr}
  .legal-aside .toc{position:static;background:#fff;border-radius:var(--r);padding:1.2rem 1.4rem}
}

/* Menu : toujours contenu dans l'écran (hauteur dynamique), bouton lisible sur le hero */
.site-header.is-overlay:not(.is-solid) .mmenu[open] summary,.site-header.is-overlay:not(.is-solid) .mmenu[open] summary:hover{background:var(--light);color:var(--ink);border-color:var(--light)}
.mm-panel{height:100vh;height:100dvh;inset:auto 0 auto 0;top:0}
.mm-body{min-height:0}
@media (max-width:1040px){
  .mm-top{font-size:clamp(1.55rem,min(8vw,5.3vh),2.5rem);padding:clamp(.3rem,1.15vh,.7rem) 0}
  .has-sub.is-open .mm-sub{padding-bottom:.7rem}
  .mm-foot{margin-top:auto;padding-top:.9rem;gap:.8rem}
  .mm-foot .btn{padding:.8rem 1.2rem}
  .mm-contact{gap:.1rem}
  .mm-bar{height:calc(var(--hdr) - 8px)}
}
@media (max-height:760px) and (max-width:1040px){
  .mm-contact span,.mm-social{display:none}
}
@media (max-height:700px) and (min-width:1041px){
  .mm-contact span{display:none}
  .mm-top{padding:.3rem 0}
}
.mm-body{min-height:auto;flex:1 0 auto}
.mm-foot{flex:none}

/* Menu v3.1 : ouverture en cercle depuis le bouton, tient dans l'écran, accès secondaires */
.mm-bg1{animation:mmCircle 1s cubic-bezier(.7,0,.2,1) both}
.mm-bg2{animation:mmCircle 1.1s cubic-bezier(.7,0,.2,1) .13s both}
@keyframes mmCircle{from{clip-path:circle(0 at var(--cx,92%) var(--cy,44px))}to{clip-path:circle(160vmax at var(--cx,92%) var(--cy,44px))}}
@keyframes mmCircleOut{from{clip-path:circle(160vmax at var(--cx,92%) var(--cy,44px))}to{clip-path:circle(0 at var(--cx,92%) var(--cy,44px))}}
.mmenu.is-closing .mm-panel{animation:none}
.mmenu.is-closing .mm-bg2{animation:mmCircleOut .62s cubic-bezier(.7,0,.2,1) forwards}
.mmenu.is-closing .mm-bg1{animation:mmCircleOut .62s cubic-bezier(.7,0,.2,1) .07s forwards}
.mmenu.is-closing .mm-bar,.mmenu.is-closing .mm-body,.mmenu.is-closing .mm-foot{opacity:0;transition:opacity .22s var(--io)}
.mm-item{position:relative;border-bottom:0}
.mm-item::after,.mm-item::before{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;transform-origin:left}
.mm-item::after{background:#34302d;transform:scaleX(0);animation:mmDraw 1s var(--io) forwards;animation-delay:calc(var(--i)*70ms + 900ms)}
.mm-item::before{background:var(--light);transform:scaleX(0);transition:transform .65s var(--io);z-index:1}
.mm-item:hover::before{transform:scaleX(1)}
@keyframes mmDraw{to{transform:scaleX(1)}}
.mm-l>span{transform:translateY(120%) rotate(3deg);transform-origin:0 100%;animation:mmLine1 1.05s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i)*70ms + 900ms)}
@keyframes mmLine1{to{transform:none}}
.mm-n{opacity:0;animation:mmFade .8s ease forwards;animation-delay:calc(var(--i)*70ms + 1100ms)}
@keyframes mmFade{to{opacity:1}}
.mm-pane.is-on .mm-feat{animation:mmFeat 1s var(--outq) both}
@keyframes mmFeat{from{clip-path:inset(0 0 100% 0);transform:translateY(24px)}to{clip-path:inset(0 0 0 0);transform:none}}
.mm-side{animation:mmSide 1s var(--outq) 1.1s forwards}
.mm-extra{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;padding:1.1rem 0 0;opacity:0;animation:mmSide .9s var(--outq) calc(var(--i)*70ms + 900ms) forwards}
.mm-extra a{font-size:1rem;font-weight:600;color:#cfc9c1;border-bottom:1px solid #4a443f;padding-bottom:.1rem;transition:color .3s,border-color .3s}
.mm-extra a:hover{color:#fff;border-color:#fff}
@media (min-width:1041px){
  .mm-top{font-size:clamp(1.5rem,min(4.4vw,5.6vh),4rem);padding:clamp(.25rem,1vh,.8rem) 0}
  .mm-body{padding-block:.8vh;align-items:center}
  .mm-side{min-height:0;height:min(58vh,520px);align-self:center}
  .mm-feat{aspect-ratio:16/8.5}
  .mm-bar{height:calc(var(--hdr) - 10px)}
  .mm-extra{padding-top:.9rem}
}
@media (max-width:1040px){.mm-extra{padding-top:1rem}.mm-extra a{font-size:.95rem}}

/* v3.2 : respiration du menu mobile, méthode en une colonne sur mobile */
.mm-bar{animation:mmFade .7s ease 1s both}
.mm-foot{animation:mmFade .8s ease 1.3s both}
@media (max-width:1040px){
  .mm-panel{overflow-y:auto}
  .mm-body{padding-top:1rem}
  .mm-top{padding:clamp(.7rem,2.2vh,1.1rem) 0;font-size:clamp(1.7rem,8vw,2.4rem)}
  .has-sub.is-open .mm-sub{gap:10px;padding:.2rem 0 1.4rem 2.8rem;max-height:420px}
  .mm-sub a{font-size:.92rem;padding:.55em 1em}
  .mm-extra{gap:.6rem 1.4rem;padding:1.4rem 0 .4rem}
  .mm-foot{margin-top:1.4rem;padding-top:1.2rem;gap:1rem}
}
@media (max-width:1000px){
  .mstep-grid{grid-template-columns:1fr;gap:28px}
  .mstep-fig{position:static;order:-1}
  .mstep-card{max-width:none;margin:0;aspect-ratio:4/3}
}

/* ---------- Cookies : bandeau de consentement ---------- */
.ck{position:fixed;z-index:1900;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);width:min(440px,calc(100vw - 24px));background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(18px,2vw,26px);box-shadow:0 24px 60px -18px rgba(0,0,0,.55);opacity:0;transform:translateY(28px) scale(.98);transform-origin:0 100%;transition:opacity .6s var(--outq),transform .7s var(--outq)}
.ck[hidden]{display:none}
.ck.is-in{opacity:1;transform:none}
.ck-t{font-size:clamp(1.25rem,1vw + 1rem,1.55rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:0 0 .6rem}
.ck-t em{font-family:var(--serif,'Lora',serif);font-style:italic;font-weight:500}
.ck-p{margin:0 0 1.1rem;font-size:.92rem;line-height:1.45;color:#cfc9c1}
.ck-p a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}
.ck-btns{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.ck .btn{background:var(--light);color:var(--ink);border-color:var(--light);justify-content:center}
.ck .btn:hover{background:#fff;border-color:#fff}
.ck .btn.ghost{background:transparent;color:var(--light);border-color:#5a534d}
.ck .btn.ghost:hover{background:#2a2623;border-color:var(--light)}
.ck-link{background:none;border:0;color:#cfc9c1;font:inherit;font-size:.92rem;font-weight:600;border-bottom:1px solid #5a534d;padding:0 0 .1rem;cursor:pointer;margin-left:.4rem;transition:color .3s,border-color .3s}
.ck-link:hover{color:#fff;border-color:#fff}
.ck-more{display:grid;gap:.2rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .7s var(--io),opacity .5s ease,margin .5s var(--io)}
.ck.is-more .ck-more{max-height:460px;opacity:1;margin-top:1.2rem}
.ck-opt{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #2d2926;cursor:pointer;position:relative}
.ck-opt strong{display:block;font-size:.98rem;font-weight:600}
.ck-opt small{display:block;font-size:.82rem;color:#a39b93;margin-top:.15rem;line-height:1.35}
.ck-opt input{position:absolute;opacity:0;pointer-events:none}
.ck-sw{flex:none;position:relative;width:44px;height:26px;border-radius:99px;background:#3a3531;transition:background .4s var(--io)}
.ck-sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--light);transition:transform .45s var(--outq)}
.ck-opt input:checked+.ck-sw,.ck-sw.is-locked{background:#8a7f73}
.ck-opt input:checked+.ck-sw::after,.ck-sw.is-locked::after{transform:translateX(18px)}
.ck-opt input:focus-visible+.ck-sw{outline:2px solid #fff;outline-offset:2px}
.ck-more .ck-b{margin-top:.6rem;width:100%}
@media (max-width:760px){
  .ck{left:10px;right:10px;width:auto;bottom:calc(78px + 10px);max-height:calc(100vh - 110px);overflow-y:auto}
  .no-mbar .ck{bottom:10px}
  .ck-btns .ck-b{flex:1 1 40%}
  .ck-link{margin:.3rem 0 0;flex-basis:100%;text-align:left;width:max-content}
}
@media (prefers-reduced-motion:reduce){.ck,.ck-more,.ck-sw::after{transition:none}}

/* v3.3 : animation du menu plus courte */
.mm-bg1{animation-duration:.62s}
.mm-bg2{animation-duration:.72s;animation-delay:.07s}
.mmenu.is-closing .mm-bg2{animation:mmCircleOut .42s cubic-bezier(.7,0,.2,1) forwards}
.mmenu.is-closing .mm-bg1{animation:mmCircleOut .42s cubic-bezier(.7,0,.2,1) .05s forwards}
.mmenu.is-closing .mm-bar,.mmenu.is-closing .mm-body,.mmenu.is-closing .mm-foot{transition-duration:.16s}
.mm-item::after{animation-duration:.7s;animation-delay:calc(var(--i)*50ms + 480ms)}
.mm-l>span{animation-duration:.8s;animation-delay:calc(var(--i)*50ms + 480ms)}
.mm-n{animation-duration:.6s;animation-delay:calc(var(--i)*50ms + 600ms)}
.mm-side{animation-duration:.75s;animation-delay:.6s}
.mm-extra{animation-duration:.7s;animation-delay:calc(var(--i)*50ms + 480ms)}
.mm-bar{animation-duration:.5s;animation-delay:.5s}
.mm-foot{animation-duration:.6s;animation-delay:.75s}
.mmenu.mm-restart .mm-panel,.mmenu.mm-restart .mm-panel *,.mmenu.mm-restart .mm-panel *::before,.mmenu.mm-restart .mm-panel *::after{animation:none!important}

/* v3.3 : pages matière */
.benefit{position:relative;display:flex;flex-direction:column;gap:.2rem;min-height:210px;padding:clamp(22px,2.6vw,36px);transition:transform .5s var(--io),background-color .5s var(--io)}
.benefit:hover{transform:translateY(-4px);background:var(--paper)}
.benefit-n{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--muted);margin-bottom:auto;padding-bottom:1.6rem}
.benefit h3{font-size:clamp(1.3rem,1vw + 1rem,1.7rem);line-height:1.1}
.mcards.rooms{grid-template-columns:repeat(3,1fr)}
.mcards.rooms .mcard{aspect-ratio:4/5}
.mcards.rooms .mcard-name{font-size:clamp(1.2rem,1vw + .8rem,1.7rem)}
.timeline{gap:12px}
.timeline li{grid-template-columns:3.6em 1fr;padding:1.5em 1.6em;transition:transform .5s var(--io)}
.timeline li:hover{transform:translateX(6px)}
.timeline li::before{font-size:1.6rem;line-height:1;color:var(--ink-2)}
@media (max-width:1000px){.mcards.rooms{grid-template-columns:1fr 1fr}.mcards.rooms .mcard{aspect-ratio:4/5}}
@media (max-width:560px){.mcards.rooms .mcard{aspect-ratio:3/4}.benefit{min-height:0}}
@media (min-width:1001px){.benefit:last-child:nth-child(odd){grid-column:1/-1;min-height:160px}}

/* v3.4 : FAQ en deux colonnes, liste repliée, encart entretien */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,100px);align-items:start}
.faq-head{position:sticky;top:calc(var(--hdr) + 24px)}
.faq-head .h2{margin-bottom:.5em}
.faq-sub{color:var(--ink-2);max-width:32ch;margin:0}
.faq-sub a{border-bottom:1px solid currentColor;font-weight:600}
.faq-item{margin-bottom:8px;transition:background-color .4s var(--io)}
.faq-item:hover{background:var(--paper)}
.faq-item summary{padding:1.1em 3.2em 1.1em 1.4em;font-size:1rem}
.faq-item p{padding:0 1.4em 1.3em;font-size:.97rem}
.faq-more{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .7s var(--io),visibility 0s .7s}
.faq-more-in{overflow:hidden;min-height:0}
.faq-more.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .7s var(--io),visibility 0s}
.faq-toggle{display:inline-flex;align-items:center;margin-top:.8rem;background:none;border:1px solid var(--ink-2);border-radius:var(--r-s);padding:.55rem 1.25rem;font:inherit;font-size:.95rem;font-weight:500;cursor:pointer;color:var(--ink);transition:background-color .4s var(--io),color .4s var(--io)}
.faq-toggle:hover{background:var(--ink-2);color:var(--light)}
.faq-toggle .ft-close,.faq-toggle[aria-expanded="true"] .ft-open{display:none}
.faq-toggle[aria-expanded="true"] .ft-close{display:inline}
.care{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:center;background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(28px,5vw,72px)}
.care .h2{margin:0;color:var(--light)}
.care .h2 em{font-family:var(--serif);font-style:italic;font-weight:500}
.care p{color:#cfc9c1;max-width:52ch;margin:0 0 1rem}
@media (max-width:900px){.faq-grid,.care{grid-template-columns:1fr}.faq-head{position:static}}

/* v3.5 : texte du menu non rogné (crénage négatif), mobile compact */
.mm-l{padding:.1em .14em .1em 0;margin-right:-.14em;margin-block:-.1em}
@media (max-width:1040px){
  .mm-item::before{display:none}
  .mm-top{padding:clamp(.45rem,1.7vh,.9rem) 0;font-size:clamp(1.6rem,7.4vw,2.2rem)}
  .has-sub.is-open .mm-sub{gap:7px;padding:.1rem 0 1rem 2.8rem}
  .mm-sub a{font-size:.85rem;padding:.4em .85em}
  .mm-body{padding-top:.4rem}
  .mm-extra{padding:.9rem 0 .2rem}
  .mm-foot{margin-top:.8rem;padding-top:.9rem}
}
@media (max-width:560px){
  .has-sub.is-open .mm-sub{padding-left:0;gap:6px}
  .mm-sub a{font-size:.82rem;padding:.38em .75em}
  .mm-top{font-size:clamp(1.55rem,7vw,2rem);padding:clamp(.4rem,1.4vh,.7rem) 0}
}
@media (max-width:1040px){
  .mm-top{border-bottom:0}
  .has-sub.is-open .mm-sub{padding-top:.6rem}
}

/* ---------- Logo d'ouverture (accueil) ---------- */
html.is-loading .loader{background:#0c0c0c;flex-direction:column;gap:clamp(18px,3vh,30px);border-radius:0 0 0 0;transition:transform 1s var(--io),border-radius 1s var(--io)}
html.is-loading.loader-out .loader{border-radius:0 0 50% 50%/0 0 12vw 12vw}
.loader-logo{width:min(380px,66vw);height:auto;overflow:visible}
.lg,.lt{transform-box:fill-box;fill:#efedeb}
.lg{transform:translateY(340px)}
.lt{transform:translateY(100px);opacity:0}
html.is-loading.loader-in .lg{transform:none;transition:transform 1.15s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--k)*.12s + .15s)}
html.is-loading.loader-in .lt{transform:none;opacity:1;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .6s ease;transition-delay:calc(var(--k)*.06s + .9s)}
.loader-line{display:block;width:min(380px,66vw);height:1px;background:#2d2926;position:relative;overflow:hidden}
.loader-line::after{content:"";position:absolute;inset:0;background:var(--light);transform:scaleX(0);transform-origin:left}
html.is-loading.loader-in .loader-line::after{transform:scaleX(1);transition:transform 2.1s var(--io)}
html.is-loading.loader-out .loader-logo,html.is-loading.loader-out .loader-line{opacity:0;transition:opacity .35s ease}

/* ---------- Transition entre les pages ---------- */
.pt{position:fixed;inset:0;z-index:2900;background:#0c0c0c;display:flex;align-items:center;justify-content:center;visibility:hidden;pointer-events:none;transform:translateY(100%);border-radius:50% 50% 0 0/12vw 12vw 0 0}
.pt img{width:clamp(70px,10vw,110px);height:auto;opacity:0;transform:scale(.85)}
.pt.is-in{visibility:visible;pointer-events:all;transform:none;border-radius:0;transition:transform .62s var(--io),border-radius .62s var(--io)}
.pt.is-in img{opacity:1;transform:none;transition:opacity .4s ease .25s,transform .6s var(--outq) .25s}
html.pt-cover .pt{visibility:visible;transform:none;border-radius:0;transition:none}
html.pt-cover .pt img{opacity:1;transform:none}
html.pt-out .pt{visibility:visible;transform:translateY(-100%);border-radius:0 0 50% 50%/0 0 12vw 12vw;transition:transform .8s var(--io),border-radius .8s var(--io)}
html.pt-out .pt img{opacity:0;transition:opacity .3s ease}
@media (prefers-reduced-motion:reduce){.pt{display:none!important}}

/* Pas de saut de mise en page quand la barre de défilement disparaît (ouverture, transitions, menu) */
html{scrollbar-gutter:stable}
html.is-loading,html.pt-cover,html.pt-out,html:has(.pt.is-in){background:#0c0c0c}
html:has(.mmenu[open]){background:#111}

/* ---------- Boutique : accueil, fiches produit, demande de commande ---------- */
.shop-hero-sec{padding:calc(var(--hdr) + 6px) 0 clamp(36px,5vw,72px)}
.shop-hero{display:grid;grid-template-columns:1.05fr .95fr;background:var(--dark);color:var(--light);border-radius:var(--r);overflow:hidden;min-height:min(80vh,740px)}
.shop-hero-txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4.5vw,72px)}
.shop-hero-txt .crumbs,.shop-hero-txt .crumbs a{color:#a39b93}
.shop-h1{font-size:clamp(2.7rem,5.6vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:.98;margin:.2rem 0 1.2rem;color:var(--light)}
.shop-h1 em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.shop-hero .lead{color:#cfc9c1;max-width:40ch}
.shop-facts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);margin:clamp(24px,3.5vw,44px) 0 clamp(24px,3vw,36px);padding:0}
.shop-facts li{border-top:1px solid #3a3531;padding-top:.9rem;display:grid;gap:.25rem}
.shop-facts strong{font-weight:600;font-size:1rem}
.shop-facts span{color:#a39b93;font-size:.86rem;line-height:1.35}
.shop-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;margin:0}
.shop-hero .btn{background:var(--light);color:var(--ink);border-color:var(--light)}
.shop-hero .btn:hover{background:#fff;border-color:#fff}
.shop-hero-fig{position:relative;margin:0;min-height:360px;overflow:hidden;background:#1b1b1b}
.shop-hero-fig picture,.shop-hero-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shop-hero-cap{position:absolute;left:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);right:clamp(14px,2vw,26px);display:grid;gap:.15rem;max-width:340px;padding:1rem 1.2rem;border-radius:var(--r-s);background:rgba(17,17,17,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff}
.shop-hero-cap small{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.shop-hero-cap strong{font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.shop-hero-cap .muted{color:#d6d0c8}

.shop{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.sp{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;transition:transform .6s var(--io),box-shadow .6s var(--io)}
.sp[hidden]{display:none}
.sp:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(17,17,17,.45)}
.sp-img{position:relative;display:block;aspect-ratio:4/4.6;overflow:hidden;background:var(--bg-2)}
.sp-img picture,.sp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--outq)}
.sp:hover .sp-img img{transform:scale(1.07)}
.sp-num{position:absolute;top:1rem;right:1.2rem;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35);z-index:1}
.sp-tag{position:absolute;left:1rem;bottom:1rem;z-index:1;font-size:.78rem;font-weight:600;color:var(--ink);background:rgba(238,237,234,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-s);padding:.38rem .7rem}
.sp-body{display:flex;flex-direction:column;gap:.45rem;padding:clamp(18px,1.8vw,26px);flex:1}
.sp-title{font-size:clamp(1.15rem,.5vw + 1rem,1.4rem);font-weight:600;letter-spacing:-.035em;line-height:1.1}
.sp-short{color:var(--ink-2);font-size:.94rem;line-height:1.4}
.sp-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.sp-price{font-weight:600}
.sp-price s{color:var(--muted);margin-left:.45em;font-weight:500}
.sp-price small{font-weight:500;font-size:.78rem}
.sp-go{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;white-space:nowrap}
.sp-go .arr{width:20px;height:20px}
.sp-go .arr svg{width:20px;height:20px}

.rts{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.rt{background:#fff;border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.rt:nth-child(2){background:var(--dark);color:var(--light)}
.rt:nth-child(2) .eyebrow{background:#2a2623;color:var(--light)}
.rt-h{font-size:clamp(1.5rem,1.4vw + 1rem,2.1rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:0 0 1.4rem;max-width:20ch}
.rt-steps{list-style:none;margin:0;padding:0;display:grid}
.rt-steps li{display:grid;grid-template-columns:2.6rem 1fr;grid-template-areas:"n k" "n p" "n w";column-gap:.4rem;row-gap:.15rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.rt:nth-child(2) .rt-steps li{border-color:#34302d}
.rt-n{grid-area:n;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.15rem}
.rt-k{grid-area:k;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rt-p{grid-area:p;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;border-bottom:1px solid transparent;justify-self:start;transition:border-color .4s var(--io)}
.rt-p:hover{border-color:currentColor}
.rt-w{grid-area:w;font-size:.92rem;color:var(--ink-2)}
.rt:nth-child(2) .rt-w,.rt:nth-child(2) .rt-k{color:#b8b0a7}

/* fiche produit */
.pdp2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,88px);align-items:start;padding-top:calc(var(--hdr) + 4px)}
.pdp-gal{display:grid;gap:clamp(12px,1.4vw,20px)}
.pdp-fig{margin:0;overflow:hidden;border-radius:var(--r);background:var(--bg-2);aspect-ratio:4/3}
.pdp-fig.is-main{aspect-ratio:4/4.6}
.pdp-fig picture,.pdp-fig img{width:100%;height:100%;object-fit:cover}
.pdp-info{position:sticky;top:calc(var(--hdr) + 8px)}
.pdp-in{padding-block:clamp(8px,2vw,24px)}
.pdp-h1{font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:500;letter-spacing:-.05em;line-height:1;margin:.2rem 0 1rem}
.pdp-price{margin:1.4rem 0 1.2rem}
.pdp-price .price{font-size:1.9rem;letter-spacing:-.03em}
.order{display:grid;gap:1rem;background:#fff;border-radius:var(--r);padding:clamp(18px,2vw,28px)}
.order-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.order-l{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.qty button{width:42px;height:42px;background:none;border:0;font:inherit;font-size:1.3rem;cursor:pointer;color:var(--ink);transition:background-color .3s var(--io)}
.qty button:hover{background:var(--bg-2)}
.qty input{width:46px;height:42px;border:0;text-align:center;font:inherit;font-weight:600;background:transparent;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.seg{display:inline-flex;background:var(--bg-2);border-radius:var(--r-s);padding:3px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.5rem .9rem;border-radius:3px;font-size:.9rem;font-weight:600;color:var(--ink-2);transition:background-color .35s var(--io),color .35s var(--io)}
.seg input:checked+span{background:var(--ink);color:var(--light)}
.seg input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.order-tva{display:grid;gap:.4rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.order-tva[hidden]{display:none}
.order-tva input{height:46px;border:1px solid var(--line);border-radius:var(--r-s);padding:0 .9rem;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;background:#fff;color:var(--ink)}
.order-btn{justify-content:center;width:100%;padding:.9rem 1.25rem}
.order-note{margin:0;font-size:.86rem;color:var(--muted);line-height:1.4}
.pdp-facts{list-style:none;display:grid;gap:.5rem;margin:1.4rem 0 0;padding:0;font-size:.92rem;color:var(--ink-2)}
.pdp-facts li{display:flex;align-items:center;gap:.6rem}
.pdp-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-2);flex:none}
.pdp-pdf{margin-top:1.2rem}
.acc-in{padding:0 1.4em 1.2em}
.acc-in p{color:var(--ink-2);max-width:62ch;margin:0 0 .8em;padding:0}
@media (max-width:1000px){
  .shop-hero{grid-template-columns:1fr;min-height:0}
  .shop-hero-fig{min-height:0;aspect-ratio:4/3;order:-1}
  .shop-hero-txt{padding:clamp(24px,6vw,40px)}
  .shop{grid-template-columns:repeat(2,1fr)}
  .rts{grid-template-columns:1fr}
  .pdp2{grid-template-columns:1fr}
  .pdp-info{position:static}
  .pdp-fig.is-main{aspect-ratio:4/3.4}
}
@media (max-width:640px){
  .shop{grid-template-columns:1fr}
  .shop-facts{grid-template-columns:1fr;gap:10px}
  .order-row{flex-wrap:wrap}
}
.order-row[hidden]{display:none}
.pdp-gal{grid-template-columns:1fr 1fr}
.pdp-fig{aspect-ratio:1/1}
.pdp-fig.is-main{grid-column:1/-1;aspect-ratio:4/4.4}
.pdp-fig:last-child:nth-child(even){grid-column:1/-1;aspect-ratio:16/9}
@media (max-width:640px){.pdp-fig.is-main{aspect-ratio:4/4.2}}

/* ---------- Créations (fiche), formulaire de commande ---------- */
.pdp-sub{display:inline-block;margin:0 0 1rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink-2)}
.cspec{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:start}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(16px,3vw,40px);margin:0}
.specs>div{padding:1.1rem 0;border-top:1px solid var(--line)}
.specs dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.specs dd{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}
.cfeat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.cfeat li{background:#fff;border-radius:var(--r);padding:clamp(22px,2.6vw,36px);display:grid;gap:1.2rem;align-content:start}
.cf-n{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--muted)}
.cfeat p{margin:0;color:var(--ink-2);line-height:1.5}
.ord-sec{padding:calc(var(--hdr) + 6px) 0 clamp(48px,6vw,96px)}
.ord-head{max-width:760px;padding-block:clamp(16px,3vw,40px) clamp(20px,3vw,36px)}
.ord-h1{font-size:clamp(2.3rem,4.6vw,4.2rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin:.2rem 0 1rem}
.ord-h1 em,.ord-sum-h em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.ord{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(18px,2.4vw,36px);align-items:start}
.ord[hidden]{display:none}
.ord-main{display:grid;gap:clamp(12px,1.4vw,18px)}
.ord-card{border:0;margin:0;padding:clamp(20px,2.4vw,34px);background:#fff;border-radius:var(--r);min-width:0}
.ord-card legend{float:left;width:100%;display:flex;align-items:center;gap:.8rem;font-size:clamp(1.2rem,.6vw + 1rem,1.5rem);font-weight:600;letter-spacing:-.035em;margin:0 0 1.2rem;padding:0}
.ord-card legend+*{clear:both}
.ord-step{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--light);font-size:.85rem;font-weight:600;letter-spacing:0}
.ol-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ol{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-s);transition:border-color .4s var(--io),background-color .4s var(--io)}
.ol.is-on{border-color:var(--ink);background:var(--paper)}
.ol-img{display:block;width:72px;height:72px;border-radius:4px;overflow:hidden;background:var(--bg-2)}
.ol-img picture,.ol-img img{width:100%;height:100%;object-fit:cover}
.ol-info{display:grid;gap:.2rem;min-width:0}
.ol-info strong{font-weight:600;letter-spacing:-.02em;line-height:1.2}
.ol-info small{color:var(--muted);font-size:.84rem}
.ol-note{margin-top:.4rem;height:40px;border:1px solid var(--line);border-radius:var(--r-s);padding:0 .8rem;font:inherit;font-size:.9rem;background:#fff;color:var(--ink);width:100%}
.ol-note[hidden]{display:none}
.ol-qty .qty{border-color:var(--line)}
.qty.ol-qty{background:#fff}
.ord-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ord-grid[hidden]{display:none}
.ord-grid+.ord-grid{margin-top:14px}
.f{display:grid;gap:.4rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-content:start}
.f input,.f select,.f textarea{border:1px solid var(--line);border-radius:var(--r-s);padding:.8rem .9rem;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;background:#fff;color:var(--ink);width:100%}
.f input,.f select{height:48px;padding-block:0}
.f textarea{resize:vertical;min-height:90px}
.f input:focus,.f select:focus,.f textarea:focus,.ol-note:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.f-wide{grid-column:1/-1}
.f-l{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ord .seg{justify-self:start;margin-top:.1rem}
.ord-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.mode{position:relative;cursor:pointer}
.mode input{position:absolute;opacity:0;pointer-events:none}
.mode>span{display:grid;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-s);transition:border-color .35s var(--io),background-color .35s var(--io);height:100%}
.mode strong{font-weight:600;letter-spacing:-.02em}
.mode small{color:var(--muted);font-size:.84rem;line-height:1.35}
.mode input:checked+span{border-color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}
.mode input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.ord-sum{position:sticky;top:calc(var(--hdr) + 8px)}
.ord-sum-in{background:var(--dark);color:var(--light);border-radius:var(--r);padding:clamp(22px,2.6vw,36px)}
.ord-sum .eyebrow.on-dark{background:#2a2623}
.ord-sum-h{font-size:clamp(1.6rem,1.4vw + 1rem,2.2rem);font-weight:500;letter-spacing:-.045em;line-height:1;margin:0 0 1.2rem}
.os-lines{list-style:none;margin:0;padding:0;display:grid}
.os-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #34302d;font-size:.95rem;line-height:1.3}
.os-lines b{font-weight:600;white-space:nowrap}
.os-empty{margin:0;padding:.8rem 0;border-top:1px solid #34302d;color:#a39b93;font-size:.95rem}
.os-empty[hidden]{display:none}
.os-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.6rem 0 .4rem;padding-top:1rem;border-top:1px solid #4a443f}
.os-total span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#a39b93}
.os-total strong{font-size:1.7rem;font-weight:600;letter-spacing:-.04em}
.os-note{margin:0 0 1.2rem;color:#a39b93;font-size:.84rem;line-height:1.4}
.os-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;line-height:1.4;color:#cfc9c1;margin-bottom:1.1rem;cursor:pointer}
.os-consent input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--light);flex:none}
.os-consent a{border-bottom:1px solid currentColor}
.ord-sum .btn.os-btn{width:100%;justify-content:center;padding:.95rem 1.25rem;background:var(--light);color:var(--ink);border-color:var(--light)}
.ord-sum .btn.os-btn:hover{background:#fff;border-color:#fff}
.ord-sum .btn.os-btn:disabled{opacity:.6;cursor:wait}
.os-msg{margin:.9rem 0 0;font-size:.9rem;min-height:1.2em;color:#cfc9c1}
.os-msg.is-err{color:#ffb4a8}
.ord-done{max-width:640px;margin:0 auto;padding:clamp(36px,6vw,80px) 0;text-align:center;display:grid;justify-items:center;gap:1rem}
.ord-done[hidden]{display:none}
.ord-done .h2 em{font-family:var(--serif);font-style:italic;font-weight:500}
.ord-noscript{background:#fff;border-radius:var(--r);padding:1.2rem 1.4rem}
@media (max-width:1000px){
  .ord{grid-template-columns:1fr}
  .ord-sum{position:static}
  .cspec{grid-template-columns:1fr}
  .cfeat{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ord-grid,.ord-modes,.specs{grid-template-columns:1fr}
  .ol{grid-template-columns:56px 1fr;grid-template-areas:"i n" "q q"}
  .ol-img{width:56px;height:56px;grid-area:i}
  .ol-info{grid-area:n}
  .ol-qty{grid-area:q;justify-self:start}
}
.ord .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- v4.2 : fil d'Ariane à gauche, boutique sans bloc d'en-tête, images en paysage, fenêtre de commande ---------- */
.crumbs ol{justify-content:flex-start}
.crumbs{text-align:left}
.shop-head{padding:calc(var(--hdr) + 6px) 0 clamp(12px,1.6vw,22px)}
.shop-head-in{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(20px,3vw,48px);flex-wrap:wrap}
.shop-head-txt{max-width:640px}
.shop-h1b{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin:.2rem 0 .8rem}
.shop-h1b em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.shop-sub{margin:0;color:var(--ink-2);font-size:clamp(1.02rem,.5vw + .9rem,1.25rem);line-height:1.35;max-width:46ch}
.shop-facts2{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:0}
.shop-facts2 li{display:grid;gap:.15rem;background:#fff;border-radius:var(--r-s);padding:.75rem 1.1rem}
.shop-facts2 strong{font-size:.95rem;font-weight:600;letter-spacing:-.02em}
.shop-facts2 span{font-size:.8rem;color:var(--muted)}
.shop-cat{padding-top:clamp(18px,2.4vw,32px)}
/* images en format paysage */
.sp-img{aspect-ratio:4/3}
.pdp-fig{aspect-ratio:4/3}
.pdp-fig.is-main{aspect-ratio:16/11}
.pdp-fig:last-child:nth-child(even){aspect-ratio:16/9}
.ol-img{width:96px;height:72px}
.ol-head{display:grid;grid-template-columns:96px 1fr auto;gap:1rem;align-items:center}
@media (max-width:1000px){.pdp-fig.is-main{aspect-ratio:16/11}}
@media (max-width:640px){.ol-head{grid-template-columns:72px 1fr;grid-template-areas:"i n" "q q"}.ol-img{width:72px;height:54px;grid-area:i}.ol-info{grid-area:n}.ol-qty{grid-area:q;justify-self:start}.pdp-fig.is-main{aspect-ratio:4/3}}
/* ligne article : l'en-tête et la configuration s'empilent */
.ol{display:block;padding:12px}
.ol[hidden]{display:none}
.ol-conf{margin-top:12px;padding-top:14px;border-top:1px dashed var(--line)}
.ol-conf[hidden]{display:none}
.ol-conf-t{margin:0 0 .9rem;font-size:.86rem;color:var(--muted);line-height:1.4}
.ol-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.of{display:grid;gap:.35rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-content:start}
.of-wide{grid-column:1/-1}
.of input,.of select,.of textarea{border:1px solid var(--line);border-radius:var(--r-s);padding:0 .8rem;font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;background:#fff;color:var(--ink);width:100%;height:44px}
.of textarea{height:auto;padding:.7rem .8rem;resize:vertical}
.of input:focus,.of select:focus,.of textarea:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.of-in{position:relative;display:block}
.of-in input{padding-right:3.2rem}
.of-in em{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);font-style:normal;font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--muted);pointer-events:none}
.ol-more{display:inline-flex;margin-top:1rem;background:none;border:1px solid var(--ink-2);border-radius:var(--r-s);padding:.6rem 1.2rem;font:inherit;font-size:.95rem;font-weight:500;cursor:pointer;color:var(--ink);transition:background-color .4s var(--io),color .4s var(--io)}
.ol-more:hover{background:var(--ink-2);color:var(--light)}
.ol-more[hidden]{display:none}
.ord-sum-k{display:inline-flex;margin:0 0 1rem;background:#2a2623;color:var(--light);border-radius:var(--r-s);padding:.4rem .7rem;font-size:.85rem}
.ord-sum-h,.ord-done-h{font-size:clamp(1.6rem,1.4vw + 1rem,2.2rem);font-weight:500;letter-spacing:-.045em;line-height:1;margin:0 0 1.2rem}
.ord-done-h em{font-family:var(--serif);font-style:italic;font-weight:500}
.ord-done .ord-sum-k{background:var(--line);color:var(--ink-2)}
/* fenêtre de commande */
.ordm{border:0;padding:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent;overflow:hidden;color:var(--ink)}
.ordm::backdrop{background:rgba(12,12,12,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s var(--io)}
.ordm.is-in::backdrop{opacity:1}
.ordm-in{position:absolute;left:50%;top:clamp(10px,2.4vh,28px);bottom:0;width:min(1180px,calc(100vw - 2 * clamp(8px,2vw,28px)));transform:translate(-50%,40px);opacity:0;background:var(--bg);border-radius:var(--r) var(--r) 0 0;overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(16px,2.6vw,40px) clamp(24px,3vw,44px);transition:transform .6s var(--outq),opacity .45s var(--io)}
.ordm.is-in .ordm-in{transform:translate(-50%,0);opacity:1}
.ordm-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(14px,2vw,22px) 0;background:var(--bg)}
.ordm-t{margin:0;font-size:clamp(1.3rem,1vw + 1rem,1.8rem);font-weight:500;letter-spacing:-.045em}
.ordm-x{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:.5rem .9rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--ink);transition:background-color .35s var(--io)}
.ordm-x:hover{background:var(--bg-2)}
.ordm-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ordm-lead{margin:0 0 clamp(14px,2vw,24px);color:var(--ink-2);max-width:62ch;line-height:1.4}
.ordm .ord-sum{top:calc(clamp(14px,2vw,22px) * 2 + 44px)}
html.ordm-open{overflow-y:scroll}
@media (max-width:1000px){.ol-fields{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ordm-in{top:0;width:100vw;border-radius:0}.ol-fields{grid-template-columns:1fr}.ordm .ord-sum{position:static}}
@media (prefers-reduced-motion:reduce){.ordm-in,.ordm::backdrop{transition:none}}
/* fenêtre de commande : aucune colonne ne doit déborder */
.ord{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.ord-main,.ord-card,.ol,.ol-info,.ol-fields>*,.ord-grid>*{min-width:0}
.ol-head{grid-template-columns:96px minmax(0,1fr) auto}
.ol-fields,.ord-grid,.ord-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
.ordm-in{overflow-x:hidden}
@media (max-width:1000px){.ord{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ol-head{grid-template-columns:72px minmax(0,1fr)}.ol-fields,.ord-grid,.ord-modes{grid-template-columns:minmax(0,1fr)}}
.ord .seg{display:flex;max-width:100%;justify-self:stretch}
.ord .seg label{flex:1;text-align:center}
@media (max-width:420px){.seg span{padding:.5rem .55rem;font-size:.82rem}}

/* ---------- Bouton Boutique à côté du menu ---------- */
.hdr-shop{display:inline-flex;align-items:center;gap:.55rem;margin-left:.5rem;padding:.58rem 1.05rem;border:1px solid rgba(20,55,46,.28);border-radius:var(--r-s);font-weight:600;font-size:.92rem;line-height:1.2;white-space:nowrap;position:relative;z-index:1300;color:var(--ink);background:transparent;transition:background-color .45s var(--io),color .45s var(--io),border-color .45s var(--io)}
.hdr-shop svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hdr-shop:hover{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
.site-header.is-overlay:not(.is-solid) .hdr-shop{color:var(--light);border-color:rgba(255,255,255,.6);background:rgba(17,17,17,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.site-header.is-overlay:not(.is-solid) .hdr-shop:hover{background:var(--light);color:var(--ink);border-color:var(--light)}
.hdr-actions{margin-right:0}
@media (max-width:1040px){
  .hdr-shop{margin-left:auto;margin-right:.5rem}
  .hdr-shop+.mmenu{margin-left:0}
}
@media (max-width:480px){
  .hdr-shop{padding:.58rem .75rem}
  .hdr-shop span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.ftab.is-off{opacity:.35;cursor:not-allowed}
.ftab.is-off:hover{color:inherit}
.crumbs{align-self:flex-start;width:100%;text-align:left}
.crumbs ol{justify-content:flex-start;margin:0;padding:0}
.page-head>.wrap{max-width:calc(var(--maxw) + var(--gut)*2)}
.post-head>.wrap{max-width:calc(var(--maxw) + var(--gut)*2)}
/* boutons de l'en-tête : espacement serré */
.hdr-in{gap:10px}
.hdr-shop{margin-left:0}
@media (max-width:1040px){.hdr-shop{margin-left:auto;margin-right:0}}
@media (min-width:1041px){.hdr-shop+.mmenu{margin-left:0}.hdr-actions{margin-left:auto}}

/* ---------- v5 : commande dans un tiroir à droite, mise en page éditoriale ---------- */
.ordm-in{left:auto;right:0;top:0;bottom:0;width:min(680px,100vw);transform:translateX(100%);opacity:1;border-radius:var(--r) 0 0 var(--r);padding:0;box-shadow:-30px 0 80px -30px rgba(0,0,0,.45);transition:transform .75s var(--io)}
.ordm.is-in .ordm-in{transform:none}
.ordm-bar,.ordm-lead,.ordm .ord,.ordm .ord-done{padding-inline:clamp(20px,3.2vw,44px)}
.ordm-bar{padding-block:clamp(14px,1.8vw,22px);border-bottom:1px solid var(--line)}
.ordm-brand{display:flex;align-items:center;gap:1rem}
.ordm-brand img{height:28px;width:auto}
.ordm-t{margin:0;font-size:clamp(1.4rem,1vw + 1.1rem,1.9rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.ordm-t em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.ordm-lead{margin:clamp(18px,2.4vw,30px) 0 clamp(16px,2vw,26px)}
/* formulaire à une colonne, sections séparées par un filet */
.ord{display:block;max-width:none}
.ord-main{display:block}
.ord-card{background:transparent;border-radius:0;padding:clamp(22px,2.6vw,34px) 0;border-top:1px solid var(--line)}
.ord-card:first-child{border-top:0;padding-top:0}
.ord-card legend{font-size:clamp(1.15rem,.5vw + 1rem,1.4rem);gap:.9rem;margin-bottom:1.2rem}
.ord-step{width:auto;height:auto;background:none;color:var(--muted);border-radius:0;font-family:var(--serif);font-style:italic;font-size:1.35rem;font-weight:500;letter-spacing:0;min-width:1.4rem}
.ol{background:#fff}
.ol-img{width:112px;height:80px}
.ol-head{grid-template-columns:112px minmax(0,1fr) auto}
.ord-sec .ord{max-width:760px}
.ord-sec .ord-card{padding-inline:0}
/* récapitulatif */
.ord-recap .os-lines li{border-top:1px solid var(--line);color:var(--ink)}
.ord-recap .os-empty{border-top:1px solid var(--line);color:var(--muted)}
.ord-recap .os-total{border-top:1px solid var(--ink);margin-top:.4rem}
.ord-recap .os-total span{color:var(--muted)}
.ord-recap .os-note{color:var(--muted)}
.ord-recap .os-consent{color:var(--ink-2)}
.ord-recap .os-consent input{accent-color:var(--ink)}
/* barre fixe : total et envoi */
.ord-bar{position:sticky;bottom:0;z-index:4;margin:0 calc(-1 * clamp(20px,3.2vw,44px));padding:clamp(18px,2vw,26px) clamp(20px,3.2vw,44px) clamp(14px,1.8vw,22px);background:linear-gradient(180deg,rgba(238,237,234,0),var(--bg) 34%)}
.ord-sec .ord-bar{margin-inline:0;padding-inline:0}
.ord-bar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--dark);color:var(--light);border-radius:var(--r);padding:10px 10px 10px clamp(16px,2vw,26px);box-shadow:0 18px 40px -22px rgba(0,0,0,.55)}
.ord-bar-tot{display:grid;gap:.1rem;margin:0}
.ord-bar-tot span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#a39b93}
.ord-bar-tot strong{font-size:clamp(1.2rem,1vw + 1rem,1.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.ord-bar .btn.os-btn{width:auto;flex:none;background:var(--light);color:var(--ink);border-color:var(--light);padding:.85rem 1.3rem}
.ord-bar .btn.os-btn:hover{background:#fff;border-color:#fff}
.ord-bar .btn.os-btn:disabled{opacity:.6;cursor:wait}
.ord-bar .os-msg{margin:0 0 .7rem;color:var(--ink-2);font-size:.9rem;min-height:0}
.ord-bar .os-msg:empty{display:none}
.ord-bar .os-msg.is-err{color:#b3261e;font-weight:600}
.ordm .ord-done{display:grid;justify-items:start;text-align:left;padding-block:clamp(28px,4vw,52px)}
/* apparition en cascade des sections à l'ouverture */
.ordm .ord-card{opacity:0;transform:translateY(18px)}
.ordm.is-in .ord-card{opacity:1;transform:none;transition:opacity .7s var(--outq),transform .8s var(--outq)}
.ordm.is-in .ord-card:nth-child(1){transition-delay:.35s}
.ordm.is-in .ord-card:nth-child(2){transition-delay:.42s}
.ordm.is-in .ord-card:nth-child(3){transition-delay:.49s}
.ordm.is-in .ord-card:nth-child(4){transition-delay:.56s}
.ordm.is-in .ord-card:nth-child(5){transition-delay:.63s}
.ordm .ord-recap{opacity:0}
.ordm.is-in .ord-recap{opacity:1}
@media (max-width:640px){
  .ordm-in{border-radius:0;width:100vw}
  .ol-img{width:72px;height:54px}
  .ol-head{grid-template-columns:72px minmax(0,1fr)}
  .ord-bar-in{padding-left:16px}
  .ord-bar .btn.os-btn{padding:.8rem 1rem;font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){.ordm .ord-card{opacity:1;transform:none}}

/* ---------- Galerie des fiches produit : une grande photo, des vignettes, pas de longue pile ---------- */
.pdp-gal{display:block}
.gal{display:grid;gap:12px}
.gal-stage{position:relative;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;background:var(--bg-2);touch-action:pan-y}
.gal-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03);transition:opacity .7s var(--io),transform 1.1s var(--outq);pointer-events:none}
.gal-slide.is-on{opacity:1;transform:none;pointer-events:auto}
.gal-slide picture,.gal-slide img{width:100%;height:100%;object-fit:cover}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(238,237,234,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;opacity:0;transition:opacity .4s var(--io),background-color .3s var(--io)}
.gal-stage:hover .gal-nav,.gal-nav:focus-visible{opacity:1}
.gal-nav:hover{background:#fff}
.gal-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gal-prev{left:14px}
.gal-next{right:14px}
.gal-count{position:absolute;right:14px;bottom:14px;margin:0;padding:.3rem .65rem;border-radius:var(--r-s);background:rgba(17,17,17,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.04em}
.gal-thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;scroll-snap-type:x proximity}
.gal-thumbs::-webkit-scrollbar{display:none}
.gal-th{flex:none;width:clamp(76px,9vw,104px);aspect-ratio:4/3;border:2px solid transparent;border-radius:calc(var(--r-s) + 2px);padding:0;overflow:hidden;cursor:pointer;background:var(--bg-2);opacity:.6;scroll-snap-align:start;transition:opacity .35s var(--io),border-color .35s var(--io)}
.gal-th picture,.gal-th img{width:100%;height:100%;object-fit:cover;display:block}
.gal-th:hover{opacity:1}
.gal-th.is-on{opacity:1;border-color:var(--ink)}
@media (hover:none){.gal-nav{opacity:1;width:40px;height:40px}}
@media (max-width:640px){.gal-stage{aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.gal-slide{transition:none;transform:none}}

/* ---------- Choix de teinte en images (nuancier) ---------- */
.tint{gap:.7rem}
.of-l{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tint-tabs{display:flex;gap:6px;flex-wrap:wrap}
.tint-tab{font:inherit;font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.4rem .85rem;cursor:pointer;color:var(--ink-2);transition:background-color .3s var(--io),color .3s var(--io),border-color .3s var(--io)}
.tint-tab:hover{border-color:var(--ink)}
.tint-tab.is-on{background:var(--ink);color:var(--light);border-color:var(--ink)}
.tint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}
.tint-sw{position:relative;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--bg-2);transition:transform .35s var(--outq),border-color .3s var(--io)}
.tint-sw[hidden]{display:none}
.tint-sw img{width:100%;height:100%;object-fit:cover;display:block}
.tint-sw:hover{transform:scale(1.06)}
.tint-sw.is-on{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.tint-sw:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.tint-cur{margin:0;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--ink-2);min-height:1.3em}
.tint-cur strong{color:var(--ink)}
.tint-ech{display:flex;align-items:center;gap:.6rem;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--ink-2);cursor:pointer}
.tint-ech input{width:18px;height:18px;accent-color:var(--ink);flex:none}
.os-lines li.is-ship{color:var(--ink-2)}
.ordm-brand img{height:38px;width:auto}.ordm-brand{gap:1.2rem}

/* ---------- Lignes verticales d'architecte (accueil) ---------- */
.gl-sec{overflow:hidden}
.gl-sec>.wrap-wide{position:relative;z-index:1}
.gl-lines{position:absolute;inset:0 max(var(--gut),calc((100% - var(--maxw))/2));display:flex;justify-content:space-between;pointer-events:none;z-index:0}
.gl-lines i{display:block;width:1px;height:100%;background:var(--line);transform:scaleY(0);transform-origin:top}
.js .gl-lines[data-rv]{opacity:1;transform:none}
.gl-lines.in i{transform:scaleY(1);transition:transform 1.6s var(--io);transition-delay:calc(var(--k)*.09s)}
.no-js .gl-lines i,html:not(.js) .gl-lines i{transform:none}
.gl-sec{border-bottom:1px solid var(--line)}
.logos-block{border-bottom:1px solid var(--line)}
@media (max-width:760px){.gl-lines i:nth-child(even){display:none}}
@media (prefers-reduced-motion:reduce){.gl-lines i{transform:none;transition:none}}
/* hero : image unique, et fine ligne sous la barre de navigation transparente */
.hs-all{clip-path:none}
.hs-all img{object-position:50% 55%}
.site-header.is-overlay:not(.is-solid){border-bottom-color:rgba(255,255,255,.3)}
/* page de remerciement */
.thanks-sec{padding:calc(var(--hdr) + clamp(36px,8vw,120px)) 0 clamp(60px,8vw,120px)}
.thanks{display:flex;flex-direction:column;align-items:center;text-align:center}
.thanks-h1{font-size:clamp(2.5rem,5.4vw,4.8rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin:.2rem 0 1.2rem}
.thanks-h1 em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.thanks-ref{margin:1.4rem 0 0;display:inline-flex;align-items:center;gap:.8rem;background:#fff;border-radius:var(--r-s);padding:.7rem 1.1rem;font-size:.92rem;color:var(--ink-2)}
.thanks-ref[hidden]{display:none}
.thanks-ref strong{color:var(--ink);letter-spacing:.04em}
.thanks-steps{margin:clamp(28px,4vw,52px) 0;width:100%;text-align:left}
.thanks-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.8rem;margin:0}
.thanks-contact{margin:2rem 0 0;color:var(--muted);font-size:.92rem}
.thanks-contact a{border-bottom:1px solid currentColor}
.ord-done{display:none!important}
.thanks-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.thanks-steps{grid-template-columns:1fr}}

/* ---------- v5.1 : ouverture du tiroir de commande, une seule animation fluide ---------- */
.ordm::backdrop{background:rgba(12,12,12,.5);-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;transition:opacity .5s ease}
.ordm.is-in::backdrop{opacity:1}
.ordm-in{transform:translate3d(100%,0,0);opacity:1;transition:transform .7s cubic-bezier(.16,1,.3,1);will-change:transform}
.ordm.is-in .ordm-in{transform:none}
.ordm:not(.is-in) .ordm-in{transition-duration:.45s;transition-timing-function:cubic-bezier(.65,0,.35,1)}
/* plus de cascade section par section : tout le contenu monte d'un bloc, une fois le tiroir en mouvement */
.ordm .ord-card,.ordm .ord-recap,.ordm.is-in .ord-card,.ordm.is-in .ord-recap{opacity:1!important;transform:none!important;transition:none!important}
.ordm .ordm-lead,.ordm .ord{opacity:0;transform:translate3d(0,16px,0)}
.ordm.is-in .ordm-lead,.ordm.is-in .ord{opacity:1;transform:none;transition:opacity .6s ease .18s,transform .8s cubic-bezier(.16,1,.3,1) .18s}
.ordm:not(.is-in) .ordm-lead,.ordm:not(.is-in) .ord{transition:opacity .2s ease}
@media (prefers-reduced-motion:reduce){.ordm-in{transition:none}.ordm .ordm-lead,.ordm .ord{opacity:1;transform:none}}

/* ---------- Boutique v6 : photos mises en avant ---------- */
.shop-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,40px)}
.shop-sec-head h2{font-size:clamp(2rem,3.6vw,3.4rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin:0}
.shop-sec-head h2 em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.shop-sec-head p{margin:0;max-width:42ch;color:var(--ink-2);line-height:1.4}
.shop-jump{display:flex;gap:8px;margin:0;flex-basis:100%}
.shop-jump a{display:inline-flex;align-items:baseline;gap:.35rem;border:1px solid var(--line);border-radius:99px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;background:#fff;transition:background-color .35s var(--io),color .35s var(--io),border-color .35s var(--io)}
.shop-jump a:hover{background:var(--ink);color:var(--light);border-color:var(--ink)}
.shop-jump sup{font-size:.64rem;opacity:.55}
.shop-cat{padding-top:clamp(18px,2.4vw,32px)}
.shop-care{background:var(--bg-2)}

/* créations : une grande photo à gauche, deux photos empilées à droite */
.crea-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(18px,2.2vw,32px) clamp(14px,1.8vw,26px)}
.cc{display:flex;flex-direction:column;gap:1rem;min-width:0}
.cc-0{grid-row:1/span 2}
.cc-img{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--bg-2);aspect-ratio:16/10}
.cc-0 .cc-img{flex:1 1 auto;aspect-ratio:auto;min-height:clamp(380px,44vw,720px)}
.cc-img picture,.cc-img img,.im2{position:absolute;inset:0;width:100%;height:100%}
.cc-img img,.pc-img img{object-fit:cover;transition:transform 1.5s var(--outq)}
.im2{opacity:0;transition:opacity .9s var(--io)}
.im2 picture,.im2 img{width:100%;height:100%}
.cc-img::after,.pc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.12) 0,rgba(17,17,17,0) 26%,rgba(17,17,17,0) 62%,rgba(17,17,17,.38) 100%);pointer-events:none;z-index:1}
.cc-num{position:absolute;top:1rem;left:1.2rem;z-index:2;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.cc-tag,.pc-tag{position:absolute;left:1rem;bottom:1rem;z-index:2;font-size:.78rem;font-weight:600;color:var(--ink);background:rgba(238,237,234,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-s);padding:.38rem .7rem}
.cc-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1.5rem;align-items:start}
.cc-title{grid-column:1;font-size:clamp(1.3rem,1vw + 1rem,1.9rem);font-weight:500;letter-spacing:-.045em;line-height:1.05}
.cc-title em,.pc-title em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.02em}
.cc-short{grid-column:1;color:var(--ink-2);font-size:.95rem;line-height:1.4}
.cc-price{grid-column:2;grid-row:1/span 2;text-align:right;white-space:nowrap;font-weight:600;padding-top:.2rem}
.cc-price small{display:block;font-weight:500;font-size:.78rem}

/* produits d'entretien et articles liés */
.care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.4vw,36px) clamp(14px,1.8vw,26px)}
.pc{display:flex;flex-direction:column;gap:1rem;min-width:0}
.pc-img{position:relative;display:block;overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;background:var(--bg)}
.pc-img picture,.pc-img img{position:absolute;inset:0;width:100%;height:100%}
.pc-go{position:absolute;right:1rem;bottom:1rem;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--light);color:var(--ink);transform:translateY(8px) scale(.9);opacity:0;transition:transform .6s var(--outq),opacity .4s var(--io)}
.pc-go .arr{width:20px;height:20px}
.pc-go .arr svg{width:20px;height:20px}
.pc-body{display:grid;gap:.25rem}
.pc-title{font-size:clamp(1.15rem,.5vw + 1rem,1.45rem);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.pc-short{color:var(--ink-2);font-size:.94rem;line-height:1.4}
.pc-price{margin-top:.35rem;font-weight:600}
.pc-price s{color:var(--muted);margin-left:.45em;font-weight:500}
.pc-price small{font-weight:500;font-size:.78rem}
@media (hover:hover){
  .cc:hover .im2,.pc:hover .im2{opacity:1}
  .cc:hover .cc-img img,.pc:hover .pc-img img{transform:scale(1.045)}
  .pc:hover .pc-go{opacity:1;transform:none}
}
@media (hover:none){.im2{display:none}.pc-go{opacity:1;transform:none;width:40px;height:40px}}

/* galerie d'une fiche : bouton d'agrandissement et survol */
.gal-stage{cursor:zoom-in}
.gal-slide img{transition:transform 1.6s var(--outq)}
.gal-stage:hover .gal-slide.is-on img{transform:scale(1.035)}
.gal-zoom{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(238,237,234,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;transition:background-color .3s var(--io),transform .4s var(--outq)}
.gal-zoom:hover{background:#fff;transform:scale(1.08)}
.gal-zoom svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pdp2{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.gal-stage{aspect-ratio:3/2}

/* visionneuse plein écran */
.lbx{position:fixed;inset:0;z-index:2950;display:none;background:rgba(10,10,10,.94);opacity:0;transition:opacity .35s ease;touch-action:pan-y}
.lbx.is-open{display:block}
.lbx.is-in{opacity:1}
.lbx-stage{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(56px,8vh,96px) clamp(12px,6vw,110px)}
.lbx-fig{margin:0;display:grid;place-items:center;max-width:100%;max-height:100%;animation:lbxIn .7s cubic-bezier(.16,1,.3,1)}
.lbx-fig.from-r{animation-name:lbxInR}
.lbx-fig.from-l{animation-name:lbxInL}
.lbx-fig picture{display:grid;max-width:100%;max-height:100%}
.lbx-fig img{width:auto;height:auto;max-width:min(100%,1700px);max-height:calc(100vh - clamp(112px,16vh,192px));object-fit:contain;border-radius:6px}
@keyframes lbxIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes lbxInR{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes lbxInL{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.lbx-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .3s var(--io),border-color .3s var(--io)}
.lbx-nav:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6)}
.lbx-nav svg,.lbx-x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lbx-prev{left:clamp(10px,2vw,28px)}
.lbx-next{right:clamp(10px,2vw,28px)}
.lbx-x{position:absolute;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,28px);display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:var(--r-s);padding:.55rem .95rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s var(--io)}
.lbx-x:hover{background:rgba(255,255,255,.22)}
.lbx-x svg{width:18px;height:18px}
.lbx-count{position:absolute;left:50%;bottom:clamp(14px,3vh,28px);transform:translateX(-50%);margin:0;color:rgba(255,255,255,.75);font-size:.85rem;font-weight:600;letter-spacing:.08em}
html.lbx-open{overflow-y:scroll}
html.lbx-open body{overflow:hidden}

@media (max-width:1000px){
  .crea-grid{grid-template-columns:1fr}
  .cc-0{grid-row:auto}
  .cc-0 .cc-img{flex:none;aspect-ratio:4/3;min-height:0}
  .care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdp2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .care-grid{grid-template-columns:1fr}
  .cc-body{grid-template-columns:1fr}
  .cc-price{grid-column:1;grid-row:auto;text-align:left;padding-top:.3rem}
  .lbx-nav{width:44px;height:44px}
  .lbx-stage{padding-inline:10px}
}
@media (prefers-reduced-motion:reduce){.lbx,.lbx-fig,.im2,.cc-img img,.pc-img img{transition:none;animation:none}}
/* v6.1 : première création en bandeau panoramique, les deux autres côte à côte ; photos produit mieux cadrées */
.crea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cc-0{grid-column:1/-1;grid-row:auto}
.cc-0 .cc-img{flex:none;aspect-ratio:21/9;min-height:0}
.cc-0 .cc-img img{object-position:50% 68%}
.cc-0 .cc-title{font-size:clamp(1.6rem,1.6vw + 1rem,2.6rem)}
.cc-0 .cc-body{align-items:end}
.cc-0 .cc-short{font-size:1.02rem;max-width:60ch}
.pc-img{aspect-ratio:5/4}
.pc-img img{object-position:50% 38%}
@media (max-width:1000px){.crea-grid{grid-template-columns:1fr}.cc-0 .cc-img{aspect-ratio:4/3}}
@media (max-width:640px){.pc-img{aspect-ratio:4/3}}
.lbx{background:rgba(10,10,10,.97)}
@media (max-width:640px){.cc-price small{display:inline}}

/* ---------- v7 : photos défilantes dans les cartes, cartes bien séparées sur mobile, glissement du tiroir plus lisible ---------- */
.ph{position:absolute;inset:0;display:block}
.ph .sl{position:absolute;inset:0;display:block;opacity:0;transition:opacity .9s var(--io)}
.ph .sl:first-child{opacity:1}
.ph .sl picture,.ph .sl img{position:absolute;inset:0;width:100%;height:100%}
.dots{display:none}
@media (hover:hover) and (min-width:761px){
  .cc:hover .ph .sl:nth-child(2),.pc:hover .ph .sl:nth-child(2){opacity:1}
}
@media (hover:none),(max-width:760px){
  .ph{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .ph::-webkit-scrollbar{display:none}
  .ph .sl{position:relative;flex:0 0 100%;opacity:1;scroll-snap-align:start}
  .dots{position:absolute;right:1rem;bottom:1.15rem;z-index:3;display:flex;gap:6px;padding:.4rem .6rem;border-radius:99px;background:rgba(17,17,17,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:background-color .3s,transform .3s}
  .dots i.on{background:#fff;transform:scale(1.25)}
  .pc-go{display:none}
}
/* mobile : chaque article est une carte blanche distincte, la photo et ses infos forment un seul bloc */
@media (max-width:760px){
  .crea-grid{gap:22px}
  .care-grid{gap:22px}
  .cc,.pc{background:#fff;border-radius:var(--r);overflow:hidden;gap:0;box-shadow:0 18px 40px -30px rgba(17,17,17,.35)}
  .cc-img,.pc-img{border-radius:0}
  .cc-0 .cc-img,.cc-img{aspect-ratio:4/3}
  .cc-body,.pc-body{padding:1.15rem 1.25rem 1.4rem}
  .cc-title,.pc-title{font-size:1.4rem}
  .cc-price,.pc-price{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line);display:block}
  .cc-price{grid-column:1;grid-row:auto;text-align:left}
  .cc-price small,.pc-price small{display:inline}
  .cc-tag,.pc-tag{bottom:1.15rem}
}
/* tiroir : glissement plus long et progressif, lisible même si le premier rendu est lent */
.ordm-in{transition:transform .85s cubic-bezier(.22,1,.36,1)}
/* v7.1 : le tiroir apparaît en glissant de 120 px avec fondu (un glissement de 680 px laissait des zones vides le temps du rendu) ; le contenu est visible dès le départ */
.ordm-in{opacity:0;transform:translate3d(120px,0,0);transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .5s ease}
.ordm.is-in .ordm-in{opacity:1;transform:none}
.ordm:not(.is-in) .ordm-in{transition-duration:.4s,.3s;transition-timing-function:cubic-bezier(.65,0,.35,1),ease}
.ordm .ordm-lead,.ordm .ord,.ordm.is-in .ordm-lead,.ordm.is-in .ord{opacity:1!important;transform:none!important;transition:none!important}
.ordm-in{transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .28s ease}
@media (max-width:760px){.cc-short{order:2}.cc-price{order:3}}

/* ---------- v9 : fiche article (la page boutique garde sa présentation précédente) ---------- */
/* espace en haut : <main> réserve déjà la hauteur de l'en-tête */
.shop-head{padding:clamp(18px,2.6vw,36px) 0 clamp(12px,1.6vw,22px)}
.pdp2{padding-top:clamp(8px,1.4vw,20px)}
.ord-sec{padding-top:clamp(14px,2vw,30px)}
.thanks-sec{padding-top:clamp(36px,8vw,120px)}
@media (max-width:760px){.shop-head{padding-top:14px}.pdp2{padding-top:6px}}

/* bouton retour */
.pdp-back{display:inline-flex;align-items:center;gap:.55rem;margin:clamp(14px,2vw,26px) 0 clamp(8px,1.2vw,14px);padding:.5rem 1rem .5rem .7rem;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:.9rem;font-weight:600;transition:background-color .35s var(--io),color .35s var(--io),border-color .35s var(--io)}
.pdp-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--outq)}
.pdp-back:hover{background:var(--ink);color:var(--light);border-color:var(--ink)}
.pdp-back:hover svg{transform:translateX(-3px)}
@media (max-width:760px){
  .pdp-sec>.wrap-wide:first-child{position:sticky;top:var(--hdr);z-index:60;background:rgba(238,237,234,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .pdp-back{margin:10px 0}
}

/* galerie : grande photo panoramique, rangée de vues dessous, le tout dans un cadre blanc */
.gb-wrap{background:#fff;padding:clamp(8px,1vw,14px);border-radius:calc(var(--r) + 6px);box-shadow:0 30px 60px -42px rgba(17,17,17,.45)}
.gb{display:grid;gap:clamp(6px,.8vw,10px)}
.gb-t{position:relative;display:block;padding:0;border:0;border-radius:var(--r-s);overflow:hidden;cursor:zoom-in;background:var(--bg-2);color:inherit}
.gb-t picture,.gb-t img{display:block;width:100%;height:100%;object-fit:cover}
.gb-t img{transition:transform 1.4s var(--outq)}
.gb-t:hover img{transform:scale(1.05)}
.gb-0{aspect-ratio:2/1;border-radius:var(--r)}
.gb-row{display:grid;grid-template-columns:repeat(var(--c,4),minmax(0,1fr));gap:inherit}
.gb-row .gb-t{aspect-ratio:4/3}
.gb-x{display:none}
.gb-zoom{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(238,237,234,.9);color:var(--ink);transition:transform .4s var(--outq)}
.gb-t:hover .gb-zoom{transform:scale(1.1)}
.gb-zoom svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gb-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(17,17,17,.5);color:#fff;font-weight:600;font-size:.95rem;letter-spacing:.02em}
@media (max-width:760px){
  .gb-0{aspect-ratio:4/3}
  .gb-row{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;scroll-snap-type:x proximity}
  .gb-row::-webkit-scrollbar{display:none}
  .gb-row .gb-t{flex:0 0 32%;scroll-snap-align:start}
  .gb-x{display:block}
  .gb-more{display:none}
}

@media (max-width:760px){
  .shop-facts2{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
  .shop-facts2::-webkit-scrollbar{display:none}
  .shop-facts2 li{flex:none;padding:.6rem .9rem}
  .shop-head-in{gap:14px}
}

/* ---------- v10 : fiche article, photo plein cadre, titre et commande posés dessus, récit à photo fixe ---------- */
.pv-barwrap{margin-bottom:clamp(10px,1.4vw,18px)}
.pv-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;flex-wrap:wrap}
.pv-bar .pdp-back{margin:clamp(12px,1.6vw,20px) 0 0}
.pv-bar .crumbs{margin:clamp(12px,1.6vw,20px) 0 0;width:auto;align-self:center}
.pv{position:relative}
.pv-stage{position:relative;overflow:hidden;border-radius:var(--r);background:#1b1b1b;aspect-ratio:4/3;cursor:zoom-in;touch-action:pan-y}
.pv-immersive .pv-stage{aspect-ratio:auto;height:clamp(520px,calc(100svh - 170px),800px)}
.pv-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s var(--io)}
.pv-slide.is-on{opacity:1}
.pv-slide picture,.pv-slide img{display:block;width:100%;height:100%;object-fit:cover}
.pv-slide.is-on img{animation:pvk 14s var(--outq) both}
@keyframes pvk{from{transform:scale(1.08)}to{transform:scale(1)}}
.pv-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,12,12,.4) 0,rgba(12,12,12,0) 20%,rgba(12,12,12,0) 42%,rgba(12,12,12,.78) 100%)}
.pv-split .pv-shade{background:linear-gradient(180deg,rgba(12,12,12,.4) 0,rgba(12,12,12,0) 22%)}
/* repères façon « stories » en haut de la photo */
.pv-segs{position:absolute;top:10px;left:clamp(14px,1.8vw,26px);right:clamp(14px,1.8vw,26px);display:flex;gap:6px;z-index:3}
.pv-seg{flex:1;height:24px;padding:10px 0;border:0;background:none;cursor:pointer}
.pv-seg i{display:block;position:relative;height:3px;border-radius:3px;background:rgba(255,255,255,.34);overflow:hidden}
.pv-seg i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--io)}
.pv-seg.is-on i::after{transform:scaleX(1)}
.pv-count{position:absolute;top:42px;left:clamp(14px,1.8vw,26px);z-index:3;margin:0;color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.pv-zoom{position:absolute;top:36px;right:clamp(14px,1.8vw,26px);z-index:3;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.35);border-radius:99px;background:rgba(17,17,17,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background-color .3s var(--io)}
.pv-zoom:hover{background:rgba(17,17,17,.55)}
.pv-zoom svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(17,17,17,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .4s var(--io),background-color .3s var(--io)}
.pv-stage:hover .pv-nav,.pv-nav:focus-visible{opacity:1}
.pv-nav:hover{background:rgba(17,17,17,.6)}
.pv-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-prev{left:clamp(12px,1.6vw,24px)}
.pv-next{right:clamp(12px,1.6vw,24px)}
@media (hover:none){.pv-nav{opacity:1;width:42px;height:42px}}

/* création : titre et commande posés sur la photo */
.pv-over{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(20px,2.8vw,44px);color:#fff;pointer-events:none}
.pv-title{max-width:min(760px,58%);pointer-events:auto}
.pv-chip{display:inline-flex;margin:0;padding:.4rem .75rem;border-radius:var(--r-s);background:rgba(17,17,17,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.82rem;font-weight:600}
.pv-h1{margin:.8rem 0 0;font-size:clamp(2.2rem,4.8vw,4.8rem);font-weight:500;letter-spacing:-.055em;line-height:1;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.pv-h1 em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.02em}
.pv-sub{margin:.6rem 0 0;font-family:var(--serif);font-style:italic;font-size:1.15rem;opacity:.9}
.pv-card{width:min(410px,36%);pointer-events:auto;background:rgba(14,14,14,.5);-webkit-backdrop-filter:blur(20px) saturate(1.1);backdrop-filter:blur(20px) saturate(1.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);padding:clamp(16px,1.6vw,24px)}
.pv-card .pdp-price{margin:0 0 1rem}
.pv-card .pdp-price .price{color:#fff;font-size:1.7rem}
.pv-card .pdp-price .muted,.pv-card .price small{color:rgba(255,255,255,.7)}
.pv-card .order{background:none;padding:0;border-radius:0;gap:.9rem}
.pv-card .order-l{color:rgba(255,255,255,.7)}
.pv-card .qty{border-color:rgba(255,255,255,.3)}
.pv-card .qty button,.pv-card .qty input{color:#fff}
.pv-card .qty button:hover{background:rgba(255,255,255,.12)}
.pv-card .btn.order-btn{background:var(--light);color:var(--ink);border-color:var(--light)}
.pv-card .btn.order-btn:hover{background:#fff;border-color:#fff}
.pv-card .order-note{color:rgba(255,255,255,.72);font-size:.82rem}
.pv-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:start;padding-block:clamp(32px,5vw,72px)}
.pv-lede{margin:0;font-size:clamp(1.4rem,1.7vw + .7rem,2.3rem);line-height:1.2;letter-spacing:-.035em;font-weight:500;max-width:32ch;color:var(--ink)}
.pv-facts .pdp-facts{margin-top:.4rem}

/* récit : photo fixe à gauche, étapes à droite */
.st{padding-block:clamp(40px,6vw,96px);background:var(--bg-2)}
.st-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,90px);align-items:start;margin-top:clamp(20px,3vw,40px)}
.st-media{position:sticky;top:calc(var(--hdr) + 20px)}
.st-frame{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#1b1b1b}
.st-fig{position:absolute;inset:0;margin:0;clip-path:inset(100% 0 0 0);transition:clip-path 1s var(--io)}
.st-fig.is-on{clip-path:inset(0 0 0 0);z-index:1}
.st-fig picture,.st-fig img{display:block;width:100%;height:100%;object-fit:cover}
.st-steps{list-style:none;margin:0;padding:0;display:grid}
.st-step{min-height:min(62vh,520px);display:flex;flex-direction:column;justify-content:center;gap:1rem;opacity:.28;transition:opacity .6s var(--io)}
.st-step.is-on{opacity:1}
.st-n{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--muted)}
.st-step p{margin:0;font-size:clamp(1.2rem,1vw + .9rem,1.7rem);line-height:1.3;letter-spacing:-.03em;color:var(--ink);max-width:30ch}

@media (max-width:1000px){
  .pv-intro,.st-grid{grid-template-columns:1fr}
  .pv-over{position:static;display:block;padding:18px 0 0;color:var(--ink)}
  .pv-immersive .pv-stage{height:auto;aspect-ratio:4/3}
  .pv-title{max-width:none}
  .pv-chip{background:var(--line);color:var(--ink-2);-webkit-backdrop-filter:none;backdrop-filter:none}
  .pv-h1{color:var(--ink);text-shadow:none;font-size:clamp(2rem,8vw,3rem)}
  .pv-card{width:auto;margin-top:18px;background:#fff;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .pv-card .pdp-price .price{color:var(--ink)}
  .pv-card .pdp-price .muted,.pv-card .price small{color:var(--muted)}
  .pv-card .order-l{color:var(--muted)}
  .pv-card .qty{border-color:var(--line)}
  .pv-card .qty button,.pv-card .qty input{color:var(--ink)}
  .pv-card .qty button:hover{background:var(--bg-2)}
  .pv-card .btn.order-btn{background:var(--ink-2);color:var(--light);border-color:var(--ink-2)}
  .pv-card .order-note{color:var(--muted)}
  .st-media{top:calc(var(--hdr) + 10px);z-index:2}
  .st-step{min-height:44vh}
}
@media (max-width:760px){
  .pv-bar .crumbs{display:none}
  .pv-zoom span{display:none}
  .pv-zoom{padding:.45rem}
  .pdp-sec>.pv-barwrap{position:sticky;top:var(--hdr);z-index:60;background:rgba(238,237,234,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:8px}
  .pv-bar .pdp-back{margin:10px 0}
}
@media (prefers-reduced-motion:reduce){.pv-slide,.st-fig{transition:none}.pv-slide.is-on img{animation:none}}

/* ---------- v11 : accueil mobile (lignes), fil d'Ariane centré sur mobile et jamais trop long ---------- */
.proofs .gl-lines{display:none}
@media (max-width:760px){
  .gl-lines i:not(:first-child):not(:last-child){display:none}
}
.crumbs ol{min-width:0}
.crumbs li{min-width:0}
.crumbs li:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,420px)}
@media (max-width:760px){
  .page-head .crumbs,.post-head .crumbs{text-align:center}
  .page-head .crumbs ol,.post-head .crumbs ol{justify-content:center}
  .crumbs li:last-child{max-width:58vw}
  .page-head>.wrap,.post-head>.wrap{align-items:center}
}
/* chiffres clés sur mobile : grille 2 x 2 propre, sans les lignes en fond qui traversent les nombres */
@media (max-width:760px){
  .numbers-wrapper.gridlines{background:none}
  .numbers-wrapper{border-top:1px solid var(--line)}
  .number{border-left:0;border-bottom:1px solid var(--line);padding:2rem .8rem}
  .number:nth-child(odd){border-right:1px solid var(--line)}
  .number:nth-child(2){border-right:0}
  .number:last-child{border-right:0}
  .number strong{font-size:clamp(2rem,9.5vw,2.8rem);white-space:nowrap}
}
/* les chiffres clés ferment la section : plus de bande vide dessous */
.intro.gl-sec{padding-bottom:0}
@media (max-width:760px){.number:nth-last-child(-n+2){border-bottom:0}}

/* ---------- encart « la boutique est ouverte » sur le hero ---------- */
.hero-news{position:absolute;right:var(--gut);bottom:clamp(24px,5vh,56px);z-index:4;display:flex;align-items:center;gap:.9rem;max-width:350px;padding:.6rem 1rem .6rem .6rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--r);background:rgba(17,17,17,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;text-shadow:none;transition:background-color .4s var(--io),transform .6s var(--outq)}
.hero-news:hover{background:rgba(17,17,17,.62);transform:translateY(-4px)}
.hn-img{flex:none;width:64px;height:64px;border-radius:calc(var(--r) - 4px);overflow:hidden;background:#2a2623}
.hn-img picture,.hn-img img{display:block;width:100%;height:100%;object-fit:cover}
.hn-txt{display:grid;gap:.12rem;min-width:0;text-align:left}
.hn-txt small{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.hn-txt small::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--light);animation:hnPulse 2s ease-in-out infinite}
.hn-txt strong{font-size:1.02rem;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.hn-txt span{font-size:.82rem;opacity:.85;line-height:1.3}
.hn-arrow{flex:none;margin-left:.4rem;width:34px;height:34px;border-radius:50%;background:var(--light);color:var(--ink);display:grid;place-items:center}
.hn-arrow .arr{width:18px;height:18px}
.hn-arrow .arr svg{width:18px;height:18px}
@keyframes hnPulse{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media (max-width:760px){
  .hero-news{left:var(--gut);right:var(--gut);bottom:auto;top:calc(var(--hdr) + 16px);max-width:none}
  .hn-img{width:52px;height:52px}
}
@media (prefers-reduced-motion:reduce){.hn-txt small::before{animation:none}}
/* chiffres clés : fond plein pour masquer les lignes d'architecte, qui s'arrêtent au-dessus */
.numbers-wrapper,.numbers-wrapper.gridlines{background:var(--bg);position:relative;border-top:1px solid var(--line)}
.pv-slide img{object-position:var(--op,50% 50%)}
/* fil d'Ariane : aligné sur le contenu, centré dans les en-têtes de page centrés (ordinateur et mobile) */
.page-head .crumbs,.post-head .crumbs{align-self:center;width:auto;text-align:center}
.page-head .crumbs ol,.post-head .crumbs ol{justify-content:center}
/* barre de filtres (réalisations, conseils) : fond plein, ombre portée, bien lisible au-dessus des photos quand on défile */
.js .fbar{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--line);box-shadow:0 18px 44px -18px rgba(17,17,17,.38),0 2px 6px rgba(17,17,17,.06)}
.ftab{color:var(--ink)}
.ftab sup{opacity:.7}
.ftab.is-off,.ftab:disabled{color:var(--muted)}
.flabel{color:var(--ink-2)}
.fcount{color:var(--ink)}
/* photo de couverture d'une réalisation : toute la largeur, centrée (aspect-ratio + max-height rétrécissait la photo à gauche) */
.p-hero{width:100%;aspect-ratio:auto;max-height:none;height:min(50vw,68vh,720px)}
@media (max-width:760px){.p-hero{height:auto;aspect-ratio:4/3}}
/* lien « précédent » : la flèche pointe vers la gauche */
.arrow-link.prev::after{content:"←"}
.arrow-link.prev:hover::after{transform:translateX(-5px)}
/* page Intérieur : les 4 matières sur une seule rangée, cartes plus compactes */
.mcards.two{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.mcards.two .mcard{aspect-ratio:4/5;padding:clamp(14px,1.4vw,20px)}
.mcards.two .mcard-name{font-size:clamp(1.3rem,1.1vw + .8rem,1.8rem)}
.mcards.two .mcard-line{font-size:.88rem;max-width:22ch}
.mcards.two .mcard-count{margin-top:.5rem;font-size:.7rem}
@media (max-width:1100px){.mcards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mcards.two .mcard{aspect-ratio:4/3}}
@media (max-width:640px){.mcards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mcards.two .mcard{aspect-ratio:3/4}.mcards.two .mcard-line{display:none}}
/* mobile : les matières se font défiler au doigt (carrousel avec aperçu de la carte suivante) */
@media (max-width:760px){
  .mcards.two{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .mcards.two::-webkit-scrollbar{display:none}
  .mcards.two .mcard{flex:0 0 76%;aspect-ratio:4/5;scroll-snap-align:start}
  .mcards.two .mcard-line{display:block}
}

/* H1 de l'accueil : le mot-clé est visible, sous le titre */
.hero-h1 .hero-sub{display:block;font-size:clamp(1.05rem,.8vw + .9rem,1.35rem);font-weight:500;letter-spacing:-.01em;line-height:1.3;max-width:40ch;margin:1.2em auto 1.2em;opacity:.95;text-shadow:inherit}
/* menu plein écran : le logo blanc se pose exactement sur le logo noir de l'en-tête (même taille, même position) */
.mm-bar{height:var(--hdr)}
.mm-logo img{height:50px}
@media (max-width:1040px){.mm-logo img{height:42px}}
/* le logo noir s'efface une fois le panneau en place, il revient à la fermeture */
.site-header .brand img{transition:opacity .25s var(--io)}
html:has(.mmenu[open]) .site-header .brand img{opacity:0;transition:opacity .2s ease .55s}
html:has(.mmenu.is-closing) .site-header .brand img{opacity:1;transition:opacity .3s ease .05s}
/* mobile : plus aucune ligne verticale de fond, elles gênaient la lecture (les lignes restent sur ordinateur) */
@media (max-width:760px){.gl-lines{display:none}}

/* mobile : les trois engagements restent visibles d'un coup d'œil, en petites pastilles (plus de défilement horizontal) */
@media (max-width:760px){
  .shop-facts2{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0;gap:6px}
  .shop-facts2 li{padding:.4rem .8rem;border-radius:99px}
  .shop-facts2 strong{font-size:.82rem}
  .shop-facts2 span{display:none}
}

/* photo du panneau du menu : plusieurs photos en fondu enchaîné */
.mf-s{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.1s var(--io)}
.mf-s.is-on{opacity:1}
.mf-s picture,.mf-s img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- Pages matière : les atouts en liste éditoriale (titre fixe, lignes numérotées) ---------- */
.bn-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,6vw,110px);align-items:start}
.bn-head{position:sticky;top:calc(var(--hdr) + 28px)}
.bn-head .sec-head{margin:0;text-align:left;align-items:flex-start}
.bn-list{list-style:none;margin:0;padding:0}
.bn-i{position:relative;display:grid;grid-template-columns:clamp(54px,6.5vw,100px) minmax(0,1fr);gap:clamp(12px,2vw,30px);padding:clamp(24px,2.8vw,40px) 0;border-top:1px solid var(--line)}
.bn-i:last-child{border-bottom:1px solid var(--line)}
.bn-i::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--io)}
.bn-i:hover::before{transform:scaleX(1)}
.bn-n{font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,3.4vw,3.6rem);line-height:.95;color:var(--muted);transition:color .6s var(--io),transform .7s var(--outq)}
.bn-t{transition:transform .7s var(--outq)}
.bn-i:hover .bn-n{color:var(--ink);transform:translateX(6px)}
.bn-i:hover .bn-t{transform:translateX(6px)}
.bn-t h3{margin:0 0 .6rem;font-size:clamp(1.35rem,1.3vw + .9rem,2rem);font-weight:500;letter-spacing:-.045em;line-height:1.08}
.bn-t p{margin:0;color:var(--ink-2);max-width:58ch;line-height:1.5}
@media (max-width:1000px){
  .bn-grid{grid-template-columns:1fr}
  .bn-head{position:static}
}
@media (max-width:560px){
  .bn-i{grid-template-columns:44px minmax(0,1fr);gap:10px}
}
@media (hover:none){.bn-i:hover::before{transform:scaleX(0)}.bn-i:hover .bn-n,.bn-i:hover .bn-t{transform:none}}

/* Pièce par pièce : carrousel à glisser (3 cartes et demie sur ordinateur, flèches + souris + doigt) */
.slider.n3_4{--n:3.4}
@media (max-width:1000px){.slider.n3_4{--n:2.2}}
@media (max-width:640px){.slider.n3_4{--n:1.5;--sg:12px}}
.slider.n3_4 .slide .mcard{aspect-ratio:4/5}
.slider.n3_4 .mcard-name{font-size:clamp(1.2rem,1vw + .8rem,1.7rem)}

/* ---------- Pages matière : « Comment nous le posons » en chronologie sombre qui se remplit au défilement ---------- */
.chr{background:var(--dark);color:var(--light);border-radius:clamp(18px,2.4vw,34px);margin-inline:clamp(8px,1.2vw,18px);overflow:clip}
.chr-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,110px);align-items:start}
.chr-head{position:sticky;top:calc(var(--hdr) + 36px)}
.chr-head .h2{margin:.5em 0 0;color:var(--light)}
.chr-head .h2 em{color:#fff}
.chr-count{margin:clamp(28px,5vw,70px) 0 0;display:flex;align-items:baseline;gap:.15em;font-family:var(--serif);font-style:italic;line-height:.85}
.chr-cur{font-size:clamp(6rem,13vw,13rem);letter-spacing:-.05em;color:#fff;display:inline-block;transition:transform .6s var(--outq),opacity .6s var(--io)}
.chr-cur.is-swap{transform:translateY(.12em);opacity:0}
.chr-tot{font-size:clamp(1.4rem,2vw,2.2rem);color:rgba(238,237,234,.45)}
.chr-now{margin:1.1rem 0 0;font-size:clamp(1rem,.5vw + .9rem,1.3rem);letter-spacing:-.02em;color:rgba(238,237,234,.7);max-width:24ch;min-height:2.6em}
.chr-list{position:relative;list-style:none;margin:0;padding:0 0 0 clamp(34px,4vw,64px)}
.chr-rail{position:absolute;left:7px;top:14px;bottom:14px;width:2px;background:rgba(238,237,234,.16);border-radius:2px;overflow:hidden}
.chr-fill{position:absolute;inset:0;background:#fff;transform:scaleY(0);transform-origin:top;will-change:transform}
.chr-i{position:relative;display:grid;grid-template-columns:clamp(52px,6vw,92px) minmax(0,1fr);gap:clamp(10px,1.6vw,26px);padding:clamp(34px,6vh,72px) 0;opacity:.32;transition:opacity .7s var(--io)}
.chr-i:first-of-type{padding-top:8px}
.chr-i:last-child{padding-bottom:8px}
.chr-i.is-on{opacity:1}
.chr-dot{position:absolute;left:calc(clamp(34px,4vw,64px) * -1 + 1px);top:clamp(40px,6.4vh,78px);width:14px;height:14px;border-radius:50%;background:var(--dark);border:2px solid rgba(238,237,234,.35);transition:background-color .5s var(--io),border-color .5s var(--io),transform .6s var(--outq),box-shadow .6s var(--io)}
.chr-i:first-of-type .chr-dot{top:14px}
.chr-i.is-on .chr-dot{background:#fff;border-color:#fff;transform:scale(1.25);box-shadow:0 0 0 7px rgba(255,255,255,.12)}
.chr-n{font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,3.4vw,3.6rem);line-height:.95;color:rgba(238,237,234,.5);transition:color .6s var(--io),transform .7s var(--outq)}
.chr-i.is-on .chr-n{color:#fff;transform:translateX(4px)}
.chr-i h3{margin:0 0 .6rem;font-size:clamp(1.5rem,1.6vw + 1rem,2.4rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;color:#fff}
.chr-i p{margin:0;color:rgba(238,237,234,.78);max-width:56ch;line-height:1.55}
@media (max-width:1000px){
  .chr-grid{grid-template-columns:1fr}
  .chr-head{position:static}
  .chr-count,.chr-now{display:none}
}
@media (max-width:560px){
  .chr-i{grid-template-columns:1fr;gap:6px;padding:30px 0}
  .chr-n{font-size:1.9rem}
}
@media (prefers-reduced-motion:reduce){.chr-i{opacity:1}.chr-cur{transition:none}}

/* ---------- FAQ : accordéon éditorial (filets fins, numéros, bouton rond), sans cartes blanches ---------- */
.faq-list{counter-reset:fq;border-bottom:1px solid var(--line)}
.faq-item,.faq-item:hover{background:transparent;border-radius:0;margin:0;border-top:1px solid var(--line);position:relative;overflow:visible;counter-increment:fq}
.faq-item::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--io)}
.faq-item:hover::before,.faq-item[open]::before{transform:scaleX(1)}
.faq-item summary{display:grid;grid-template-columns:clamp(38px,4vw,60px) minmax(0,1fr) 44px;align-items:center;gap:clamp(8px,1.2vw,18px);padding:clamp(20px,2.2vw,30px) 0;font-size:clamp(1.1rem,.5vw + 1rem,1.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.2;}
.faq-item summary::before{content:counter(fq,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:1.05rem;letter-spacing:0;color:var(--muted);transition:color .5s var(--io)}
.faq-item summary::after{position:static;transform:none;content:"+";display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(17,17,17,.22);border-radius:50%;font-size:1.4rem;font-weight:300;line-height:1;transition:transform .6s var(--outq),background-color .4s var(--io),color .4s var(--io),border-color .4s var(--io)}
.faq-item:hover summary::after{border-color:var(--ink)}
.faq-item[open] summary::before{color:var(--ink)}
.faq-item[open] summary::after{transform:rotate(135deg);background:var(--ink);color:var(--light);border-color:var(--ink)}
.faq-item p{padding:0 60px clamp(22px,2.4vw,32px) clamp(46px,5.2vw,78px);font-size:1.02rem;line-height:1.6;max-width:none;color:var(--ink-2)}
@media (max-width:560px){
  .faq-item summary{grid-template-columns:30px minmax(0,1fr) 38px;gap:8px}
  .faq-item summary::after{width:38px;height:38px}
  .faq-item p{padding:0 0 22px 38px}
}

/* ---------- Conseils : un article à la une, deux en liste (style journal) ---------- */
.adv-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,4vw,56px)}
.adv-top .sec-head{margin:0}
.adv-top .arrow-link{flex:none;margin-bottom:.6rem}
.adv-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,70px);align-items:start}
.adv-grid.is-one{grid-template-columns:minmax(0,1fr)}
.adv-big,.adv-side{display:block;position:relative}
.adv-img{display:block;overflow:hidden;border-radius:var(--r);background:var(--bg-2)}
.adv-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--outq)}
.adv-big .adv-img{aspect-ratio:4/3}
.adv-grid.is-one .adv-big .adv-img{aspect-ratio:21/9}
.adv-big:hover .adv-img img,.adv-side:hover .adv-img img{transform:scale(1.05)}
.adv-meta{display:block;padding-top:1.1em}
.adv-cl{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6em}
.adv-t{display:block;font-weight:500;letter-spacing:-.04em;line-height:1.06;font-size:clamp(1.5rem,1.4vw + 1rem,2.4rem);text-wrap:balance}
.adv-side .adv-t{font-size:clamp(1.15rem,.6vw + 1rem,1.55rem);line-height:1.12}
.adv-go{display:inline-flex;align-items:center;gap:.5em;margin-top:1.1em;font-size:.92rem;font-weight:600}
.adv-go svg{width:1.1em;height:1.1em;transition:transform .5s var(--outq)}
.adv-big:hover .adv-go svg,.adv-side:hover .adv-go svg{transform:translateX(5px)}
.adv-col{display:grid;gap:clamp(20px,2.4vw,34px)}
.adv-side{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(14px,1.6vw,22px);align-items:center;padding-bottom:clamp(20px,2.4vw,34px);border-bottom:1px solid var(--line)}
.adv-side:last-child{border-bottom:0;padding-bottom:0}
.adv-side .adv-img{aspect-ratio:4/3}
.adv-side .adv-meta{padding-top:0}
.adv-side .adv-go{display:none}
@media (max-width:900px){
  .adv-grid{grid-template-columns:1fr}
  .adv-side .adv-go{display:inline-flex}
}
@media (max-width:560px){
  .adv-top{align-items:flex-start;flex-direction:column;gap:6px}
  .adv-top .arrow-link{margin:0}
  .adv-side{grid-template-columns:120px minmax(0,1fr);gap:14px}
  .adv-side .adv-go{display:none}
  .adv-side .adv-cl{margin-bottom:.4em}
}

.adv-img picture{display:block;width:100%;height:100%}
.adv-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.adv-grid.is-two .adv-big .adv-img{aspect-ratio:3/2}
@media (max-width:900px){.adv-grid.is-two{grid-template-columns:1fr}}

/* accueil mobile : les matières se font défiler au doigt au lieu de 6 cartes empilées */
@media (max-width:760px){
  .section.mats .mcards{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .section.mats .mcards::-webkit-scrollbar{display:none}
  .section.mats .mcards .mcard{flex:0 0 74%;aspect-ratio:4/5;scroll-snap-align:start}
}

/* page 404 : liens utiles */
.nf-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nf-links a{display:inline-block;padding:.7em 1.2em;border:1px solid rgba(17,17,17,.2);border-radius:999px;font-weight:500;transition:background-color .4s var(--io),color .4s var(--io),border-color .4s var(--io)}
.nf-links a:hover{background:var(--ink);color:var(--light);border-color:var(--ink)}
.nf-sec{text-align:center}.nf-sec .eyebrow{display:inline-flex}.nf-links{justify-content:center}

/* meubles de la boutique sur les pages pièce : à glisser sur mobile */
@media (max-width:760px){
  .care-grid.swipe{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-inline:calc(var(--gut) * -1);padding:0 var(--gut) 6px;scroll-padding-inline:var(--gut)}
  .care-grid.swipe::-webkit-scrollbar{display:none}
  .care-grid.swipe>.pc{flex:0 0 80%;scroll-snap-align:start}
}

/* ---------- Fiche création : « La fabrication » en chapitres sur fond sombre (grande photo verticale, compteur, titres éditoriaux) ---------- */
.st.st-dark{background:var(--dark);color:var(--light);border-radius:clamp(18px,2.4vw,34px);margin-inline:clamp(8px,1.2vw,18px);padding-block:clamp(56px,8vw,120px);overflow:clip}
.st-dark .sec-head{margin-bottom:clamp(28px,4vw,56px)}
.st-dark .h2{color:#fff}
.st-dark .h2 em{color:#fff}
.st-dark .st-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,6vw,110px);align-items:start;margin-top:0}
.st-dark .st-media{top:calc(var(--hdr) + 24px)}
.st-dark .st-frame{aspect-ratio:4/5;max-height:calc(100vh - var(--hdr) - 56px);width:100%;background:#1b1b1b;border-radius:clamp(12px,1.4vw,20px)}
.st-dark .st-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%);pointer-events:none}
.st-count{position:absolute;left:clamp(16px,2vw,30px);bottom:clamp(12px,1.6vw,24px);z-index:3;display:flex;align-items:baseline;gap:.2em;font-family:var(--serif);font-style:italic;color:#fff;line-height:.9;text-shadow:0 2px 24px rgba(0,0,0,.35);pointer-events:none}
.st-cur{font-size:clamp(3.4rem,6vw,6.4rem);letter-spacing:-.04em}
.st-tot{font-size:clamp(1rem,1.3vw,1.4rem);opacity:.7}
.st-dark .st-steps{position:relative;padding-left:clamp(26px,3vw,48px);border-left:1px solid rgba(238,237,234,.18)}
.st-dark .st-step{position:relative;min-height:min(70vh,560px);justify-content:center;gap:1.1rem;opacity:.3;transition:opacity .7s var(--io)}
.st-dark .st-step.is-on{opacity:1}
.st-dark .st-step::before{content:"";position:absolute;left:calc(clamp(26px,3vw,48px) * -1 - 6px);top:50%;width:11px;height:11px;margin-top:-5px;border-radius:50%;background:var(--dark);border:2px solid rgba(238,237,234,.4);transition:background-color .5s var(--io),border-color .5s var(--io),box-shadow .6s var(--io),transform .6s var(--outq)}
.st-dark .st-step.is-on::before{background:#fff;border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 7px rgba(255,255,255,.12)}
.st-dark .st-n{font-family:var(--sans);font-style:normal;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(238,237,234,.55)}
.st-dark .st-n::before{content:"Étape ";}
.st-dark .st-h{margin:0;font-size:clamp(1.7rem,2.2vw + .8rem,3rem);font-weight:500;letter-spacing:-.045em;line-height:1.06;color:#fff;max-width:20ch;text-wrap:balance}
.st-dark .st-step p{margin:0;font-size:clamp(1rem,.4vw + .95rem,1.2rem);line-height:1.6;letter-spacing:-.005em;color:rgba(238,237,234,.74);max-width:46ch}
@media (max-width:1000px){
  .st-dark .st-grid{grid-template-columns:1fr;gap:20px}
  .st-dark .st-media{top:calc(var(--hdr) + 8px);z-index:2}
  .st-dark .st-frame{aspect-ratio:4/3;max-height:42vh}
  .st-dark .st-step{min-height:46vh}
  .st-cur{font-size:clamp(2.6rem,12vw,4rem)}
}
@media (max-width:560px){
  .st-dark .st-steps{padding-left:22px}
  .st-dark .st-step::before{left:-28px}
}
@media (max-width:560px){.st-dark .st-h{font-size:1.45rem;line-height:1.12}.st-dark .st-step{min-height:40vh}}

/* fiche produit : « Tout savoir » sur deux colonnes quand il y a beaucoup de rubriques (ordinateur) */
@media (min-width:1001px){
  .acc.acc-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:start}
  .acc.acc-2 .acc-col{min-width:0}
}
/* accordéon des fiches produit : numérotation continue sur les deux colonnes, texte aligné sous la question */
.acc{counter-reset:fq;border-bottom:1px solid var(--line)}
.acc.acc-2{border-bottom:0}
.acc.acc-2 .acc-col{counter-reset:none;border-bottom:1px solid var(--line)}
.faq-item .acc-in{padding:0 clamp(16px,4vw,60px) 14px clamp(46px,5.2vw,78px)}
.faq-item .acc-in p{padding:0;margin:0 0 .9em;font-size:1rem;line-height:1.6}
@media (max-width:560px){.faq-item .acc-in{padding:0 0 12px 38px}}

/* ---------- Correctifs : cookies mobile compact, sommaire légal fixe, étapes de commande centrées ---------- */
@media (max-width:760px){
  .ck{left:8px;right:8px;width:auto;padding:14px 16px;border-radius:14px;bottom:calc(78px + 8px);max-height:calc(100dvh - 78px - 20px);overflow-y:auto;overscroll-behavior:contain}
  .no-mbar .ck{bottom:8px;max-height:calc(100dvh - 20px)}
  .ck-t{font-size:1.05rem;margin:0 0 .35rem}
  .ck-p{font-size:.8rem;line-height:1.4;margin:0 0 .75rem}
  .ck-btns{gap:.45rem}
  .ck .btn{padding:.6rem .95rem;font-size:.86rem;min-height:0}
  .ck-btns .ck-b{flex:1 1 30%}
  .ck-link{font-size:.82rem;margin:.1rem 0 0}
  .ck.is-more .ck-p{display:none}
  .ck.is-more .ck-more{max-height:none;margin-top:.5rem}
  .ck-opt{padding:.6rem 0;gap:.8rem}
  .ck-opt strong{font-size:.9rem}
  .ck-opt small{font-size:.75rem;line-height:1.3}
  .ck-sw{width:40px;height:24px}
  .ck-sw::after{width:18px;height:18px}
  .ck-opt input:checked+.ck-sw::after,.ck-sw.is-locked::after{transform:translateX(16px)}
  .ck-more .ck-b{margin-top:.4rem}
}
.legal-aside{align-self:stretch}
.mstrip:has(> li:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.mstrip:has(> li:nth-child(3):last-child){grid-template-columns:1fr}}
@media (max-width:760px){.ck-opt small{display:none}.ck-opt{padding:.7rem 0}}

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

/* popup de commande sur mobile : le panneau reste opaque pendant toute l'animation (plus de transparence qui laisse voir la page derrière) et monte du bas */
@media (max-width:640px){
  .ordm-in{opacity:1!important;transform:translate3d(0,100%,0);transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform;border-radius:18px 18px 0 0;box-shadow:0 -20px 60px -20px rgba(0,0,0,.5)}
  .ordm.is-in .ordm-in{transform:translate3d(0,0,0)}
  .ordm:not(.is-in) .ordm-in{transition-duration:.38s;transition-timing-function:cubic-bezier(.65,0,.35,1)}
  .ordm-in{top:max(10px,env(safe-area-inset-top))}
  .ordm::backdrop{transition:opacity .4s ease}
}

/* iPhone : champs à 16 px minimum (sinon Safari zoome la page au toucher) et popup de commande calé sur toute la hauteur visible (sans dvh, qui se décale avec le clavier) */
@media (max-width:1024px){
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}
}
@media (max-width:640px){
  .ordm{position:fixed;inset:0;width:100%;height:100%;max-height:none;max-width:none}
  .ordm-in{top:0;bottom:0;height:auto}
}

@media (max-width:640px){
  .ordm{inset:auto;left:0;right:0;top:var(--ovt,0px);height:var(--ovh,100%);width:100%}
  .ordm-in{top:0;bottom:auto;height:100%}
}

/* pas de zoom au double toucher (le pincement pour zoomer reste possible) : utile pour les boutons + / - de quantité */
html,body,a,button,input,select,textarea,label,summary,.qty,.qty *{touch-action:manipulation}
.qty button,.qty-b,button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
input,textarea,select{-webkit-user-select:text;user-select:text}

/* ---------- Mobile : défilement fluide sur iPhone ----------
   Safari recalcule les flous (backdrop-filter) sur les éléments fixes à chaque image du défilement, et redessine le texte à la fin d'un déplacement :
   sur téléphone, les flous sont retirés et les apparitions se font en fondu (sans déplacement ni découpe animée). */
@media (max-width:760px){
  .mbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(17,17,17,.97)}
  .site-header.is-overlay:not(.is-solid) .mmenu summary,.site-header.is-overlay:not(.is-solid) .hdr-shop{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(17,17,17,.38)}
  .eyebrow.on-dark{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(34,37,37,.6)}
  .hero-news,.mstepper,.pdp-sec>.wrap-wide:first-child,.pdp-sec>.pv-barwrap{-webkit-backdrop-filter:none;backdrop-filter:none}
  .js [data-rv],.js [data-rv="left"],.js [data-rv="right"]{transform:none}
  .js [data-rv="scale"]{transform:none}
  .js [data-rv].in{transition:opacity .85s ease-out}
  .js [data-rv="wipe"],.js .cta-band.cta-video[data-rv="wipe"],.js .contact-dark[data-rv="wipe"],.js .contact-photo[data-rv="wipe"]{opacity:0;clip-path:none}
  .js [data-rv="wipe"].in,.js .cta-band.cta-video[data-rv="wipe"].in,.js .contact-dark[data-rv="wipe"].in,.js .contact-photo[data-rv="wipe"].in{opacity:1;clip-path:none;transition:opacity .9s ease-out}
}

/* iPad, petits portables : l'encart « boutique » passe en haut à droite, sous l'en-tête, pour ne jamais recouvrir le titre et les boutons */
@media (min-width:761px) and (max-width:1366px),(min-width:761px) and (max-height:820px){
  .hero-news{bottom:auto;top:calc(var(--hdr) + 18px);right:var(--gut);left:auto;max-width:330px}
}
