/* MOSK v2 : « la visite de la maison ». Mobile d'abord. Polices auto-hébergées.
   Système : Cormorant Garamond (titres) + Jost (texte). Fond papier, nuit bleu-noir pour le final.
   Mouvement : transform + opacity uniquement, pilotés par js/v2.js. */
@font-face{font-family:"Jost";font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:italic;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}

:root{
  --paper:#F3F0EA; --stone:#E8E2D8; --ink:#23211E; --ink-soft:#5C564D; --hair:#D6CFC3;
  --night:#12141A; --night-2:#1A1D25; --night-ink:#ECE7DD; --night-soft:#AEA89D; --night-hair:rgba(236,231,221,.16);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,sans-serif;
  --gut:16px; --hdr:56px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance}
h2 em,h1 em{font-style:italic}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--gut)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sm{font-size:12.5px;color:var(--ink-soft)}
.lede{color:var(--ink-soft);max-width:58ch;font-size:16.5px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 28px;min-height:52px;border-radius:999px;cursor:pointer;
  transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}
.btn:hover{background:transparent;color:var(--ink)}
.btn:active{transform:scale(.97)}
.btn-s{min-height:38px;padding:0 16px;font-size:11px;letter-spacing:.12em}
.btn-line{background:transparent;color:var(--ink)} .btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)} .btn-light:hover{background:transparent;color:var(--night-ink)}
.btn-full{width:100%}
.btn[disabled]{opacity:.6;cursor:wait}

/* ---------- En-tête : logo, pièce en cours, action ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--hdr);display:flex;align-items:center;gap:12px;padding:0 var(--gut);
  color:var(--ink);transition:background-color .25s ease-out,color .25s ease-out,border-color .25s ease-out;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(243,240,234,.95);border-color:var(--hair)}
.hdr[data-theme=dark]{color:var(--night-ink)}
.hdr[data-theme=dark].solid{background:rgba(18,20,26,.94);border-color:var(--night-hair)}
.hdr[data-theme=dark] .btn{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)}
.logo{font-family:var(--sans);font-weight:300;letter-spacing:.34em;font-size:17px;text-decoration:none}
.where{flex:1;min-width:0;font-size:12.5px;color:inherit;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.where span{display:inline-block;transition:opacity .2s ease-out,transform .2s ease-out}
.where span.swap{opacity:0;transform:translateY(4px)}
.where::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin:0 9px 1px 2px;opacity:.55}
.plan{display:none}
@media (min-width:1024px){
  :root{--gut:32px;--hdr:64px}
  .where{display:none}
  .plan{display:flex;flex:1;justify-content:center;gap:26px}
  .plan a{font-size:13px;text-decoration:none;opacity:.62;padding:6px 0;border-bottom:1px solid transparent;transition:opacity .16s ease-out,border-color .16s ease-out}
  .plan a:hover{opacity:1}
  .plan a[aria-current]{opacity:1;border-color:currentColor}
}

/* ---------- Scènes pilotées par le scroll ---------- */
.stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:var(--wall,#CFC6B9)}
.js .scrub .stage{position:sticky;top:0}
/* Longueurs de scroll : courtes, pour que chaque partie s'enchaîne vite */
.js .hero{height:185vh;height:185svh}
.js .visite{height:540vh;height:540svh}
.js .nuit{height:340vh;height:340svh}
.frame{position:absolute;left:50%;top:50%;height:max(100%,calc(100vw * 1.7917));aspect-ratio:1536/2752;translate:-50% -50%;overflow:hidden}

/* La visite : quatre pièces empilées dans une seule scène, la suivante glisse depuis la droite */
.visite .stage{background:var(--paper)}
.room{position:absolute;inset:0;overflow:hidden;background:var(--wall);will-change:transform}
.room+.room{box-shadow:-28px 0 56px -28px rgba(0,0,0,.45)}
.js .room+.room{transform:translate3d(100%,0,0)}
.cam{position:absolute;inset:0;transform-origin:var(--ox) var(--oy);will-change:transform}
.cam>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.js .cam .with,.js .cam .n1,.js .cam .n2{opacity:0}
.concept{position:absolute;right:calc(50% - 50vw + 12px);top:calc(50% - 50svh + var(--hdr) + 10px);z-index:2;font-size:10.5px;letter-spacing:.04em;color:var(--ink-soft);background:rgba(243,240,234,.86);padding:3px 9px;border-radius:999px}

/* Loupe : le détail de l'objet, à l'endroit exact où il est posé */
.loupe{position:absolute;width:min(46vw,30svh);aspect-ratio:1;translate:-50% -50%;border-radius:50%;overflow:hidden;
  box-shadow:0 0 0 2px rgba(255,255,255,.9),0 24px 48px -16px rgba(0,0,0,.5);background:#ddd}
.js .loupe{transform:scale(0);opacity:0}
.loupe img{width:100%;height:100%;object-fit:cover}

/* ---------- Accueil ---------- */
.hero .stage{--wall:#DCD1C3}
.branche{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;will-change:transform}
.tag{position:absolute;font-size:12px;letter-spacing:.08em;background:rgba(243,240,234,.92);padding:6px 12px;border-radius:999px;white-space:nowrap}
.tag-hero{left:50.75%;top:66%;translate:-50% 0}
.js .tag-hero{opacity:0}
.hero .concept{top:auto;bottom:calc(50% - 50svh + 84px)}
/* Voile clair derrière le titre : il s'efface avec le titre (--out piloté par le script) */
.hero .stage::before{content:"";position:absolute;inset:0 0 auto 0;height:66%;z-index:1;pointer-events:none;opacity:calc(1 - var(--out,0));
  background:linear-gradient(to bottom,rgba(240,234,225,.92) 0%,rgba(240,234,225,.78) 55%,rgba(240,234,225,0) 100%)}
.hero-txt{position:absolute;z-index:2;left:var(--gut);right:var(--gut);top:calc(var(--hdr) + 18px);will-change:transform,opacity}
.soon{font-size:12.5px;color:var(--ink-soft);margin-bottom:12px}
.hero h1{font-size:clamp(38px,10.6vw,92px);line-height:1.02;letter-spacing:-.01em}
.hero .sub{margin:16px 0 22px;max-width:38ch;font-size:15.5px;color:var(--ink-soft)}
.reass{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}

/* ---------- Constat ---------- */
.constat{padding:14vh 0 12vh}
.constat h2{font-size:clamp(34px,9vw,80px);line-height:1.04;letter-spacing:-.01em;max-width:17ch}
.ln{display:block}
.js .ln{clip-path:inset(0 0 100% 0);transform:translateY(.25em);transition:clip-path .9s var(--ease),transform .9s var(--ease)}
.js .ln+.ln{transition-delay:.14s}
.js .lines.in .ln{clip-path:inset(0 0 -10% 0);transform:none}
.constat .lede{margin-top:32px}
.turn{margin-top:40px;font-family:var(--serif);font-size:clamp(22px,5.4vw,32px);line-height:1.25;max-width:26ch}
.turn span{display:block;font-style:italic}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease-out,transform .55s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (min-width:1024px){.constat .wrap{padding-left:12vw}.turn{margin-left:30vw}}

/* ---------- Pièces ---------- */
.card{position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:calc(84px + env(safe-area-inset-bottom));
  background:rgba(243,240,234,.96);color:var(--ink);border-radius:16px;padding:18px 18px 16px;box-shadow:0 12px 32px -18px rgba(0,0,0,.45)}
.room[data-card=top] .card{bottom:auto;top:calc(var(--hdr) + 12px)}
.room[data-card=top] .concept{top:auto;bottom:calc(50% - 50svh + 96px)}
.js .room:first-child .card{opacity:0;transform:translateY(18px)}
.room-name{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.card h2{font-size:clamp(25px,6.6vw,40px);line-height:1.08}
.finish{margin-top:10px;font-size:13.5px;color:var(--ink-soft);display:flex;align-items:center;gap:9px}
.finish i{flex:none;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.18)}

/* ---------- L'objet ---------- */
.objet-sec{padding:12vh 0 10vh;background:var(--paper)}
.objet-head h2{font-size:clamp(34px,8.6vw,72px);line-height:1.04;max-width:15ch}
.objet-head .lede{margin-top:18px}
.trio{display:none;margin:56px auto 0;max-width:1180px;padding:0 var(--gut)}
.trio img{width:100%;height:auto;border-radius:20px}
.trio figcaption{font-size:12px;color:var(--ink-soft);margin-top:10px}
.swipe{list-style:none;margin:40px 0 0;padding:0 var(--gut);display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.swipe::-webkit-scrollbar{display:none}
.swipe li{flex:0 0 76vw;scroll-snap-align:center}
.swipe img{width:100%;height:auto;border-radius:16px}
.swipe p{margin-top:10px;font-family:var(--serif);font-size:22px}
.swipe span{font-family:var(--sans);font-size:12px;color:var(--ink-soft);margin-left:6px}
.specs{margin:44px 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hair)}
.specs div{padding:16px 0;border-bottom:1px solid var(--hair)}
.specs div:nth-child(odd){padding-right:12px}
.specs dt{font-size:12.5px;color:var(--ink-soft)}
.specs dd{margin:2px 0 0;font-family:var(--serif);font-size:22px}
@media (min-width:1024px){
  .objet-head{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end}
  .trio{display:block}.swipe{display:none}
  .specs{grid-template-columns:repeat(4,1fr)}
}

/* ---------- Recharges ---------- */
.recharges{background:var(--stone);padding:11vh 0}
.recharges h2{font-size:clamp(32px,8vw,64px);line-height:1.05;max-width:16ch}
.flacons{list-style:none;padding:0;margin:44px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 10px}
.flacons li{width:calc(33.33% - 8px);text-align:center}
.flacons img{width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 62% 58% at 50% 52%,#000 62%,transparent 100%)}
.flacons b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;margin-top:4px}
.flacons span{display:block;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-soft);line-height:1.2}
.js .flacons li:nth-child(2){transition-delay:.06s}.js .flacons li:nth-child(3){transition-delay:.12s}.js .flacons li:nth-child(4){transition-delay:.18s}.js .flacons li:nth-child(5){transition-delay:.24s}
.rech-txt{margin-top:44px;display:grid;gap:12px;max-width:62ch}
.rech-txt p{font-size:15.5px}
@media (min-width:1024px){.flacons li{width:calc(20% - 8px)}.rech-txt{grid-template-columns:repeat(3,1fr);max-width:none;gap:32px}.rech-txt .sm{grid-column:1/-1}}

/* ---------- Parti pris ---------- */
.parti{padding:11vh 0}
.parti h2{font-size:clamp(30px,7.4vw,60px);line-height:1.06;max-width:18ch}
.parti-cols{margin-top:28px;display:grid;gap:16px;color:var(--ink-soft);font-size:16px;max-width:64ch}
.engage{list-style:none;padding:0;margin:36px 0;border-top:1px solid var(--hair)}
.engage li{padding:16px 0;border-bottom:1px solid var(--hair);font-size:15.5px}
.engage b{font-family:var(--serif);font-size:21px;font-weight:500;margin-right:4px}
@media (min-width:1024px){.parti .wrap{padding-left:18vw}.parti-cols{grid-template-columns:1fr 1fr;max-width:none;gap:40px}.engage{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:0}.engage li{border-bottom:0;border-top:1px solid var(--hair)}}

/* ---------- Mode d'emploi ---------- */
.usage{padding:11vh 0 12vh;background:var(--paper)}
.usage h2{font-size:clamp(32px,8vw,64px);line-height:1.05;max-width:15ch}
.steps{list-style:none;padding:0;margin:44px 0 0;display:grid;gap:44px}
.step figure{margin:0 0 18px;border-radius:16px;overflow:hidden}
.step img{width:100%;height:auto}
.js .wipe{clip-path:inset(0 0 100% 0 round 16px);transition:clip-path .8s var(--ease)}
.js .step:nth-child(2) .wipe{clip-path:inset(0 100% 0 0 round 16px)}
.js .step.in .wipe{clip-path:inset(0 0 0 0 round 16px)}
.step h3{font-size:30px;line-height:1.1}
.step p{color:var(--ink-soft);margin-top:6px;font-size:16px}
.step-last{text-align:center;padding-top:4vh}
.step-last h3{font-size:clamp(46px,13vw,104px);font-style:italic}
.step-last p{font-size:17px}
@media (min-width:900px){
  .step{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .step:nth-child(even) figure{order:2}
  .step figure{margin:0;max-width:440px;justify-self:center}
  .step-last{display:block}
}

/* ---------- La nuit (moment fort) ---------- */
.nuit .stage{background:var(--night)}
.nuit .concept{top:calc(50% - 50svh + var(--hdr) + 200px)}
.nuit .stage::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(10,11,15,.88),rgba(10,11,15,0))}
.lcd{position:absolute;z-index:2;left:50%;top:calc(var(--hdr) + 22px);translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:12px;will-change:transform,opacity}
.lcd-screen{width:min(66vw,340px);aspect-ratio:2.5;border-radius:18px;background:linear-gradient(180deg,#151715,#0A0B0A);display:grid;place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -8px 18px rgba(0,0,0,.6),0 18px 40px -18px rgba(0,0,0,.8),0 0 0 6px rgba(207,194,175,.92)}
.lcd-time{font-family:var(--sans);font-weight:300;font-size:clamp(46px,14vw,92px);letter-spacing:.06em;color:#EEE9DE;font-variant-numeric:tabular-nums;line-height:1;transition:opacity .45s ease-out}
.lcd.off .lcd-time{opacity:0}
.lcd-btns{display:flex;gap:18px}
.lcd-btns i{width:16px;height:16px;border-radius:50%;background:#CFC2AF;box-shadow:inset 0 -2px 3px rgba(0,0,0,.25)}
.nuit-txt{position:absolute;z-index:2;left:var(--gut);right:var(--gut);bottom:calc(104px + env(safe-area-inset-bottom));min-height:7.5em;color:var(--night-ink)}
.beat{position:absolute;inset:auto 0 0 0;font-family:var(--serif);font-size:clamp(26px,6.8vw,44px);line-height:1.12;max-width:20ch}
.beat em{display:block;font-size:.66em;line-height:1.3;color:var(--night-soft);margin-top:8px}
.js .beat{opacity:0;transform:translateY(12px)}
.bonne{font-size:clamp(56px,17vw,140px);max-width:none}
.bonne em{font-size:1em;color:var(--night-ink);margin:0}

/* ---------- Fin de visite + formulaire ---------- */
.fin{background:var(--night);color:var(--night-ink)}
.maison{margin:0;position:relative;height:72vh;height:72svh;overflow:hidden}
.maison img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.maison::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,var(--night),rgba(18,20,26,0))}
.maison figcaption{position:absolute;right:12px;top:calc(var(--hdr) + 10px);font-size:10.5px;opacity:.75;z-index:1}
.fin-body{padding:0 var(--gut) 14vh;margin-top:-14svh;position:relative;z-index:1}
.fin-kick{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--night-soft)}
.fin h2{font-size:clamp(42px,11vw,84px);line-height:1;margin-top:6px}
.fin .lede{color:var(--night-soft);margin-top:12px}
.card-form{margin-top:28px;background:var(--paper);color:var(--ink);border-radius:20px;padding:22px 18px 18px;max-width:520px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13.5px;font-weight:500;margin-bottom:6px}
.field input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #BDB5A8;border-radius:12px;padding:0 14px;height:52px;transition:border-color .16s ease-out}
.field input:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}
.field input::placeholder{color:#7A7368}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;margin:6px 0 14px}
.check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.err{color:#9E2B1F;font-size:14px;min-height:1.4em;margin-bottom:6px}
.rgpd{font-size:12px;color:var(--ink-soft);margin-top:14px;line-height:1.55}
.founder{margin:56px 0 0;max-width:46ch;padding-top:24px;border-top:1px solid var(--night-hair)}
.founder p{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4}
.founder footer{margin-top:10px;font-size:13px;color:var(--night-soft)}
@media (min-width:1024px){
  .fin{display:grid;grid-template-columns:1fr 1fr}
  .maison{height:100vh;position:sticky;top:0}
  .maison::after{inset:0 0 0 auto;width:30%;height:auto;background:linear-gradient(to left,var(--night),rgba(18,20,26,0))}
  .fin-body{margin:0;padding:22vh 7vw 14vh 4vw}
}

/* ---------- FAQ + pied de page ---------- */
.faq-sec{background:var(--night);color:var(--night-ink);padding:10vh 0 14vh;border-top:1px solid var(--night-hair)}
.faq-sec h2{font-size:clamp(32px,8vw,56px)}
.faq{margin:28px 0 40px;max-width:760px}
.faq details{border-bottom:1px solid var(--night-hair)}
.faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-family:var(--serif);font-size:21px;line-height:1.3;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--sans);font-weight:300;font-size:24px;transition:transform .2s ease-out}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--night-soft);padding:0 0 18px;max-width:62ch}
.foot{background:#0C0E12;color:var(--night-soft);padding:56px 0 calc(110px + env(safe-area-inset-bottom))}
.fm{font-weight:300;letter-spacing:.34em;font-size:22px;color:var(--night-ink)}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0}
.foot nav a{font-size:14px;color:var(--night-ink);text-underline-offset:3px}
.legal{font-size:12px;margin-top:10px;max-width:80ch}

/* ---------- CTA collant (mobile) ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));
  background:rgba(243,240,234,.96);border-top:1px solid var(--hair);transform:translateY(110%);transition:transform .3s var(--ease),background-color .25s ease-out}
.sticky .btn{width:100%}
.sticky.on{transform:none}
.sticky.dark{background:rgba(18,20,26,.95);border-color:var(--night-hair)}
.sticky.dark .btn{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)}

/* ---------- Bureau : la photo devient un panneau vertical, le texte à côté ---------- */
@media (min-width:1024px) and (min-aspect-ratio:5/4){
  /* Photo plus large que haute : on rogne un peu le haut et le bas plutôt que de laisser des aplats vides */
  .frame{left:auto;right:5vw;top:50%;width:min(46vw,75vh);height:auto;translate:0 -50%}
  .concept,.hero .concept,.nuit .concept,.room[data-card=top] .concept{right:12px;top:auto;bottom:calc(50% - 50vh + 14px)}
  .hero h1{font-size:clamp(48px,5vw,78px);max-width:15ch}
  .room:nth-child(even) .frame{right:auto;left:5vw}
  .loupe{width:28vh}
  .hero .stage{background:var(--paper)}
  .hero .stage::before{display:none}
  .hero-txt{top:50%;left:7vw;right:auto;width:min(40vw,600px);translate:0 -50%}
  .hero .sub{font-size:17px}
  .card,.room[data-card=top] .card{top:50%;bottom:auto;left:7vw;right:auto;width:min(32vw,460px);translate:0 -50%;padding:34px 32px}
  .room:nth-child(even) .card{left:auto;right:7vw}
  .nuit .stage::after{display:none}
  .lcd{left:7vw;top:22vh;translate:none;align-items:flex-start}
  .lcd-btns{padding-left:calc(min(66vw,340px)/2 - 43px)}
  .nuit-txt{left:7vw;right:auto;width:min(36vw,520px);bottom:20vh}
  .sticky{display:none}
}

/* ---------- Sans animation : tout est visible, rien n'est épinglé ---------- */
.rm .hero,.rm .visite,.rm .nuit{height:auto!important}
.rm .scrub .stage{position:relative}
.rm .visite .stage{height:auto}
.rm .room{position:relative;height:100vh;height:100svh;transform:none!important;visibility:visible!important}
.rm .ln,.rm .rv,.rm .wipe{clip-path:none!important;opacity:1!important;transform:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
