/* Refonte « version Claude » — couche de style chargée après style.css, sur toutes les pages */
:root{
  --ink:#1b1511;--muted:#6f6254;--soft:#f3ebdd;--line:#e0d3bd;
  --night:#14100d;--night2:#1f1812;--brick:#9b3f22;--brick-d:#7c3018;--door:#f2b630;--cream:#faf5ea;--stone:#e9dfcc;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --blue:var(--brick);
}
body{background:var(--cream);color:var(--ink)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:1.04}
h1{font-weight:500}
header{background:var(--night)}
.global-nav nav>a,.global-nav nav>button,.menu-toggle{color:#e9dfcc}
.global-nav nav>button[aria-expanded=true]{color:var(--door)}
.local-nav{background:#faf5eaf2;border-bottom:1px solid var(--line)}
.opening-label{color:var(--muted)}
.button{background:var(--door);color:var(--night);font-weight:600;transition:background .2s,transform .2s}
.button:hover{background:#ffc94a;transform:translateY(-1px)}
.button.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff99}
.button.ghost:hover{background:#ffffff1f}
.text-link{color:var(--brick)}
.announcement{background:var(--night2);color:#e9dfcc}
.announcement a{color:var(--door)}
.soft{background:var(--soft)}
.warm{color:var(--brick)}
.date-feature{background:var(--night)}
.date-feature>.wrap>.eyebrow{color:var(--door)}
footer{background:var(--night);color:#cdbfa8}
footer .footer-grid a,footer .footer-grid button,footer .footer-intro>p,footer .footer-bottom,footer .footer-date small{color:#a99a83}
footer .footer-grid h2,footer .footer-date{color:#faf5ea}
footer .footer-intro,footer .footer-bottom{border-color:#3a2f25}
footer .footer-grid a:hover{color:var(--door)}
.picture,.image-card{border-radius:6px}

/* ——— Page d'accueil ——— */
.r-hero{position:relative;min-height:calc(100vh - 116px);min-height:calc(100svh - 116px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--night)}
.r-hero>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:50% 55%;transform:scale(1.06);animation:r-zoom 18s ease-out forwards}
.r-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14100d55 0%,#14100d00 30%,#14100dcc 78%,#14100df2 100%)}
.r-hero-in{position:relative;z-index:2;width:min(1200px,88%);margin:auto;padding:90px 0 64px}
.r-kicker{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--door);margin-bottom:22px}
.r-hero h1{font-size:clamp(52px,9vw,138px);font-weight:400;line-height:.94;letter-spacing:-.035em;max-width:11em}
.r-hero h1 em{font-style:italic;color:var(--door)}
.r-hero .lead{font-size:clamp(18px,1.7vw,23px);line-height:1.5;max-width:34em;margin-top:28px;color:#f1e7d3}
.r-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:36px}
.r-hero-date{position:absolute;right:max(6%,calc((100vw - 1200px)/2));bottom:70px;z-index:2;text-align:right;font:600 11px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#e9dfcc}
.r-hero-date b{display:block;font:400 44px/1 var(--serif);letter-spacing:-.02em;color:var(--door);margin-bottom:6px;text-transform:none}
@keyframes r-zoom{to{transform:scale(1)}}

.r-manifesto{background:var(--cream);padding:130px 0 120px}
.r-manifesto .wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:7%;align-items:start}
.r-manifesto .r-kicker{color:var(--brick)}
.r-manifesto h2{font-size:clamp(34px,4vw,56px);font-weight:400}
.r-manifesto p{font:400 clamp(20px,2vw,26px)/1.55 var(--serif);color:#3a2f25}
.r-manifesto p+p{margin-top:1.1em}
.r-sign{font:italic 400 24px var(--serif);color:var(--brick);margin-top:34px}

.r-timeline{background:var(--night);color:#f1e7d3;padding:110px 0 100px;overflow:hidden}
.r-head{width:min(1200px,88%);margin:0 auto 52px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.r-head h2{font-size:clamp(36px,4.6vw,66px);font-weight:400}
.r-head p{max-width:330px;color:#bfae93;font-size:16px;line-height:1.55}
.r-rail{display:flex;gap:22px;overflow-x:auto;padding:6px max(6%,calc((100vw - 1200px)/2)) 36px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#6b5a45 transparent}
.r-step{flex:0 0 clamp(250px,26vw,340px);scroll-snap-align:start;position:relative}
.r-step figure{aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#2a2119;filter:sepia(.35) contrast(1.05)}
.r-step img{height:100%;transition:transform .8s}
.r-step:hover img{transform:scale(1.05)}
.r-step time{display:block;font:400 34px/1 var(--serif);color:var(--door);margin:18px 0 8px}
.r-step h3{font-size:22px;font-weight:500;line-height:1.15}
.r-step p{font-size:14px;line-height:1.55;color:#bfae93;margin-top:8px}
.r-step.future figure{filter:none;outline:2px solid var(--door);outline-offset:-2px}
.r-more{width:min(1200px,88%);margin:14px auto 0}
.r-more a{color:var(--door);font-size:15px}.r-more a:hover{text-decoration:underline}

.r-gite{display:grid;grid-template-columns:1.15fr 1fr;background:var(--stone)}
.r-gite figure{min-height:640px}.r-gite figure img{height:100%;position:absolute;inset:0}
.r-gite figure{position:relative}
.r-gite-copy{padding:clamp(48px,7vw,110px) clamp(28px,6vw,90px);align-self:center}
.r-gite-copy h2{font-size:clamp(36px,4.2vw,62px);font-weight:400}
.r-gite-copy>p{font:400 19px/1.6 var(--serif);color:#3a2f25;margin:24px 0 8px}
.r-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:30px 0 36px;border-top:1px solid #cdbd9f}
.r-facts div{padding:18px 0;border-bottom:1px solid #cdbd9f}
.r-facts div:nth-child(odd){padding-right:16px;border-right:1px solid #cdbd9f}
.r-facts div:nth-child(even){padding-left:20px}
.r-facts b{display:block;font:400 34px/1 var(--serif);color:var(--brick)}
.r-facts span{font-size:13px;color:var(--muted);line-height:1.5;display:block;margin-top:6px}
.r-reel{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.r-reel img{height:320px}

.r-chantier{background:var(--cream);padding:120px 0 0}
.r-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:8px;width:min(1200px,88%);margin:0 auto}
.r-mosaic figure{overflow:hidden;border-radius:4px;position:relative;background:#ddd0b8}
.r-mosaic img{height:100%;transition:transform .8s}
.r-mosaic figure:hover img{transform:scale(1.06)}
.r-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 9px;font:500 12px var(--sans);color:#fff;background:linear-gradient(transparent,#000a)}
.r-mosaic figure{grid-row:span 3}.r-m1{grid-column:span 5}.r-m2{grid-column:span 4}.r-m3{grid-column:span 3}.r-m4,.r-m5,.r-m6,.r-m7{grid-column:span 3}
.r-chantier-foot{width:min(1200px,88%);margin:34px auto 0;padding-bottom:120px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.r-chantier-foot p{font:400 22px/1.4 var(--serif);max-width:30em}

.r-legende{background:var(--soft);padding:0}
.r-legende .wrap{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:110px 0}
.r-legende figure{border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -30px #3a2f2588}
.r-legende h2{font-size:clamp(34px,4.2vw,60px);font-weight:400}
.r-legende p{font:400 19px/1.6 var(--serif);color:#3a2f25;margin:22px 0 30px}

.r-visite{background:var(--night);color:#fff;text-align:center;padding:120px 0}
.r-visite h2{font-size:clamp(38px,5.4vw,80px);font-weight:400}
.r-visite p{color:#bfae93;font-size:18px;margin:20px auto 34px;max-width:32em;line-height:1.55}
.r-visite .r-cta{justify-content:center}

.r-presse{background:var(--cream);padding:90px 0}
.r-presse .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:50px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}
.r-presse small{font:600 11px var(--sans);letter-spacing:.18em;color:var(--brick)}
.r-presse h3{font-size:30px;font-weight:400;margin-top:10px;max-width:18em}
.r-presse p{color:var(--muted);font-size:15px;line-height:1.55;max-width:36em}

.r-final{background:var(--brick);color:#fff;padding:120px 0;text-align:center}
.r-final .r-kicker{color:#ffd98a}
.r-final h2{font-size:clamp(40px,6vw,92px);font-weight:400;line-height:1}
.r-count{display:flex;justify-content:center;gap:clamp(18px,4vw,56px);margin:44px 0 12px}
.r-count div{min-width:80px}.r-count b{display:block;font:400 clamp(44px,6vw,84px)/1 var(--serif);font-variant-numeric:tabular-nums}
.r-count span{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#ffd98a}
.r-final p{color:#ffe9c0;font-size:17px;margin-bottom:34px}
.r-final .button{background:var(--cream)}.r-final .button:hover{background:#fff}

.rv-on .rv{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.rv-on .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.r-hero>img{animation:none;transform:none}.js .rv{opacity:1;transform:none;transition:none}}

@media (max-width:900px){
  .r-hero-date{display:none}
  .r-manifesto .wrap,.r-legende .wrap{grid-template-columns:1fr;gap:34px}
  .r-manifesto{padding:80px 0}
  .r-head{flex-direction:column;align-items:flex-start;gap:18px}
  .r-gite{grid-template-columns:1fr}.r-gite figure{min-height:380px}
  .r-reel{grid-template-columns:1fr 1fr}.r-reel img:nth-child(3){display:none}.r-reel img{height:220px}
  .r-mosaic{grid-auto-rows:110px}
  .r-mosaic figure{grid-row:span 2}.r-m1,.r-m6,.r-m7{grid-column:span 12}.r-m1{grid-row:span 3}.r-m2,.r-m3,.r-m4,.r-m5{grid-column:span 6}
  .r-presse .wrap{grid-template-columns:1fr;gap:20px}
  .r-hero-in{padding:70px 0 44px}
}
footer .chosen-logo{background:var(--cream);border-radius:8px;padding:10px 18px}

/* ——— Page Le gîte ——— */
.g-hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--night)}
.g-hero>img{position:absolute;inset:0;height:100%;object-position:50% 60%;transform:scale(1.05);animation:r-zoom 16s ease-out forwards}
.g-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14100d66,#14100d00 35%,#14100de6 100%)}
.g-hero-in{position:relative;z-index:2;width:min(1200px,88%);margin:auto;padding:110px 0 70px}
.g-hero h1{font-size:clamp(54px,9vw,132px);font-weight:400;line-height:.94;letter-spacing:-.035em}
.g-hero h1 em{color:var(--door)}
.g-hero .lead{font-size:clamp(18px,1.7vw,22px);line-height:1.5;max-width:30em;margin-top:26px;color:#f1e7d3}
.g-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.g-pills a{padding:10px 18px;border-radius:999px;font-size:14px;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff88;transition:background .2s}
.g-pills a:hover{background:#ffffff26}
.g-credit{position:absolute;right:24px;bottom:22px;z-index:2;font:11px var(--sans);color:#e9dfcc99}

.g-duo{background:var(--cream);padding:120px 0}
.g-duo-head{width:min(1200px,88%);margin:0 auto 50px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.g-duo-head h2{font-size:clamp(40px,6vw,88px);font-weight:400;line-height:.98}
.g-duo-head h2 em{color:var(--brick)}
.g-duo-head p{max-width:280px;color:var(--muted);font-size:17px;line-height:1.5}
.g-duo-grid{width:min(1200px,88%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g-card{border-radius:6px;padding:clamp(30px,4vw,56px);min-height:440px;display:flex;flex-direction:column}
.g-card.night{background:var(--night);color:#f1e7d3}.g-card.brick{background:var(--brick);color:#fff}
.g-card b{font:400 clamp(90px,12vw,170px)/.9 var(--serif);color:var(--door);margin-bottom:auto;letter-spacing:-.04em}
.g-card.brick b{color:#ffd98a}
.g-card .r-kicker{margin:40px 0 14px;font-size:11px}.g-card.brick .r-kicker{color:#ffd98a}
.g-card h3{font-size:clamp(26px,2.6vw,36px);font-weight:400}
.g-card p:last-child{margin-top:18px;line-height:1.65;font-size:16px;color:#d9ccb5;max-width:30em}.g-card.brick p:last-child{color:#ffe9c0}

.g-matter{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--night)}
.g-matter figure{position:relative;height:clamp(380px,48vw,620px);overflow:hidden}
.g-matter img{height:100%;transition:transform 1s}.g-matter figure:hover img{transform:scale(1.05)}
.g-matter figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 26px 26px;color:#f1e7d3;font-size:15px;line-height:1.45;background:linear-gradient(transparent,#14100df0)}
.g-matter figcaption b{display:block;font:400 32px/1.1 var(--serif);color:var(--door);margin-bottom:6px}

.cube-section{background:var(--stone)}
.cube-section h2,.g-specs h2,.g-gallery h2,#plans h2{font-weight:400}
.g-specs{padding-top:120px}
.g-specs .details-list{display:block;border-top:1px solid var(--line)}
.g-specs .details-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
.g-specs .details-list b{font:500 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.g-specs .details-list span{font:400 clamp(22px,2.6vw,34px)/1.15 var(--serif);text-align:right}
.g-gallery .photo-mosaic{grid-template-columns:repeat(6,1fr);gap:10px}
.g-gallery .archive-photo{border-radius:4px}.g-gallery .archive-photo img{height:260px}
.g-gallery .archive-photo:nth-child(1){grid-column:span 4;grid-row:span 2}.g-gallery .archive-photo:nth-child(1) img{height:530px}
.g-gallery .archive-photo:nth-child(2),.g-gallery .archive-photo:nth-child(3){grid-column:span 2}
.g-gallery .archive-photo:nth-child(4),.g-gallery .archive-photo:nth-child(5),.g-gallery .archive-photo:nth-child(6){grid-column:span 2}
.g-gallery .archive-photo:nth-child(7){grid-column:span 6}.g-gallery .archive-photo:nth-child(7) img{height:360px}
#plans{background:var(--soft)}
.g-final{padding:130px 0}
@media (max-width:900px){
  .g-hero{min-height:78vh}.g-duo{padding:80px 0}.g-duo-head{flex-direction:column;align-items:flex-start;gap:14px}
  .g-duo-grid{grid-template-columns:1fr}.g-card{min-height:340px}
  .g-matter{grid-template-columns:1fr}.g-matter figure{height:340px}
  .g-specs .details-list>div{flex-direction:column;gap:6px}.g-specs .details-list span{text-align:left}
  .g-gallery .archive-photo:nth-child(n){grid-column:span 6;grid-row:auto}.g-gallery .archive-photo:nth-child(n) img{height:240px}
}
.r-final .button.ghost{background:transparent;color:#fff}.r-final .button.ghost:hover{background:#ffffff26}
.g-final h2{margin-bottom:22px}.g-final p{max-width:34em;margin-left:auto;margin-right:auto}

/* ——— Page Histoire ——— */
.h-hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--night)}
.h-hero>img{position:absolute;inset:0;height:100%;object-position:50% 40%;filter:sepia(.55) contrast(1.05) brightness(.85);transform:scale(1.05);animation:r-zoom 16s ease-out forwards}
.h-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14100d77,#14100d22 35%,#14100df0 100%)}
.h-hero-in{position:relative;z-index:2;width:min(1200px,88%);margin:auto;padding:110px 0 70px}
.h-hero h1{font-size:clamp(46px,7.4vw,112px);font-weight:400;line-height:.96;letter-spacing:-.035em;max-width:11em}
.h-hero h1 em{color:var(--door)}
.h-hero .lead{font-size:clamp(18px,1.7vw,22px);line-height:1.5;max-width:30em;margin-top:26px;color:#f1e7d3}
.h-links{display:grid;grid-template-columns:repeat(4,1fr);background:var(--night)}
.h-links a{padding:34px clamp(18px,3vw,40px);font:400 clamp(20px,2vw,28px)/1.15 var(--serif);color:#f1e7d3;border-left:1px solid #3a2f25;transition:background .25s,color .25s}
.h-links a:first-child{border-left:0}
.h-links a small{display:block;font:600 10px var(--sans);letter-spacing:.18em;color:var(--door);margin-bottom:12px}
.h-links a:hover{background:var(--door);color:var(--night)}.h-links a:hover small{color:var(--brick-d)}
.h-chapters{display:block}
.h-chapter{padding:110px 0;display:block}
.h-chapter.light{background:var(--cream)}.h-chapter.dark{background:var(--night);color:#f1e7d3}
.h-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:6%;padding-left:max(6%,calc((100vw - 1200px)/2));padding-right:max(6%,calc((100vw - 1200px)/2))}
.h-chapter .period-date{position:sticky;top:96px;align-self:start;font:400 clamp(40px,5.2vw,78px)/.98 var(--serif);letter-spacing:-.03em;color:var(--brick)}
.h-chapter.dark .period-date{color:var(--door)}
.h-chapter .eyebrow{color:var(--muted);letter-spacing:.2em;font-size:11px}.h-chapter.dark .eyebrow{color:#a99a83}
.h-chapter h2{font-size:clamp(32px,3.8vw,54px);font-weight:400;margin-bottom:30px}
.h-chapter .body-copy{font:400 clamp(18px,1.5vw,21px)/1.7 var(--serif);color:#3a2f25;max-width:36em;margin-top:1.1em}
.h-chapter.dark .body-copy{color:#d9ccb5}
.h-chapter .photo-mosaic{margin-top:44px;gap:10px}
.h-chapter .archive-photo{border-radius:3px;background:#2a2119}
.h-chapter .archive-photo img{filter:sepia(.3) contrast(1.04)}
.h-chapter .archive-photo>span{opacity:1;font-size:11px}
.h-chapter.history-period .archive-photo:only-child img{max-height:560px}
.h-chapter .photo-mosaic .archive-photo:first-child:nth-last-child(n+3){grid-column:span 2}
.h-chapter .photo-mosaic:has(>.archive-photo:nth-child(n+3)){grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){
  .h-hero{min-height:78vh}.h-links{grid-template-columns:1fr 1fr}.h-links a:nth-child(3){border-left:0}.h-links a{border-top:1px solid #3a2f25}
  .h-chapter{grid-template-columns:1fr;gap:20px;padding-top:70px;padding-bottom:70px}.h-chapter .period-date{position:static}
}

/* ——— Page Travaux ——— */
.w-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}
.w-stats div{padding:46px clamp(18px,3vw,44px);border-left:1px solid var(--line)}.w-stats div:first-child{border-left:0}
.w-stats b{display:block;font:400 clamp(56px,7vw,104px)/.9 var(--serif);color:var(--brick);letter-spacing:-.04em}
.w-stats span{display:block;margin-top:12px;font-size:14px;color:var(--muted);line-height:1.45;max-width:14em}
.w-section{background:var(--night);color:#f1e7d3;padding:100px 0 120px}
.w-wrap{width:min(1240px,90%);margin:auto}
.w-section .filter-bar{position:sticky;top:76px;z-index:20;background:#14100dee;backdrop-filter:blur(12px);padding:14px 0;margin:-14px 0 0}
.w-section .filter-bar button{background:transparent;color:#d9ccb5;box-shadow:inset 0 0 0 1.5px #5b4a3a;font-size:13px;padding:11px 18px;transition:background .2s,color .2s}
.w-section .filter-bar button:hover{box-shadow:inset 0 0 0 1.5px var(--door)}
.w-section .filter-bar button[aria-pressed=true]{background:var(--door);color:var(--night);box-shadow:none;font-weight:600}
.w-section .quiet-note{color:#a99a83;font-size:13px;margin-top:20px}
.w-section .work-grid{gap:56px 22px;margin-top:34px}
.w-section .work-item>button{height:340px;border-radius:3px;background:#2a2119}
.w-section .work-item:nth-child(3n+2)>button{height:400px}
.w-section .work-item:nth-child(3n+2){margin-top:-30px}
.w-section .work-item img{filter:sepia(.2) contrast(1.04) saturate(.95)}
.w-section .work-item>button:hover img{transform:scale(1.06)}
.w-section .work-number{left:14px;top:12px;background:none;backdrop-filter:none;padding:0;font:400 46px/1 var(--serif);color:#fff;text-shadow:0 2px 14px #000a;letter-spacing:-.03em}
.w-section .work-more{background:var(--door);color:var(--night)}
.w-section .work-item>small{color:var(--door);font-size:10px;letter-spacing:.18em;margin:18px 0 8px}
.w-section .work-item h2{font:400 clamp(22px,2vw,28px)/1.15 var(--serif);color:#f1e7d3}
@media (max-width:900px){
  .w-stats{grid-template-columns:1fr 1fr}.w-stats div:nth-child(3){border-left:0}.w-stats div{border-top:1px solid var(--line)}
  .w-section{padding:70px 0 80px}.w-section .filter-bar{top:70px}
  .w-section .work-grid{grid-template-columns:1fr}.w-section .work-item:nth-child(n)>button{height:320px}.w-section .work-item:nth-child(n){margin-top:0}
}

/* ——— Page Légende ——— */
:root{--moss:#2f3a22}
.l-hero>img{filter:saturate(1.05) brightness(.82);object-position:50% 50%}
.l-note{background:var(--night2);color:#bfae93;text-align:center;font:italic 400 15px/1.6 var(--serif);padding:22px 8%}
.l-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:7%;padding:120px max(6%,calc((100vw - 1100px)/2))}
.l-chapter.light{background:var(--cream)}.l-chapter.dark{background:var(--moss);color:#f1e7d3}
.l-no{position:sticky;top:100px;align-self:start;font:400 clamp(44px,6vw,88px)/.95 var(--serif);letter-spacing:-.03em;color:var(--brick)}
.l-chapter.dark .l-no{color:var(--door)}
.l-no small{display:block;font:italic 400 clamp(18px,1.8vw,24px)/1.3 var(--serif);letter-spacing:0;opacity:.8}
.l-chapter:first-child .l-no{font-size:clamp(90px,13vw,190px);line-height:.85}
.l-body .eyebrow{color:var(--muted);letter-spacing:.2em;font-size:11px}.l-chapter.dark .eyebrow{color:#c9c9a0}
.l-body h2{font-size:clamp(32px,4vw,58px);font-weight:400;margin-bottom:30px}
.l-body>p{font:400 clamp(19px,1.6vw,23px)/1.7 var(--serif);max-width:32em;color:#3a2f25;margin-top:1.1em}
.l-chapter.dark .l-body>p{color:#e4dcc3}
.l-body>h2+p:first-letter{font-size:3.4em;float:left;line-height:.85;padding:.05em .08em 0 0;color:var(--brick)}
.l-chapter.dark .l-body>h2+p:first-letter{color:var(--door)}
.l-fig{margin-top:46px}.l-fig img{border-radius:4px;aspect-ratio:16/9;box-shadow:0 30px 60px -30px #000a}
.l-fig figcaption{font:italic 13px var(--serif);opacity:.7;margin-top:10px}
.l-quote{background:var(--night);color:#fff;text-align:center;padding:150px 0}
.l-quote blockquote{margin:0 0 30px;font:400 clamp(38px,6vw,90px)/1.04 var(--serif);letter-spacing:-.03em}
.l-quote blockquote em{color:var(--door)}
.l-quote .r-kicker{margin-bottom:34px}
@media (max-width:900px){.l-chapter{grid-template-columns:1fr;gap:22px;padding-top:80px;padding-bottom:80px}.l-no{position:static}}

/* ——— Page Visite 3D ——— */
.v-head{background:var(--night);color:#fff;text-align:center;padding:90px 6% 50px}
.v-head h1{font-size:clamp(44px,7vw,104px);font-weight:400;line-height:.98;letter-spacing:-.035em}
.v-head h1 em{color:var(--door)}
.v-head .lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;max-width:32em;margin:24px auto 0;color:#d9ccb5}
.v-stage{background:var(--night);padding:0 0 90px}
.v-stage-wrap{width:min(1400px,94%);margin:auto}
.v-stage .model-stage{height:min(78vh,820px);min-height:520px;border-radius:6px;background:#0c0a08;box-shadow:0 0 0 1px #3a2f25,0 40px 90px -30px #000}
.v-stage #model-cover>img{filter:sepia(.25) brightness(.5)}
.v-stage #model-cover h2{font-weight:400;font-size:clamp(40px,5.4vw,84px);margin:24px 0 30px}
.v-stage .model-pill{font-size:10px;letter-spacing:.2em;color:var(--door);border-color:#f2b63077}
.v-stage #model-cover p{color:#cdbfa8;font-size:13px}
.v-stage .model-toolbar{color:#a99a83;font-size:13px;padding-top:22px}
.v-stage .model-toolbar .text-link{color:var(--door);font-size:14px}
.v-steps{background:var(--cream);padding:120px 0}
.v-steps .heading-row h2{font-weight:400;font-size:clamp(36px,5vw,72px)}
.v-steps .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:50px;border-top:1px solid var(--line)}
.v-steps .process-grid article{padding:38px clamp(18px,3vw,42px) 20px;border-left:1px solid var(--line);background:none;border-radius:0}
.v-steps .process-grid article:first-child{border-left:0;padding-left:0}
.v-steps .process-grid span{display:block;font:400 clamp(60px,7vw,100px)/.9 var(--serif);color:var(--brick);letter-spacing:-.04em;margin-bottom:26px}
.v-steps .process-grid h3{font-size:clamp(24px,2.4vw,34px);font-weight:400}
.v-steps .process-grid p{font:400 17px/1.65 var(--serif);color:#3a2f25;margin-top:16px}
.v-voyage{background:var(--night);color:#f1e7d3;padding:110px 0 90px}
.v-voyage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.v-voyage-head h2{font-size:clamp(36px,5vw,72px);font-weight:400}
.v-voyage-head .text-link{color:var(--door);font-size:15px}
.v-voyage .triptych{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px;width:min(1400px,94%);margin:auto}
.v-voyage .triptych .picture{border-radius:4px;height:clamp(340px,40vw,560px)}
.v-voyage .triptych figcaption{font-size:11px}
.v-voyage .quiet-note{color:#a99a83;font-size:13px;max-width:46em;margin-top:30px}
@media (max-width:900px){
  .v-head{padding:60px 6% 34px}.v-stage .model-stage{min-height:480px}
  .v-steps{padding:80px 0}.v-steps .process-grid{grid-template-columns:1fr}.v-steps .process-grid article{border-left:0;border-top:1px solid var(--line);padding-left:0}.v-steps .process-grid article:first-child{border-top:0}
  .v-voyage{padding:80px 0 60px}.v-voyage-head{flex-direction:column;align-items:flex-start;gap:14px}
  .v-voyage .triptych{grid-template-columns:1fr}.v-voyage .triptych .picture{height:300px}
}

/* ——— Page Réserver ——— */
.b-hero{min-height:56vh}.b-hero>img{object-position:50% 60%}
.b-facts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--night);border-top:1px solid #3a2f25}
.b-facts div{padding:30px clamp(18px,3vw,44px);border-left:1px solid #3a2f25}.b-facts div:first-child{border-left:0}
.b-facts b{display:block;font:400 clamp(26px,3vw,42px)/1.05 var(--serif);color:var(--door)}
.b-facts span{display:block;margin-top:8px;font-size:14px;color:#bfae93}
.b-section{background:var(--cream);padding:90px 0 110px}
.b-wrap{width:min(1240px,90%);margin:auto}
.b-section .booking-layout{gap:36px;grid-template-columns:1.8fr 1fr}
.b-section .calendar-panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:34px;box-shadow:0 30px 60px -40px #3a2f2566}
.b-section .calendar-top h2{font:400 clamp(28px,3vw,40px)/1.05 var(--serif)}
.b-section .calendar-top p{font-size:14px;color:var(--muted)}
.b-section .calendar-arrows button{background:var(--soft);color:var(--ink)}.b-section .calendar-arrows button:hover:not(:disabled){background:var(--door)}
.b-section .month-name{font:400 20px var(--serif);text-transform:capitalize}
.b-section .weekday{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.b-section .day{font-size:13px;background:transparent}
.b-section .day:hover:not(:disabled){outline:1.5px solid var(--brick)}
.b-section .day.in-range{background:#f3e3c4}
.b-section .day.selected{background:var(--brick);color:#fff}
.b-section .calendar-bottom{font-size:12px;color:var(--muted)}.b-section .calendar-bottom button{font-size:12px;color:var(--brick)}
.b-section .stay-card{background:var(--night);color:#f1e7d3;border:0;border-radius:6px;padding:34px;box-shadow:0 30px 60px -30px #000a;position:sticky;top:96px}
.b-section .stay-card .eyebrow{color:var(--door);letter-spacing:.18em;font-size:10px}
.b-section .stay-card h2{font:400 clamp(26px,2.4vw,34px)/1.1 var(--serif);color:#fff}
.b-section .date-summary{border-color:#5b4a3a;border-radius:4px 4px 0 0}.b-section .date-summary>div+div{border-color:#5b4a3a}
.b-section .date-summary small,.b-section .guest-label{color:#a99a83;letter-spacing:.14em}
.b-section .date-summary span{font-size:14px;color:#fff}
.b-section .guest-label select{background:#1f1812;color:#fff;border-color:#5b4a3a}
.b-section .stay-summary{color:#bfae93;font-size:14px}
.b-section .stay-card>.button{background:var(--door);color:var(--night);font-size:14px}
.b-section .stay-card>.button:disabled{background:#3a2f25;color:#8a7a66}
.b-section .booking-note{color:#a99a83;font-size:11px}
.b-section .stay-capacity{border-color:#3a2f25;font:400 20px/1.3 var(--serif);color:var(--door)}.b-section .stay-capacity span{font:12px var(--sans);color:#a99a83}
.b-faq{background:var(--soft);padding:110px 0}
.b-faq-in{width:min(820px,88%);margin:auto}
.b-faq h2{font-weight:400;font-size:clamp(36px,5vw,68px);margin-bottom:34px}
.b-faq .faq summary{font:400 clamp(19px,1.8vw,24px)/1.35 var(--serif);padding:22px 36px 22px 0}
.b-faq .faq summary:after{color:var(--brick);font-size:30px;top:14px}
.b-faq .faq details{border-bottom:1px solid #cdbd9f}.b-faq .faq details:first-child{border-top:1px solid #cdbd9f}
.b-faq .faq p{font:400 17px/1.7 var(--serif);color:#3a2f25;padding:0 0 24px;max-width:36em}
@media (max-width:900px){
  .b-facts{grid-template-columns:1fr}.b-facts div{border-left:0;border-top:1px solid #3a2f25}
  .b-section{padding:50px 0 70px}.b-section .booking-layout{grid-template-columns:1fr}.b-section .calendar-panel{padding:22px 16px}.b-section .stay-card{position:static}
  .b-faq{padding:70px 0}
}

/* ——— Page Contact ——— */
.c-hero{min-height:56vh}.c-hero>img{object-position:50% 40%}
.c-section{background:var(--night);color:#f1e7d3;padding:100px 0 120px}
.c-layout{width:min(1200px,90%);margin:auto;padding:0;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start}
.c-copy .r-kicker{margin-bottom:20px}
.c-copy h2{font-size:clamp(38px,5vw,72px);font-weight:400;line-height:.98}.c-copy h2 em{color:var(--door)}
.c-address{font:400 clamp(19px,1.8vw,24px)/1.55 var(--serif);color:#d9ccb5;margin:30px 0 36px;font-style:normal}
.c-cards{display:flex;flex-direction:column;border-top:1px solid #3a2f25}
.c-card{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:baseline;padding:22px 0;border-bottom:1px solid #3a2f25;transition:padding .25s,color .25s}
.c-card small{font:600 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--door)}
.c-card span{font:400 clamp(18px,1.7vw,22px) var(--serif);color:#fff;overflow-wrap:anywhere}
.c-card i{font-style:normal;color:var(--door);font-size:20px}
.c-card:hover{padding-left:10px}.c-card:hover span{color:var(--door)}
.c-copy .quiet-note{color:#a99a83;font-size:13px;margin-top:26px;max-width:28em}
.c-section .contact-form{background:var(--cream);color:var(--ink);border-radius:6px;padding:clamp(26px,3.4vw,46px);box-shadow:0 40px 80px -40px #000}
.c-section .contact-form>label{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.c-section .contact-form input,.c-section .contact-form select,.c-section .contact-form textarea{border:1px solid #cdbd9f;border-radius:3px;background:#fff;font:400 17px var(--serif);letter-spacing:0;text-transform:none;padding:14px;color:var(--ink)}
.c-section .contact-form input:focus,.c-section .contact-form select:focus,.c-section .contact-form textarea:focus{outline:2px solid var(--door);outline-offset:1px;border-color:var(--brick)}
.c-section .contact-form .button{width:100%;font-size:15px;padding:16px}
.c-section .contact-form .quiet-note{color:var(--muted);font-size:12px;margin-top:16px}
@media (max-width:900px){.c-section{padding:70px 0 80px}.c-layout{grid-template-columns:1fr;gap:50px}.c-card{grid-template-columns:90px 1fr auto}}
.c-section{border-bottom:1px solid #3a2f25}

/* ——— Page Photos ——— */
.p-hero{background:var(--night);color:#fff;text-align:center;padding:100px 6% 70px}
.p-hero h1{font-size:clamp(46px,7.4vw,112px);font-weight:400;line-height:.96;letter-spacing:-.035em}
.p-hero h1 em{color:var(--door)}
.p-hero .lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;max-width:32em;margin:24px auto 0;color:#d9ccb5}
.p-nav{position:sticky;top:68px;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:#14100df2;backdrop-filter:blur(12px);border-top:1px solid #3a2f25;border-bottom:1px solid #3a2f25}
.p-nav a{padding:16px clamp(12px,2vw,30px);border-left:1px solid #3a2f25;color:#f1e7d3;transition:background .2s,color .2s}.p-nav a:first-child{border-left:0}
.p-nav b{display:block;font:400 clamp(17px,1.6vw,22px) var(--serif)}.p-nav span{font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--door)}
.p-nav a:hover{background:var(--door);color:var(--night)}.p-nav a:hover span{color:var(--brick-d)}
.p-album{padding:100px max(5%,calc((100vw - 1300px)/2)) 90px}
.p-album.light{background:var(--cream)}.p-album.dark{background:var(--night);color:#f1e7d3}
.p-head{display:flex;align-items:flex-end;gap:36px;margin-bottom:46px}
.p-num{font:400 clamp(70px,10vw,150px)/.8 var(--serif);color:var(--brick);letter-spacing:-.05em}.p-album.dark .p-num{color:var(--door)}
.p-album .heading-row{flex:1;margin:0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.p-album .heading-row h2{font-size:clamp(30px,4vw,58px);font-weight:400}
.p-album .heading-row p{color:var(--muted);max-width:260px;font-size:16px;line-height:1.5}.p-album.dark .heading-row p{color:#bfae93}
.p-masonry.photo-mosaic{display:block;column-count:4;column-gap:10px;margin-top:0}
.p-masonry .archive-photo{display:block;width:100%;margin:0 0 10px;break-inside:avoid;border-radius:3px;background:#2a2119}
.p-masonry .archive-photo img{height:auto;display:block;filter:sepia(.12) contrast(1.03);transition:transform .8s,filter .4s}
.p-masonry .archive-photo:hover img{transform:scale(1.04);filter:none}
.p-masonry .archive-photo>span{display:none}
.p-masonry .archive-photo:focus-visible{outline:3px solid var(--door);outline-offset:2px}
@media (max-width:1000px){.p-masonry.photo-mosaic{column-count:3}}
@media (max-width:700px){
  .p-hero{padding:70px 6% 50px}.p-nav{grid-template-columns:1fr 1fr;top:64px}.p-nav a:nth-child(3){border-left:0}.p-nav a{border-top:1px solid #3a2f25}
  .p-album{padding:70px 5% 60px}.p-head{flex-direction:column;align-items:flex-start;gap:14px}.p-album .heading-row{flex-direction:column;align-items:flex-start;gap:10px}
  .p-masonry.photo-mosaic{column-count:2;column-gap:8px}.p-masonry .archive-photo{margin-bottom:8px}
}

/* ——— Pages Vidéos, Presse, Architecte, Avant les travaux ——— */
.x-short{min-height:52vh}.x-sepia>img{filter:sepia(.5) contrast(1.05) brightness(.8)}
/* vidéos */
.x-videos{background:var(--night);padding:90px 0 110px}
.x-vwrap{width:min(1240px,90%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:56px 24px}
.x-videos .video-card{background:none;border-radius:0;padding:0;color:#f1e7d3}
.x-videos .video-card>button{display:block;width:100%;aspect-ratio:16/9;position:relative;padding:0;border-radius:3px;overflow:hidden;background:#2a2119}
.x-videos .video-card img{height:100%;filter:sepia(.25) brightness(.8);transition:transform .8s,filter .4s}
.x-videos .video-card>button:hover img{transform:scale(1.04);filter:sepia(.1) brightness(.95)}
.x-videos .video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:var(--door);color:var(--night);display:grid;place-items:center;font-size:24px;padding-left:5px;transition:transform .25s}
.x-videos .video-card>button:hover .video-play{transform:translate(-50%,-50%) scale(1.1)}
.x-videos .video-card small{display:block;color:var(--door);font:600 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:20px 0 8px}
.x-videos .video-card h2{font:400 clamp(24px,2.4vw,34px)/1.1 var(--serif);color:#fff}
.x-videos .video-card p{color:#bfae93;font:400 16px/1.6 var(--serif);margin-top:10px}
/* presse */
.x-press{background:var(--cream);padding:120px 0}
.x-press-in{width:min(860px,88%);margin:auto;text-align:center}
.x-press .eyebrow{color:var(--brick);letter-spacing:.2em;font-size:11px}
.x-press h2{font-size:clamp(38px,5.4vw,80px);font-weight:400;margin:18px 0 30px}
.x-press .body-copy{font:400 clamp(19px,1.7vw,23px)/1.65 var(--serif);color:#3a2f25;margin:0 auto 38px;max-width:30em}
.x-press .press-player{display:inline-flex;align-items:center;gap:14px;background:var(--door);color:var(--night);font:600 16px var(--sans);padding:18px 30px;border-radius:999px;transition:background .2s,transform .2s}
.x-press .press-player:hover{background:#ffc94a;transform:translateY(-2px)}
.x-press .quiet-note{color:var(--muted);font-size:13px;margin-top:24px}
/* architecte */
.x-intro{background:var(--night);color:#f1e7d3;padding:110px 0}
.x-intro-in{width:min(1200px,90%);margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:8%;align-items:center}
.x-intro .architect-monogram{aspect-ratio:1;border:1px solid #5b4a3a;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#2a2119,#14100d)}
.x-intro .architect-monogram span{font:400 clamp(90px,13vw,190px)/1 var(--serif);color:var(--door);letter-spacing:-.05em}
.x-intro .architect-monogram small{font:600 12px var(--sans);letter-spacing:.3em;color:#bfae93}
.x-intro .eyebrow{color:var(--door);letter-spacing:.2em;font-size:11px}
.x-intro h2{font-size:clamp(34px,4.6vw,66px);font-weight:400;margin:16px 0 26px}
.x-intro .body-copy{font:400 20px/1.65 var(--serif);color:#d9ccb5;max-width:32em}
.x-intro .bio-facts{display:flex;flex-direction:column;margin-top:34px;border-top:1px solid #3a2f25}
.x-intro .bio-facts span{padding:14px 0;border-bottom:1px solid #3a2f25;font:400 18px var(--serif);color:#fff;background:none}
.x-band{margin:0;height:clamp(280px,40vw,520px);overflow:hidden;background:#14100d}.x-band img{height:100%;filter:sepia(.4)}
.x-bio{background:var(--cream);padding:110px 0}
.x-bio-in{width:min(740px,88%);margin:auto}
.x-bio .eyebrow{color:var(--brick);letter-spacing:.2em;font-size:11px}
.x-bio h2{font:400 clamp(28px,3.2vw,44px)/1.1 var(--serif);margin:64px 0 20px;color:var(--ink)}
.x-bio h2:first-of-type{margin-top:14px}
.x-bio p{font:400 clamp(18px,1.5vw,21px)/1.75 var(--serif);color:#3a2f25;margin-top:1.1em}
.x-source{background:var(--soft);width:min(740px,88%);margin:0 auto 90px;padding:26px 30px;border-left:3px solid var(--brick);border-radius:0 3px 3px 0}
.x-source b{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brick)}
.x-source p{font:400 16px/1.65 var(--serif);color:#3a2f25;margin-top:10px}
/* avant les travaux */
.x-etat{background:var(--cream);padding:120px 0}
.x-etat-in{width:min(900px,88%);margin:auto}
.x-etat .eyebrow{color:var(--brick);letter-spacing:.2em;font-size:11px}
.x-etat h2{font-size:clamp(36px,5vw,72px);font-weight:400;margin:16px 0 28px}
.x-etat .body-copy{font:400 clamp(19px,1.6vw,22px)/1.7 var(--serif);color:#3a2f25}
.x-etat .subsection-heading{margin:90px 0 34px!important;color:var(--brick)}
.x-etat .restoration-list{border-top:1px solid #cdbd9f;margin-bottom:46px}
.x-etat .restoration-list article{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid #cdbd9f;background:none;border-radius:0}
.x-etat .restoration-list article>span{font:400 clamp(54px,6vw,84px)/.9 var(--serif);color:var(--brick);letter-spacing:-.04em}
.x-etat .restoration-list h3{font:400 clamp(22px,2.2vw,30px)/1.15 var(--serif)}
.x-etat .restoration-list p{font:400 17px/1.65 var(--serif);color:#3a2f25;margin-top:10px}
.x-traces{background:var(--night);color:#f1e7d3;padding:100px 0 90px}
.x-traces-in{width:min(1300px,90%);margin:auto}
.x-traces .heading-row h2{font-weight:400;font-size:clamp(32px,4.4vw,64px)}.x-traces .heading-row p{color:#bfae93}
@media (max-width:900px){
  .x-vwrap{grid-template-columns:1fr;gap:44px}.x-videos{padding:60px 0 80px}
  .x-intro{padding:70px 0}.x-intro-in{grid-template-columns:1fr;gap:40px}.x-intro .architect-monogram{aspect-ratio:16/10}
  .x-bio,.x-etat{padding:70px 0}.x-etat .restoration-list article{grid-template-columns:70px 1fr;gap:14px}
  .x-press{padding:80px 0}
}
.x-press .press-player{width:auto;justify-content:center}.x-press .press-player span{font-size:14px}

/* ═══ MODE CLAIR — plus aucun texte clair sur fond sombre ═══ */
:root{--sand:#efe4cf;--stone:#e9dfcc;--ink:#1b1511;--muted:#5b4e40}
/* en-tête et pied de page */
header{background:var(--soft)}
.global-nav nav>a,.global-nav nav>button,.menu-toggle{color:var(--ink)}
.global-nav nav>button[aria-expanded=true]{color:var(--brick)}
footer{background:var(--stone);color:var(--ink)}
footer .footer-grid a,footer .footer-grid button,footer .footer-intro>p,footer .footer-bottom,footer .footer-date small{color:#5b4e40}
footer .footer-grid h2,footer .footer-date{color:var(--ink)}
footer .footer-intro,footer .footer-bottom{border-color:#cdbd9f}
footer .footer-grid a:hover{color:var(--brick)}
footer .chosen-logo{background:none;padding:0}
/* boutons : fond fantôme lisible sur clair */
.button.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px #1b1511aa}
.button.ghost:hover{background:#1b15110f}
/* bandeaux photo : l'image en haut, le texte dessous sur fond clair */
.r-hero,.g-hero,.h-hero{display:block;min-height:0;color:var(--ink);background:var(--cream);overflow:visible}
.r-hero>img,.g-hero>img,.h-hero>img{position:relative;display:block;height:clamp(300px,56vh,620px);width:100%;transform:none;animation:none;filter:none}
.x-sepia>img{filter:sepia(.25)}
.h-hero>img{filter:sepia(.2)}
.r-hero:after,.g-hero:after,.h-hero:after{display:none}
.r-hero-in,.g-hero-in,.h-hero-in{padding:56px 0 70px}
.r-kicker{color:var(--brick)}
.r-hero h1,.g-hero h1,.h-hero h1{color:var(--ink);max-width:14em}
.r-hero h1 em,.g-hero h1 em,.h-hero h1 em{color:var(--brick)}
.r-hero .lead,.g-hero .lead,.h-hero .lead{color:var(--muted)}
.g-pills a{color:var(--ink);box-shadow:inset 0 0 0 1.5px #1b151155}.g-pills a:hover{background:var(--door);box-shadow:none}
.g-credit{position:static;display:block;padding:0 6% 0;margin:-34px auto 0;text-align:right;color:var(--muted);font-size:12px;width:min(1200px,88%)}
.r-hero-date{position:static;text-align:left;color:var(--muted);width:min(1200px,88%);margin:-20px auto 50px}
.r-hero-date b{color:var(--brick);display:inline;margin-right:10px;font-size:34px}
.r-hero-date{display:block}
.r-hero .r-cta{margin-top:30px}
/* sections ex-sombres → tons chauds clairs, texte foncé */
.r-timeline{background:var(--stone);color:var(--ink)}
.r-head p,.r-step p{color:var(--muted)}
.r-step time{color:var(--brick)}
.r-more a{color:var(--brick)}
.r-step figure{background:#d9ccb5}
.r-rail{scrollbar-color:#a8957a transparent}
.g-card.night{background:var(--stone);color:var(--ink)}
.g-card.night b{color:var(--brick)}
.g-card.brick{background:#f6dc9a;color:var(--ink)}
.g-card.brick b{color:var(--brick)}.g-card.brick .r-kicker{color:var(--brick)}
.g-card p:last-child,.g-card.brick p:last-child{color:var(--muted)}
.g-matter{background:var(--cream);gap:10px;padding:0 10px 10px}
.g-matter figure{height:auto;display:block}
.g-matter img{height:clamp(300px,34vw,460px)}
.g-matter figcaption{position:static;background:var(--soft);color:var(--ink);padding:20px 22px 24px}
.g-matter figcaption b{color:var(--brick)}
.r-visite{background:var(--sand);color:var(--ink)}
.r-visite p{color:var(--muted)}
.r-final{background:var(--door);color:var(--ink)}
.r-final .r-kicker{color:var(--brick-d)}
.r-final p{color:#3a2f25}
.r-final .button{background:var(--ink);color:#fff}.r-final .button:hover{background:#000}
.r-final .button.ghost{background:transparent;color:var(--ink)}.r-final .button.ghost:hover{background:#1b15111a}
.date-feature{background:var(--sand);color:var(--ink)}
.date-feature>.wrap>.eyebrow{color:var(--brick)}
.date-feature span,.date-feature p{color:var(--muted)}
.l-chapter.dark{background:var(--stone);color:var(--ink)}
.l-chapter.dark .l-no{color:var(--brick)}.l-chapter.dark .eyebrow{color:var(--muted)}
.l-chapter.dark .l-body>p{color:#3a2f25}.l-chapter.dark .l-body>h2+p:first-letter{color:var(--brick)}
.l-quote{background:var(--sand);color:var(--ink)}.l-quote blockquote em{color:var(--brick)}
.l-note{background:var(--soft);color:var(--muted)}
.h-links{background:var(--sand)}
.h-links a{color:var(--ink);border-color:#cdbd9f}.h-links a small{color:var(--brick)}
.h-links a:hover{background:var(--door);color:var(--ink)}.h-links a:hover small{color:var(--brick-d)}
.h-chapter.dark{background:var(--stone);color:var(--ink)}
.h-chapter.dark .period-date{color:var(--brick)}.h-chapter.dark .eyebrow{color:var(--muted)}.h-chapter.dark .body-copy{color:#3a2f25}
.h-chapter .archive-photo{background:#d9ccb5}
.w-section{background:var(--sand);color:var(--ink)}
.w-section .filter-bar{background:#efe4cfee}
.w-section .filter-bar button{color:var(--ink);box-shadow:inset 0 0 0 1.5px #9a8767}
.w-section .filter-bar button:hover{box-shadow:inset 0 0 0 1.5px var(--brick)}
.w-section .quiet-note{color:var(--muted)}
.w-section .work-item>button{background:#d9ccb5}
.w-section .work-number{color:#fff;text-shadow:0 2px 14px #000c}
.w-section .work-item>small{color:var(--brick)}.w-section .work-item h2{color:var(--ink)}
.p-hero{background:var(--cream);color:var(--ink)}.p-hero h1 em{color:var(--brick)}.p-hero .lead{color:var(--muted)}
.p-nav{background:#faf5eaf2;border-color:var(--line)}
.p-nav a{color:var(--ink);border-color:var(--line)}.p-nav span{color:var(--brick)}
.p-nav a:hover{background:var(--door)}.p-nav a:hover span{color:var(--brick-d)}
.p-album.dark{background:var(--sand);color:var(--ink)}.p-album.dark .p-num{color:var(--brick)}.p-album.dark .heading-row p{color:var(--muted)}
.p-masonry .archive-photo{background:#d9ccb5}
.v-head{background:var(--cream);color:var(--ink)}.v-head h1 em{color:var(--brick)}.v-head .lead{color:var(--muted)}
.v-stage{background:var(--cream)}
.v-stage .model-stage{background:var(--soft);box-shadow:0 0 0 1px var(--line),0 30px 60px -40px #3a2f2566}
.v-stage #model-cover>img{filter:sepia(.15) brightness(1) opacity(.35)}
.v-stage #model-cover>div{color:var(--ink)}
.v-stage .model-pill{color:var(--brick);border-color:#9b3f2266;background:#ffffff80}
.v-stage #model-cover p{color:var(--muted)}
.v-stage .model-toolbar{color:var(--muted)}.v-stage .model-toolbar .text-link{color:var(--brick)}
.v-voyage{background:var(--sand);color:var(--ink)}.v-voyage-head .text-link{color:var(--brick)}.v-voyage .quiet-note{color:var(--muted)}
.b-hero,.c-hero{background:var(--cream)}
.b-facts{background:var(--sand);border-color:var(--line)}.b-facts div{border-color:#cdbd9f}.b-facts b{color:var(--brick)}.b-facts span{color:var(--muted)}
.b-section .stay-card{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 60px -40px #3a2f2566}
.b-section .stay-card .eyebrow{color:var(--brick)}.b-section .stay-card h2{color:var(--ink)}
.b-section .date-summary{border-color:#cdbd9f}.b-section .date-summary>div+div{border-color:#cdbd9f}
.b-section .date-summary small,.b-section .guest-label{color:var(--muted)}.b-section .date-summary span{color:var(--ink)}
.b-section .guest-label select{background:#fff;color:var(--ink);border-color:#cdbd9f}
.b-section .stay-summary,.b-section .booking-note{color:var(--muted)}
.b-section .stay-card>.button:disabled{background:#e3dac8;color:#6b5d4d}
.b-section .stay-capacity{border-color:var(--line);color:var(--brick)}.b-section .stay-capacity span{color:var(--muted)}
.c-section{background:var(--sand);color:var(--ink);border-bottom:0}
.c-copy h2 em{color:var(--brick)}.c-address{color:#3a2f25}
.c-cards,.c-card{border-color:#cdbd9f}.c-card small{color:var(--brick)}.c-card span{color:var(--ink)}.c-card i{color:var(--brick)}
.c-card:hover span{color:var(--brick)}.c-copy .quiet-note{color:var(--muted)}
.c-section .contact-form{background:#fff;box-shadow:0 30px 60px -40px #3a2f2566;border:1px solid var(--line)}
.x-videos{background:var(--sand);color:var(--ink)}
.x-videos .video-card{color:var(--ink)}.x-videos .video-card small{color:var(--brick)}.x-videos .video-card h2{color:var(--ink)}.x-videos .video-card p{color:var(--muted)}
.x-videos .video-card>button{background:#d9ccb5}
.x-intro{background:var(--sand);color:var(--ink)}
.x-intro .architect-monogram{border-color:#bfae93;background:var(--cream)}
.x-intro .architect-monogram span{color:var(--brick)}.x-intro .architect-monogram small{color:var(--muted)}
.x-intro .eyebrow{color:var(--brick)}.x-intro .body-copy{color:#3a2f25}
.x-intro .bio-facts,.x-intro .bio-facts span{border-color:#cdbd9f;color:var(--ink)}
.x-band{background:var(--cream)}
.x-traces{background:var(--sand);color:var(--ink)}.x-traces .heading-row p{color:var(--muted)}
/* légendes d'images : plus de blanc sur dégradé noir */
.r-mosaic figcaption,.picture figcaption,.image-card:after{color:var(--ink)}
.r-mosaic figcaption{background:linear-gradient(transparent,#faf5eaf2 55%);padding-top:34px}
.picture figcaption{background:#faf5eacc;color:var(--ink)}
.archive-photo>span{color:var(--ink);background:linear-gradient(transparent,#faf5eaf5 60%)}
.image-card{color:var(--ink)}
.image-card:after{background:linear-gradient(#faf5eaf2,transparent 55%)}
.r-gite figure,.r-reel{background:var(--cream)}
.w-section .work-number{color:var(--ink);background:#faf5eaee;text-shadow:none;font-size:22px;padding:6px 12px;border-radius:99px;left:12px;top:12px;letter-spacing:0}
.r-final .button{background:#fffdf7;color:var(--ink);box-shadow:inset 0 0 0 1.5px #1b1511}.r-final .button:hover{background:#fff}

/* ——— Gîte : une boîte dans la boîte ——— */
.bb-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:7%;align-items:center}
.bb-copy h2{font-size:clamp(38px,5vw,72px);font-weight:400;margin:14px 0 24px}
.bb-copy .eyebrow{color:var(--brick);letter-spacing:.2em;font-size:11px}
.bb-copy .body-copy{font:400 clamp(18px,1.5vw,21px)/1.65 var(--serif);color:#3a2f25;max-width:30em}
.bb-switch{display:inline-flex;margin:28px 0 24px;padding:4px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.bb-switch button{background:none;padding:11px 20px;border-radius:999px;font-size:14px;color:var(--ink)}
.bb-switch button[aria-pressed=true]{background:var(--door);font-weight:600}
.bb-stage{margin:0;background:#fff;border-radius:6px;padding:20px;box-shadow:0 30px 60px -40px #3a2f2566;border:1px solid var(--line)}
.bb-stage svg{width:100%;height:auto;display:block}
.bb-stage figcaption{font:italic 13px var(--serif);color:var(--muted);text-align:center;margin-top:6px}
.bb-lbl{font:600 13px var(--sans);letter-spacing:.04em}.bb-lbl.cold{fill:#5f7a8c}.bb-lbl.warm{fill:#7a4a14}.bb-lbl.bridge{fill:#7a5a08}
.bb-snow circle{fill:#fff;stroke:#b8c8d4;stroke-width:1;animation:bb-fall 7s linear infinite}
.bb-snow circle:nth-child(2n){animation-duration:9s;animation-delay:-3s}.bb-snow circle:nth-child(3n){animation-duration:11s;animation-delay:-6s}
@keyframes bb-fall{from{transform:translateY(-20px)}to{transform:translateY(520px)}}
.bb-cube,.bb-bridge{transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .9s}
.bb-stage[data-state=eglise] .bb-c1{transform:translateY(-70px);opacity:0}
.bb-stage[data-state=eglise] .bb-c2{transform:translateY(-70px);opacity:0}
.bb-stage[data-state=eglise] .bb-bridge{transform:scaleX(.2);transform-origin:400px 380px;opacity:0}
.bb-bridge{transition-delay:.5s}
.bb-heat path{fill:none;stroke:#e26f1c;stroke-width:3;stroke-linecap:round;opacity:0}
.bb-stage[data-state=cubes] .
.bb-heat path:nth-child(2){animation-delay:-1.2s!important}
@keyframes bb-heat{0%{opacity:0;transform:translateY(8px)}40%{opacity:.8}100%{opacity:0;transform:translateY(-22px)}}
.bb-church .cold{transition:opacity .6s}.bb-stage[data-state=cubes] .bb-church .cold{opacity:.35}
@media (prefers-reduced-motion:reduce){.bb-snow circle,..bb-cube,.bb-bridge{transition:none}}
@media (max-width:900px){.bb-layout{grid-template-columns:1fr;gap:34px}}

/* ——— Légende : détail de gravure ——— */
.l-crop{overflow:hidden;border-radius:4px}.l-crop img{aspect-ratio:16/9;object-position:56% 50%;transform:scale(1.9);transform-origin:56% 50%;box-shadow:none}
.l-crop figcaption{background:var(--stone)}

/* ——— Menu toujours visible en haut ——— */
html{scroll-padding-top:130px}
header{position:sticky;top:0;z-index:60}
.global-nav{height:40px}
.local-nav{position:static;height:74px;gap:20px}
.local-nav .chosen-logo,.local-nav .chosen-logo img{height:58px;width:auto}
.p-nav{top:114px}.w-section .filter-bar{top:122px}
.l-no,.h-chapter .period-date,.b-section .stay-card{top:136px}
@media (max-width:900px){html{scroll-padding-top:115px}.global-nav{height:44px}.local-nav{height:66px}.local-nav .chosen-logo,.local-nav .chosen-logo img{height:50px;width:auto}.p-nav{top:110px}.w-section .filter-bar{top:118px}}
.local-nav{position:sticky;top:40px;z-index:55}
@media (max-width:900px){.local-nav{top:44px}}
.r-hero{position:relative}
.r-hero>.g-credit{position:absolute;right:20px;top:calc(clamp(300px,56vh,620px) - 44px);margin:0;width:auto;padding:6px 12px;border-radius:99px;background:#faf5eacc;color:var(--ink);font-size:12px}
.r-hero>img{object-position:50% 45%}
.local-nav .chosen-logo{width:auto;overflow:visible}
.local-nav .chosen-logo img{height:60px;width:auto;object-fit:contain}
footer .chosen-logo{width:auto;height:auto;overflow:visible}
footer .chosen-logo img{width:auto;height:96px}
@media (max-width:900px){.local-nav .chosen-logo img{height:50px}footer .chosen-logo img{height:80px}}
.footer-partners{display:flex;align-items:center;gap:26px;padding:28px 0;border-top:1px solid #cdbd9f}
.footer-partners>span{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#5b4e40}
.footer-partners>div{display:flex;align-items:center;gap:22px;background:#fff;padding:10px 20px;border-radius:12px;box-shadow:0 1px 0 #cdbd9f}
.footer-partners img{width:auto;height:54px;object-fit:contain}
.footer-partners img[src*=europe]{height:42px;border-radius:2px}
@media (max-width:700px){.footer-partners{flex-direction:column;align-items:flex-start;gap:14px}.footer-partners img{height:46px}.footer-partners img[src*=europe]{height:36px}}
.footer-partners img[src*=hauts]{height:84px;margin:-14px -6px}.footer-partners img[src*=somme]{height:58px}

/* ——— Accueil : maquette en grand + Racines et Ailes ——— */
.button.big{font-size:17px;padding:17px 30px}
.x-maquette{background:var(--cream);padding:70px 0 90px}
.x-mhead{width:min(1200px,90%);margin:0 auto 34px;text-align:center}
.x-mhead h2{font-size:clamp(36px,5.4vw,80px);font-weight:400;line-height:.98;letter-spacing:-.03em}.x-mhead h2 em{color:var(--brick)}
.x-mhead .lead{font:400 clamp(17px,1.6vw,21px)/1.5 var(--serif);color:var(--muted);max-width:34em;margin:20px auto 0}
.x-maquette #load-model{font-size:19px;padding:20px 36px}
.x-maquette .v-stage-wrap{width:min(1400px,94%)}
.x-racines{background:var(--sand);padding:100px 0}
.x-racines-in{width:min(1200px,90%);margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}
.x-racines-img{position:relative;display:block;width:100%;aspect-ratio:16/10;padding:0;border-radius:4px;overflow:hidden;background:#d9ccb5}
.x-racines-img img{height:100%;filter:sepia(.15);transition:transform .8s}.x-racines-img:hover img{transform:scale(1.04)}
.x-racines-img .video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--door);color:var(--ink);display:grid;place-items:center;font-size:28px;padding-left:6px}
.x-racines-copy h2{font-size:clamp(34px,4.4vw,64px);font-weight:400;margin:14px 0 24px;line-height:1.02}.x-racines-copy h2 em{color:var(--brick)}
.x-racines-copy>p{font:400 clamp(18px,1.5vw,21px)/1.65 var(--serif);color:#3a2f25}
.x-racines-copy .r-cta{margin:28px 0 8px}
.x-racines-copy .press-player{border:0;font-weight:600}
.x-racines-copy .quiet-note{color:var(--muted);font-size:13px;margin-top:14px}
@media (max-width:900px){.x-racines-in{grid-template-columns:1fr;gap:34px}.x-racines{padding:70px 0}.x-maquette{padding:50px 0 60px}}

/* ——— Page Équipements ——— */
.e-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sand);border-bottom:1px solid var(--line)}
.e-stats div{padding:44px clamp(18px,3vw,44px);border-left:1px solid #cdbd9f}.e-stats div:first-child{border-left:0}
.e-stats b{display:block;font:400 clamp(60px,8vw,112px)/.9 var(--serif);color:var(--brick);letter-spacing:-.04em}
.e-stats span{display:block;margin-top:12px;font-size:14px;color:var(--muted);max-width:13em;line-height:1.45}
.e-sec{background:var(--cream);padding:110px 0}.e-sec.alt{background:var(--soft)}
.e-wrap{width:min(1200px,90%);margin:auto}.e-wrap.narrow-w{width:min(860px,90%)}
.e-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.e-head h2{font-size:clamp(36px,5vw,72px);font-weight:400;line-height:1}
.e-head p{max-width:300px;color:var(--muted);font-size:17px;line-height:1.5}
.e-grid{display:grid;gap:18px}.e-grid.two{grid-template-columns:1fr 1fr}.e-grid.three{grid-template-columns:repeat(3,1fr)}.e-grid.one{grid-template-columns:1fr}
.e-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,40px);box-shadow:0 24px 50px -40px #3a2f2566}
.e-card small{display:block;font:600 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brick);margin-bottom:14px}
.e-card h3{font:400 clamp(24px,2.4vw,34px)/1.1 var(--serif)}
.e-card p{font:400 17px/1.65 var(--serif);color:#3a2f25;margin-top:12px}
.e-split{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;align-items:center}
.e-split figure{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--line)}.e-split figcaption{font:italic 13px var(--serif);color:var(--muted);padding:10px 14px;background:var(--soft)}
.e-list{margin:0;border-top:1px solid #cdbd9f}
.e-list>div{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid #cdbd9f}
.e-list dt{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brick);padding-top:5px}
.e-list dd{margin:0;font:400 clamp(18px,1.6vw,22px)/1.45 var(--serif)}
.e-wrap .quiet-note{color:var(--muted);font-size:14px;margin-top:26px}
@media (max-width:900px){
  .e-stats{grid-template-columns:1fr 1fr}.e-stats div:nth-child(3){border-left:0}.e-stats div{border-top:1px solid #cdbd9f}
  .e-sec{padding:70px 0}.e-head{flex-direction:column;align-items:flex-start;gap:12px}
  .e-grid.two,.e-grid.three,.e-split{grid-template-columns:1fr}.e-list>div{grid-template-columns:1fr;gap:6px}
}
/* accueil : boutons visibles sans défiler */
.r-hero>img{height:clamp(240px,36vh,430px)}
.r-hero>.g-credit{top:calc(clamp(240px,36vh,430px) - 44px)}
.r-hero .r-hero-in{padding:34px 0 40px}
.r-hero h1{font-size:clamp(44px,6.4vw,98px)}
.r-hero .lead{margin-top:18px}
.r-hero .r-cta{margin-top:24px}
.r-hero-date{display:none}
.e-level{font:400 clamp(26px,3vw,40px)/1.1 var(--serif);color:var(--brick);margin:44px 0 14px}
.e-level:first-of-type{margin-top:0}
.v-tiles{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}
.v-tile{position:relative;display:block;height:clamp(300px,34vw,480px);overflow:hidden;border-radius:4px;background:#d9ccb5}
.v-tile img{height:100%;transition:transform .8s}.v-tile:hover img{transform:scale(1.05)}
.v-tile>span{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;font:400 clamp(20px,2vw,28px)/1.15 var(--serif);color:var(--ink);background:linear-gradient(transparent,#faf5eaf5 60%)}
.v-tile small{display:block;font:600 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brick);margin-bottom:6px}
.v-tile i{font-style:normal;color:var(--brick)}
@media (max-width:900px){.v-tiles{grid-template-columns:1fr!important}.v-tile{height:280px}}
.l-whole img{aspect-ratio:auto;height:auto;width:min(100%,640px);object-fit:contain;border:1px solid #cdbd9f;background:#fff}
.bb-lbl{font:600 14px var(--sans)}
.bb-stage[data-state=eglise] .bb-c1,.bb-stage[data-state=eglise] .bb-c2{transform:translateY(-90px)}
.bb-stage[data-state=eglise] .bb-bridge{transform:scaleX(.1);transform-origin:50% 55%}
.bb-cube{filter:drop-shadow(0 4px 6px #8a5a1a33)}
.bb-stage[data-state=cubes] .bb-cube .f-top{animation:bb-glow 2.8s ease-in-out infinite}
@keyframes bb-glow{50%{fill:#ffe29a}}
.bb-legend{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font:500 14px var(--sans);color:var(--ink)}
.bb-legend li{display:flex;align-items:center;gap:8px}
.bb-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.bb-legend .k1{background:#cfe0ea;box-shadow:inset 0 0 0 2px #8fa5b4}.bb-legend .k2{background:#f0b95e}.bb-legend .k3{background:#f2c230}
.bb-stage[data-state=cubes] .bb-heat path{animation:none}
.bb-legend .k3{background:#f2c52e;box-shadow:inset 0 0 0 2px #d9a516}
.bb-bridge{transition-delay:0s}
.bb-stage[data-state=cubes] .bb-bridge{transition-delay:.7s}
.bb-stage[data-state=cubes] .bb-c2{transition-delay:1.4s}

/* ——— Page Localisation ——— */
.loc-head{padding-bottom:30px}
.loc-map-sec{background:var(--cream);padding:0 0 80px}
.loc-map-wrap{width:min(1300px,94%);margin:auto}
.loc-map{position:relative;height:min(68vh,620px);min-height:420px;border-radius:6px;overflow:hidden;background:var(--soft);border:1px solid var(--line);box-shadow:0 30px 60px -40px #3a2f2566}
.loc-map iframe{width:100%;height:100%;border:0;display:block}
.loc-cover{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;gap:18px;background:linear-gradient(135deg,#efe4cf,#e6d8bf)}
.loc-cover h2{font-size:clamp(34px,5vw,64px);font-weight:400}
.loc-cover p{font-size:13px;color:var(--muted)}
.loc-cover .model-pill{font-size:10px;letter-spacing:.18em;color:var(--brick);border:1px solid #9b3f2255;background:#fff8;padding:9px 14px;border-radius:99px}
.loc-links{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:flex-end;margin-top:16px}
@media (max-width:900px){.loc-links{justify-content:flex-start}.loc-map{min-height:360px}}

/* ——— Page Découvrir la Somme ——— */
.d-split{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}
.d-h2{font-size:clamp(34px,4.6vw,68px);font-weight:400;line-height:1;margin:14px 0 24px}
.d-lead{font:400 clamp(18px,1.6vw,22px)/1.7 var(--serif);color:#3a2f25}
.d-hero>img{object-position:50% 55%}
.e-head p{max-width:340px}
@media (max-width:900px){.d-split{grid-template-columns:1fr;gap:30px}}
.d-feature{grid-column:1/-1;background:#f6dc9a;border-color:#e3c46f}
.d-feature small{color:var(--brick)}.d-feature h3{color:var(--ink);font-size:clamp(28px,3vw,44px)}.d-feature p{color:#3a2f25;max-width:48em}
.d-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 22px}
.d-photo{margin:0;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.d-photo img{height:220px;width:100%;object-fit:cover}
.d-photo figcaption{padding:12px 14px 14px;font:500 15px/1.35 var(--sans);color:var(--ink)}
.d-photo figcaption small{display:block;margin-top:4px;font:400 11px/1.4 var(--sans);color:var(--muted)}
.d-photo figcaption a{color:var(--brick);text-decoration:underline}

/* ——— Accueil : cartes de situation ——— */
.x-where{background:var(--cream);padding:90px 0}
.x-where-in{width:min(1200px,90%);margin:auto}
.x-where-head{text-align:center;margin-bottom:40px}
.x-where-head h2{font-size:clamp(36px,5vw,72px);font-weight:400;line-height:1}.x-where-head h2 em{color:var(--brick)}
.x-where-head .lead{font:400 clamp(17px,1.6vw,21px)/1.5 var(--serif);color:var(--muted);max-width:32em;margin:18px auto 0}
.x-maps{display:grid;grid-template-columns:1.1fr .8fr .9fr;gap:22px;align-items:center;margin-bottom:34px}
.x-map{margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;box-shadow:0 24px 50px -40px #3a2f2566}
.x-map svg{width:100%;height:auto;display:block;max-height:480px}
.x-map figcaption{text-align:center;font:italic 14px var(--serif);color:var(--muted);margin-top:8px}
.m-reg{fill:#efe6d3;stroke:#fff;stroke-width:1.2}
.m-hdf{fill:#f2b630;stroke:#d99a14;stroke-width:1.4}
.m-dep{fill:#f6e9c4;stroke:#fff;stroke-width:1.6}
.m-som{fill:#f2b630;stroke:#fff;stroke-width:1.6}
.m-dot{fill:#3a2412}.m-lbl{font:600 12px var(--sans);fill:#3a2412}.m-us{font-size:13px;fill:var(--brick)}
.m-pin{fill:var(--brick);stroke:#fff;stroke-width:2}
.m-ring{fill:none;stroke:var(--brick);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:m-pulse 2.4s ease-out infinite}
@keyframes m-pulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.x-dist{list-style:none;margin:0;padding:0}
.x-dist li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #cdbd9f;font:400 17px var(--serif)}
.x-dist b{font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brick);align-self:center}
@media (prefers-reduced-motion:reduce){.m-ring{animation:none}}
@media (max-width:900px){.x-maps{grid-template-columns:1fr}.x-where{padding:60px 0}}
/* compte à rebours : intitulés lisibles sur le jaune */
.r-count span{color:#3a2412}

/* sous-menu collé à la barre : pas d'espace où la souris le ferait disparaître */
#mega-menu{top:40px}
@media (max-width:900px){#mega-menu{top:44px}}
.d-hero .g-credit a{color:var(--brick);text-decoration:underline}

/* logo plus grand */
.local-nav{height:96px}
.local-nav .chosen-logo img{height:80px}
footer .chosen-logo img{height:110px}
html{scroll-padding-top:150px}
.p-nav{top:136px}.w-section .filter-bar{top:144px}
.l-no,.h-chapter .period-date,.b-section .stay-card{top:158px}
@media (max-width:900px){.local-nav{height:76px}.local-nav .chosen-logo img{height:58px}html{scroll-padding-top:125px}.p-nav{top:120px}.w-section .filter-bar{top:128px}footer .chosen-logo img{height:90px}}

/* ——— Sélecteur de langue ——— */

/* menu du haut : jamais de retour à la ligne, même en allemand ou néerlandais */
.global-nav{max-width:1280px}
.global-nav nav{gap:clamp(12px,1.8vw,38px)}
.global-nav nav>a,.global-nav nav>button{white-space:nowrap}
@media (max-width:1180px){.global-nav nav>a,.global-nav nav>button{font-size:11px}.global-nav nav{gap:12px}}

/* ——— Portrait de l'hôte ——— */
.r-author{display:flex;align-items:center;gap:20px;margin-top:34px}
.r-author .r-sign{margin:0}
.r-author img,.c-host img{border-radius:50%;object-fit:cover;object-position:50% 28%;aspect-ratio:1;box-shadow:0 0 0 4px var(--door),0 14px 30px -14px #3a2f2599}
.r-author img{width:104px;height:104px}
.c-host{display:flex;align-items:center;gap:18px;margin:0 0 34px}
.c-host img{width:92px;height:92px}
.c-host figcaption{font:italic 400 22px/1.2 var(--serif);color:var(--ink)}
.r-foot-text{display:flex;align-items:center;gap:22px;max-width:46em}
.r-face{width:96px;height:96px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 28%;aspect-ratio:1;box-shadow:0 0 0 4px var(--door),0 14px 30px -14px #3a2f2599}
@media (max-width:700px){.r-face{width:72px;height:72px}}
/* flèches de la chronologie + ascenseur visible */
.has-rail{position:relative}
.rail-btn{position:absolute;z-index:5;width:52px;height:52px;border-radius:50%;border:0;background:var(--door,#f0b429);color:#2b2118;font:400 34px/1 var(--serif,serif);padding:0 0 4px;cursor:pointer;box-shadow:0 8px 22px -8px #3a2f25aa;display:flex;align-items:center;justify-content:center}
.rail-btn:hover{transform:scale(1.08)}.rail-btn[hidden]{display:none}
.rail-prev{left:max(12px,calc((100vw - 1200px)/2 - 26px))}.rail-next{right:max(12px,calc((100vw - 1200px)/2 - 26px))}
.r-rail{scrollbar-width:auto;scrollbar-color:#a8957a #e3d6bd}
.r-rail::-webkit-scrollbar{height:12px}.r-rail::-webkit-scrollbar-track{background:#e3d6bd;border-radius:6px}.r-rail::-webkit-scrollbar-thumb{background:#a8957a;border-radius:6px}
@media(max-width:700px){.rail-btn{width:44px;height:44px;font-size:28px}}
/* découvrir : 8 photos, dernière carte pleine largeur */
.d-strip{grid-template-columns:repeat(4,1fr)}
.e-card.d-wide{grid-column:span 2}
@media(max-width:900px){.d-strip{grid-template-columns:1fr 1fr}.e-card.d-wide{grid-column:auto}}
@media(max-width:560px){.d-strip{grid-template-columns:1fr}}
/* bandeaux de 5 photos : une seule rangée sur grand écran, pas d'orpheline */
@media(min-width:1100px){.d-strip:has(>:nth-child(5):last-child){grid-template-columns:repeat(5,1fr)}}
/* accueil : la porte jaune et le renard */
.r-door{background:var(--cream,#faf5ea);padding:clamp(70px,9vw,120px) 0}
.r-door-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,90px);align-items:center;width:min(1200px,88%);margin:0 auto}
.r-door-photo{margin:0;border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -34px #3a2f25aa;max-height:82vh}
.r-door-photo img{width:100%;height:100%;max-height:82vh;object-fit:cover;object-position:50% 70%}
.r-door-text h2{font:400 clamp(38px,4.6vw,68px)/1.04 var(--serif);margin:10px 0 22px}
.r-door-text h2 em{color:var(--brick)}
.r-door-text>p:not(.r-kicker){font:400 clamp(18px,1.5vw,22px)/1.65 var(--serif);color:#3a2f25;max-width:34em}
.r-fox{display:flex;align-items:center;gap:20px;margin:30px 0}
.r-fox img{width:132px;height:132px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--door,#f0b429),0 14px 30px -14px #3a2f2599}
.r-fox figcaption{font:italic 400 22px/1.2 var(--serif);color:var(--ink)}
@media(max-width:860px){.r-door-in{grid-template-columns:1fr}.r-door-photo{max-height:70vh}}
/* légende : gravures des chapitres */
.l-gravure img{aspect-ratio:auto;height:auto;width:100%;object-fit:cover;border:1px solid #cdbd9f;box-shadow:0 26px 50px -34px #3a2f25aa}
.l-gravure figcaption{opacity:.8}
.l-chapter>.l-gravure{grid-column:1/-1;margin-top:0}
/* avant les travaux : 10 photos en grille régulière 5 × 2 */
.x-traces .p-masonry.photo-mosaic{display:grid;column-count:auto;grid-template-columns:repeat(5,1fr);gap:10px}
.x-traces .p-masonry .archive-photo{margin:0;break-inside:auto}
.x-traces .p-masonry .archive-photo img{height:clamp(150px,15vw,230px);width:100%;object-fit:cover}
@media(max-width:1000px){.x-traces .p-masonry.photo-mosaic{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.x-traces .p-masonry.photo-mosaic{grid-template-columns:repeat(2,1fr)}}
footer .f-follow{margin-top:26px}

/* sélecteur de langue : drapeau + menu déroulant */
.lang-switch{position:relative;margin-left:18px}
.lang-btn{display:flex;align-items:center;gap:7px;font:600 12px var(--sans);letter-spacing:.06em;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:99px;padding:4px 10px 4px 5px;cursor:pointer}
.lang-btn:hover,.lang-btn[aria-expanded=true]{background:#1b15110f;border-color:#cdbd9f}
.lang-btn i{font-style:normal;font-size:10px;opacity:.6}
.lang-switch img{width:22px;height:22px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #00000022}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:90;list-style:none;margin:0;padding:6px;min-width:176px;background:#fffdf7;border:1px solid #cdbd9f;border-radius:10px;box-shadow:0 18px 40px -16px #3a2f25aa}
.lang-menu[hidden]{display:none}
.lang-menu a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:7px;font:500 15px var(--sans);color:var(--ink)}
.lang-menu a:hover{background:#f3e9d2}
.lang-menu a[aria-current=true]{background:var(--door);font-weight:600}
@media (max-width:900px){.lang-switch{margin-left:auto;margin-right:8px}}
/* pied de page : partenaires en texte */
.footer-partners-text p{margin:0;font:400 15px/1.6 var(--serif);color:#3a2f25}
.information-copy a{color:var(--brick);text-decoration:underline}
/* accueil : trois promesses sous la grande photo */
.r-promise{background:var(--stone,#efe5d0);padding:clamp(60px,8vw,100px) 0}
.r-promise-in{width:min(1200px,88%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.r-promise article{border-top:2px solid var(--brick);padding-top:22px}
.r-promise small{display:block;font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brick);margin-bottom:14px}
.r-promise h2{font:400 clamp(26px,2.6vw,38px)/1.1 var(--serif);margin:0 0 14px}
.r-promise p{font:400 clamp(17px,1.3vw,19px)/1.65 var(--serif);color:#3a2f25;margin:0}
@media(max-width:860px){.r-promise-in{grid-template-columns:1fr;gap:34px}}
.r-trades{list-style:none;margin:6px 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.r-trades li{font:500 14px/1 var(--sans);color:#3a2f25;background:#f3e9d2;border:1px solid #cdbd9f;border-radius:99px;padding:8px 14px}
.r-door-text>p:not(.r-kicker){margin:0 0 16px}
/* accueil : diaporama d'ouverture */
.r-slides{position:relative;height:clamp(300px,58vh,640px);overflow:hidden;background:#e8dcc4}
.r-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.5s ease;z-index:0}
.r-slide.is-on{opacity:1;z-index:1}
.r-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.04)}
.r-slide.is-on img{animation:r-kb 10s ease-out forwards}
@keyframes r-kb{to{transform:scale(1.12)}}
.r-slide figcaption{position:absolute;right:20px;bottom:46px;z-index:3;padding:6px 14px;border-radius:99px;background:#faf5ecdd;color:var(--ink);font:500 13px var(--sans)}
.r-dots{position:absolute;left:0;right:0;bottom:14px;z-index:5;display:flex;justify-content:center;gap:10px}
.r-dots button{width:11px;height:11px;padding:0;border-radius:50%;border:2px solid #faf5ec;background:transparent;box-shadow:0 0 0 1px #3a2f2566;cursor:pointer}
.r-dots button[aria-current=true]{background:var(--door,#f0b429);border-color:var(--door,#f0b429)}
.r-hero>.r-slides{margin:0}
@media (prefers-reduced-motion:reduce){.r-slide.is-on img{animation:none;transform:none}.r-slide{transition:none}}
@media(max-width:700px){.r-slide figcaption{right:12px;bottom:40px;font-size:12px}}
.r-pause{position:absolute;left:16px;bottom:10px;z-index:6;width:32px;height:32px;border-radius:50%;border:0;background:#faf5ecdd;color:var(--ink);font:700 11px var(--sans);letter-spacing:-.05em;cursor:pointer;box-shadow:0 0 0 1px #3a2f2540}
.r-pause:hover{background:#faf5ec}
.r-hero .r-dream{font:italic 400 clamp(22px,2.4vw,32px)/1.2 var(--serif);color:var(--brick);margin:18px 0 0}
/* réseaux sociaux : icônes en haut et en bas */
.social-top{display:flex;align-items:center;gap:2px;margin-left:18px}
.social-top a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);opacity:.8;transition:background .2s,color .2s,opacity .2s}
.social-top a:hover,.social-top a:focus-visible{background:#1b15110f;color:var(--brick);opacity:1}
footer .f-social{display:flex;align-items:center;gap:10px}
footer .f-social svg{flex:none;color:var(--brick)}
@media (max-width:900px){.social-top{margin-left:auto;margin-right:2px}.social-top+.lang-switch{margin-left:0}}
.r-slide-door img{object-position:50% 82%}
.r-slide-fox img{object-position:50% 38%}
/* gîte : galerie de 15 rendus (les 8 derniers par deux) */
.g-gallery .archive-photo:nth-child(n+8){grid-column:span 3}.g-gallery .archive-photo:nth-child(n+8) img{height:300px}
@media(max-width:700px){.g-gallery .archive-photo:nth-child(n+8) img{height:240px}}
/* menus déroulants : un seul niveau, liens de même taille, aucun doublon */
.mega-grid{display:block}
.mega-grid>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 60px;align-items:start}
.mega-grid>div small{grid-column:1/-1;font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.mega-grid>div a,.mega-grid>div:first-child a{font:500 22px/1.25 var(--serif);letter-spacing:0;padding:8px 0;color:var(--ink)}
.mega-grid>div a:hover{color:var(--brick)}
.mega-grid>div:not(:first-child){display:grid}
@media(max-width:900px){.mega-grid>div{grid-template-columns:1fr}.mega-grid>div a,.mega-grid>div:first-child a{font-size:21px}}
/* titre d'accueil : lignes équilibrées, sans mot orphelin */
.r-hero h1{max-width:20em;text-wrap:balance}
/* accueil : bloc d'ouverture centré */
.r-hero .r-hero-in{text-align:center}
.r-hero h1{max-width:none;margin-left:auto;margin-right:auto;font-size:clamp(32px,4.7vw,72px);line-height:1.08;text-wrap:balance}
.r-hero .lead{max-width:38em;margin-left:auto;margin-right:auto;padding-left:0}
.r-hero .r-dream{text-align:center}
.r-hero .r-cta{justify-content:center}
.g-gallery .archive-photo:nth-child(20){grid-column:span 3}
/* téléphone : vidéos centrées, sans débordement */
.x-vwrap>*{min-width:0}
@media(max-width:860px){.x-vwrap{grid-template-columns:minmax(0,1fr);width:88%}.x-videos .video-card>button,.x-videos .video-card img{max-width:100%}}
/* téléphone : chronologie, première carte centrée */
@media(max-width:700px){
  .r-rail{scroll-snap-type:x mandatory;padding-left:calc((100vw - min(82vw,340px))/2);padding-right:calc((100vw - min(82vw,340px))/2);scroll-padding-inline:calc((100vw - min(82vw,340px))/2)}
  .r-step{flex:0 0 min(82vw,340px);scroll-snap-align:center}
  .rail-btn{width:40px;height:40px;font-size:26px}.rail-prev{left:6px}.rail-next{right:6px}
}

/* repères sous le titre de l'accueil */
.r-glance{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;list-style:none;margin:26px 0 0;padding:0}
.r-glance li{font:600 13px/1.2 var(--sans);letter-spacing:.02em;color:var(--ink);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--cream)}
.r-glance li:first-child{border-color:var(--door)}
@media (max-width:600px){.r-glance{gap:6px 8px}.r-glance li{font-size:12px;padding:7px 11px}}

/* informations pratiques */
.b-practical{padding-top:90px;padding-bottom:30px}
.b-practical .details-list span,.g-specs .details-list span.s-long{font:400 clamp(16px,1.6vw,19px)/1.5 var(--serif);max-width:640px}

/* inscription liste d'attente (Brevo) */
.r-notify{max-width:620px;margin:0 auto;text-align:center}
.r-notify h3{font:500 clamp(24px,3vw,34px)/1.1 var(--serif);margin:0 0 22px;letter-spacing:-.02em}
.notify-form{display:grid;gap:12px;text-align:left}
.n-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.notify-form input[type=text],.notify-form input[type=email]{width:100%;box-sizing:border-box;padding:15px 16px;border:1.5px solid #1b151166;border-radius:12px;background:#fffdf7;font:16px var(--sans);color:var(--ink)}
.notify-form input:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.n-opt{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink)}
.n-opt input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--ink)}
.n-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.notify-form .button{justify-self:center;border:0;cursor:pointer;font-size:16px;padding:15px 34px}
.notify-form .n-msg{margin:0;font-size:15px;text-align:center;color:var(--ink)}
.notify-form .n-msg.ok{color:#1d5a2e;font-weight:600}.notify-form .n-msg.err{color:#8a1f1f;font-weight:600}
.notify-form .n-note{margin:0;font-size:13px;text-align:center;color:var(--muted)}.n-note a{text-decoration:underline}
.b-notify{background:var(--soft);padding:80px 0}
@media(max-width:600px){.n-row{grid-template-columns:1fr}}

/* bandeau contact : photo large de l’église */
.c-hero>img{height:clamp(340px,64vh,740px);object-position:50% 58%}

/* bandeaux Travaux et Vidéos : photos larges */
.w-hero>img{height:clamp(340px,64vh,740px);object-position:50% 40%}
.x-short>img{height:clamp(300px,56vh,620px);object-position:50% 50%;filter:none}

/* ——— Page La plaque de Robert et Jehenne ——— */
.pl-hero>img{height:clamp(300px,52vh,560px);object-position:50% 40%}
.pl-wrap{width:min(1100px,90%);margin:0 auto}
.pl-sec{padding:76px 0}.pl-alt{background:var(--soft)}
.pl-sec h2{font:400 clamp(30px,4vw,52px)/1.05 var(--serif);letter-spacing:-.025em;margin:0 0 14px;color:var(--ink)}
.pl-sec h3{font:500 24px/1.15 var(--serif);margin:0 0 12px;color:var(--ink)}
.pl-intro{max-width:44em;color:var(--muted);font-size:18px;line-height:1.6;margin:0 0 30px}
.pl-photo{margin:0 0 30px}.pl-photo img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 18px 50px #1b15112e}
.pl-photo figcaption{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5}
.pl-fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pl-card{background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:22px}
.pl-card small{display:block;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brick);margin-bottom:8px}
.pl-card b{display:block;font:400 28px/1.1 var(--serif);margin-bottom:10px;color:var(--ink)}
.pl-card p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.pl-tools{display:flex;gap:10px;margin-bottom:18px}
.pl-btn{font:600 14px var(--sans);padding:10px 18px;border-radius:99px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.pl-btn:hover{background:var(--ink);color:#fff}
.pl-lines{display:grid;gap:10px}
details.pl-line{background:#fffdf7;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pl-line summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;padding:16px 20px}
.pl-line summary::-webkit-details-marker{display:none}
.pl-line summary:after{content:"+";margin-left:auto;color:var(--brick);font:400 26px/1 var(--sans)}
.pl-line[open] summary:after{content:"−"}
.pl-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--door);color:var(--night);font:700 14px/30px var(--sans);text-align:center}
.pl-eng{font:italic 400 clamp(17px,2vw,22px)/1.35 var(--serif);color:var(--ink)}
.pl-body{padding:0 20px 20px 66px}.pl-body p{margin:0 0 12px}
.pl-now{font-size:17px;line-height:1.55;color:var(--ink)}.pl-now b{color:var(--brick)}
.pl-fun{border-left:3px solid var(--door);padding-left:14px;color:var(--muted);font-size:15px;line-height:1.6}
.pl-fun-solo{margin-top:22px}
.pl-table{width:100%;border-collapse:collapse;background:#fffdf7;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pl-table th{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brick);text-align:left;padding:14px 18px;background:var(--soft)}
.pl-table td{padding:13px 18px;border-top:1px solid var(--line);font-size:16px;line-height:1.5;vertical-align:top;color:var(--ink)}
.pl-table td:last-child{color:var(--muted);font-size:15px}
.pl-w{font:italic 400 19px/1.4 var(--serif)!important;color:var(--ink)!important;white-space:nowrap}
.pl-lat .pl-w{white-space:normal}
.pl-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.pl-date{background:var(--door);color:var(--night);border-radius:18px;padding:24px}
.pl-date small{display:block;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.pl-date b{display:block;font:400 clamp(26px,3vw,34px)/1.05 var(--serif);margin-bottom:12px}.pl-date b:first-letter{text-transform:uppercase}
.pl-date p{margin:0;font-size:15px;line-height:1.55}
.pl-calc{margin-top:34px;max-width:46em}.pl-calc p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.pl-quiz{display:grid;gap:14px;max-width:46em}
.pl-q{background:#fffdf7;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.pl-q p{margin:0 0 8px;font-size:17px}.pl-q ol{margin:0 0 12px 22px;padding:0;line-height:1.7}
.pl-q summary{cursor:pointer;font:600 14px var(--sans);color:var(--brick)}.pl-q details p{margin:10px 0 0;color:var(--muted)}
.pl-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px}
.pl-two ul{margin:0;padding-left:20px;line-height:1.65;color:var(--ink)}.pl-two li{margin-bottom:8px}
.pl-cta{background:#fffdf7;color:var(--ink);border:1.5px solid var(--ink);border-radius:20px;padding:34px;margin-bottom:26px}
.pl-cta h3{color:var(--ink)}.pl-cta p{color:var(--ink);max-width:38em;margin:0 0 18px;line-height:1.6}
.pl-src,.pl-also{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 8px}.pl-src a,.pl-also a{text-decoration:underline}
@media(max-width:760px){
.pl-two{grid-template-columns:1fr}.pl-body{padding-left:20px}
.pl-table thead{display:none}.pl-table,.pl-table tbody,.pl-table tr,.pl-table td{display:block}
.pl-table tr{border-top:1px solid var(--line);padding:10px 0}.pl-table td{border:0;padding:4px 18px}
.pl-table td:before{content:attr(data-label);display:block;font:600 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brick)}
.pl-w{white-space:normal}}

/* colombe de l’Esprit-Saint (page Histoire) */
.h-dove{padding:80px 0;background:var(--soft)}
.h-dove-in{width:min(1000px,90%);margin:0 auto;display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:56px;align-items:center}
.h-dove-in img{width:100%;height:auto;display:block;filter:drop-shadow(0 14px 30px #1b15112e)}
.h-dove-in h2{font:400 clamp(30px,4vw,48px)/1.05 var(--serif);letter-spacing:-.025em;margin:6px 0 16px;color:var(--ink)}
.h-dove-in .body-copy{max-width:34em;color:var(--ink);font-size:18px;line-height:1.65;margin:0 0 18px}
@media(max-width:760px){.h-dove-in{grid-template-columns:1fr;gap:28px}.h-dove-in img{max-width:300px;margin:0 auto}}

/* peintures de l’église : colombe + ange */
.h-paint-in{width:min(1040px,90%);margin:0 auto}
.h-paint-in h2{font:400 clamp(30px,4vw,48px)/1.05 var(--serif);letter-spacing:-.025em;margin:6px 0 14px;color:var(--ink)}
.h-paint-in>.body-copy{max-width:40em;color:var(--ink);font-size:18px;line-height:1.6;margin:0 0 34px}
.h-paint-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:26px}
.h-paint-it{margin:0}.h-paint-it img{width:100%;height:auto;max-height:420px;object-fit:contain;display:block;filter:drop-shadow(0 14px 30px #1b15112e);margin:0 auto 22px}
.h-paint-it h3{font:500 26px/1.15 var(--serif);margin:0 0 10px;color:var(--ink)}
.h-paint-it p{margin:0;font-size:16px;line-height:1.65;color:var(--ink)}
@media(max-width:760px){.h-paint-grid{grid-template-columns:1fr;gap:40px}.h-paint-it img{max-height:320px}}

.h-paint-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

/* schéma animé « une boîte dans la boîte » (page gîte) */
.bx-stage{margin:0;background:#fff;border-radius:6px;padding:20px;box-shadow:0 30px 60px -40px #3a2f2566;border:1px solid var(--line)}
.bx-stage svg{width:100%;height:auto;display:block}
.bx-stage figcaption{font:italic 13px var(--serif);color:var(--muted);text-align:center;margin-top:6px}
.js .bx-v{opacity:0;transform:translateY(-40px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 4px 6px #8a5a1a33)}
.js .bx-v.on{opacity:1;transform:none}
.bx-v.now polygon{stroke:#7a4a14;stroke-width:1.4}
.js .bx-b{opacity:0;transition:opacity .5s ease .5s}.js .bx-b.on{opacity:1}
.bx-steps{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 14px}
.bx-steps button{font:600 14px var(--sans);min-width:44px;height:44px;padding:0 16px;border-radius:99px;border:1.5px solid var(--ink);background:#fffdf7;color:var(--ink);cursor:pointer}
.bx-steps button[aria-pressed=true]{background:var(--door);border-color:var(--ink)}
.bx-steps button:hover{background:#fff4d2}
.bx-steps .bx-replay{border-style:dashed}
.bx-cap{min-height:3.4em;margin:0 0 22px;font:400 clamp(17px,1.4vw,19px)/1.55 var(--serif);color:var(--ink);max-width:30em}

@media(min-width:900px){.bx-layout{grid-template-columns:1fr 1.45fr}}

/* bande « hôte d’expérience » (Airbnb) */
.tr-band{background:var(--soft);padding:56px 0}
.tr-in{width:min(1040px,90%);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:12px 40px;align-items:center}
.tr-in h2{font:400 clamp(26px,3vw,38px)/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 10px;color:var(--ink)}
.tr-in p{margin:0;font-size:17px;line-height:1.6;color:var(--ink);max-width:34em}
.tr-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tr-chips li{background:#fffdf7;border:1px solid var(--line);border-radius:99px;padding:10px 16px;font:600 14px var(--sans);color:var(--ink)}
.tr-in .text-link{grid-column:1/-1;justify-self:start;text-decoration:underline}
@media(max-width:760px){.tr-in{grid-template-columns:1fr}}

/* page Luc */
.lc-sec{padding:70px 0 90px}
.lc-wrap{width:min(1040px,90%);margin:0 auto}
.lc-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:64px;align-items:start}
.lc-photo{margin:0}.lc-photo img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 18px 50px #1b15112e}
.lc-photo figcaption{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5}
.lc-text h1{font:400 clamp(28px,3.4vw,42px)/1.15 var(--serif);letter-spacing:-.02em;margin:8px 0 26px;color:var(--ink)}
.lc-text p{font-size:19px;line-height:1.7;color:var(--ink);margin:0 0 18px;max-width:32em}
.lc-text p.r-kicker{font-size:11px;margin:0}
.lc-cta{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:30px}
.lc-cta .text-link{text-decoration:underline}
@media(max-width:820px){.lc-grid{grid-template-columns:1fr;gap:34px}.lc-photo{max-width:340px}}

.lc-more{padding:0 0 90px}.lc-more .lc-text{max-width:40em;border-top:1px solid #1b151122;padding-top:48px}.lc-more h2{font:400 clamp(26px,3vw,36px)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 26px;color:var(--ink)}

.pt-sec h1{font:400 clamp(36px,5vw,60px)/1.05 var(--serif);letter-spacing:-.03em;margin:8px 0 22px;color:var(--ink)}
.pt-sec h2{font:400 clamp(26px,3vw,36px)/1.15 var(--serif);letter-spacing:-.02em;margin:56px 0 22px;color:var(--ink)}
.pt-intro{font-size:20px;line-height:1.6;color:var(--ink);max-width:36em;margin:0}
.pt-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.pt-card{background:#fff;border:1px solid #1b151122;border-radius:14px;padding:22px 22px 20px}
.pt-card h3{font:400 22px/1.2 var(--serif);margin:0 0 8px;color:var(--ink)}
.pt-card p{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.pt-card p.pt-trade{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.pt-note{font-size:17px;line-height:1.6;color:var(--ink);max-width:38em;margin:18px 0 0}
.pt-cta{margin-top:56px;padding:28px;border-radius:14px;background:#f6ecd9;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.pt-cta p{margin:0;font-size:19px;color:var(--ink)}


.sf-sec{padding-top:70px;padding-bottom:20px}.sf-sec h2{font:400 clamp(28px,3.4vw,42px)/1.15 var(--serif);letter-spacing:-.02em;margin:6px 0 14px;color:var(--ink)}
.sf-intro{font-size:19px;line-height:1.6;color:var(--ink);max-width:36em;margin:0 0 28px}
.sf-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:800px){.sf-cols{grid-template-columns:1fr}}
.sf-col{background:#f3efe6;border:1px solid #1b151122;border-radius:14px;padding:26px 28px}.sf-col.sf-warm{background:#fbefd8}
.sf-col h3{font:400 24px/1.2 var(--serif);margin:0;color:var(--ink)}.sf-total{font:500 15px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:6px 0 16px}
.sf-col ul{list-style:none;margin:0;padding:0}.sf-col li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #1b151118;font-size:17px;line-height:1.4;color:var(--ink)}.sf-col li b{font-weight:600;white-space:nowrap}
.sf-note{font-size:15px;line-height:1.6;color:var(--muted);max-width:44em;margin:20px 0 0}

.tz-sec{padding:80px 0 90px}.tz-sec h2{font:400 clamp(28px,3.4vw,42px)/1.15 var(--serif);letter-spacing:-.02em;margin:6px 0 28px;color:var(--ink)}
.tz-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.tz-card{position:relative;display:block;height:100%;background:#fff;border:1px solid #1b151122;border-radius:14px;padding:24px 44px 24px 24px;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.tz-card:hover,.tz-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px #1b151120}
.tz-card h3{font:400 22px/1.2 var(--serif);margin:0 0 8px}.tz-card p{font-size:16px;line-height:1.5;color:var(--muted);margin:0}.tz-card span{position:absolute;right:20px;top:22px;font-size:26px;color:var(--brick)}

.pl-listen{background:#f6ecd9;padding:44px 0 40px}.pl-listen h2{font:400 clamp(26px,3vw,36px)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}
.pl-listen p{font-size:18px;line-height:1.6;color:var(--ink);margin:0 0 16px;max-width:38em}.pl-listen audio{display:block;width:100%;max-width:640px;margin:6px 0 14px}
.pl-listen .pl-note{font-size:14px;color:var(--muted);margin:0}

.pl-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 28px;margin:6px 0 16px}.pl-track h3{font:500 17px/1.3 var(--sans);color:var(--ink);margin:0 0 6px}.pl-track audio{margin:0;max-width:100%}

.pl-lyrics{margin:10px 0 0;font-size:15px}.pl-lyrics summary{cursor:pointer;color:var(--brick);font-weight:600;padding:4px 0}
.pl-lyrics div{margin-top:8px;padding:14px 18px;background:#fffdf7;border:1px solid #1b151122;border-radius:12px}.pl-lyrics p{font-size:16px;line-height:1.55;margin:0 0 12px;color:var(--ink)}.pl-lyrics p:last-child{margin-bottom:0}
.pl-listen .pl-note a{color:var(--brick);font-weight:600;text-decoration:underline}

.global-nav nav>a,.global-nav nav>button{font-size:14px;padding:11px 0}
@media (max-width:1180px){.global-nav nav>a,.global-nav nav>button{font-size:13px}.global-nav nav{gap:14px}}

.pc-fig{margin:28px 0 0}.pc-fig a{display:block;border-radius:14px;overflow:hidden;box-shadow:0 14px 40px #1b15112b;background:#fff}.pc-fig img{display:block;width:100%;height:auto}
.pc-fig figcaption{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5}

.rd-filter{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}.rd-filter button{font:500 15px var(--sans);padding:9px 16px;border-radius:99px;border:1px solid #1b151133;background:#fffdf7;color:var(--ink);cursor:pointer}
.rd-filter button[aria-pressed=true]{background:var(--brick);border-color:var(--brick);color:#fff}.rd-filter button:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
.rd-hint{font-size:16px;color:var(--ink);margin:6px 0 4px}
.g-gallery .photo-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.g-gallery .archive-photo:nth-child(n){grid-column:auto;grid-row:auto;display:flex;flex-direction:column;border-radius:14px;background:#fffdf7;border:1px solid #1b151122}
.g-gallery .archive-photo:nth-child(n) img{height:250px;width:100%;object-fit:cover}
.g-gallery .archive-photo>span{position:static;opacity:1;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px 14px;background:#fffdf7;color:var(--ink);font-size:15px;line-height:1.4}
.g-gallery .archive-photo[hidden]{display:none}
@media (max-width:900px){.g-gallery .photo-mosaic{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.g-gallery .photo-mosaic{grid-template-columns:1fr}}
.e-head .e-mod{margin-top:0;font-weight:400;color:#5b4e40;max-width:30em}
.ph-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:34px}.ph-grid .pt-card p{color:var(--ink)}
.ph-lead{font:italic 400 clamp(22px,2.4vw,30px)/1.35 var(--serif);color:var(--brick);max-width:34em;margin:28px 0 0;padding-left:18px;border-left:3px solid var(--brick)}
.ph-welcome{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:6px}.pt-sec .ph-h2{margin-top:64px}
