/* Aubrelle (maquette de démonstration) : blanc chaud, encre, filets or pâle. Une seule famille : Cormorant Garamond (2026-11-07). Un seul thème, aucun son. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/cormorant.woff2) format('woff2')}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia');size-adjust:84%;ascent-override:110%;descent-override:34%}
:root{
  --bg:#faf8f3;--ink:#14120f;--mut:#5a554b;--gold:#b89b5e;--gold-d:#76601f;--gold-t:#c9ad6e;--line:rgba(20,18,15,.2);--dim:#a9a395;
  --ser:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;--san:var(--ser);
  --ease:cubic-bezier(.2,.7,.1,1);--hh:84px;--gut:clamp(20px,4vw,56px);--ox:max(var(--gut),calc((100vw - 1400px)/2 + var(--gut)));color-scheme:light;font-variant-numeric:lining-nums}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--hh)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.22rem/1.7 var(--san);overflow-x:clip;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img,picture{display:block;max-width:100%}
picture{display:contents}
h1,h2,h3,p,ul,ol,dl,dd,figure,address{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--gold-d);outline-offset:4px}
.hero :focus-visible,.tt :focus-visible,.ft :focus-visible,.hd:not(.solid) :focus-visible{outline-color:var(--gold-t)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:400;background:var(--ink);color:var(--bg);padding:12px 16px;font:500 0.98rem var(--san);letter-spacing:.14em;text-transform:uppercase}
.skip:focus{top:12px}
.wrap{max-width:1400px;margin:0 auto;padding-inline:var(--gut)}

/* ---------- typographie ---------- */
.d1{font:300 clamp(3rem,8vw,8.2rem)/.92 var(--ser);letter-spacing:-.015em}
.d1-s{font-size:clamp(2.7rem,6.2vw,6rem)}
.d2{font:300 clamp(2.1rem,4.4vw,4.3rem)/1.02 var(--ser);letter-spacing:-.01em}
.d2-l{font-size:clamp(1.9rem,3.3vw,3.2rem)}
.d3{font:400 1.7rem/1.15 var(--ser);margin:0 0 .8rem}
.lede{font:400 clamp(1.3rem,1.9vw,1.65rem)/1.4 var(--ser);margin:0 0 1.4rem;max-width:34em}
.lab{font:500 0.95rem/1.5 var(--san);color:var(--gold-d);margin:0 0 1.1rem}
.lab-l,.tt .lab,.ft .lab{color:var(--gold-t)}
.lab-s{margin:0 0 .3rem;display:block}
.n{font-size:1rem;line-height:1.55;color:var(--mut);margin:.8rem 0 0;max-width:46em}
.src{font-size:1rem;color:var(--mut);margin-top:.5rem}
.il{font-style:normal}
.nw{white-space:nowrap}
p{margin:0 0 1.1rem}
.ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.ln>span{display:block}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2.2rem;margin-top:2rem}

/* ---------- boutons et liens ---------- */
.btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:1.05rem 2.1rem;font:500 0.95rem/1.2 var(--san);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s}
.btn:hover{background:transparent;color:var(--ink)}
.btn-l{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.btn-l:hover{background:transparent;color:var(--bg)}
.btn-o{background:transparent;color:var(--ink)}
.btn-o:hover{background:var(--ink);color:var(--bg)}
.lnk{display:inline-block;font:500 0.95rem/1.2 var(--san);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.45rem;transition:border-color .4s,color .4s}
.lnk:hover{color:var(--gold-d);border-color:var(--gold-d)}
.lnk-l{color:var(--bg)}
.lnk-l:hover{color:var(--gold-t);border-color:var(--gold-t)}

/* ---------- entête ---------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s}
.hd.solid{background:rgba(250,248,243,.97);color:var(--ink);border-bottom:1px solid var(--line)}
.hd-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--hh)}
.hd ul{display:flex;gap:2.4rem}
.hd-r{justify-content:flex-end;align-items:center}
.hd a{font:500 0.95rem/1 var(--san);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;position:relative;padding:.6rem 0;display:inline-block}
.hd ul a::after{content:'';position:absolute;left:0;right:0;bottom:.1rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.hd ul a:hover::after,.hd ul a[aria-current=page]::after{transform:scaleX(1)}
.hd .hd-res{border:1px solid currentColor;padding:.8rem 1.3rem}
.hd .hd-res::after{display:none}
.hd .hd-res:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hd:not(.solid) .hd-res:hover{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.hd .hd-logo{font:400 1.3rem/1 var(--ser);letter-spacing:.36em;text-transform:uppercase;padding:.6rem 0 .6rem .36em}
.hd-menu{display:none;background:none;border:0;color:inherit;font:500 0.95rem/1 var(--san);letter-spacing:.22em;text-transform:uppercase;padding:.8rem 0;cursor:pointer}
.drawer{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:calc(var(--hh) + 20px) var(--gut) 40px;opacity:0;transition:opacity .45s var(--ease)}
.drawer.open{opacity:1}
.drawer ul{width:100%;max-width:520px}
.drawer li{border-top:1px solid var(--gold)}
.drawer li:last-child{border-bottom:1px solid var(--gold)}
.drawer li a{display:block;font:300 clamp(2.2rem,9vw,3.4rem)/1.2 var(--ser);text-decoration:none;padding:.7rem 0}
.drawer-f{margin-top:2rem;font-size:1.04rem;color:var(--mut)}
body.menu-open{overflow:hidden}
body.menu-open .hd{color:var(--ink);background:transparent;border-color:transparent}
.cur{display:none}
@media(hover:hover) and (pointer:fine){
  .cur{display:block;position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:200;opacity:0;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),opacity .35s,background .35s;will-change:transform}
  .cur.on{opacity:1}
  .cur.big{width:60px;height:60px;margin:-30px 0 0 -30px;background:rgba(184,155,94,.14)}
}

/* ---------- accueil : ouverture ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;color:#fff;overflow:hidden;background:var(--ink);display:grid;grid-template-rows:1fr auto}
.hero-img,.hero-sh{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero-sh{background:linear-gradient(180deg,rgba(20,18,15,.62) 0,rgba(20,18,15,0) 24%,rgba(20,18,15,.2) 46%,rgba(20,18,15,.88) 100%)}
.hero-in{position:relative;align-self:end;padding-bottom:clamp(1.6rem,4vh,3rem);width:100%}
.hero-k{margin-bottom:1.4rem}
.hero .d1{max-width:11em}
.hero-s{font:400 clamp(1.4rem,2.1vw,1.8rem)/1.4 var(--ser);margin:1.6rem 0 0;max-width:30em;color:#f0ece2}
.hero-a{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2.2rem;margin:2rem 0 0}
.hero-b{position:relative;width:100%}
.hero-f{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 2rem;border-top:1px solid rgba(184,155,94,.6);padding:1.3rem 0 1.5rem}
.hero-f dt{margin:0 0 .3rem}
.hero-f dd{margin:0;font-size:1.16rem;line-height:1.5;color:#f0ece2}
.hero-f .n{color:#d6d0c2;font-size:1rem;margin:0}
.hero-f a{text-decoration:none;border-bottom:1px solid rgba(184,155,94,.7)}
@media(prefers-reduced-motion:no-preference){
  html.js .hero-img img{animation:kb 28s var(--ease) both}
  @keyframes kb{from{scale:1.02}to{scale:1.16}}
  html.js .hero .ln>span,html.js .pg-h .ln>span{animation:lnUp 1.3s var(--ease) calc(.25s + var(--l,0)*.16s) both}
  @keyframes lnUp{from{transform:translateY(112%)}to{transform:none}}
  html.js .hero-k,html.js .hero-s,html.js .hero-a,html.js .hero-f,html.js .pg-h .lab,html.js .pg-h .lede,html.js .pg-h .acts{animation:fdIn 1.4s var(--ease) .9s both}
  @keyframes fdIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
}

/* ---------- accueil : la maison ---------- */
.mai{padding-block:clamp(80px,12vw,180px)}
.mai-h{max-width:16em;margin-bottom:clamp(30px,4vw,60px)}
.mai-g>*{min-width:0}
.mai-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,7vw,120px);align-items:end}
.mai-t p{max-width:36em}
.faits{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.4rem 3rem;border-top:1px solid var(--gold);margin-top:2.6rem;padding-top:1.6rem}
.faits li{flex:0 0 auto}
.faits b{display:block;font:300 clamp(1.9rem,2.9vw,2.7rem)/1.05 var(--ser);white-space:nowrap}
.faits span{display:block;margin-top:.5rem;font:500 0.95rem/1.5 var(--san);color:var(--gold-d)}
.cv{margin:0}
.cv-i{overflow:hidden;position:relative}
.cv-i img{width:100%;height:100%;object-fit:cover}
.cv figcaption{margin-top:.8rem;font:500 0.95rem/1.6 var(--san);color:var(--mut)}
.cv figcaption .il{display:block;font-style:normal;font-size:1.16rem;font-weight:400}
.mai-p .cv-i{aspect-ratio:3/4}

/* ---------- le tour de table (scène sombre) : version sans mouvement, lisible ---------- */
.tt{background:var(--ink);color:var(--bg);padding-block:clamp(70px,10vw,140px)}
.tt-st{display:block}
.tt-top{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem 6vw;align-items:end;margin-bottom:2.4rem}
.tt-note{font-size:1.1rem;line-height:1.6;color:var(--dim);margin:0;max-width:34em}
.tt-ring,.tt-idx,.tt-foot,.tt-nav,.tt-c2{display:none}
.tt-fb .tt-list{display:grid;gap:3rem}
.tl-i{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:2rem 4vw;align-items:center;border-top:1px solid rgba(184,155,94,.5);padding-top:2rem}
.tl-ph{aspect-ratio:1;border-radius:50%;overflow:hidden}
.tl-ph img{width:100%;height:100%;object-fit:cover}
.tl-n{font:300 clamp(1.9rem,3vw,2.8rem)/1.05 var(--ser);margin:0 0 .5rem}
.tl-d{color:#d6d0c2;margin:0 0 .8rem}
.tl-a{font:400 1.25rem/1.4 var(--ser);color:#f0ece2;margin:0}
.tl-a b{font:500 0.95rem var(--san);color:var(--gold-t);font-style:normal;margin-right:.4rem}
.tt .src{color:var(--dim)}
.tt .il{color:var(--dim)}
@media(prefers-reduced-motion:no-preference) and (min-height:501px){
html.js .tt{height:540vh;padding:0}
html.js .tt-c2{display:block;height:auto;padding-block:calc(var(--hh) + 10px) 60px}
html.js .tt-st{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding-top:calc(var(--hh) + 14px)}
html.js .tt-c2 .tt-st{position:relative;height:auto;overflow:visible;padding:0;display:block}
html.js .tt-top{margin-bottom:0;width:100%}
html.js .tt-ring{display:block;--D:min(calc(100vh - 330px),calc(100dvh - 330px),62vw,820px);position:relative;width:var(--D);height:var(--D);margin:clamp(12px,2.4vh,28px) auto 0;align-self:center}
html.js .tt-c2 .tt-ring{--D:min(86vw,600px,calc(100dvh - 270px));margin:1.6rem auto 0}
html.js .tt-idx{display:block;position:absolute;right:var(--gut);top:50%;translate:0 -50%;z-index:2}
html.js .tt-foot{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin:0 0 clamp(10px,2.4vh,26px);text-align:center}
html.js .tt-c2 .tt-foot{margin:1.4rem 0 0}
html.js .tt-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}
html.js .tt-fb{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.tt-hint,.tt-ill{font:500 0.95rem/1.5 var(--san);color:var(--dim)}

/* portables : l'anneau se règle sur la hauteur, les photos rétrécissent, le texte central garde son rayon */
@media(prefers-reduced-motion:no-preference) and (min-height:501px) and (max-height:760px) and (min-width:900px){
  html.js .tt-ring{--pw:21%;--D:min(calc(100dvh - 272px),62vw,820px);margin-top:clamp(6px,1.6vh,16px)}
  html.js .tt-c2 .tt-ring{--D:min(86vw,560px,calc(100dvh - 270px))}
  html.js .tt-idx{display:none}
  html.js .tt-top .d2{font-size:1.6rem}
  html.js .tt-top{gap:.4rem 4vw}
  html.js .tt-t .lab{font-size:1rem;margin-bottom:.4rem}
  html.js .tt-n{font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:.3rem}
  html.js .tt-dd{font-size:1rem;line-height:1.4;margin-bottom:.5rem}
  html.js .tt-acc{font-size:1rem;padding-top:.4rem}
  html.js .tt-acc span{font-size:1rem}
}
@media(prefers-reduced-motion:no-preference) and (min-height:501px) and (max-height:700px) and (min-width:900px){
  html.js .tt-note,html.js .tt-hint{display:none}
  html.js .tt-top{grid-template-columns:1fr}
  html.js .tt-c2 .tt-note{display:none}
  html.js .tt-ring{--pw:19%}
  html.js .tt-n{font-size:1.15rem}
  html.js .tt-dd{font-size:1rem;margin-bottom:.4rem}
  html.js .tt-acc{font-size:1.1rem}
}
.tt-ring::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(184,155,94,.55)}
.tt-ring::after{content:'';position:absolute;inset:calc(var(--pw,27%)/2);border-radius:50%;border:1px solid rgba(184,155,94,.22)}
.tt-disc{position:absolute;inset:0;margin:0;padding:0;list-style:none;--r:0}
.tt-disc::after{content:'';position:absolute;inset:-3.2%;border-radius:50%;background:repeating-conic-gradient(rgba(184,155,94,.6) 0 .32deg,transparent .32deg 3deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 8px));transform:rotate(calc(var(--r)*1deg));pointer-events:none}
.tt-d{position:absolute;inset:0;transform:rotate(calc(var(--a)*1deg + var(--r)*1deg));pointer-events:none;will-change:transform}
.tt-ph{position:absolute;left:50%;top:0;width:var(--pw,27%);margin-left:calc(var(--pw,27%)/-2);aspect-ratio:1;border-radius:50%;overflow:hidden;transform:rotate(calc((var(--a) + var(--r))*-1deg));opacity:.34;scale:.84;transition:opacity .6s var(--ease),scale .8s var(--ease);will-change:transform}
.tt-ph.on{opacity:1;scale:1.1}
.tt-ph img{width:100%;height:100%;object-fit:cover}
.tt-c{position:absolute;inset:var(--pw,27%);display:grid;place-items:center;text-align:center}
.tt-t{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .7s var(--ease);width:100%}
.tt-t.on{opacity:1;transform:none}
.tt-t .lab{margin-bottom:.7rem;font-size:1rem}
.tt-n{font:300 clamp(1.5rem,2.4vw,2.3rem)/1.05 var(--ser);margin:0 0 .5rem}
.tt-dd{font-size:1.02rem;line-height:1.5;color:#d6d0c2;margin:0 0 .9rem}
.tt-acc{font:400 1.2rem/1.3 var(--ser);color:#f0ece2;margin:0;border-top:1px solid rgba(184,155,94,.55);padding-top:.7rem}
.tt-acc span{display:block;font:500 0.95rem/1.4 var(--san);color:var(--gold-t);font-style:normal;margin-bottom:.2rem}
.tt-big{display:none}
@media(prefers-reduced-motion:no-preference) and (min-height:501px){html.js .tt-big{display:grid;position:absolute;left:var(--ox);top:50%;translate:0 -50%;z-index:0;pointer-events:none}}
.tt-big span{grid-area:1/1;font:300 clamp(10rem,22vw,20rem)/.8 var(--ser);color:transparent;-webkit-text-stroke:1px rgba(184,155,94,.5);opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .9s var(--ease)}
.tt-big span.on{opacity:1;transform:none}
.tt-idx li{display:flex;align-items:center;gap:.9rem;font:500 0.95rem/1 var(--san);color:var(--dim);padding:.8rem 0;transition:color .5s}
.tt-idx li span{font:300 1.5rem/1 var(--ser);letter-spacing:0;width:1.2rem;text-align:right}
.tt-idx li::after{content:'';width:0;height:1px;background:var(--gold-t);transition:width .6s var(--ease)}
.tt-idx li.on{color:var(--bg)}
.tt-idx li.on::after{width:2rem}
.tt-go{background:transparent;color:var(--bg);border:1px solid rgba(184,155,94,.7);padding:.9rem 1.4rem;font:500 0.95rem/1.2 var(--san);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:.8rem;transition:background .4s,color .4s}
.tt-go span{font:300 1.4rem/1 var(--ser);letter-spacing:0}
.tt-go:hover{background:rgba(184,155,94,.18)}
.tt-go[aria-pressed=true]{background:var(--gold-t);color:var(--ink);border-color:var(--gold-t)}

/* ---------- accueil : la salle (bande de photos) ---------- */
.strip{padding-block:clamp(70px,10vw,140px)}
.strip-h{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem 6vw;align-items:end;margin-bottom:2.6rem}
.strip-n{margin:0;font-size:1.16rem;color:var(--mut);max-width:34em}
.strip-n .lnk{display:block;width:max-content;margin-top:1.2rem}
.strip-tr{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 1rem var(--ox);scroll-padding-left:var(--ox);--h:min(62vw,420px)}
.strip-tr li{flex:0 0 auto;scroll-snap-align:start}
.strip-tr .cv-i{height:var(--h)}
.s-a{width:calc(var(--h)*1.333)}.s-b{width:calc(var(--h)*.8)}.s-c{width:calc(var(--h)*.8)}.s-d{width:calc(var(--h)*1.5)}.s-e{width:calc(var(--h)*.8)}
.strip-tr .cv figcaption .il{font-size:1.16rem}
.strip-tr li:nth-child(even){margin-top:clamp(0px,4vh,40px)}
@media(prefers-reduced-motion:no-preference) and (min-height:501px){
html.js .strip{height:360vh;padding:0}
html.js .strip-st{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(1rem,3vh,2.2rem);padding-top:var(--hh)}
html.js .strip-h{margin-block:0;width:100%}
html.js .strip-tr{overflow:visible;scroll-snap-type:none;width:max-content;padding:0 var(--gut) 0 var(--ox);will-change:transform;--h:min(44vh,500px)}
}

/* ---------- accueil : infos pratiques ---------- */
.strip+.inf{padding-top:clamp(20px,3vw,50px)}
.inf{display:grid;grid-template-columns:1fr 1fr .8fr;gap:clamp(28px,5vw,80px);padding-block:clamp(80px,12vw,180px);align-items:start}
.adr{display:block;margin:2rem 0 1rem}
.adr-a{display:block;font:300 clamp(1.7rem,2.6vw,2.4rem)/1.2 var(--ser);margin-bottom:1rem}
.adr-t{display:inline-block;font:300 clamp(1.7rem,2.6vw,2.4rem)/1.2 var(--ser);text-decoration:none;border-bottom:1px solid var(--gold)}
.adr-t:hover{color:var(--gold-d)}
.adr-s .adr-a,.adr-s .adr-t{font-size:1.5rem}
.hor{width:100%;border-collapse:collapse;font-size:1.12rem}
.hor th,.hor td{text-align:left;padding:.85rem .6rem .85rem 0;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.hor thead th{font:500 0.95rem/1.4 var(--san);color:var(--gold-d)}
.hor tbody th{font-weight:500}
.hor .off{color:var(--mut)}
.pl{margin:.4rem 0 0;font-size:1.12rem}
.pl li{padding:.55rem 0 .55rem 1.3rem;position:relative;border-bottom:1px solid var(--line)}
.pl li::before{content:'';position:absolute;left:0;top:1.35rem;width:.6rem;height:1px;background:var(--gold-d)}
.inf-b .lab-s{margin-top:2.2rem}
.inf-b .lab:first-child{margin-bottom:.4rem}
.inf-c .cv-i{aspect-ratio:3/4}

/* ---------- pages intérieures ---------- */
.pg{padding-top:calc(var(--hh) + clamp(40px,6vw,90px));padding-bottom:clamp(70px,10vw,140px)}
.pg-h{margin-bottom:clamp(40px,6vw,90px);display:grid;grid-template-columns:1.15fr 1fr;gap:2rem clamp(30px,5vw,80px);align-items:end}
.pg-p .cv-i{aspect-ratio:4/3}
.pg-n{align-self:end}
.pg-1{grid-template-columns:1fr}
.pg-n .lede{margin-top:0}
.pg-h .lede{margin-top:2rem}
.ca{padding-bottom:clamp(40px,6vw,80px)}
.tt-c2{padding-block:clamp(60px,8vw,110px)}
.ca-m,.ca-p,.ca-v{padding-block:clamp(70px,10vw,140px)}
.tt-c2+.ca-m{padding-top:clamp(40px,5vw,70px)}
.ca-m-h{max-width:40em;margin-bottom:3rem}
.mn{border-top:1px solid var(--gold)}
.mn-i{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:.6rem 3vw;padding:2.2rem 0;border-bottom:1px solid var(--gold);align-items:baseline}
.mn-k .lab{margin:0}
.mn-n{font:300 clamp(1.8rem,3.2vw,3rem)/1.05 var(--ser);margin:0 0 .4rem}
.mn-d{margin:0;color:var(--mut)}
.mn-a{margin:0;font:400 1.3rem/1.35 var(--ser)}
.mn-s{grid-column:2/4;font-size:1rem;color:var(--mut);margin:0}
.ca-p{border-top:1px solid var(--line)}
.ca-p{display:grid;grid-template-columns:1fr 1.6fr;gap:2rem clamp(30px,6vw,100px);align-items:start}
.pr{display:grid;gap:0}
.pr>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.4rem 2rem;align-items:baseline;border-top:1px solid var(--gold);padding:1.6rem 0}
.pr>div:last-child{border-bottom:1px solid var(--gold)}
.pr dt{grid-column:1/-1;margin:0}
.pr dt{font:500 0.95rem/1.5 var(--san);color:var(--gold-d);margin-bottom:.6rem}
.pr-v{font:300 clamp(3rem,5.4vw,5rem)/1 var(--ser);margin:0}
.pr-n{font-size:1.04rem;line-height:1.55;color:var(--mut);margin:.6rem 0 0;max-width:26em}
.ca-v{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(30px,7vw,110px);align-items:center;border-top:1px solid var(--line)}
.ca-v-ph .cv-i{aspect-ratio:4/3}
.ca-p-h .cv{margin-top:2rem}
.ca-p-h .cv-i{aspect-ratio:16/9}

/* la salle */
.sa-g{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(14px,2vw,32px);row-gap:clamp(24px,3vw,48px);align-items:end}
.sa-1{grid-column:1/8;grid-row:1}.sa-1 .cv-i{aspect-ratio:4/3}
.sa-t{grid-column:9/13;grid-row:1;align-self:center}
.sa-2{grid-column:1/5;grid-row:2}.sa-2 .cv-i{aspect-ratio:4/5}
.sa-4{grid-column:5/13;grid-row:2}.sa-4 .cv-i{aspect-ratio:3/2}
.sa-3{grid-column:1/7;grid-row:3}.sa-3 .cv-i{aspect-ratio:1}
.sa-5{grid-column:7/13;grid-row:3}.sa-5 .cv-i{aspect-ratio:1}
.sa-t .lede{font-size:1.35rem}
.sa-d{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:clamp(14px,2vw,32px);margin-top:clamp(24px,3vw,48px);align-items:end}
.sa-d1 .cv-i,.sa-d3 .cv-i{aspect-ratio:4/5}.sa-d2 .cv-i{aspect-ratio:3/2}
.sa-a{margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--gold);padding-top:1.6rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}
.sa-a .acts{margin:0}.sa-a .n{margin:0}
.sa-a .adr-t{font-size:1.9rem}

/* réservation */
.rs-g{display:block}
.rs{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem clamp(24px,3vw,48px);align-items:start}
.rs .f{border:0;padding:0;margin:0;min-width:0}
.f-msg,.f-go,.done{grid-column:1/-1}
.f-go{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;border-top:1px solid var(--gold);padding-top:1.6rem!important}
.f-go .n{margin:0}
.f-msg{grid-row:span 1}
.rs legend{padding:0}
.rs input[type=text],.rs input[type=date],.rs textarea{display:block;width:100%;font:300 clamp(1.5rem,2.4vw,1.9rem)/1.3 var(--ser);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.5rem 0;min-height:3rem;-webkit-appearance:none;appearance:none}
.rs textarea{border:1px solid var(--ink);padding:.8rem 1rem;font-size:1.25rem;resize:vertical;min-height:7rem}
.rs input[aria-invalid=true],.rs textarea[aria-invalid=true]{border-bottom-width:3px;border-color:var(--gold-d)}
.rs input[type=date]{max-width:22rem}
.rs input:focus-visible,.rs textarea:focus-visible{outline:2px solid var(--gold-d);outline-offset:4px}
.pills,.slots{display:flex;flex-wrap:wrap;gap:.7rem}
.pill{position:relative;cursor:pointer}
.pill input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pill span{display:block;border:1px solid var(--ink);padding:.85rem 1.4rem;font:500 0.95rem/1.2 var(--san);letter-spacing:.16em;text-transform:uppercase;transition:background .35s,color .35s}
.pill:hover span{background:rgba(184,155,94,.18)}
.pill.gone{opacity:.45}
.pill.gone span{text-decoration:line-through;border-style:dashed;cursor:default}
.pill input:disabled{cursor:default}
.pill input:checked+span{background:var(--ink);color:var(--bg)}
.pill input:focus-visible+span{outline:2px solid var(--gold-d);outline-offset:4px}
.slots .pill span{text-transform:none;letter-spacing:.04em;font-size:1rem;padding:.8rem 1.4rem}
.pill-l span{font:300 1.8rem/1.1 var(--ser);letter-spacing:0;text-transform:none;padding:1rem 1.8rem;min-width:11rem}
.pill-l small{display:block;font:500 0.95rem/1.4 var(--san);margin-top:.3rem}
.step{display:flex;align-items:center;gap:1.6rem}
.st{width:3.2rem;height:3.2rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font:300 1.8rem/1 var(--ser);cursor:pointer;transition:background .3s,color .3s}
.st:hover:not(:disabled){background:var(--ink);color:var(--bg)}
.st:disabled{opacity:.35;cursor:default}
.step output{font:300 4rem/1 var(--ser);min-width:2ch;text-align:center}
.err{margin:.7rem 0 0;padding-left:.9rem;border-left:3px solid var(--gold-d);font:500 1.07rem/1.5 var(--san);color:var(--ink)}
.err::before{content:'À corriger : ';font-weight:700;color:var(--gold-d)}
.done{border:1px solid var(--gold);padding:clamp(1.6rem,3vw,2.6rem);margin-top:1rem}
.rs-s{position:static;background:var(--bg);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:.55rem 0;margin-bottom:clamp(30px,4vw,60px);display:grid;grid-template-columns:auto 1fr;gap:.2rem 3vw;align-items:center}
@media(min-width:1100px) and (min-height:700px){.rs-s{position:sticky;top:var(--hh);z-index:5}}
.recap-off .recap dd{color:var(--mut)}
.rs-s .lab{margin:0}
.rs-s .n{display:none}
.rs-i{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem clamp(24px,4vw,64px);margin-top:clamp(36px,4vw,60px);padding-top:2.4rem;border-top:1px solid var(--gold)}
.rs-i .adr{margin-top:0}
.recap{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem 2vw}
.recap div{display:block;padding:0}
.recap dt{font:500 0.95rem/1.5 var(--san);color:var(--mut)}
.recap dd{margin:0;font:400 1.15rem/1.25 var(--ser)}
.rs-i .hor{font-size:1.04rem}

/* mentions */
.lg-g{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,6vw,100px);align-items:start}
.lg-g section{border-top:1px solid var(--gold);padding-top:1.4rem;margin-bottom:2.6rem}
.lg-g p{max-width:40em}
.lg{padding-bottom:40px}

/* ---------- pied de page ---------- */
.ft{background:var(--ink);color:var(--bg);padding:clamp(60px,8vw,110px) 0 56px;font-size:1.12rem}
.ft-g{display:grid;grid-template-columns:1.2fr .8fr 1.3fr 1.3fr;gap:2.6rem clamp(24px,4vw,64px)}
.ft-logo{font:400 1.5rem/1 var(--ser);letter-spacing:.34em;text-transform:uppercase;margin-bottom:1.4rem}
.ft-s{font-size:1rem;line-height:1.6;color:var(--dim)}
.ft a{text-decoration-color:var(--gold)}
.ft a:hover{color:var(--gold-t)}
.ft-l li{padding:.3rem 0}
.ft .lab{color:var(--gold-t)}

/* ---------- révélations au défilement (sans opacité : masques et clip-path) ---------- */
.js-on .rl .ln>span{transform:translateY(112%)}
.js-on .rl.in .ln>span{transform:none;transition:transform 1.2s var(--ease) calc(var(--l,0)*.14s)}
.js-on .cv.rl .cv-i{clip-path:inset(0 0 100% 0)}
.js-on .cv.rl.in .cv-i{clip-path:inset(0);transition:clip-path 1.5s cubic-bezier(.7,0,.2,1)}
.js-on .cv.rl .cv-i img{scale:1.25;transition:scale 2.2s var(--ease)}
.js-on .cv.rl.in .cv-i img{scale:1.1}
.rm .cv.rl .cv-i img{scale:1}

/* ---------- transitions de page : fondu cadré ---------- */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:vOut .5s ease both}
  ::view-transition-new(root){animation:vIn 1s var(--ease) both}
  @keyframes vOut{to{opacity:0}}
  @keyframes vIn{from{opacity:0;clip-path:inset(3.4vh 3vw)}to{opacity:1;clip-path:inset(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- petits écrans ---------- */
@media(max-width:1000px){
  .hd ul{gap:1.5rem}
  .inf{grid-template-columns:1fr 1fr}
  .inf-c{grid-column:1/-1}.inf-c .cv-i{aspect-ratio:16/9}
  .ft-g{grid-template-columns:1fr 1fr}
}
@media(max-width:899px){
  :root{--hh:68px}
  .hd-in{display:flex;justify-content:space-between}
  .hd .hd-l,.hd .hd-r{display:none}
  .hd-menu{display:block}
  .hd .hd-logo{font-size:1.1rem;letter-spacing:.3em;padding-left:0}
  .mai-g,.ca-v,.rs-g{grid-template-columns:minmax(0,1fr)}
  .tt-top,.strip-h{grid-template-columns:1fr}
  .tt-note{display:none}
  html.js .tt-c2 .tt-note{display:block}
  .strip-n{font-size:1.07rem}
    .sa-1,.sa-2,.sa-3,.sa-4,.sa-5,.sa-t{grid-column:1/-1}
  .sa-1{grid-row:1}.sa-t{grid-row:2}.sa-2{grid-row:3}.sa-3{grid-row:4}.sa-4{grid-row:5}.sa-5{grid-row:6}
  .sa-2 .cv-i,.sa-3 .cv-i,.sa-5 .cv-i{aspect-ratio:4/3}
  .pg-h{grid-template-columns:1fr}
  .ca-p{grid-template-columns:1fr}
  .pr{grid-template-columns:1fr}
  .mn-i{grid-template-columns:1fr}
  .mn-s{grid-column:1}
  .lg-g{grid-template-columns:1fr}
  .tl-i{grid-template-columns:1fr}
  .tl-ph{max-width:240px}
}
@media(prefers-reduced-motion:no-preference) and (min-height:501px) and (max-width:899px){
  html.js .tt-ring{--D:min(84vw,calc(100dvh - 430px),520px);margin-bottom:200px;align-self:start;margin-top:14px}
  html.js .tt-c{inset:auto;top:calc(100% + 22px);left:-8vw;right:-8vw;display:grid;place-items:start center}
  html.js .tt-c2 .tt-ring{--D:min(84vw,520px);margin-bottom:210px}
  html.js .tt-idx{position:absolute;right:auto;left:var(--gut);top:auto;bottom:34px;translate:none;display:flex;gap:1.2rem}
  html.js .tt-idx li{font-size:0;gap:.3rem;padding:.3rem 0}
  html.js .tt-idx li span{font-size:1.2rem}
  html.js .tt-hint,html.js .tt-big{display:none}
  html.js .tt-foot{position:absolute;left:var(--gut);right:var(--gut);bottom:8px;margin:0;align-items:flex-start}
  html.js .tt-c2 .tt-foot{position:static;margin:1rem 0 0;align-items:center}
  html.js .tt-c2 .tt-top .d2{font-size:1.9rem}
  html.js .tt-c2 .tt-st .tt-ring{margin-bottom:230px}
  html.js .tt-st{grid-template-rows:auto 1fr}
  html.js .strip-tr{--h:min(38vh,380px)}
}
@media(max-width:600px){
  .hero-f{grid-template-columns:1fr;gap:.8rem}
  .hero-f dd{font-size:1.04rem}
  .hero-f .lab{margin:0}
  .faits{gap:1rem 1.6rem}
  .inf{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr}
  .sa-d{grid-template-columns:1fr 1fr}.sa-d2{grid-column:1/-1;order:-1}
  .pr>div{grid-template-columns:1fr}
  .pill-l span{min-width:9rem;padding:.9rem 1.2rem}
  .rs-s{grid-template-columns:1fr;position:static}
  .rs-s .n{display:block;margin:0}
  .recap{grid-template-columns:1fr 1fr}
  .rs-i{grid-template-columns:1fr}
  .rs{grid-template-columns:1fr}
  .ft-l{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
}
/* unstyle:begin */
[data-a="0"][data-a="0"][data-a="0"]{--a:0}
[data-a="180"][data-a="180"][data-a="180"]{--a:180}
[data-a="270"][data-a="270"][data-a="270"]{--a:270}
[data-a="90"][data-a="90"][data-a="90"]{--a:90}
[data-l="0"][data-l="0"][data-l="0"]{--l:0}
[data-l="1"][data-l="1"][data-l="1"]{--l:1}
/* unstyle:end */
@media(max-width:767px){html.js .tt-c2 .tt-ring{scroll-margin-top:14px}}
