/* BLANC BLANC BLANC : feuille de style principale
   Palette : blanc de lin, indigo de teinturier, bleu d'ombre, pierre.
   Polices auto-hébergées (aucun appel externe). */

@font-face{font-family:"IM Fell Double Pica";src:url("/__l5e/assets-v1/cd12c5c1-e279-46a4-ba91-083e5b87314b/im-fell-double-pica-latin-400-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"IM Fell Double Pica";src:url("/__l5e/assets-v1/5e52c659-eca3-4d0e-bcee-8567959bc1a0/im-fell-double-pica-latin-400-italic.woff2") format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/__l5e/assets-v1/067b334e-0ab9-4dc5-8c16-da234c305077/hanken-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --lin:#ffffff;
  --ombre:#f1f1f1;
  --ombre-fonce:#dcdcdc;
  --indigo:#111111;
  --indigo-vif:#000000;
  --encre:#111111;
  --pierre:#555555;
  --pierre-claire:#d2d2d2;
  --erreur:#111111;
  --ok:#111111;
  --serif:"IM Fell Double Pica","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max:1180px;
  --gutter:clamp(20px,5vw,56px);
  --rayon:3px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--lin);color:var(--encre);font-family:var(--sans);font-size:clamp(16px,1.05vw + 12px,18px);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--indigo-vif);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;font-synthesis:none;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.6vw + .6rem,4.9rem);letter-spacing:-.025em}
h2{font-size:clamp(1.75rem,2.8vw + .8rem,3rem)}
h3{font-size:clamp(1.3rem,1.3vw + .9rem,1.75rem)}
h4{font-size:1.1rem;font-family:var(--sans);font-weight:700;letter-spacing:0}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em;padding-left:1.2em}
li{margin-bottom:.4em}
strong{font-weight:700}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--indigo);color:#fff;padding:10px 16px;z-index:200;border-radius:var(--rayon)}
.skip:focus{left:8px}

.container{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:calc(760px + 2*var(--gutter))}
.section{padding-block:clamp(56px,9vw,120px)}
.section--tint{background:var(--ombre)}
.section--tight{padding-block:clamp(36px,5vw,64px)}
.lede{font-size:clamp(1.1rem,.9vw + 1rem,1.35rem);line-height:1.55;color:var(--pierre);max-width:46em}
.prose{max-width:40em}
.prose p,.prose li{max-width:40em}
.muted{color:var(--pierre)}
.center{text-align:center}
.serif-it{font-family:var(--serif);font-style:italic}

/* En-tête */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--pierre-claire)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:54px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px)}
.nav ul{list-style:none;display:flex;gap:clamp(14px,2vw,30px);margin:0;padding:0;align-items:center}
.nav li{margin:0;position:relative}
.nav a{color:var(--encre);text-decoration:none;font-weight:500;font-size:.97rem;padding:8px 2px;display:inline-block}
.nav a:hover,.nav a[aria-current="page"]{color:var(--indigo);box-shadow:inset 0 -2px 0 var(--indigo)}
.nav .sub{position:absolute;left:-16px;top:100%;min-width:260px;background:var(--lin);border:1px solid var(--pierre-claire);padding:10px 0;display:none;flex-direction:column;gap:0;box-shadow:0 14px 30px -18px rgba(23,23,23,.35)}
.nav li:hover>.sub,.nav li:focus-within>.sub{display:flex}
.nav .sub a{display:block;padding:9px 20px;box-shadow:none!important;white-space:nowrap}
.nav .sub a:hover{background:var(--ombre)}
.menu-btn{display:none;background:none;border:1px solid var(--pierre-claire);border-radius:var(--rayon);padding:9px 14px;font:inherit;font-weight:600;color:var(--encre);cursor:pointer}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:inherit;font-weight:600;font-size:1rem;line-height:1.2;padding:15px 26px;border-radius:var(--rayon);border:2px solid var(--indigo);background:var(--indigo);color:#fff;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--indigo-vif);border-color:var(--indigo-vif);color:#fff}
.btn--ghost{background:transparent;color:var(--indigo)}
.btn--ghost:hover{background:var(--indigo);color:#fff}
.btn--light{background:#fff;color:var(--indigo);border-color:#fff}
.btn--light:hover{background:var(--ombre);color:var(--indigo-vif);border-color:var(--ombre)}
.btn--sm{padding:11px 18px;font-size:.95rem}
.btn--block{width:100%}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
.link-arrow{font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px}
.link-arrow:hover{border-bottom-width:3px}

/* Héros */
.hero{position:relative;color:#fff;isolation:isolate;display:flex;align-items:flex-end;min-height:min(86vh,820px);overflow:hidden}
.hero>picture,.hero>img,.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.74) 100%)}
.hero .container{padding-block:clamp(40px,8vw,96px)}
.hero h1{color:#fff;max-width:15em;margin-bottom:.35em}
.hero h1 em{font-style:italic;font-weight:400}
.hero p.lede{color:rgba(255,255,255,.92);max-width:38em}
.hero .actions{margin-top:30px}
.hero--page{min-height:min(64vh,600px)}
.reveal{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.reveal.d2{animation-delay:.18s}.reveal.d3{animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Bandeau de faits */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-block:1px solid var(--pierre-claire);margin:0;padding:0;list-style:none}
.facts li{margin:0;padding:22px 22px 22px 0;border-right:1px solid var(--pierre-claire)}
.facts li:last-child{border-right:0}
.facts li+li{padding-left:22px}
.facts b{display:block;font-family:var(--sans);font-weight:600;font-weight:400;font-size:1.55rem;line-height:1.15}
.facts span{display:block;color:var(--pierre);font-size:.93rem;margin-top:2px}

/* Deux portes (accueil) */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:0}
.door{position:relative;display:flex;align-items:flex-end;min-height:min(70vh,640px);color:#fff;text-decoration:none;isolation:isolate;overflow:hidden}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.door::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.82) 100%)}
.door:hover img{transform:scale(1.03)}
.door:hover{color:#fff}
.door-body{padding:clamp(24px,4vw,52px);max-width:34em}
.door h2{color:#fff;font-size:clamp(1.7rem,2.6vw + .6rem,2.7rem);margin-bottom:.4em}
.door p{color:rgba(255,255,255,.93);margin-bottom:1.2em}
.door .cta{display:inline-block;font-weight:700;border-bottom:2px solid #fff;padding-bottom:2px}

/* Mises en page */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,88px);align-items:center}
.split--wide-img{grid-template-columns:1.15fr .85fr}
.split.rev>:first-child{order:2}
.split img{width:100%;height:auto;border-radius:var(--rayon)}
.frame{position:relative}
.frame figcaption{font-size:.88rem;color:var(--pierre);margin-top:8px}
figure{margin:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,56px)}
.pillar{border-top:2px solid var(--encre);padding-top:18px}
.pillar h3{margin-bottom:.45em}
.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:10px}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--rayon)}
.gallery .tall{grid-row:span 2}
.gallery .wide{grid-column:span 2}

/* Liste « votre séjour » */
.stay{list-style:none;padding:0;margin:0;border-top:1px solid var(--pierre-claire)}
.stay li{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--pierre-claire);margin:0}
.stay b{font-family:var(--serif);font-weight:500;font-size:1.25rem}

/* Processus (séquence réelle) */
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,40px)}
.steps li{counter-increment:s;margin:0;padding-top:16px;border-top:2px solid var(--encre)}
.steps li::before{content:counter(s);display:block;font-family:var(--sans);font-weight:600;font-size:2rem;line-height:1;margin-bottom:10px;color:var(--indigo)}
.steps h3{font-size:1.2rem;margin-bottom:.3em}
.steps p{font-size:.97rem;color:var(--pierre);margin:0}

/* Avis */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
blockquote{margin:0}
blockquote p{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.5;margin-bottom:.8em}
blockquote footer{font-size:.93rem;color:var(--pierre)}
blockquote footer b{color:var(--encre)}
.stars{color:var(--indigo);letter-spacing:2px;font-size:1rem;margin-bottom:.5em;display:block}

/* Sessions */
.sessions{width:100%;border-collapse:collapse;margin:0 0 1em}
.sessions th,.sessions td{padding:16px 12px 16px 0;text-align:left;border-bottom:1px solid var(--pierre-claire);vertical-align:middle}
.sessions th{font-weight:600;font-size:.92rem;color:var(--pierre)}
.sessions td:first-child{font-family:var(--sans);font-weight:600;font-size:1.25rem}
.sessions .go{text-align:right;white-space:nowrap}
.price-box{border:2px solid var(--encre);padding:clamp(20px,3vw,34px);border-radius:var(--rayon);background:var(--lin)}
.price-box .price{font-family:var(--sans);font-weight:600;font-size:clamp(2rem,3vw + .6rem,3.2rem);line-height:1;margin:.1em 0 .15em}
.price-box small{color:var(--pierre)}
.badge{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;padding:6px 12px;border:1px solid var(--pierre-claire);border-radius:99px;background:#fff}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;list-style:none}
.badges li{margin:0}
.program{list-style:none;padding:0;margin:0 0 1.6em;border-top:1px solid var(--pierre-claire)}
.program li{padding:14px 0 14px 0;border-bottom:1px solid var(--pierre-claire);margin:0}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--pierre-claire)}
.timeline>div{padding:22px;border-right:1px solid var(--pierre-claire)}
.timeline>div:last-child{border-right:0}
.timeline h3{font-size:1.1rem;font-family:var(--sans);font-weight:700;margin-bottom:.5em}
.timeline ul{margin:0;padding-left:1.1em;font-size:.97rem}

/* FAQ */
.faq details{border-bottom:1px solid var(--pierre-claire);padding:0}
.faq details:first-child{border-top:1px solid var(--pierre-claire)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.28rem;padding:20px 40px 20px 0;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:1.6rem;color:var(--indigo);transition:transform .2s}
.faq details[open] summary::after{content:"\2212"}
.faq .answer{padding:0 0 22px;max-width:44em;color:var(--encre)}

/* Bandeau d'appel final */
.cta-band{background:var(--indigo);color:#fff}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.9)}
.cta-band .split{align-items:center}

/* Formulaires */
.form-wrap{background:#fff;border:1px solid var(--pierre-claire);border-radius:var(--rayon);padding:clamp(22px,3.4vw,44px)}
.form-head{margin-bottom:22px}
.progress{display:flex;gap:8px;margin:0 0 6px;padding:0;list-style:none}
.progress li{flex:1;height:5px;background:var(--pierre-claire);border-radius:3px;margin:0}
.progress li.on{background:var(--indigo)}
.progress-label{font-size:.9rem;color:var(--pierre);margin:0 0 20px}
fieldset{border:0;padding:0;margin:0}
legend{font-family:var(--serif);font-size:1.5rem;padding:0;margin-bottom:16px}
.field{margin-bottom:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label,.label{display:block;font-weight:600;margin-bottom:6px;font-size:.97rem}
.hint{display:block;font-weight:400;color:var(--pierre);font-size:.88rem}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;color:var(--encre);background:#fff;border:1.5px solid #8a8a8a;border-radius:var(--rayon);padding:13px 14px;min-height:50px}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid var(--indigo);outline-offset:1px;border-color:var(--indigo)}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.choice label{margin:0;font-weight:500}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:block;border:1.5px solid #8a8a8a;border-radius:var(--rayon);padding:13px 14px;cursor:pointer;background:#fff;text-align:center;line-height:1.3}
.choice input:checked+span{border-color:var(--indigo);background:var(--ombre);box-shadow:inset 0 0 0 1px var(--indigo);font-weight:700}
.choice input:focus-visible+span{outline:3px solid var(--indigo);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--pierre)}
.consent input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--indigo)}
.consent label{font-weight:400;font-size:.9rem;margin:0}
.form-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap}
.error-msg{color:var(--erreur);font-size:.9rem;margin-top:6px;display:none;font-weight:600}
.field.invalid .error-msg{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--erreur)}
.form-note{font-size:.88rem;color:var(--pierre);margin-top:14px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.js .step{display:none}
.js .step.active{display:block}
.form-status{margin-top:16px;font-weight:600}
.form-status.err{color:var(--erreur)}

/* Contact / aside */
.aside-card{border-top:2px solid var(--encre);padding-top:18px}
.aside-card p{margin-bottom:.6em}
.contact-lines{list-style:none;padding:0;margin:0}
.contact-lines li{margin-bottom:.6em}
.promise{list-style:none;margin:0 0 24px;padding:0}
.promise li{padding-left:28px;position:relative;margin-bottom:.7em}
.promise li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:2px;background:var(--indigo)}

/* Pied de page */
.site-footer{background:var(--ombre);padding-block:clamp(44px,6vw,84px) 30px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:clamp(24px,4vw,56px)}
.foot-grid h2{font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:0;margin-bottom:.8em}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin-bottom:.45em}
.foot-grid a{color:var(--encre)}
.foot-brand img{height:80px;width:auto;margin-bottom:14px}
.foot-bottom{border-top:1px solid var(--ombre-fonce);margin-top:36px;padding-top:20px;font-size:.88rem;color:var(--pierre);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.foot-bottom a{color:var(--pierre)}
.qualiopi{display:inline-flex;gap:8px;align-items:center;font-size:.88rem;margin-top:10px}

/* Barre mobile collante */
.sticky-cta{display:none}

/* Bandeau cookies */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;background:#fff;border:1px solid var(--encre);border-radius:var(--rayon);padding:20px;z-index:300;box-shadow:0 18px 40px -16px rgba(0,0,0,.4);display:none}
.cookie.show{display:block}
.cookie p{font-size:.93rem;margin-bottom:14px}
.cookie .acts{display:flex;gap:10px;flex-wrap:wrap}

/* Fil d'Ariane */
.crumbs{font-size:.88rem;color:var(--pierre);padding-block:18px 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--pierre-claire)}
.crumbs a{color:var(--pierre)}

/* Landing page épurée */
.lp-header .bar{min-height:68px}
.lp-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:start}

/* Responsive */
@media (max-width:980px){
  .menu-btn{display:inline-block}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--lin);border-bottom:1px solid var(--pierre-claire);padding:12px var(--gutter) 22px;display:none;flex-direction:column;align-items:stretch;gap:12px}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav li{border-bottom:1px solid var(--pierre-claire)}
  .nav a{display:block;padding:14px 0}
  .nav .sub{position:static;display:flex;border:0;box-shadow:none;padding:0 0 8px 14px;min-width:0;background:transparent}
  .nav .sub a{padding:10px 0;white-space:normal}
  .doors{grid-template-columns:1fr}
  .door{min-height:56vh}
  .split,.split--wide-img,.lp-hero{grid-template-columns:1fr}
  .split.rev>:first-child{order:0}
  .grid-3,.quotes{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr}
  .timeline>div{border-right:0;border-bottom:1px solid var(--pierre-claire)}
  .timeline>div:last-child{border-bottom:0}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gallery .tall,.gallery .wide{grid-row:auto;grid-column:auto}
  .gallery img{aspect-ratio:4/3}
}
@media (max-width:640px){
  .facts li{border-right:0;border-bottom:1px solid var(--pierre-claire);padding-left:0!important}
  .facts li:last-child{border-bottom:0}
  .stay li{grid-template-columns:1fr;gap:4px}
  .steps{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .sessions thead{display:none}
  .sessions tr{display:block;padding:14px 0;border-bottom:1px solid var(--pierre-claire)}
  .sessions td{display:block;border:0;padding:2px 0}
  .sessions .go{text-align:left;padding-top:8px}
  .hero{min-height:78vh}
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--pierre-claire)}
  .sticky-cta .btn{flex:1;padding:13px 10px}
  body.has-sticky{padding-bottom:76px}
  .cookie{bottom:90px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.site-header,.site-footer,.sticky-cta,.cookie{display:none}}

/* Compléments */
.hero h1.xl{font-size:clamp(2rem,4.3vw + .5rem,4rem);max-width:17em}
.hero h1 .l1,.hero h1 .l2{display:block}
.hero h1 .l2{font-style:italic;font-weight:400;margin-top:.25em}
.btn--outline-light{background:transparent;color:#fff;border-color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--indigo);border-color:#fff}
.spec{width:100%;border-collapse:collapse;margin:0 0 1em}
.spec th,.spec td{padding:14px 16px 14px 0;text-align:left;border-bottom:1px solid var(--pierre-claire);vertical-align:top}
.spec th{width:34%;font-weight:600}
.notice{border:2px dashed var(--erreur);padding:18px 20px;border-radius:var(--rayon);background:#fff;margin-bottom:28px}
.cta-band .actions .btn--ghost{color:#fff;border-color:#fff}
.cta-band .actions .btn--ghost:hover{background:#fff;color:var(--indigo)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px)}
.offer{display:flex;flex-direction:column;gap:0}
.offer img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:var(--rayon);margin-bottom:18px}
.offer h3{margin-bottom:.3em}
.offer .meta{color:var(--pierre);font-size:.95rem;margin-bottom:.8em}
.offer .btn,.offer .link-arrow{align-self:flex-start;margin-top:auto}
.dates-list{list-style:none;padding:0;margin:0 0 1em}
.dates-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--pierre-claire);margin:0;flex-wrap:wrap}
.hist{list-style:none;padding:0;margin:0;border-left:2px solid var(--encre)}
.hist li{padding:0 0 22px 22px;position:relative;margin:0}
.hist li::before{content:"";position:absolute;left:-7px;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--lin);border:2px solid var(--encre)}
.hist b{font-family:var(--serif);font-size:1.3rem;font-weight:500;display:block}
@media (max-width:980px){.cards-3{grid-template-columns:1fr}}
.nav a.btn{color:#fff;box-shadow:none;padding:11px 18px;font-size:.95rem}
.nav a.btn:hover{color:#fff;box-shadow:none;background:var(--indigo-vif)}

.feature-quote{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.feature-quote figure{margin:0}
.feature-quote img{width:100%;height:auto;display:block;border-radius:var(--rayon)}
.feature-quote blockquote p{font-size:clamp(1.1rem,.8vw + .9rem,1.4rem)}
@media(max-width:760px){.feature-quote{grid-template-columns:1fr}.feature-quote figure{max-width:220px}}
.fq-extra{margin-top:28px;padding-top:24px;border-top:1px solid var(--pierre-claire)}


/* =====================================================================
   V2 : raffinement « hospitality » (noir et blanc, texte fin, plus d'air)
   ===================================================================== */
:root{--rayon:0;--encre:#1b1b1b;--pierre:#5a5a5a;--pierre-claire:#dcdcdc;--max:1120px}
body{font-weight:300;font-size:clamp(16px,.5vw + 14.6px,18px);line-height:1.75;letter-spacing:.005em}
strong,b{font-weight:500}
p{margin-bottom:1.25em}
h1,h2,h3{letter-spacing:-.005em;line-height:1.14}
h1{font-size:clamp(2.4rem,5vw + .8rem,5.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,2.6vw + 1rem,3.2rem)}
h3{font-size:clamp(1.3rem,1vw + 1rem,1.7rem)}
h4,.timeline h3{font-weight:500}
.lede{font-weight:300;font-size:clamp(1.1rem,.7vw + 1rem,1.32rem);line-height:1.7}
.section{padding-block:clamp(72px,11vw,160px)}
.section--tint{background:#f6f6f4;background:#f5f5f5}
.prose,.prose p,.prose li{max-width:36em}

/* Petites légendes et liens : capitales fines, espacées */
.nav a,.btn,.link-arrow,.door .cta,.menu-btn{letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:500}
.btn{padding:17px 32px;border-width:1px;transition:background .3s,color .3s,border-color .3s}
.btn--sm,.nav a.btn{padding:13px 22px;font-size:.7rem;letter-spacing:.14em}
.link-arrow{border-bottom:1px solid currentColor;padding-bottom:5px}
.link-arrow:hover{border-bottom-width:1px;opacity:.65}
.btn--light{background:#fff;color:#111;border-color:#fff}
.btn--outline-light{border-color:rgba(255,255,255,.85)}
.actions{gap:14px;margin-top:36px}

/* En-tête : transparent sur la photo, plein au défilement */
.site-header{border-bottom:1px solid transparent;background:rgba(255,255,255,.97);transition:background .35s,border-color .35s,box-shadow .35s}
.site-header .bar{min-height:84px}
.brand img{height:50px;transition:filter .3s}
.nav a{padding:10px 2px}
.nav a:hover,.nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 currentColor;color:inherit}
.nav .sub{border:0;box-shadow:0 24px 40px -24px rgba(0,0,0,.35);padding:14px 0}
.nav .sub a{letter-spacing:.1em}
body:has(.hero) .site-header{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:rgba(255,255,255,.22)}
body:has(.hero) .site-header .brand img{filter:invert(1)}
body:has(.hero) .site-header .nav a:not(.btn),body:has(.hero) .site-header .menu-btn{color:#fff}
body:has(.hero) .site-header .nav a.btn{background:#fff;color:#111;border-color:#fff}
body:has(.hero) .site-header .menu-btn{border-color:rgba(255,255,255,.6)}
body:has(.hero) .site-header.scrolled,body:has(.hero) .site-header.menu-open{background:rgba(255,255,255,.97);border-bottom-color:var(--pierre-claire)}
body:has(.hero) .site-header.scrolled .brand img,body:has(.hero) .site-header.menu-open .brand img{filter:none}
body:has(.hero) .site-header.scrolled .nav a:not(.btn),body:has(.hero) .site-header.menu-open .nav a:not(.btn),body:has(.hero) .site-header.scrolled .menu-btn,body:has(.hero) .site-header.menu-open .menu-btn{color:#111}
body:has(.hero) .site-header.scrolled .nav a.btn,body:has(.hero) .site-header.menu-open .nav a.btn{background:#111;color:#fff;border-color:#111}
body:has(.hero) .site-header.scrolled .menu-btn,body:has(.hero) .site-header.menu-open .menu-btn{border-color:var(--pierre-claire)}
body:has(.hero) .site-header .nav .sub a{color:#111}

/* Héros : plein écran, texte centré, voile léger */
.hero{min-height:100vh;min-height:100svh;align-items:center;text-align:center;justify-content:center}
.hero--page{min-height:78vh;min-height:78svh}
.hero::after{background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.22) 40%,rgba(0,0,0,.55) 100%)}
.hero .container{padding-block:140px 90px;display:flex;flex-direction:column;align-items:center}
.hero h1{max-width:16em;margin-inline:auto;font-weight:400;text-shadow:0 1px 30px rgba(0,0,0,.25)}
.hero h1.xl{font-size:clamp(2.2rem,4.4vw + .6rem,4.6rem)}
.hero p.lede{margin-inline:auto;max-width:34em;font-weight:300;color:rgba(255,255,255,.95)}
.hero .actions{justify-content:center}
.hero .badges{justify-content:center}
.hero .crumbs{display:none}

/* Bandeau de faits : chiffres fins */
.facts{border-block:1px solid var(--pierre-claire);text-align:center}
.facts li{padding:34px 16px;border-right:1px solid var(--pierre-claire)}
.facts li+li{padding-left:16px}
.facts b{font-weight:200;font-size:clamp(1.9rem,2vw + 1rem,2.6rem);letter-spacing:-.01em}
.facts span{font-size:.8rem;letter-spacing:.08em;margin-top:6px}

/* Portes */
.door{min-height:min(88vh,760px)}
.door::after{background:linear-gradient(180deg,rgba(0,0,0,.08) 30%,rgba(0,0,0,.7) 100%)}
.door-body{padding:clamp(28px,5vw,72px);max-width:32em}
.door h2{font-size:clamp(1.9rem,2.4vw + .8rem,3rem);font-weight:400}
.door p{font-weight:300}
.door .cta{border-bottom:1px solid #fff;padding-bottom:6px}
.door img{transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
.door:hover img{transform:scale(1.04)}

/* Images : angles droits, formats éditoriaux */
.split{gap:clamp(36px,7vw,112px)}
.split img,.offer img,.gallery img,.feature-quote img{border-radius:0}
.split:not(.lp-hero) figure img,.split:not(.lp-hero) picture img{aspect-ratio:4/5;object-fit:cover}
.offer img{aspect-ratio:4/5;margin-bottom:22px}
.frame figcaption{font-size:.8rem;letter-spacing:.04em}
.gallery{gap:14px;grid-template-rows:300px 300px}
.pillar{border-top:1px solid var(--encre);padding-top:22px}
.pillar h3{font-weight:400}
.aside-card{border-top:1px solid var(--encre)}

/* Listes, étapes, tableaux */
.stay b{font-weight:400;font-size:1.3rem}
.steps li{border-top:1px solid var(--encre)}
.steps li::before{font-weight:200;font-size:2.6rem}
.sessions td:first-child{font-weight:300;font-size:1.3rem}
.sessions th{font-weight:500;letter-spacing:.06em;font-size:.8rem}
.price-box{border:1px solid var(--encre)}
.price-box .price{font-weight:200;font-size:clamp(2.4rem,3vw + .8rem,3.8rem)}
.badge{font-weight:400;font-size:.82rem;border-color:rgba(0,0,0,.2)}
.hero .badge{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.timeline{border-color:var(--pierre-claire)}
.spec th{font-weight:500}
.hist{border-left:1px solid var(--encre)}
.hist b{font-weight:400}

/* Avis : grandes citations centrées */
.quotes{gap:clamp(32px,5vw,72px)}
blockquote p{font-size:clamp(1.15rem,.5vw + 1.05rem,1.4rem);line-height:1.6}
.stars{letter-spacing:4px;font-size:.8rem;color:#111}
blockquote footer{font-size:.85rem;letter-spacing:.03em}
.feature-quote{gap:clamp(32px,6vw,88px)}
.feature-quote blockquote p{font-size:clamp(1.2rem,.9vw + 1rem,1.55rem)}

/* FAQ */
.faq summary{font-size:1.3rem;padding-block:24px}
.faq summary::after{font-weight:200}

/* Bandeau final et pied de page */
.cta-band{background:#0d0d0d}
.cta-band .section,.cta-band.section{padding-block:clamp(80px,11vw,150px)}
.cta-band .btn{background:#fff;color:#111;border-color:#fff}
.cta-band .btn--ghost,.cta-band .actions .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.cta-band .btn--ghost:hover,.cta-band .actions .btn--ghost:hover{background:#fff;color:#111}
.site-footer{background:#f5f5f5;padding-block:clamp(64px,8vw,112px) 32px}
.foot-grid h2{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-bottom:1.2em}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{text-decoration:underline}

/* Formulaires : traits fins, lisibles */
.form-wrap{border:1px solid var(--pierre-claire);padding:clamp(26px,4vw,56px)}
label,.label{font-weight:500;font-size:.9rem}
input[type=text],input[type=email],input[type=tel],select,textarea{border:1px solid #8d8d8d;font-weight:300;background:#fff}
.choice span{border:1px solid #8d8d8d;font-weight:300}
.choice input:checked+span{font-weight:500;background:#f3f3f3;box-shadow:inset 0 0 0 1px #111;border-color:#111}
.progress li{height:2px;border-radius:0}
legend{font-weight:400;font-size:1.6rem}
.cookie{border:1px solid #111}

/* Mobile */
@media (max-width:980px){
  .site-header .bar{min-height:72px}
  .nav a{letter-spacing:.12em;font-size:.78rem}
  .nav a,body:has(.hero) .site-header .nav a:not(.btn){color:#111}
  .hero .container{padding-block:120px 72px}
  .split:not(.lp-hero) figure img,.split:not(.lp-hero) picture img{aspect-ratio:4/3}
  .offer img{aspect-ratio:3/2}
  .door{min-height:64vh}
  .facts li{padding:26px 12px}
}
@media (max-width:640px){
  .hero{min-height:92svh}
  .btn{padding:16px 22px}
  .hero .actions .btn{width:100%}
}

.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:220px;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0))}
.facts b{font-size:clamp(1.6rem,1.2vw + 1.1rem,2.1rem)}

/* Rangées de photos (page du domaine et autres) */
.photo-row{display:grid;gap:14px;align-items:stretch}
.photo-row.cols-2{grid-template-columns:repeat(2,1fr)}
.photo-row.cols-3{grid-template-columns:repeat(3,1fr)}
.photo-row.cols-4{grid-template-columns:repeat(4,1fr)}
.photo-row img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;border-radius:0}
.photo-row.cols-3 img{aspect-ratio:1/1}
.photo-row.cols-4 img{aspect-ratio:1/1}
.photo-row.cols-2 img{aspect-ratio:3/5}
@media (max-width:640px){
  .photo-row.cols-3,.photo-row.cols-4{grid-template-columns:1fr 1fr}
  .photo-row.cols-3>img:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/10}
  .photo-row.cols-2 img{aspect-ratio:4/5}
}

.split:not(.lp-hero) img.land,.split:not(.lp-hero) figure img.land{aspect-ratio:3/2;object-fit:cover}

/* Photo qui épouse la hauteur du texte voisin */
.split--fill{align-items:stretch}
.split--fill>div:first-child{position:relative;min-height:320px}
.split--fill>div:first-child img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;object-position:22% 50%}
@media (max-width:980px){.split--fill>div:first-child{position:static;min-height:0}.split--fill>div:first-child img{position:static;height:auto;aspect-ratio:4/3!important}}

.split--fillr{align-items:stretch}
.split--fillr>figure{position:relative;min-height:320px;margin:0}
.split--fillr>figure img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;object-position:50% 50%}
@media (max-width:980px){.split--fillr>figure{position:static;min-height:0}.split--fillr>figure img{position:static;height:auto;aspect-ratio:3/2!important}}

/* Toutes les photos côte à côte avec un texte épousent la hauteur du texte (écrans larges) */
@media (min-width:981px){
  .split:not(.lp-hero):has(>figure>img:only-child),.split:not(.lp-hero):has(>div>img:only-child){align-items:stretch}
  .split:not(.lp-hero)>figure:has(>img:only-child),.split:not(.lp-hero)>div:has(>img:only-child){position:relative;min-height:340px;margin:0}
  .split:not(.lp-hero)>figure>img:only-child,.split:not(.lp-hero)>div>img:only-child{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover}
}
@media (min-width:981px){
  .split:not(.lp-hero)>img{align-self:stretch;height:0;min-height:max(100%,340px);aspect-ratio:auto!important;object-fit:cover}
}
@media (min-width:981px){
  .split:not(.lp-hero):has(>figure>figcaption){align-items:stretch}
  .split:not(.lp-hero)>figure:has(>figcaption){display:flex;flex-direction:column;margin:0}
  .split:not(.lp-hero)>figure:has(>figcaption)>img{flex:1 1 auto;height:0;min-height:300px;aspect-ratio:auto!important;object-fit:cover}
}
.split--fillr>figure img.focus-bas{object-position:40% 62%}
.doors .door:first-child img{object-position:50% 100%}
.vplayer-wrap{display:flex;justify-content:center}
.vplayer{position:relative;width:100%;max-width:340px;aspect-ratio:9/16;background:#000;overflow:hidden}
.vplayer-btn{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font:inherit}
.vplayer-play{width:72px;height:72px;border:1px solid #fff;border-radius:50%;position:relative}
.vplayer-play::after{content:"";position:absolute;left:29px;top:22px;border-left:20px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent}
.vplayer-btn:hover .vplayer-play,.vplayer-btn:focus-visible .vplayer-play{background:#fff}
.vplayer-btn:hover .vplayer-play::after,.vplayer-btn:focus-visible .vplayer-play::after{border-left-color:#000}
.vplayer-lab{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.vplayer iframe{position:absolute;top:0;left:50%;height:100%;width:316%;transform:translateX(-50%);border:0}
/* Mobile : lisibilité et cibles tactiles */
@media (max-width:640px){
  .btn--sm,.nav a.btn{font-size:.78rem;padding:14px 22px;min-height:44px}
  .btn{min-height:48px}
  .nav .sub a,.nav li>a{display:block;padding-top:12px;padding-bottom:12px;min-height:44px}
  .site-footer li a{display:inline-block;padding:7px 0}
  .facts small,.fact small,.meta{font-size:.9rem}
}
@media (pointer:coarse){
  .field input[type=radio],.field input[type=checkbox],.opt input{min-width:22px;min-height:22px}
}
@media (max-width:640px){
  .nav a,.btn,.link-arrow,.door .cta,.menu-btn{font-size:.8rem}
  .cards-3 h3 a{display:inline-block;padding:8px 0}
}
@media (max-width:640px){.btn--block{letter-spacing:.08em}}

/* ---------- Version anglaise : Stay / Visit / Craft ---------- */
.lang-switch{letter-spacing:.14em;font-size:.7rem;opacity:.7}
.en3 .hero--en3{min-height:100svh}
.en3 .hero--page{min-height:80svh}
.en3 .hero h1{font-weight:400;font-size:clamp(2.6rem,5.6vw + .6rem,6.2rem);line-height:1.04;letter-spacing:-.02em;max-width:11em}
.en3 .hero--word h1{font-size:clamp(5.5rem,17vw,16rem);line-height:1;letter-spacing:-.035em;margin:0 0 .2em}
.en3 .hero .lede{max-width:28em;font-size:clamp(1.05rem,.5vw + 1rem,1.28rem);line-height:1.6}
.en3 .hero::after{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.04) 30%,rgba(0,0,0,.62) 100%)}
.e-lead{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.2vw + 1rem,2.9rem);line-height:1.28;max-width:24em;margin:0 auto;text-align:center;text-wrap:balance}

/* Chapitres de l'accueil */
.e-chapter{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);align-items:end;padding-block:clamp(48px,7vw,110px)}
.e-chapter h2{grid-column:1/-1;font-size:clamp(5rem,17vw,16rem);line-height:.86;letter-spacing:-.035em;margin:0 0 .1em}
.e-chapter h2 a{color:inherit;text-decoration:none;box-shadow:none!important}
.e-chapter h2:has(a[href="/en/stay/"]){padding-bottom:.18em}
.e-chapter .a{grid-column:1/8;margin:0}
.e-chapter .a img{width:100%;aspect-ratio:4/5;object-fit:cover}
.e-chapter .b{grid-column:9/13}
.e-chapter .b figure{margin:0 0 22px}
.e-chapter .b img{width:100%;aspect-ratio:3/4;object-fit:cover}
.e-chapter .b p{font-weight:300;max-width:19em}
.e-chapter.rev .a{grid-column:6/13;grid-row:2}
.e-chapter.rev .b{grid-column:1/5;grid-row:2}
.e-chapter.rev h2{text-align:right}

/* Mosaïque : une seule grille pour photos et textes */
.e-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2vw,28px);align-items:center}
.e-mosaic figure{margin:0;overflow:hidden;background:#eee}
.e-mosaic figure img{width:100%;height:100%;object-fit:cover}
.e-mosaic .s3{grid-column:span 3}.e-mosaic .s4{grid-column:span 4}.e-mosaic .s5{grid-column:span 5}
.e-mosaic .s6{grid-column:span 6}.e-mosaic .s7{grid-column:span 7}.e-mosaic .s8{grid-column:span 8}
.e-mosaic .r45{aspect-ratio:4/5}.e-mosaic .r34{aspect-ratio:3/4}.e-mosaic .r32{aspect-ratio:3/2}.e-mosaic .r169{aspect-ratio:16/9}
.e-t{padding-inline:clamp(0px,2vw,28px)}
.e-t h2{font-size:clamp(2rem,2.4vw + 1rem,3.4rem);margin-bottom:.4em}
.e-t p{font-weight:300;max-width:26em}
.e-pano{margin:0;line-height:0}
.e-pano img{width:100%;height:min(70vh,640px);object-fit:cover}
.e-pano--full{text-align:center}
.e-pano--full img{display:block;width:auto;max-width:100%;height:auto;max-height:80svh;margin:0 auto;aspect-ratio:auto;object-fit:contain}
.e-pano--tall img{height:auto;max-height:none;object-fit:contain}
.e-pano--wide img{display:block;width:100%;height:auto;max-height:none;margin:0;object-fit:contain}

/* Liste de lieux : filets fins, pas de cartes */
.e-places{list-style:none;margin:clamp(24px,3vw,40px) 0 0;padding:0;border-top:1px solid var(--encre)}
.e-places li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,3fr);gap:clamp(12px,3vw,40px);padding:26px 0;margin:0;border-bottom:1px solid var(--pierre-claire);align-items:baseline}
.e-places b{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,1.1vw + 1rem,2rem);line-height:1.15}
.e-places .d{font-weight:300;color:var(--pierre)}
.e-places em{font-style:normal;text-align:right;color:var(--pierre);font-size:.9rem}
.e-note{font-size:.9rem;color:var(--pierre);margin-top:28px;max-width:40em}
.e-two{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(24px,3vw,40px)}
.e-two>div{padding-right:clamp(20px,5vw,72px)}
.e-two>div+div{border-left:1px solid var(--pierre-claire);padding-left:clamp(20px,5vw,72px);padding-right:0}
.e-two p{font-weight:300;max-width:26em}
@media (max-width:860px){
  .e-chapter .a,.e-chapter.rev .a{grid-column:1/-1;grid-row:auto}
  .e-chapter .b,.e-chapter.rev .b{grid-column:1/-1;grid-row:auto;margin-top:clamp(12px,2vw,24px)}
  .e-chapter .b figure{display:none}
  .e-chapter.rev h2{text-align:left}
  .e-mosaic .s3,.e-mosaic .s4{grid-column:span 6}
  .e-mosaic .s5,.e-mosaic .s6,.e-mosaic .s7,.e-mosaic .s8{grid-column:1/-1}
  .e-t{padding-inline:0;grid-column:1/-1!important}
  .e-places li{grid-template-columns:1fr;gap:6px}
  .e-places em{text-align:left}
  .e-two{grid-template-columns:1fr}
  .e-two>div+div{border-left:0;padding-left:0;border-top:1px solid var(--pierre-claire);padding-top:24px;margin-top:24px}
}
