/* Oréade (nom fictif) · douze chalets en chantier dans la Chartreuse. Motif : l'arche et l'ovale. Écrit par nous, sur l'ADN aimé d'ERA Residence, sans leur code ni leurs fichiers. */
@font-face{font-family:'Albert Fallback';src:local('Arial');size-adjust:100%}
:root{
  --bg:#f3f4f1;--card:#e6e9e6;--raised:#fbfbf9;--night:#16202c;--night2:#1f2d3d;
  --tx:rgba(22,32,44,.92);--tx2:rgba(22,32,44,.68);--tx3:rgba(22,32,44,.45);
  --line:rgba(22,32,44,.16);--accent:#2f4f9d;--gold:#d9a95b;--sky:#a9c1ee;--ink-on:#f6f7f4;--bad:#9a3b2e;
  --display:'Albert Sans','Albert Fallback',Arial,sans-serif;
  --sans:'Albert Sans','Albert Fallback',Arial,sans-serif;
  --hd:76px;--wrap:1280px;--gut:32px;--ease:cubic-bezier(.22,.7,.18,1);--soft:cubic-bezier(.65,0,.35,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0d141c;--card:#141d28;--raised:#19242f;--night:#080e14;--night2:#101a24;
  --tx:rgba(236,240,246,.9);--tx2:rgba(236,240,246,.66);--tx3:rgba(236,240,246,.4);
  --line:rgba(236,240,246,.14);--accent:#9db8f0;--bad:#e09a8c;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d141c;--card:#141d28;--raised:#19242f;--night:#080e14;--night2:#101a24;
  --tx:rgba(236,240,246,.9);--tx2:rgba(236,240,246,.66);--tx3:rgba(236,240,246,.4);
  --line:rgba(236,240,246,.14);--accent:#9db8f0;--bad:#e09a8c;color-scheme:dark}
@property --rx{syntax:'<percentage>';inherits:true;initial-value:0%}
@property --ry{syntax:'<percentage>';inherits:true;initial-value:0%}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 17px/1.7 var(--sans);font-feature-settings:'lnum' 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,picture{display:block;max-width:100%}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--night);color:var(--ink-on);padding:8px 14px;z-index:200}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
h1,h2,h3,.stat b,.bigp,.hcard .num,.tl .txt b,.altm,.ringp b,.intro .alt{font-family:var(--display);font-weight:500;line-height:.98;margin:0;text-wrap:balance;letter-spacing:-.035em}
.stat b,.bigp,.hcard .num,.tl .txt b,.altm,.ringp b,.intro .alt,.hcard .num span{font-feature-settings:'lnum' 1;font-variant-numeric:lining-nums}
h1{font-size:clamp(64px,10.5vw,176px)}
h2{font-size:clamp(46px,6.2vw,96px)}
h3{font-size:clamp(28px,2.5vw,38px);line-height:1.05}
em{font-style:normal;color:var(--accent)}
p{margin:0 0 1em}
.lab{display:flex;align-items:center;gap:14px;font:500 15px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--tx2);margin:0 0 24px}
.lab::before{content:"";width:40px;height:1px;background:currentColor}
.lead{font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--tx2);max-width:32em;margin:22px 0 0}
.small{font-size:14px;color:var(--tx2)}
.note{font:400 20px/1.35 var(--display);color:var(--tx2)}
.k{display:block;font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--accent);margin-bottom:12px}
.js [data-split] .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.js [data-split] .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i) * 55ms)}
.js [data-split].in .w>span{transform:none}
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.12s}.js .rv.d2{transition-delay:.24s}
.shot,.oshot{overflow:hidden;position:relative}
.shot picture,.shot img,.shot video,.oshot picture,.oshot img{width:100%;height:100%;object-fit:cover}
.js .shot>*{clip-path:inset(0 0 100% 0);transition:clip-path 1.5s var(--soft)}
.js .shot.in>*{clip-path:inset(0)}
.js .oshot>*{clip-path:ellipse(0% 0% at 50% 100%);transition:clip-path 1.6s var(--soft)}
.js .oshot.in>*{clip-path:ellipse(95% 110% at 50% 100%)}
.shot img,.oshot img{transition:transform 2s var(--ease)}
.js .shot:not(.in) img,.js .oshot:not(.in) img{transform:scale(1.14)}
.arch{border-radius:50% 50% 0 0/36% 36% 0 0}
.ellipse{border-radius:50%}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--night);color:var(--ink-on);border:0;border-radius:999px;padding:17px 30px;font:500 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--accent);border-radius:50%;transform:scale(0);transition:transform .7s var(--ease);z-index:-1}
.btn:hover::before{transform:scale(2.2)}
:root[data-theme="dark"] .btn:not(.ghost):not(.light){background:var(--sky);color:#0d141c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn:not(.ghost):not(.light){background:var(--sky);color:#0d141c}}
:root[data-theme="dark"] .btn:not(.ghost):not(.light)::before{background:#f6f7f4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn:not(.ghost):not(.light)::before{background:#f6f7f4}}
.btn svg{width:16px;height:16px;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.btn.ghost::before{background:currentColor;opacity:.12}
.btn.light{background:#f6f7f4;color:#16202c}
.btn.light::before{background:var(--gold)}
.btn.sm{padding:12px 20px;font-size:12px}
.tlink{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding-bottom:8px;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .6s var(--ease)}
.tlink:hover{background-size:30% 1px}
.tlink svg{width:14px;height:14px}

/* en-tête : logo à gauche, navigation et action à droite */
.hd{position:sticky;top:0;z-index:60;height:var(--hd);background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--line);transition:background .45s,border-color .45s,color .45s}
.hd .wrap{height:100%;display:flex;align-items:center;gap:28px;max-width:none}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1;margin-right:auto}
.logo svg{width:38px;height:24px}
.logo b{font:500 32px/1 var(--display);letter-spacing:.02em}
.logo small{font:500 9.5px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--tx2);display:block;margin-top:5px}
.nav{display:flex;gap:30px;align-items:center}
.nav a{text-decoration:none;font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);padding:8px 0;position:relative;transition:color .25s}
.nav a::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translateX(-50%) scale(0);transition:transform .45s var(--ease)}
.nav a:hover,.nav a[aria-current]{color:var(--tx)}
.nav a:hover::after,.nav a[aria-current]::after{transform:translateX(-50%) scale(1)}
.hd-r{display:flex;gap:12px;align-items:center}
.theme,.menu-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center;padding:0}
.theme svg{width:18px;height:18px}
.menu-btn{display:none;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.menu-btn span{display:block;width:16px;height:1.5px;background:currentColor;transition:transform .25s var(--ease),opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
body:has(.hero) .hero{margin-top:calc(-1 * var(--hd))}
body:has(.hero) .hd:not(.solid){background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f6f7f4}
body:has(.hero) .hd:not(.solid) .logo small{color:rgba(246,247,244,.8)}
body:has(.hero) .hd:not(.solid) .theme,body:has(.hero) .hd:not(.solid) .menu-btn{border-color:rgba(246,247,244,.45)}
body:has(.hero) .hd:not(.solid) .hd-r .btn{background:#f6f7f4;color:#16202c}
@media (min-width:821px){body:has(.hero) .hd:not(.solid) .nav a{color:rgba(246,247,244,.9)}}

/* chargement : la crête se dessine, l'altitude monte, un iris ovale s'ouvre */
.intro{position:fixed;inset:0;z-index:150;background:#16202c;color:#f6f7f4;display:grid;place-items:center;-webkit-mask:radial-gradient(ellipse var(--rx) var(--ry) at 50% 56%,transparent 98%,#000 100%);mask:radial-gradient(ellipse var(--rx) var(--ry) at 50% 56%,transparent 98%,#000 100%)}
.intro.go{animation:iris 1.9s var(--soft) forwards}
@keyframes iris{to{--rx:150%;--ry:170%}}
.intro .in3{text-align:center;transition:opacity .4s}
.intro.go .in3{opacity:0}
.intro svg{width:min(560px,78vw);height:auto;margin:0 auto}
.intro path{fill:none;stroke:#d9a95b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s .1s var(--soft) forwards}
.intro .alt{font:400 clamp(64px,10vw,120px)/1 var(--display);margin:6px 0 0;font-variant-numeric:tabular-nums}
.intro .alt small{font:500 13px/1 var(--sans);letter-spacing:.3em;margin-left:10px;color:rgba(246,247,244,.7);text-transform:uppercase}
.intro .nm{font:500 11px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:rgba(246,247,244,.75);margin:14px 0 0;padding-left:.42em}
.intro .skipi{position:absolute;right:24px;bottom:22px;background:none;border:0;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,247,244,.7);cursor:pointer;padding:10px}
@keyframes draw{to{stroke-dashoffset:0}}

/* héros : la vidéo des nuages, plein écran, fleurs vivantes au premier plan */
.hero{position:relative;height:100vh;height:100svh;min-height:580px;background:#16202c;color:#f6f7f4;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 2.8s var(--soft)}
.hero.opening video{transform:scale(1.2)}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,28,.5),rgba(10,18,28,0) 28%,rgba(10,18,28,0) 45%,rgba(10,18,28,.7))}
.hero .ttl{position:absolute;left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));right:auto;top:36%;transform:translateY(-50%);text-align:left}
.hero h1{color:#f6f7f4;line-height:.88}
.hero h1 em{color:#f6f7f4;}
.hero .tag{font:400 clamp(22px,2.4vw,36px)/1.2 var(--display);margin:14px 0 0;color:rgba(246,247,244,.95);text-shadow:0 1px 18px rgba(10,18,28,.5)}
.hero .low{position:absolute;left:0;right:0;bottom:calc(min(24vh,200px) + 12px);z-index:2;transition:opacity 1s .4s}
.hero .win{position:absolute;right:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));top:calc(var(--hd) + 7vh);width:clamp(190px,23vw,330px);aspect-ratio:3/4;border-radius:50%;overflow:hidden;z-index:2;display:block;box-shadow:0 30px 80px rgba(10,18,28,.4);animation:floaty 9s ease-in-out infinite alternate;transition:opacity 1s .5s}
.intro:not(.go) ~ .hero .win{visibility:hidden;opacity:0}
.hero .win img,.hero .win picture{width:100%;height:100%;object-fit:cover}
.hero .win span{position:absolute;left:0;right:0;bottom:16%;text-align:center;color:#f6f7f4;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 2px 14px rgba(10,18,28,.7)}
.hero .win::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,28,.55),transparent 50%)}
@keyframes floaty{to{transform:translateY(-14px)}}
.intro:not(.go) ~ .hero .low,.intro:not(.go) ~ .hero .ttl{visibility:hidden;opacity:0}
.hero .low .wrap{display:flex;justify-content:space-between;align-items:end;gap:24px;max-width:none}
.hero .low p{margin:0;max-width:24em;color:rgba(246,247,244,.9);font-size:15.5px}
.hero .low .tlink{color:#f6f7f4}
.hero .fg{position:absolute;left:0;right:0;bottom:-2px;height:min(24vh,200px);pointer-events:none}
.hero .fg svg{width:100%;height:100%}
.cue{display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(246,247,244,.85);text-decoration:none}
.cue i{width:1px;height:42px;background:rgba(246,247,244,.3);position:relative;overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--gold);animation:cue 2.4s var(--soft) infinite}
@keyframes cue{to{top:100%}}
.hero .credit{position:absolute;right:var(--gut);top:calc(var(--hd) + 16px);font-size:11px;color:rgba(246,247,244,.6)}

/* la vie : des fleurs de montagne qui ondulent et encadrent le texte */
.flora{position:absolute;top:0;bottom:0;width:clamp(90px,11vw,180px);pointer-events:none;z-index:0;-webkit-mask:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.flora.l{left:0}.flora.r{right:0;transform:scaleX(-1)}
.flora svg{position:sticky;top:calc(var(--hd) + 10px);width:100%;height:calc(100vh - var(--hd) - 20px)}
.fl{transform-box:fill-box;transform-origin:50% 100%;animation:sway var(--d,5s) ease-in-out infinite alternate}
.fl .stem{fill:none;stroke:#5f8a5a;stroke-width:1.8;stroke-linecap:round}
.fl .fn{fill:none;stroke:#4f8a55;stroke-width:1.5;stroke-linecap:round}
.fl .bl{fill:none;stroke:#6c9a4e;stroke-width:2.2;stroke-linecap:round}
.fl .sd{fill:#a9a35a;opacity:.9}
.fl .leaf{fill:none;stroke:#5f8a5a;stroke-width:1.2;stroke-linecap:round;opacity:.85}
.fl .pt{transform-box:fill-box;transform-origin:50% 100%}
.fl .gen{fill:#3a64c4}.fl .gen2{fill:#6f93e0}
.fl .ede{fill:#f7f5ec;stroke:rgba(22,32,44,.28);stroke-width:.8}
.fl .ede2{fill:#d9a95b}
.fl .arn{fill:#e8ac2b}.fl .arn2{fill:#b8741a}
.fl .rho{fill:#c8456b}.fl .rho2{fill:#e27a98}
@keyframes sway{from{transform:rotate(calc(var(--a,3deg) * -1))}to{transform:rotate(var(--a,3deg))}}
.framed{position:relative}
.framed .wrap{position:relative;z-index:1}
@media (min-width:1001px){.framed>.wrap{padding-left:max(var(--gut),clamp(100px,12vw,190px));padding-right:max(var(--gut),clamp(100px,12vw,190px))}}

/* repères à survoler : ils ouvrent un panneau */
.pins{position:absolute;inset:0}
.pin{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0;color:#f6f7f4;z-index:2}
.pin::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid #f6f7f4;background:rgba(246,247,244,.25);box-shadow:0 0 0 0 rgba(246,247,244,.6);animation:ring 2.6s var(--ease) infinite}
.pin::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#f6f7f4}
@keyframes ring{70%{box-shadow:0 0 0 18px rgba(246,247,244,0)}100%{box-shadow:0 0 0 0 rgba(246,247,244,0)}}
.pin:focus-visible{outline:2px solid #f6f7f4;outline-offset:2px}
.tip{position:absolute;z-index:3;width:min(300px,78vw);background:var(--raised);color:var(--tx);padding:18px 20px 16px;border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.3);opacity:0;pointer-events:none;transform:translate(-50%,calc(-100% - 20px));transition:opacity .35s var(--ease),transform .5s var(--ease);font-size:14.5px;line-height:1.5}
.tip b{display:block;font:500 26px/1.05 var(--display);margin-bottom:6px}
.tip span{color:var(--tx2)}
.tip .go{display:block;margin-top:8px;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-style:normal}
.tip.on{opacity:1;transform:translate(-50%,calc(-100% - 30px))}
.tip.below{transform:translate(-50%,20px)}.tip.below.on{transform:translate(-50%,30px)}
.dlg{position:fixed;inset:0 0 0 auto;margin:0;width:min(520px,94vw);height:100%;max-height:none;padding:0;border:0;background:var(--raised);color:var(--tx);overflow-y:auto;box-shadow:-30px 0 80px rgba(0,0,0,.3)}
.dlg[open]{animation:dlgin .7s var(--ease)}
@keyframes dlgin{from{transform:translateX(40px);opacity:0}}
.dlg::backdrop{background:rgba(10,18,28,.55)}
.dlg .im{aspect-ratio:4/3;overflow:hidden;border-radius:0 0 0 clamp(80px,14vw,200px)}
.dlg .im img,.dlg .im picture{width:100%;height:100%;object-fit:cover}
.dlg .in2{padding:30px clamp(24px,4vw,40px) 40px}
.dlg h2{font-size:clamp(40px,4vw,56px);margin-bottom:14px}
.dlg p{color:var(--tx2)}
.dlg .x{font-family:inherit;position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(246,247,244,.92);color:#16202c;font-size:22px;cursor:pointer;display:grid;place-items:center}
.dlg .im2{height:300px;background:var(--card);border-radius:0 0 0 clamp(80px,14vw,200px);display:grid;place-items:center}
.dlg .im2 .slot svg{width:190px;height:270px}

/* sections */
.sec{padding:clamp(80px,10vw,150px) 0}
.sec.alt{background:var(--card)}
.sec.deep{background:var(--night);color:#e9eef5}
.sec.deep .lead,.sec.deep .small,.sec.deep p{color:rgba(233,238,245,.74)}
.sec.deep .lab{color:rgba(233,238,245,.74)}
.sec.deep em{color:var(--gold)}
.sec.deep .k{color:var(--gold)}
.head2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,6vw,110px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.head2 .lead{margin:0}
.mani{text-align:center;padding:clamp(100px,13vw,200px) 0}
.mani h2{max-width:13em;margin:0 auto;font-size:clamp(40px,5.4vw,84px);line-height:1.04}
.mani .lead{margin:28px auto 0;text-align:center}

/* chiffres */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);margin-top:clamp(50px,6vw,90px)}
.stat{padding-top:20px;position:relative;text-align:left}
.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.3}
.stat b{display:block;font:400 clamp(60px,6.6vw,108px)/.9 var(--display)}
.stat b small{font-size:.34em;margin-left:6px;color:var(--accent)}
.sec.deep .stat b small{color:var(--gold)}
.stat span{display:block;margin-top:14px;font-size:15px;color:var(--tx2)}
.sec.deep .stat span{color:rgba(233,238,245,.74)}

/* les chalets : un cadre ovale, ils passent seuls */
.cstage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:center}
.cstage h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:6px}
.clist{list-style:none;margin:30px 0 0;padding:0;position:relative}
.clist li{position:relative;border-top:1px solid var(--line)}
.clist li:last-child{border-bottom:1px solid var(--line)}
.clist button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:baseline;width:100%;padding:16px 0;cursor:pointer;color:var(--tx2);transition:color .5s,padding .6s var(--ease)}
.clist button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.clist .n{font:500 11px/1 var(--sans);letter-spacing:.2em;color:var(--tx2)}
.clist .t{font:400 clamp(30px,3vw,46px)/1 var(--display)}
.clist .m{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.clist li.on button{color:var(--tx);padding-left:12px}
.clist li.on .n,.clist li.on .m{color:var(--accent)}
.clist .bar{position:absolute;left:0;bottom:-1px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.clist li.on .bar{animation:fill var(--dur,5s) linear forwards}
@keyframes fill{to{transform:scaleX(1)}}
.oval{position:relative;aspect-ratio:4/4.6;max-height:78vh;width:100%;background:var(--night);border-radius:50%;overflow:hidden}
.oval .sl{position:absolute;inset:0;clip-path:ellipse(0% 0% at 50% 60%);transition:clip-path 1.6s var(--soft);z-index:0}
.oval .sl.on{clip-path:ellipse(80% 80% at 50% 60%);z-index:2}
.oval .sl.was{clip-path:ellipse(80% 80% at 50% 60%);z-index:1;transition:none}
.oval .sl img,.oval .sl picture{width:100%;height:100%;object-fit:cover}
.oval .sl img{transform:none}
.oval .sl.on img{transform:scale(1)}
.oval .cap{position:absolute;left:0;right:0;bottom:11%;z-index:3;text-align:center;color:#f6f7f4;text-shadow:0 2px 20px rgba(10,18,28,.7);pointer-events:none}
.oval .cap b{display:block;font:400 clamp(34px,4vw,60px)/1 var(--display)}
.oval .cap span{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.oval .shadeb{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(10,18,28,.6),transparent 45%);pointer-events:none}
.ringp{width:120px;height:120px;position:relative;display:grid;place-items:center}
.ringp svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ringp circle{fill:none;stroke-width:2.5}
.ringp .bg{stroke:var(--line)}
.ringp .fg{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--soft)}
.ringp.in .fg{stroke-dashoffset:calc(1 - var(--p,0))}
.ringp b{font:400 34px/1 var(--display);position:relative}
.ringp b small{font-size:.5em}
.sec.deep .ringp .bg{stroke:rgba(233,238,245,.2)}.sec.deep .ringp .fg{stroke:var(--gold)}

/* le chantier avance : un pourcentage qui se remplit, des photos en arche */
.build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,6vw,100px);align-items:stretch}
.build h2{margin-bottom:10px}
.bigp{font:400 clamp(100px,13vw,200px)/1 var(--display);display:flex;align-items:baseline;gap:6px;margin:14px 0 20px}
.bigp small{font-size:.28em;color:var(--gold)}
.bigp b{font-weight:400;font-variant-numeric:tabular-nums}
.stl{list-style:none;margin:0;padding:0}
.stl li{position:relative;border-top:1px solid rgba(233,238,245,.22);padding:16px 0;cursor:pointer}
.stl li:last-child{border-bottom:1px solid rgba(233,238,245,.22)}
.stl button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%;cursor:pointer;font:400 clamp(26px,2.4vw,36px)/1.05 var(--display);color:rgba(233,238,245,.55);transition:color .5s}
.stl button:focus-visible{outline:2px solid #e9eef5;outline-offset:3px}
.stl button small{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(233,238,245,.55)}
.stl li.on button{color:#e9eef5}
.stl li.on button small{color:var(--gold)}
.stl p{margin:0;max-height:0;opacity:0;overflow:hidden;font-size:15.5px;transition:max-height .8s var(--ease),opacity .6s}
.stl li.on p{max-height:100px;opacity:1;margin-top:8px}
.stl .bar{position:absolute;left:0;bottom:-1px;height:1.5px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.stl li.on .bar{animation:fill var(--dur,5s) linear forwards}
.archst{position:relative;min-height:480px;margin:0 auto;width:100%;border-radius:50% 50% 0 0/34% 34% 0 0;overflow:hidden;background:#0a131c}
.archst .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--soft)}
.archst .sl.on{opacity:1}
.archst img,.archst picture{width:100%;height:100%;object-fit:cover}
.archst .sl img{transform:none}
.archst .sl.on img{transform:scale(1)}

/* l'altitude : le défilement vertical fait glisser la piste à l'horizontale */
.hstory{position:relative;height:440vh;background:#121b27;color:#e9eef5}
.hpin{position:sticky;top:var(--hd);height:calc(100vh - var(--hd));overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,34px)}
.hhead{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);width:100%;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.hstory .lab{color:rgba(233,238,245,.74)}
.hstory h2{color:#e9eef5;font-size:clamp(40px,4.8vw,76px)}.hstory h2 em{color:var(--gold)}
.altm{font:400 clamp(44px,5vw,80px)/.9 var(--display);color:var(--gold);font-variant-numeric:tabular-nums;text-align:right}
.altm small{display:block;font:500 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:rgba(233,238,245,.7);margin-top:10px}
.htrack{position:relative;display:flex;align-items:flex-end;gap:clamp(28px,4vw,72px);padding:0 max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));padding-right:max(80px,calc((100vw - var(--wrap))/2 + 80px));will-change:transform}
.hcard{flex:none;position:relative;width:min(34vw,470px);display:flex;flex-direction:column;gap:18px}
.hcard:nth-child(even){margin-bottom:clamp(0px,6vh,60px)}
.hcard .im{width:100%;aspect-ratio:4/5;max-height:36vh;border-radius:0;overflow:hidden;background:#0a131c}
.hcard .im img,.hcard .im picture{width:100%;height:100%;object-fit:cover}
.hcard .im img{transform:translateX(var(--px,0%)) scale(1.2)}
.hcard .t{padding:0 8px}
.hcard .num{font:400 clamp(44px,4.4vw,72px)/.9 var(--display);color:var(--gold);margin:0;font-variant-numeric:tabular-nums}
.hcard .num small{font:500 12px/1 var(--sans);letter-spacing:.22em;color:rgba(233,238,245,.75);margin-left:8px;text-transform:uppercase}
.hcard h3{margin:8px 0 6px;color:#e9eef5}
.hcard p{margin:0;color:rgba(233,238,245,.8);font-size:15px}
.js .hcard .t>*{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .hcard.in .t>*{opacity:1;transform:none}
.js .hcard.in .t>*:nth-child(2){transition-delay:.12s}.js .hcard.in .t>*:nth-child(3){transition-delay:.24s}
.hprog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(233,238,245,.12)}
.hprog i{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}

/* grande photo à repères */
.spots{position:relative;height:100vh;height:100svh;min-height:600px;max-height:960px;overflow:hidden;color:#f6f7f4;background:#16202c}
.spots>picture,.spots>img{position:absolute;inset:0;width:100%;height:100%}
.spots img{width:100%;height:100%;object-fit:cover}
.spots .veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,28,.78),rgba(10,18,28,0) 55%)}
.spots .cap{position:absolute;left:0;right:0;bottom:clamp(40px,6vw,80px);z-index:1;pointer-events:none}
.spots .cap h2{color:#f6f7f4;max-width:10em}.spots .cap h2 em{color:var(--gold)}
.spots .cap .lab{color:rgba(246,247,244,.82)}
.spots .cap p{color:rgba(246,247,244,.88);max-width:30em;margin:16px 0 0}

/* deux ovales se rejoignent, puis s'ouvrent sur le massif : même image, découpée par un masque */
.merge{position:relative;height:340vh;background:var(--bg)}
.mpin{position:sticky;top:var(--hd);height:calc(100vh - var(--hd));overflow:hidden}
.mtitle{position:absolute;left:0;right:0;top:clamp(18px,4vh,44px);text-align:center;z-index:0;opacity:var(--ti,1)}
.mtitle h2{font-size:clamp(48px,7.5vw,128px);line-height:.9}
.mtitle .lab{justify-content:center}
.mbig{position:absolute;inset:0;z-index:1;-webkit-mask-image:radial-gradient(ellipse var(--rx,0%) var(--ry,0%) at calc(50% - var(--d,26%)) 60%,#000 99%,transparent 100%),radial-gradient(ellipse var(--rx,0%) var(--ry,0%) at calc(50% + var(--d,26%)) 60%,#000 99%,transparent 100%);mask-image:radial-gradient(ellipse var(--rx,0%) var(--ry,0%) at calc(50% - var(--d,26%)) 60%,#000 99%,transparent 100%),radial-gradient(ellipse var(--rx,0%) var(--ry,0%) at calc(50% + var(--d,26%)) 60%,#000 99%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.mbig img,.mbig picture{width:100%;height:100%;object-fit:cover}
.mbig img{transform:scale(var(--z,1.1))}
.mbig .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,28,.84),rgba(10,18,28,.45) 45%,rgba(10,18,28,.05) 78%);opacity:var(--t,0)}
.mtext{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:3;color:#f6f7f4;opacity:var(--t,0)}
.mtext h3{font-size:clamp(44px,5.4vw,84px);line-height:1;color:#f6f7f4;max-width:9em}
.mtext h3 em{color:var(--gold)}
.mtext .lab{color:rgba(246,247,244,.82)}
.mtext p{color:rgba(246,247,244,.88);max-width:28em;margin:18px 0 26px}

/* appel : les fleurs de la prairie en fond */
.cta{position:relative;overflow:hidden;color:#f6f7f4;background:#16202c;text-align:center;padding:clamp(110px,14vw,210px) 0}
.cta video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.cta .wrap{position:relative}
.cta h2{color:#f6f7f4;max-width:11em;margin:0 auto}
.cta h2 em{color:var(--gold)}
.cta .lead{color:rgba(246,247,244,.88);margin:22px auto 34px}
.cta .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .lab{justify-content:center;color:rgba(246,247,244,.82)}
.cta.plain{background:var(--card);color:var(--tx)}
.cta.plain h2{color:var(--tx)}.cta.plain h2 em{color:var(--accent)}
.cta.plain .lead{color:var(--tx2)}.cta.plain .lab{color:var(--tx2)}

/* la brume qui dérive, et le silence du monastère */
.mist{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.mist::before,.mist::after{content:"";position:absolute;left:-20%;width:140%;height:50%;background:radial-gradient(ellipse 40% 50% at 30% 60%,rgba(255,255,255,.55),transparent 70%),radial-gradient(ellipse 35% 45% at 75% 50%,rgba(255,255,255,.4),transparent 70%);will-change:transform;animation:mdrift 46s ease-in-out infinite alternate}
.mist::before{bottom:-6%}.mist::after{bottom:18%;opacity:.7;animation-duration:64s;animation-direction:alternate-reverse}
@keyframes mdrift{to{transform:translateX(12%)}}
.silence{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:center}
.silence .oshot{aspect-ratio:4/5;max-height:80vh;border-radius:50% 50% 0 0/36% 36% 0 0;background:#16202c}
.silence h2{margin-bottom:6px}
.silence .quiet{font:400 clamp(24px,2.4vw,34px)/1.3 var(--display);color:var(--accent);margin:26px 0 0}
@media (max-width:1000px){.silence{grid-template-columns:minmax(0,1fr)}.silence .oshot{max-height:none}}
/* en-têtes de page */
.ph{position:relative;padding:clamp(70px,9vw,130px) 0 clamp(40px,5vw,70px)}
.ph h1{font-size:clamp(60px,8.4vw,136px);max-width:9em}
.phg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,90px);align-items:center}
.phg .oshot{aspect-ratio:4/4.4;max-height:64vh;margin-left:auto;border-radius:50% 50% 0 0/38% 38% 0 0}
.ph.wide .phg{grid-template-columns:minmax(0,1fr)}

/* le rail des chalets : il défile sans fin, sans pause */
.rail{overflow:hidden;padding:20px 0 clamp(50px,6vw,90px)}
.rail .track{display:flex;gap:28px;width:max-content;animation:rail 70s linear infinite}
.rail a{flex:none;width:clamp(220px,22vw,320px);text-decoration:none;color:inherit}
.rail .im{aspect-ratio:3/4;border-radius:50% 50% 0 0/36% 36% 0 0;overflow:hidden;background:var(--card)}
.rail .im img,.rail .im picture{width:100%;height:100%;object-fit:cover}
.rail b{display:block;font:400 30px/1.1 var(--display);margin-top:14px}
.rail span{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tx2)}
@keyframes rail{to{transform:translateX(-50%)}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:transparent;color:var(--tx);border-radius:999px;padding:10px 18px;font:500 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.chip:hover:not(:disabled){border-color:var(--tx)}
.chip[aria-pressed="true"]{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.chip:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.flabel{display:block;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--tx2);margin:0 0 10px}
.fbar{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:34px}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.chcard{position:relative;display:block;text-decoration:none;color:inherit;overflow:hidden;border-radius:50% 50% 24px 24px/22% 22% 24px 24px;background:var(--night)}
.chcard .im{aspect-ratio:3/4}
.chcard .im img,.chcard .im picture{width:100%;height:100%;object-fit:cover}
.chcard .info{position:absolute;left:0;right:0;bottom:0;padding:22px 24px 22px;background:var(--raised);color:var(--tx);transform:translateY(calc(100% - 74px));transition:transform .8s var(--ease)}
.chcard:hover .info,.chcard:focus-visible .info{transform:none}
.chcard .info h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.chcard .info h3 small{font:500 11px/1 var(--sans);letter-spacing:.2em;color:var(--accent)}
.chcard .info p{margin:10px 0 0;color:var(--tx2);font-size:15px}
.chcard .info>*:not(h3){opacity:0;transition:opacity .5s .1s}
.chcard:hover .info>*:not(h3),.chcard:focus-visible .info>*:not(h3){opacity:1}
@media (hover:none){.chcard .info>*:not(h3){opacity:1}}
.chcard .pg{height:3px;background:var(--line);margin-top:14px;position:relative;overflow:hidden}
.chcard .pg i{position:absolute;inset:0;background:var(--accent);transform:scaleX(var(--p,0));transform-origin:left}
.chcard .pg~span{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);display:block;margin-top:8px}
.chcard[hidden]{display:none}
@media (hover:none){.chcard .info{position:static;transform:none}.chcard{border-radius:24px}}
.count{font-size:14px;color:var(--tx2);margin:0 0 20px}
.empty{padding:34px;border:1px dashed var(--tx3);border-radius:24px;text-align:center;color:var(--tx2);margin-top:20px}
.empty svg{margin:0 auto 10px;color:var(--accent)}

/* un chalet */
.cfiche{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,90px);align-items:center}
.cfiche .oshot{aspect-ratio:4/5;max-height:84vh;border-radius:50% 50% 0 0/38% 38% 0 0}
.cfiche h1{font-size:clamp(60px,8vw,128px)}
.specs{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.specs li{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:15.5px}
.specs li span:first-child{color:var(--tx2)}
.cprog{display:flex;gap:22px;align-items:center;margin:26px 0 0}
.cprog p{margin:0}
.cprog b{font:400 28px/1.05 var(--display);display:block}
.coupe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:center}
.coupe svg{width:100%;height:auto;max-width:470px}
.coupe .lv{fill:var(--raised);stroke:var(--tx);stroke-width:1.2;cursor:pointer;transition:fill .35s}
.coupe .lv:hover,.coupe .lv.on,.coupe .lv:focus-visible{fill:color-mix(in srgb,var(--accent) 18%,var(--raised));outline:none}
.coupe .roof{fill:none;stroke:var(--tx);stroke-width:1.4}
.coupe .gd{fill:none;stroke:var(--tx3);stroke-dasharray:3 5}
.coupe text{font:500 12px var(--sans);fill:var(--tx);letter-spacing:.06em;pointer-events:none}
.coupe text.m2{fill:var(--tx2);font-size:11px}
.rinfo{border-top:1px solid var(--line);padding-top:18px;min-height:150px}
.rooms{list-style:none;margin:22px 0 0;padding:0;font-size:15px}
.rooms li{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid var(--line)}
.rooms li span:first-child{color:var(--tx2)}
.rinfo b{display:block;font:400 38px/1.05 var(--display);margin-bottom:8px}
.rinfo p{color:var(--tx2);margin:0}
.gal{position:relative;aspect-ratio:16/9;overflow:hidden;background:#16202c;border-radius:clamp(30px,6vw,110px)}
.gal .g{position:absolute;inset:0;clip-path:ellipse(0% 0% at 50% 50%);transition:clip-path 1.6s var(--soft)}
.gal .g.on{clip-path:ellipse(90% 110% at 50% 50%);z-index:2}
.gal .g.was{clip-path:ellipse(90% 110% at 50% 50%);z-index:1;transition:none}
.gal img,.gal picture{width:100%;height:100%;object-fit:cover}
.gal .gbar{position:absolute;left:8%;right:8%;bottom:22px;display:flex;gap:6px;z-index:3}
.gal .gbar i{flex:1;height:2px;background:rgba(246,247,244,.35);overflow:hidden}
.gal .gbar i b{display:block;height:100%;background:#f6f7f4;transform:scaleX(0);transform-origin:left}
.gal .gbar i.on b{animation:fill 5s linear forwards}
.gal .gbar i.gdone b{transform:none}
.gal .gcap{position:absolute;left:8%;top:22px;z-index:3;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#f6f7f4;background:rgba(10,18,28,.4);padding:8px 12px;border-radius:99px}

/* le chantier : journal, frise, avancement par chalet */
.tl-wrap{position:relative}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl-wrap::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line);transform:translateX(-50%)}
.tl-wrap .line{position:absolute;left:50%;top:0;width:2px;height:var(--lh,0%);background:var(--accent);transform:translateX(-50%)}
.tl li{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;padding:clamp(26px,4vw,56px) 0}
.tl li::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);transform:translate(-50%,-50%)}
.tl li.passed::after{background:var(--accent)}
.tl .txt{padding:0 8px}
.tl .txt b{display:block;font:400 clamp(52px,5.4vw,84px)/1 var(--display);color:var(--accent);margin-bottom:12px;font-variant-numeric:tabular-nums}
.tl .txt h3{margin-bottom:8px}
.tl .txt p{margin:0;color:var(--tx2)}
.tl .when{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--tx2);display:block;margin-bottom:12px}
.tl .im{aspect-ratio:4/3;overflow:hidden;border-radius:999px 999px 0 0}
.tl .im img,.tl .im picture{width:100%;height:100%;object-fit:cover}
.tl li:nth-child(odd) .im{order:2}
.tl li:nth-child(odd) .txt{text-align:right}
.bars{display:grid;gap:14px;margin-top:10px}
.bar2{display:grid;grid-template-columns:150px 1fr 70px;gap:16px;align-items:center;font-size:15px}
.bar2 .tr{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.bar2 .tr i{display:block;height:100%;border-radius:99px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 2s var(--soft)}
.bars.in .bar2 .tr i{transform:scaleX(var(--p))}
.bar2 em{font-style:normal;color:var(--tx2);text-align:right}
.bar2 a{font:400 30px/1 var(--display);text-decoration:none}
.sec.deep .bar2 .tr{background:rgba(233,238,245,.18)}.sec.deep .bar2 .tr i{background:var(--gold)}.sec.deep .bar2 em{color:rgba(233,238,245,.78)}.sec.deep .bar2 a{color:#e9eef5}

/* le massif : un panorama qui défile, un herbier */
.pano{position:relative;overflow:hidden;background:linear-gradient(180deg,#9fb8dc,#e8d9c4 78%);height:clamp(380px,56vh,560px)}
.pano .pan{position:absolute;left:0;top:0;height:100%;width:200%;animation:pan 48s ease-in-out infinite alternate}
@keyframes pan{to{transform:translateX(-50%)}}
.pano svg{position:absolute;inset:0;width:100%;height:100%}
.pano .r1{fill:#b9c6dd}.pano .r2{fill:#8fa3c4}.pano .r3{fill:#53688d}.pano .r4{fill:#2c3e5c}
.pano .snow{fill:#f6f7f4;opacity:.9}
.pano .cl{fill:#fff;opacity:.55;animation:cdrift 60s linear infinite}
@keyframes cdrift{0%{opacity:0;transform:translateX(-200px)}12%{opacity:.55}88%{opacity:.55}100%{opacity:0;transform:translateX(1100px)}}
.pano .pin{color:#16202c;width:54px;height:54px}
.pano .pin::before{border-color:#16202c;background:rgba(246,247,244,.7);animation-name:ring3}
.pano .pin::after{background:#16202c}
@keyframes ring3{70%{box-shadow:0 0 0 18px rgba(22,32,44,0)}100%{box-shadow:0 0 0 0 rgba(22,32,44,0)}}
.pano .pk{position:absolute;transform:translate(-50%,-100%);font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#16202c;white-space:nowrap;padding-bottom:30px;pointer-events:none}
.peaks{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.peaks button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:16px 4px;border-top:1px solid var(--line);font:400 24px/1.1 var(--display)}
.peaks button small{display:block;font:500 11px/1 var(--sans);letter-spacing:.18em;color:var(--accent);margin-top:8px;text-transform:uppercase}
.peaks button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.peaks button:hover{border-color:var(--accent)}
.herb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hb{all:unset;box-sizing:border-box;display:block;cursor:pointer;background:var(--raised);border:1px solid var(--line);border-radius:50% 50% 24px 24px/18% 18% 24px 24px;padding:28px 22px 24px;text-align:center;transition:border-color .3s,background .3s}
.hb:hover{border-color:var(--accent)}
.hb:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hb svg{width:100%;height:170px;margin-bottom:14px;overflow:visible}
.hb b{display:block;font:400 34px/1 var(--display)}
.hb span{display:block;font:500 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);margin-top:8px}

/* visite */
.visit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:start}
.step{margin-bottom:30px}
.step h2{font:500 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:flex;gap:12px;align-items:center}
.step h2 i{font:normal 500 12px/1 var(--sans);width:26px;height:26px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}
.dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;padding-right:40px;scrollbar-width:thin;-webkit-mask:linear-gradient(90deg,#000 85%,transparent);mask:linear-gradient(90deg,#000 85%,transparent)}
.dates .chip{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;align-items:center;min-width:66px;padding:12px;border-radius:30px}
.dates .chip b{font:400 24px/1 var(--display);letter-spacing:0}
.fld{display:grid;gap:6px;margin-bottom:14px}
.fld label{font-size:13px;letter-spacing:.04em;color:var(--tx2)}
.fld input,.fld textarea,.fld select{font:400 16px/1.4 var(--sans);color:var(--tx);background:var(--raised);border:0;border-bottom:1px solid var(--tx3);padding:13px 2px;width:100%;transition:border-color .3s,background .3s}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--raised))}
.fld [aria-invalid="true"]{border-color:var(--bad)}
.two-f{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.err{color:var(--bad);font-size:14px;min-height:1.4em;margin:0 0 10px}
.err:not(:empty){animation:nudge .4s var(--ease)}
@keyframes nudge{20%{transform:translateX(-5px)}60%{transform:translateX(4px)}}
.sum{background:var(--raised);border:1px solid var(--line);border-radius:26px;padding:24px}
.sum b{display:block;font:400 32px/1.1 var(--display);margin-bottom:6px}
.sum span{display:block;color:var(--tx2)}
.aside{position:sticky;top:calc(var(--hd) + 24px)}
.done{background:var(--raised);border:1px solid var(--accent);border-radius:30px;padding:34px}
.done h2{font-size:48px;margin-bottom:10px}
.done .ok{width:64px;height:64px;margin-bottom:14px}
.done .ok circle,.done .ok path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s .1s var(--soft) forwards}
.done .ok path{animation-delay:.6s}

/* mentions, 404, cookies, pied de page */
.legal{max-width:50em}
.legal h2{font-size:40px;margin:46px 0 12px}
.legal p,.legal li{color:var(--tx2)}
.e404{min-height:calc(100vh - var(--hd));display:grid;place-items:center;text-align:center;padding:60px 0}
.e404 .lab{justify-content:center}
.e404 h1{font-size:clamp(52px,7.4vw,112px);max-width:11em;margin:0 auto}
.e404 .lead{margin:20px auto 30px}
.e404 .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.e404 .rg{width:min(520px,86%);margin:0 auto 28px;color:var(--accent)}
.e404 .rg path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;animation:draw 2.6s .2s var(--soft) forwards}
.cookie{position:fixed;right:16px;bottom:16px;z-index:90;width:min(340px,calc(100vw - 32px));background:#16202c;color:#e9eef5;padding:20px 22px 18px;border-radius:26px;box-shadow:0 26px 70px rgba(0,0,0,.4);overflow:hidden;animation:ckin .9s var(--ease) both}
@keyframes ckin{from{transform:translateY(30px);opacity:0}}
.cookie .fw{position:absolute;right:8px;top:8px;width:56px;height:68px;opacity:.9}
.cookie h2{position:relative;font:500 26px/1.05 var(--display);color:#f6f7f4;margin-bottom:6px;max-width:9em}
.cookie p{position:relative;font-size:13px;line-height:1.5;color:rgba(233,238,245,.78);margin:0 0 14px;padding-right:46px}
.cookie .row{position:relative;display:flex;gap:10px;flex-wrap:wrap}
.cookie .btn{padding:11px 16px;font-size:11.5px}
.cookie .btn.ghost{color:#e9eef5}
.cookie.gone{animation:none;transition:opacity .5s,transform .6s var(--ease);opacity:0;transform:translateY(24px);pointer-events:none}
.ft{background:var(--night);color:#e9eef5;padding:clamp(70px,8vw,110px) 0 34px;position:relative;overflow:hidden}
.ft .big{display:block;width:100%;height:auto;margin:0 0 50px}
.ft .big .rg1{fill:none;stroke:rgba(233,238,245,.4);stroke-width:1.2}
.ft .big .rg2{fill:none;stroke:rgba(233,238,245,.2);stroke-width:1}
.ft .big .ch{fill:rgba(233,238,245,.08);stroke:rgba(233,238,245,.55);stroke-width:1}
.ft .big .win{fill:#d9a95b;opacity:.1;animation:lamp 12s linear infinite}
@keyframes lamp{0%,30%{opacity:.1}38%,80%{opacity:.9}88%,100%{opacity:.1}}
.ft .big .cab{fill:#d9a95b;animation:cab 28s ease-in-out infinite alternate}
@keyframes cab{to{transform:translate(1080px,-160px)}}
.ft .big .cable{fill:none;stroke:rgba(233,238,245,.3);stroke-dasharray:2 5}
.ft .big .cl2{fill:rgba(233,238,245,.08);animation:cdrift 70s linear infinite}
.ft .big text{font:400 15px var(--sans);letter-spacing:.3em;fill:rgba(233,238,245,.55)}
.ft .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ft h2{font:500 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ft li{color:rgba(233,238,245,.72)}
.ft a{text-decoration:none;color:rgba(233,238,245,.72);transition:color .2s}
.ft a:hover{color:#e9eef5}
.ft .small{color:rgba(233,238,245,.66);margin-top:16px;max-width:26em}
.ft .fine{margin-top:50px;padding-top:20px;border-top:1px solid rgba(233,238,245,.14);font-size:13px;color:rgba(233,238,245,.6);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.u-mt{margin-top:24px}.u-mt2{margin-top:36px}.u-mt8{margin-top:8px}

@media (max-width:1000px){
  :root{--gut:26px}
  .head2,.phg,.cstage,.build,.cfiche,.coupe,.visit{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr 1fr}
  .herb{grid-template-columns:repeat(2,minmax(0,1fr))}
  .peaks{grid-template-columns:1fr 1fr}
  .oval{max-width:520px;margin:0 auto}
  .archst{min-height:0;aspect-ratio:3/4}
  .phg .oshot{margin:0 auto;max-height:none}
  .hstory,.merge{height:auto}
  .hpin,.mpin{position:static;height:auto;overflow:visible;padding:70px 0}
  .htrack{flex-direction:column;align-items:stretch;padding:0 var(--gut);transform:none!important;gap:48px}
  .hcard{width:auto}.hcard:nth-child(even){margin-bottom:0}.hcard .im{max-height:none}
  .altm{display:none}.hprog{display:none}
  .mpin{padding:0}.mtitle{position:static;opacity:1;padding:70px 0 30px}
  .mbig{position:relative;height:90vh;min-height:560px;-webkit-mask-image:none;mask-image:none}
  .mbig img{transform:none}.mbig .veil{opacity:1}
  .mtext{opacity:1;top:auto;bottom:40px;transform:none}
  .aside{position:static}
  .tl-wrap::before,.tl-wrap .line{left:18px}
  .tl li{grid-template-columns:1fr;gap:20px;padding-left:44px}
  .tl li::after{left:18px;top:34px}
  .tl li:nth-child(odd) .im{order:0}.tl li:nth-child(odd) .txt{text-align:left}
  .ft .cols{grid-template-columns:1fr 1fr}
  .flora{opacity:.7}
}
@media (max-width:820px){
  .menu-btn{display:flex}
  .nav{position:fixed;left:0;right:0;top:var(--hd);height:calc(100svh - var(--hd));overflow-y:auto;background:var(--bg);color:var(--tx);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gut) 26px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease),visibility .25s}
  .nav.open{opacity:1;transform:none;visibility:visible}
  .nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
  .nav a::after{display:none}
  .hd-r .btn{display:none}
}
@media (max-width:640px){
  :root{--gut:20px;--hd:68px}
  body{font-size:16px}
  .logo b{font-size:28px}.logo svg{width:32px}
  .sec{padding:72px 0}
  .lead{font-size:17px}
  .hero .ttl{top:30%}
  .hero .win{width:46vw;right:var(--gut);top:auto;bottom:calc(min(24vh,200px) + 150px);display:none}
  .hero .low .wrap{flex-direction:column;align-items:flex-start;gap:16px}
  .hero .low .cue{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}
  .hero .low p{padding-bottom:70px}
  .hero .low .tlink,.hero .credit{display:none}
  .stats{grid-template-columns:1fr;gap:26px}
  .cgrid{grid-template-columns:1fr}
  .herb{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hb{padding:20px 12px}
  .specs{grid-template-columns:1fr}
  .two-f{grid-template-columns:1fr}
  .flora{display:none}
  .ft .cols{grid-template-columns:1fr 1fr}.ft .cols>div:first-child{grid-column:1/-1}
  .tip{left:50%!important;top:auto!important;bottom:14px;transform:translate(-50%,8px)}
  .tip.on{transform:translate(-50%,0)}
  .bar2{grid-template-columns:1fr 70px}.bar2 .tr{grid-column:1/-1;order:3}
  .cookie{left:10px;right:10px;bottom:10px;width:auto;padding:14px 16px}
  .cookie h2{font-size:22px;margin-bottom:2px}.cookie .fw{width:64px;height:78px}
  .cookie p{margin:0 0 10px;font-size:12.5px}
  .cookie .btn{padding:9px 14px}
  .clist button{grid-template-columns:34px 1fr}.clist .m{display:none}
  .pano .pk{font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .intro{display:none}
  .js .rv,.js [data-split] .w>span,.js .hcard .t>*{opacity:1;transform:none}
  .js .shot>*,.js .oshot>*{clip-path:none}.js .shot:not(.in) img,.js .oshot:not(.in) img{transform:none}
  .mbig{-webkit-mask-image:none;mask-image:none}.mtext{opacity:1!important}
  .bars .bar2 .tr i,.ringp .fg{transition:none}
  }
/* revue de Thony (2026-10-25) : cadres rectangulaires plein écran, hyper immersifs, texte dans la photo ; plus d'ovale */
.arch,.ellipse{border-radius:0}
.btn,.chip{border-radius:2px}.btn::before{border-radius:0}
.tip,.cookie,.sum,.done,.avail{border-radius:0}
.dlg .im{border-radius:0}
.chcard{border-radius:0}
.chcard .im{aspect-ratio:4/5}
.tl .im{border-radius:0}
.gal{border-radius:0}
.gal .g{clip-path:inset(0 0 0 100%);transition:clip-path 1.5s var(--soft)}
.gal .g.on{clip-path:inset(0)}
.gal .g.was{clip-path:inset(0)}
/* en-tête de page : une photo pleine largeur, le texte dedans */
.phf{position:relative;height:min(78vh,760px);min-height:460px;display:flex;align-items:flex-end;color:#f6f7f4;overflow:hidden;background:#16202c}
.phf .bgp{position:absolute;inset:0}
.phf .bgp picture,.phf .bgp img{width:100%;height:100%;object-fit:cover}
.pveil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,28,.78),rgba(10,18,28,.15) 55%,rgba(10,18,28,.35));pointer-events:none}
.phf .wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(36px,6vw,80px)}
.phf h1{color:#f6f7f4;font-size:clamp(56px,8.4vw,136px);max-width:10em}
.phf h1 em{color:var(--gold)}
.phf .lab{color:rgba(246,247,244,.82)}
.phf .lead{color:rgba(246,247,244,.9)}
/* des chalets en grand : plein écran, texte dans l'image, parallaxe */
.imm{position:relative;height:100vh;height:100svh;min-height:560px;max-height:920px;overflow:hidden;color:#f6f7f4;background:#16202c}
.imm .pbg{position:absolute;inset:-8% 0;will-change:transform}
.imm .pbg picture,.imm .pbg img{width:100%;height:100%;object-fit:cover}
.imm .pveil{background:linear-gradient(90deg,rgba(10,18,28,.78),rgba(10,18,28,.2) 60%,transparent)}
.imm.right .pveil{background:linear-gradient(270deg,rgba(10,18,28,.78),rgba(10,18,28,.2) 60%,transparent)}
.imm .wrap{position:relative;z-index:1;height:100%;display:flex;align-items:flex-end}
.imm .itx{padding-bottom:clamp(40px,8vh,96px);max-width:560px}
.imm.right .wrap{justify-content:flex-end;text-align:right}
.imm.right .itx{margin-left:auto}
.imm .lab{color:rgba(246,247,244,.82)}
.imm.right .lab{justify-content:flex-end}
.imm h2{color:#f6f7f4;font-size:clamp(56px,8vw,128px)}
.imm .lead{color:rgba(246,247,244,.9)}
/* l'accueil : les chalets et le chantier en plein écran */
.cfull{position:relative;height:100vh;height:100svh;min-height:620px;max-height:980px;overflow:hidden;color:#f6f7f4;background:#16202c}
.cfull .cbg{position:absolute;inset:0}
.cfull .sl{position:absolute;inset:0;clip-path:inset(0 0 0 100%);transition:clip-path 1.5s var(--soft);z-index:0}
.cfull .sl.on{clip-path:inset(0);z-index:2}
.cfull .sl.was{clip-path:inset(0);z-index:1;transition:none}
.cfull .sl img,.cfull .sl picture{width:100%;height:100%;object-fit:cover}
.cfull .sl img{transform:none}
.cfull .sl.on img{transform:scale(1)}
.cfull .cveil{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(10,18,28,.86),rgba(10,18,28,.4) 52%,rgba(10,18,28,.12));pointer-events:none}
.cfull .cin{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;justify-content:center}
.cfull h2{color:#f6f7f4;max-width:9em}.cfull h2 em{color:var(--gold)}
.cfull .lab{color:rgba(246,247,244,.82)}
.cfull .clist{width:min(480px,100%)}
.cfull .clist li{border-color:rgba(246,247,244,.25)}
.cfull .clist li:last-child{border-color:rgba(246,247,244,.25)}
.cfull .clist button{color:rgba(246,247,244,.6)}
.cfull .clist li.on button{color:#fff}
.cfull .clist .n{color:rgba(246,247,244,.55)}
.cfull .clist li.on .n,.cfull .clist li.on .m{color:var(--gold)}
.cfull .clist .bar{background:var(--gold)}
.cfull .clist p{margin:0;max-height:0;opacity:0;overflow:hidden;font-size:15.5px;color:rgba(246,247,244,.85);transition:max-height .8s var(--ease),opacity .6s}
.cfull .clist li.on p{max-height:100px;opacity:1;margin:0 0 14px 44px}
.cfull .tlink{color:#f6f7f4}
.cfull .cap{position:absolute;right:var(--gut);bottom:clamp(24px,5vh,56px);z-index:3;text-align:right;color:#f6f7f4;text-shadow:0 2px 20px rgba(10,18,28,.7)}
.cfull .cap b{display:block;font:400 clamp(36px,4.4vw,68px)/1 var(--display)}
.cfull .cap span{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.bfull .cveil{background:linear-gradient(90deg,rgba(10,18,28,.88),rgba(10,18,28,.5) 55%,rgba(10,18,28,.2))}
.clist li{position:relative}
/* le monastère : l'écran entier, dans la brume */
.simm{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#f6f7f4;overflow:hidden;background:#16202c}
.simm .sbg{position:absolute;inset:-6% 0}
.simm .sbg picture,.simm .sbg img{width:100%;height:100%;object-fit:cover}
.simm .pveil{background:linear-gradient(90deg,rgba(10,18,28,.78),rgba(10,18,28,.3) 60%,rgba(10,18,28,.15))}
.simm .mist{z-index:1}
.simm .wrap{position:relative;z-index:2;width:100%}
.simm .sin{max-width:640px;padding:clamp(60px,10vh,120px) 0}
.simm h2{color:#f6f7f4}.simm h2 em{color:var(--gold)}
.simm .lab{color:rgba(246,247,244,.82)}
.simm .quiet{font:400 clamp(30px,3.4vw,52px)/1.15 var(--display);color:var(--gold);margin:6px 0 22px}
.simm .lead{color:rgba(246,247,244,.9)}
.simm .small{color:rgba(246,247,244,.66)}
.mfacts{list-style:none;margin:28px 0 22px;padding:0;display:grid;gap:0}
.mfacts li{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(246,247,244,.25)}
.mfacts b{font:400 clamp(24px,2.4vw,34px)/1 var(--display);color:#f6f7f4}
.mfacts span{color:rgba(246,247,244,.78);font-size:15px}
/* l'herbier : l'écran entier, une plante à la fois */
.hfull{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#f6f7f4;overflow:hidden;background:#16202c}
.hfull .hbg{position:absolute;inset:0}
.hfull .hbg .sl{position:absolute;inset:0;clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--soft);z-index:0}
.hfull .hbg .sl.on{clip-path:inset(0);z-index:2}
.hfull .hbg .sl.was{clip-path:inset(0);z-index:1;transition:none}
.hfull .hbg img,.hfull .hbg picture{width:100%;height:100%;object-fit:cover}
.hfull .pveil{z-index:3;background:linear-gradient(90deg,rgba(10,18,28,.82),rgba(10,18,28,.25) 60%,rgba(10,18,28,.5))}
.hfull .hin{position:relative;z-index:4;width:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:end;padding-top:clamp(60px,10vh,120px);padding-bottom:clamp(60px,10vh,120px)}
.hfull h2{color:#f6f7f4}.hfull h2 em{color:var(--gold)}
.hfull .lab{color:rgba(246,247,244,.82)}
.hlist{list-style:none;margin:28px 0 0;padding:0}
.hbtn{all:unset;box-sizing:border-box;width:100%;display:flex;gap:16px;align-items:baseline;cursor:pointer;padding:14px 0;border-top:1px solid rgba(246,247,244,.25);font:400 clamp(26px,2.6vw,38px)/1.1 var(--display);color:rgba(246,247,244,.58);transition:color .4s,padding .5s var(--ease)}
.hlist li:last-child .hbtn{border-bottom:1px solid rgba(246,247,244,.25)}
.hbtn .n{font:500 11px/1 var(--sans);letter-spacing:.2em;color:rgba(246,247,244,.5)}
.hbtn.on{color:#fff;padding-left:14px}.hbtn.on .n{color:var(--gold)}
.hbtn:hover{color:#fff}
.hbtn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hpanel{max-width:520px;justify-self:end;text-shadow:0 2px 20px rgba(10,18,28,.5)}
.hpanel .k{color:var(--gold)}
.hpanel h3{font-size:clamp(48px,5.6vw,92px);color:#f6f7f4;margin-bottom:14px}
.hpanel p{color:rgba(246,247,244,.9);font-size:clamp(17px,1.4vw,20px)}
.hpanel .small{color:rgba(246,247,244,.62);font-size:13px}
@media (max-width:1000px){.hfull .hin{grid-template-columns:minmax(0,1fr)}.hpanel{justify-self:start}.mfacts li{grid-template-columns:110px 1fr}}
/* la fiche d'un chalet : la photo prend tout l'écran, le texte dans un panneau */
#fiche{padding:0;position:relative;overflow:hidden}
#fiche .cfiche{display:block;max-width:none;padding:0;position:relative;min-height:calc(100vh - var(--hd))}
#fiche .oshot{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;max-height:none}
#fiche .oshot picture,#fiche .oshot img{width:100%;height:100%;object-fit:cover}
#fiche .cfiche>div:last-child{position:relative;z-index:2;margin-left:auto;max-width:600px;min-height:calc(100vh - var(--hd));padding:clamp(28px,4vw,60px);background:rgba(10,18,28,.8);color:#f6f7f4;display:flex;flex-direction:column;justify-content:center}
#fiche .lead,#fiche .small,#fiche .small a,#fiche .note,#fiche .specs li span:first-child{color:rgba(246,247,244,.78)}
#fiche .lab,#fiche .k{color:var(--gold)}
#fiche h1{color:#f6f7f4}
#fiche .specs li{border-color:rgba(246,247,244,.22)}
#fiche .ringp .bg{stroke:rgba(246,247,244,.25)}#fiche .ringp .fg{stroke:var(--gold)}#fiche .ringp b{color:#f6f7f4}
#fiche .btn{background:#f6f7f4;color:#16202c}
@media (max-width:1000px){#fiche .oshot{position:relative;height:60vh}#fiche .cfiche>div:last-child{max-width:none;min-height:0}}
/* alterner les formats : le plein écran reste pour quelques moments forts (ouverture, « Survolez le chalet », monastère) ; ailleurs, des cadres rectangulaires plus petits */
.cfull.frame,.hfull.frame,.imm.frame{width:min(1360px,calc(100% - 2*var(--gut)));margin:clamp(28px,5vw,72px) auto}
.cfull.frame{height:min(74vh,700px);min-height:520px;max-height:none}
.hfull.frame{min-height:0;height:auto}
.imm.frame{height:min(70vh,620px);min-height:440px;max-height:none}
.cfull.split{max-height:880px;min-height:600px;background:#0e1722}
.cfull.split .cbg{left:44%}
.cfull.split .cveil{display:none}
.cfull.split .cin{max-width:var(--wrap);margin:0 auto;padding-right:58%;box-sizing:border-box}
@media (max-width:1000px){.cfull.split .cbg{left:0;height:46%;bottom:auto}.cfull.split .cin{padding:calc(46% + 24px) var(--gut) 40px}.cfull.frame{height:auto;min-height:560px}}
/* Téléphone : le contrôle et son résultat à l'écran ensemble (2026-11-08) */
@media (max-width:767px){
  /* Visite : le récapitulatif reste collé en haut pendant qu'on choisit le chalet, le jour et l'heure */
  .visit{display:flex;flex-direction:column;gap:22px;align-items:stretch}
  .visit>*{min-width:0;max-width:100%}
  .visit .aside{display:contents}
  .visit #sum{order:-1;position:sticky;top:var(--hd);z-index:5;padding:12px 16px;margin:0}
  .visit #sum b{font-size:22px;margin-bottom:2px}
  .visit #sum span{font-size:14px;line-height:1.35}
  .visit .aside .sum.u-mt{order:3;margin-top:0}
  body:has(#vform){scroll-padding-top:calc(var(--hd) + 110px)}
}
/* inline-generated */
.u006838{--p:0.08}
.u025f19{animation-delay:-0s;animation-duration:60s}
.u051c05{animation-delay:0.0s}
.u0dc89e{left:78%;top:38%}
.u0f0d37{left:15.00%;top:34.75%}
.u196177{font-size:28px;margin-top:6px}
.u239412{left:37.50%;top:24.00%}
.u2596f2{animation-delay:-34s}
.u27614a{animation-delay:-0s}
.u377d68{--p:0.72}
.u4e6019{left:27%;top:44%}
.u501944{animation-delay:-17s}
.u5180e1{animation-delay:9.9s}
.u5602ff{--p:0.18}
.u56aec0{left:59.17%;top:22.33%}
.u5a6d16{animation-delay:-14s;animation-duration:69s}
.u60e4fa{left:22%;top:24%}
.u629210{animation-delay:7.7s}
.u63292c{left:93.33%;top:40.25%}
.u697711{--p:0.83}
.u71d206{left:36%;top:62%}
.u749640{animation-delay:8.8s}
.u76958b{--p:0.41}
.u7a1564{padding-top:clamp(40px,5vw,70px)}
.u82ccdc{animation-delay:5.5s}
.u97fdc0{animation-delay:-42s;animation-duration:87s}
.u9b54a3{justify-content:center}
.u9df97d{animation-delay:1.1s}
.ua8da24{--p:0.58}
.uaba426{animation-delay:11.0s}
.uae7edd{animation-delay:6.6s}
.uaf77d8{animation-delay:-28s;animation-duration:78s}
.ub3a8cc{animation-delay:-56s;animation-duration:96s}
.ub4b363{padding-bottom:clamp(70px,9vw,120px)}
.ub74704{animation-delay:-51s}
.ud767f4{animation-delay:2.2s}
.ue8c8ef{padding-top:20px}
.uea064f{animation-delay:3.3s}
.uefa6c0{font-size:.3em}
.uf1215f{animation-delay:4.4s}
.uf4f8bf{left:80.42%;top:27.00%}
