/* =========================================================
   Au Pont Corbeau — page miroir
   Grammaire : papier, sérif classique, capitales espacées
   ========================================================= */

:root{
  --papier:#F4ECDF;
  --papier-2:#EDE1CF;
  --papier-3:#E4D5BF;
  --encre:#221510;
  --encre-doux:#5B463A;
  --rouge:#8E2F26;
  --rouge-fonce:#6C2019;
  --laiton:#AF8A50;
  --nuit:#180F0A;
  --nuit-2:#241710;
  --blanc:#FFFBF4;
  --filet:rgba(34,21,16,.18);
  --serif:"Fraunces",Georgia,serif;
  --texte:"Spectral",Georgia,serif;
  --sans:"Inter",Helvetica,Arial,sans-serif;
  --large:1240px;
  --text:740px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papier);color:var(--encre);
  font-family:var(--texte);font-size:17px;line-height:1.72;font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.012em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
::selection{background:var(--rouge);color:var(--blanc)}

/* ---------- ancres ---------- */
section[id]{scroll-margin-top:92px}

/* ---------- utilitaires ---------- */
.wrap{width:min(var(--large),calc(100% - 64px));margin-inline:auto}
.narrow{width:min(var(--text),calc(100% - 48px));margin-inline:auto}
.surtitre{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--rouge);margin:0 0 18px;
}
.surtitre--clair{color:var(--laiton)}
.filet{display:block;width:54px;height:1px;background:var(--rouge);margin:0 0 22px}
.ital{font-style:italic}
.centre{text-align:center}

/* ---------- barre de progression ---------- */
#progression{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--rouge),var(--laiton));
  transition:width .1s linear;
}

/* ---------- navigation ---------- */
.entete{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(244,236,223,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--filet);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.entete__in{
  width:min(1340px,calc(100% - 48px));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  height:76px;
}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.marque img{width:26px;height:24px}
.marque span{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;white-space:nowrap;
}
.nav{display:flex;align-items:center;gap:26px}
.nav a{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;
  padding:4px 0;position:relative;color:var(--encre-doux);
  transition:color .3s var(--ease);
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;
  background:var(--rouge);transition:width .35s var(--ease);
}
.nav a:hover,.nav a.actif{color:var(--encre)}
.nav a:hover::after,.nav a.actif::after{width:100%}
.nav a.conditions{
  border:1px solid var(--rouge);border-radius:40px;padding:8px 16px;color:var(--rouge);
}
.nav a.conditions::after{display:none}
.nav a.conditions:hover{background:var(--rouge);color:var(--papier)}
.btn-nav{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;
  background:var(--encre);color:var(--papier);border-radius:40px;padding:11px 20px;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.btn-nav:hover{background:var(--rouge);transform:translateY(-1px)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:1.5px;background:var(--encre);margin:5px 0;transition:.3s}

/* menu mobile */
.tiroir{
  position:fixed;inset:0;z-index:99;background:var(--papier);
  padding:110px 32px 40px;display:flex;flex-direction:column;gap:4px;
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.tiroir.ouvert{transform:none}
.tiroir a{
  font-family:var(--serif);font-size:32px;text-decoration:none;
  padding:14px 0;border-bottom:1px solid var(--filet);
}
.tiroir a:last-child{border-bottom:0}

/* ---------- ouverture ---------- */
.ouverture{
  position:relative;min-height:100vh;min-height:100svh;
  display:flex;align-items:flex-end;
  padding:150px 0 84px;overflow:hidden;color:var(--blanc);
  background:var(--nuit);
}
.ouverture__vues{position:absolute;inset:0;overflow:hidden}
.ouverture__vue{
  position:absolute;inset:0;opacity:0;transition:opacity 2.2s var(--ease);
}
.ouverture__vue img{
  width:100%;height:100%;object-fit:cover;object-position:center 52%;
  transform:scale(1.04);
}
.ouverture__vue.on{opacity:1}
.ouverture__vue.on img{animation:derive 22s linear forwards}
@keyframes derive{from{transform:scale(1.04)}to{transform:scale(1.16)}}
.ouverture::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(24,15,10,.72) 0%,rgba(24,15,10,.18) 32%,rgba(24,15,10,.42) 62%,rgba(24,15,10,.92) 100%),
    radial-gradient(95% 95% at 14% 55%,rgba(24,15,10,.62) 0%,rgba(24,15,10,0) 68%);
}
.ouverture__grain{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.ouverture__in{position:relative;z-index:3}
.ouverture .surtitre{color:rgba(255,251,244,.9);text-shadow:0 1px 16px rgba(24,15,10,.8);opacity:0;animation:monte 1s .3s var(--ease) forwards}
.ouverture__mot{
  width:clamp(290px,42vw,660px);height:auto;margin:0 0 4px;
  filter:drop-shadow(0 2px 30px rgba(0,0,0,.35));
  opacity:0;animation:monte 1.2s .5s var(--ease) forwards;
}
.ouverture__phrase{
  font-family:var(--serif);font-size:clamp(21px,2.35vw,31px);line-height:1.3;
  font-weight:300;max-width:26ch;margin:26px 0 0;color:rgba(255,251,244,.96);
  text-wrap:balance;opacity:0;animation:monte 1.2s .75s var(--ease) forwards;
}
.ouverture__actions{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:36px;
  opacity:0;animation:monte 1.2s 1s var(--ease) forwards;
}
@keyframes monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.bouton{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;text-decoration:none;
  padding:16px 26px;border-radius:40px;border:1px solid transparent;
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),border-color .35s var(--ease);
}
.bouton--clair{background:var(--papier);color:var(--encre)}
.bouton--clair:hover{background:var(--rouge);color:var(--papier);transform:translateY(-2px)}
.bouton--fantome{border-color:rgba(255,251,244,.45);color:var(--blanc)}
.bouton--fantome:hover{border-color:var(--blanc);background:rgba(255,251,244,.1)}
.bouton--encre{background:var(--encre);color:var(--papier)}
.bouton--encre:hover{background:var(--rouge);transform:translateY(-2px)}
.bouton--contour{border-color:var(--encre);color:var(--encre)}
.bouton--contour:hover{background:var(--encre);color:var(--papier)}

.ouverture__panneaux{
  position:absolute;right:min(48px,4vw);bottom:96px;z-index:4;
  display:flex;flex-direction:column;gap:10px;width:250px;
  opacity:0;animation:monte 1.2s 1.25s var(--ease) forwards;
}
.panneau{
  position:relative;overflow:hidden;
  background:rgba(24,15,10,.68);border:1px solid rgba(255,251,244,.16);
  border-radius:4px;padding:13px 16px;backdrop-filter:blur(6px);
}
.panneau::after{
  content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,251,244,.16),transparent);
  transform:skewX(-18deg);animation:reflet 7s 2.5s infinite;
}
@keyframes reflet{0%{left:-60%}45%,100%{left:130%}}
.panneau b{
  display:block;font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.1;
  color:var(--blanc);margin-bottom:3px;
}
.panneau span{
  font-family:var(--sans);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,251,244,.72);line-height:1.5;display:block;
}
.ouverture__bas{
  position:absolute;left:0;right:0;bottom:22px;z-index:4;
  display:flex;align-items:center;justify-content:space-between;
  width:min(1340px,calc(100% - 48px));margin-inline:auto;
  font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,251,244,.62);
}
.ouverture__bas .pause{
  display:inline-flex;align-items:center;gap:8px;background:none;border:0;
  color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;
}
.ouverture__bas .pause i{
  width:7px;height:7px;border:1px solid currentColor;border-radius:50%;display:inline-block;
}
.ouverture__bas .pause.off i{background:currentColor}
.defile{display:inline-flex;align-items:center;gap:8px}
.defile::after{
  content:"";width:34px;height:1px;background:currentColor;display:inline-block;
  animation:glisse 2.4s var(--ease) infinite;
}
@keyframes glisse{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(8px);opacity:1}}

/* ---------- bandeau défilant ---------- */
.bandeau{
  background:var(--rouge);color:var(--papier);overflow:hidden;
  border-top:1px solid rgba(0,0,0,.15);border-bottom:1px solid rgba(0,0,0,.15);
  padding:13px 0;
}
.bandeau__piste{display:flex;width:max-content;animation:defiler 46s linear infinite}
.bandeau:hover .bandeau__piste{animation-play-state:paused}
.bandeau__piste span{
  font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;white-space:nowrap;padding-right:26px;
}
.bandeau__piste span i{font-style:normal;color:rgba(244,236,223,.5);padding-left:26px}
@keyframes defiler{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- chapitres ---------- */
.chapitre{
  display:flex;align-items:baseline;gap:18px;
  border-top:1px solid var(--filet);padding-top:16px;margin-bottom:52px;
}
.chapitre__num{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--rouge);
}
.chapitre__nom{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--encre-doux);
}
.chapitre--clair{border-color:rgba(255,251,244,.22)}
.chapitre--clair .chapitre__num{color:var(--laiton)}
.chapitre--clair .chapitre__nom{color:rgba(255,251,244,.62)}

.section{padding:clamp(84px,9vw,148px) 0}
.section--serre{padding:clamp(64px,6vw,96px) 0}

h2.titre{
  font-size:clamp(36px,4.6vw,63px);font-weight:300;max-width:16ch;text-wrap:balance;
}
h2.titre em{font-style:italic;color:var(--rouge)}
.chapeau{
  font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--encre-doux);
  max-width:56ch;font-weight:300;
}

/* ---------- 01 la maison ---------- */
.maison__grille{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,92px);
  align-items:start;margin-top:56px;
}
.maison__texte p{max-width:54ch}
.maison__texte p+p{margin-top:1.05em}
.maison__photo{position:relative}
.arche{
  border-radius:50% 50% 2px 2px/34% 34% 2px 2px;overflow:hidden;
  box-shadow:0 30px 60px -34px rgba(34,21,16,.55);
}
.arche img{width:100%;height:100%;object-fit:cover}
.arche--haute{aspect-ratio:4/5}
.maison__photo .legende{position:relative;z-index:2;max-width:62%}
.legende{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--encre-doux);margin-top:14px;line-height:1.6;
}
.maison__photo figure{margin:0}
.photo-inclinee{
  position:absolute;right:-5%;top:64%;width:44%;
  transform:rotate(4deg);
  box-shadow:0 24px 50px -28px rgba(34,21,16,.6);
  background:var(--papier);padding:9px 9px 12px;border:1px solid var(--filet);
}
.photo-inclinee img{border-radius:2px}

.citation{
  margin:64px 0 0;padding:0;border-top:1px solid var(--filet);padding-top:36px;
  display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:start;
}
.citation p{
  font-family:var(--serif);font-size:clamp(23px,2.6vw,33px);line-height:1.32;
  font-style:italic;font-weight:300;max-width:30ch;margin:0;
}
.citation footer{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--encre-doux);line-height:1.7;
}
.citation footer b{display:block;color:var(--encre);font-weight:600}

.reperes{
  list-style:none;margin:64px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--filet);
  border:1px solid var(--filet);
}
.reperes li{background:var(--papier);padding:24px 22px}
.reperes b{
  display:block;font-family:var(--serif);font-size:clamp(26px,2.6vw,34px);font-weight:400;
  line-height:1;margin-bottom:9px;
}
.reperes span{
  font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--encre-doux);line-height:1.5;display:block;
}

/* ---------- 02 la salle / coupe ---------- */
.salle{background:var(--papier-2);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.salle__grille{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,5vw,80px);
  align-items:center;margin-top:52px;
}
.coupe{position:relative}
.coupe svg{width:100%;height:auto;display:block;overflow:visible}
.coupe svg text{opacity:.85}
.coupe svg g.repere{opacity:1}
.coupe svg g.repere circle{transition:fill .3s,transform .3s}
.coupe svg g.repere:hover circle{fill:#8E2F26}
.coupe svg g.repere:hover text{fill:#F4ECDF!important}
.coupe__cartouche{
  font-family:var(--sans);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--encre-doux);margin-top:16px;
}
.coupe svg .trait{
  fill:none;stroke:var(--encre);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.coupe svg .trait-fin{stroke-width:.7;opacity:.6}
.coupe svg .trait-clair{stroke:var(--rouge);stroke-width:1.15}
.coupe svg .rempl{fill:rgba(34,21,16,.05)}
.coupe svg .rempl-rouge{fill:rgba(142,47,38,.1)}
.coupe svg g[data-part]{transition:opacity .4s var(--ease);opacity:.62}
.coupe svg g[data-part].actif{opacity:1}
.coupe svg g[data-part].actif .trait{stroke:var(--rouge)}
.coupe svg .pulse{
  fill:none;stroke:var(--rouge);stroke-width:1;opacity:0;
}
.coupe svg g[data-part].actif .pulse{animation:pouls 2.8s var(--ease) infinite}
@keyframes pouls{0%{opacity:.55;transform:scale(.9)}70%{opacity:0;transform:scale(1.25)}100%{opacity:0}}

.notes{list-style:none;margin:0;padding:0;counter-reset:note}
.notes li{
  border-top:1px solid var(--filet);padding:18px 0 20px;
  display:grid;grid-template-columns:38px 1fr;gap:14px;cursor:pointer;
  transition:padding-left .4s var(--ease);
}
.notes li:last-child{border-bottom:1px solid var(--filet)}
.notes li:hover{padding-left:6px}
.notes li b{
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;
  color:var(--encre-doux);padding-top:4px;transition:color .3s;
}
.notes li h3{
  font-family:var(--serif);font-size:21px;font-weight:400;margin-bottom:5px;
}
.notes li p{
  font-size:15px;line-height:1.6;color:var(--encre-doux);margin:0;
  max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s var(--ease),margin .4s;
}
.notes li.actif b{color:var(--rouge)}
.notes li.actif p{max-height:200px;opacity:1;margin-top:6px}

/* ---------- 03 la table ---------- */
.table__grille{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);
  align-items:start;margin-top:52px;
}
.carte{list-style:none;margin:0;padding:0}
.carte li{
  display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;
  padding:16px 0;border-bottom:1px dotted rgba(34,21,16,.28);
}
.carte li:first-child{border-top:1px dotted rgba(34,21,16,.28)}
.carte .nom{font-family:var(--serif);font-size:20px;line-height:1.25}
.carte .nom small{
  display:block;font-family:var(--texte);font-size:13.5px;font-style:italic;
  color:var(--encre-doux);letter-spacing:0;margin-top:3px;
}
.carte .ou{font-family:var(--sans);font-size:11px;letter-spacing:.06em;color:var(--rouge)}
.formule{
  margin-top:34px;background:var(--papier-2);border:1px solid var(--filet);
  padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.formule__prix{font-family:var(--serif);font-size:38px;line-height:1}
.formule__prix small{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;display:block;color:var(--encre-doux);margin-top:8px}
.formule p{margin:0;font-size:15px;line-height:1.55;max-width:32ch;color:var(--encre-doux)}
.table__photos{display:grid;gap:18px}
.table__photos figure{margin:0}
.table__photos img{border-radius:6px}
.table__photos .duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.table__photos .duo{margin-top:8px}

/* ---------- 04 la cave ---------- */
.cave{background:var(--nuit);color:var(--papier);position:relative;overflow:hidden}
.cave::before{
  content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background:radial-gradient(80% 60% at 70% 10%,rgba(175,138,80,.22),transparent 70%);
}
.cave .wrap{position:relative;z-index:1}
.cave h2.titre{color:var(--papier)}
.cave h2.titre em{color:var(--laiton)}
.cave p{color:rgba(244,236,223,.82)}
.cave__grille{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);margin-top:52px;align-items:start}
.prix{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(244,236,223,.18);margin-top:40px;border:1px solid rgba(244,236,223,.18)}
.prix div{background:var(--nuit);padding:22px 18px;transition:background .4s var(--ease)}
.prix div:hover{background:var(--nuit-2)}
.prix b{display:block;font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);font-weight:400;line-height:1;color:var(--laiton)}
.prix span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,236,223,.62);margin-top:10px}
.cave__liste{list-style:none;margin:0;padding:0;border-top:1px solid rgba(244,236,223,.18)}
.cave__liste li{
  display:flex;justify-content:space-between;gap:18px;padding:14px 0;
  border-bottom:1px solid rgba(244,236,223,.14);
  font-family:var(--serif);font-size:18px;color:rgba(244,236,223,.92);
}
.cave__liste span{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,236,223,.5);align-self:center}

/* ---------- 05 les preuves ---------- */
.preuves__grille{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--filet);
  border:1px solid var(--filet);margin-top:52px;
}
.preuve{background:var(--papier);padding:30px 24px 28px;transition:background .4s var(--ease)}
.preuve:hover{background:var(--papier-2)}
.preuve b{
  display:block;font-family:var(--serif);font-size:clamp(32px,3.4vw,46px);
  font-weight:400;line-height:1;margin-bottom:14px;
}
.preuve b.txt{font-size:clamp(23px,2.2vw,30px);line-height:1.15}
.preuve b small{font-size:.45em;color:var(--encre-doux);margin-left:2px}
.preuve p{font-size:13.5px;line-height:1.55;color:var(--encre-doux);margin:0}
.preuve cite{
  display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--encre-doux);font-style:normal;margin-top:14px;opacity:.8;
}

/* ---------- pratique ---------- */
.pratique{background:var(--papier-2);border-top:1px solid var(--filet)}
.pratique__grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);margin-top:48px}
.adresse{
  font-family:var(--serif);font-size:clamp(26px,3vw,38px);line-height:1.25;font-weight:300;
}
.adresse a{text-decoration:none;border-bottom:1px solid rgba(34,21,16,.3)}
.horaires{list-style:none;margin:26px 0 0;padding:0}
.horaires li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--filet);font-size:15px}
.horaires li span:first-child{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-doux);align-self:center}
.horaires li.ferme{color:var(--rouge)}
.horaires li.ferme span:first-child{color:var(--rouge)}
.pratique__note{font-size:14.5px;color:var(--encre-doux);margin-top:26px;max-width:42ch}

/* ---------- bloc qui ouvre ---------- */
.ouvre{position:relative;padding:clamp(90px,10vw,160px) 0;background:var(--papier);overflow:hidden}
.ouvre__in{position:relative;z-index:2}
.ouvre p{
  font-family:var(--serif);font-size:clamp(22px,2.45vw,31px);line-height:1.42;font-weight:300;
  max-width:34ch;
}
.ouvre p+p{margin-top:1.25em}
.ouvre .marque-eau{
  position:absolute;right:-2%;top:50%;transform:translateY(-50%);
  width:clamp(160px,22vw,320px);opacity:.07;pointer-events:none;
}

/* ---------- bande à propos ---------- */
.apropos{background:var(--nuit);color:var(--papier);padding:clamp(56px,6vw,80px) 0}
.apropos__grille{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(32px,5vw,80px);align-items:center}
.apropos h2{font-size:clamp(26px,3vw,38px);font-weight:300;margin-bottom:16px}
.apropos p{color:rgba(244,236,223,.76);font-size:15.5px;max-width:56ch}
.apropos__cote{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.apropos__cote small{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,236,223,.55)}

/* ---------- appel final ---------- */
.appel{position:relative;min-height:74vh;display:flex;align-items:center;color:var(--blanc);overflow:hidden}
.appel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.appel::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(24,15,10,.9) 0%,rgba(24,15,10,.62) 55%,rgba(24,15,10,.3) 100%);
}
.appel__in{position:relative;z-index:2;padding:90px 0}
.appel h2{font-size:clamp(32px,4.4vw,58px);font-weight:300;max-width:18ch;margin-bottom:26px}
.appel p{color:rgba(255,251,244,.82);max-width:44ch}
.appel .ouverture__actions{margin-top:30px;opacity:1;animation:none}

/* ---------- pied ---------- */
.pied{background:var(--nuit);color:rgba(244,236,223,.72);padding:64px 0 30px;border-top:1px solid rgba(244,236,223,.14)}
.pied__grille{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:clamp(28px,5vw,72px)}
.pied img.marque-corbeau{width:34px;margin-bottom:18px}
.pied h4{
  font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,236,223,.55);margin:0 0 16px;
}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:9px;font-size:14.5px;line-height:1.5}
.pied a{text-decoration:none;border-bottom:1px solid rgba(244,236,223,.2)}
.pied a:hover{color:var(--blanc);border-color:var(--blanc)}
.pied__bas{
  margin-top:48px;padding-top:22px;border-top:1px solid rgba(244,236,223,.14);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
}
.droits{
  margin-top:22px;font-family:var(--sans);font-size:10.5px;line-height:1.8;
  color:rgba(244,236,223,.45);letter-spacing:.01em;max-width:110ch;
}

/* ---------- révélations ---------- */
[data-revele]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-revele].vu{opacity:1;transform:none}
[data-revele="photo"]{opacity:0;transform:none;transition:opacity .9s var(--ease)}
[data-revele="photo"] img{transform:scale(1.06);transition:transform 1.8s var(--ease)}
[data-revele="photo"].vu{opacity:1}
[data-revele="photo"].vu img{transform:scale(1)}
[data-delai="1"]{transition-delay:.12s}
[data-delai="2"]{transition-delay:.24s}
[data-delai="3"]{transition-delay:.36s}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav{gap:18px}
  .nav a{font-size:10px;letter-spacing:.12em}
  .maison__grille,.salle__grille,.table__grille,.cave__grille,.pratique__grille{grid-template-columns:1fr}
  .maison__photo{max-width:520px}
  .preuves__grille{grid-template-columns:repeat(2,1fr)}
  .citation{grid-template-columns:1fr}
}
@media (max-width:900px){
  .nav,.btn-nav{display:none}
  .burger{display:block}
  .ouverture__panneaux{position:static;width:100%;margin-top:34px;flex-direction:row;flex-wrap:wrap}
  .ouverture__panneaux .panneau{flex:1 1 150px}
  .ouverture{padding-bottom:64px;align-items:center}
  .ouverture__phrase{max-width:22ch}
  .ouverture__bas{display:none}
  .reperes{grid-template-columns:repeat(2,1fr)}
  .prix{grid-template-columns:1fr}
  .photo-inclinee{position:static;width:100%;transform:none;margin-top:18px}
  .apropos__grille{grid-template-columns:1fr}
  .pied__grille{grid-template-columns:1fr;gap:34px}
  .table__photos .duo{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{width:calc(100% - 40px)}
  .preuves__grille{grid-template-columns:1fr}
  .reperes{grid-template-columns:1fr 1fr}
  .citation p{font-size:22px}
  .appel{min-height:auto}
  .appel__in{padding:72px 0}
}

/* ---------- mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ouverture__vue.on img{animation:none}
  [data-revele]{opacity:1!important;transform:none!important;clip-path:none!important}
}
