:root{--night:#081c2b;--blue:#102b3d;--ivory:#f4f0e6;--ivory-surface:#eae2d2;--gold:#d3ae72;--muted:#b9c3c8;--ink:#26343a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:only light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--sans);font-size:1rem;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure,blockquote{margin:0}p{margin:0 0 1.4rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0 0 1.6rem}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-size:clamp(2rem,3vw,3rem)}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--ivory-surface);color:var(--night);z-index:100}.skip:focus{top:10px}.header{min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:18px 4%;gap:2rem;background:var(--night);position:relative;z-index:20;border-bottom:1px solid #ffffff18}.brand{font-family:var(--serif);color:var(--gold);font-size:1.2rem;line-height:1.2;letter-spacing:.08em;white-space:nowrap}.brand span{display:block;font-size:.75rem;letter-spacing:.3em;margin-top:9px}nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,35px)}nav a{font-size:.875rem;white-space:nowrap}nav a:hover,.text-link:hover{color:var(--gold)}.reserve{padding:10px 22px;border:1px solid #d3ae7280}.menu-toggle{display:none}.hero{height:min(790px,calc(100svh - 96px));min-height:560px;position:relative;isolation:isolate;display:flex;align-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,25,.76),rgba(3,16,25,.18) 70%),linear-gradient(0deg,rgba(3,16,25,.6),transparent 35%);z-index:-1}.hero-content{margin:0 8%;padding-bottom:35px;max-width:780px}.eyebrow{font-size:.75rem;letter-spacing:.19em;font-weight:500;color:var(--gold);margin-bottom:1.5rem;line-height:1.7}.hero h1{font-size:clamp(3.6rem,6.8vw,7rem);text-shadow:0 2px 22px #0003}.signature{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.8rem)}.scroll-link{position:absolute;left:8%;bottom:38px;font-size:.875rem;display:flex;align-items:center;gap:25px}.scroll-link span{font-size:1.6rem}.hero-note{position:absolute;bottom:47px;right:5%;font-size:.75rem;letter-spacing:.15em}.section{padding:110px 8%;scroll-margin-top:20px}.intro{display:grid;grid-template-columns:1.05fr .85fr;gap:12%;background:var(--ivory-surface);color:var(--ink);align-items:center}.intro .eyebrow,.practical .eyebrow,.gites .eyebrow{color:#785629}.intro-copy p:not(.eyebrow){max-width:520px}.intro-copy h2{margin-bottom:35px}.door img{height:520px;object-fit:cover}.door figcaption{font-family:var(--serif);font-style:italic;text-align:right;font-size:1rem;margin-top:15px;color:#5a615f}.history{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.history>figure{padding-top:35px}.history>figure img{height:670px;object-fit:cover}.history blockquote{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.3;color:var(--gold);margin:30px 0}.history-copy>p:not(.eyebrow){color:var(--muted);max-width:480px}.stair{width:48%;height:240px;object-fit:cover;margin:35px 0 0 auto}.gites{background:var(--ivory-surface);color:var(--ink)}.section-heading{text-align:center;margin-bottom:70px}.section-heading>p:last-child{font-family:var(--serif);font-size:1.25rem}.stay{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:center;margin-top:65px}.stay>img{height:460px;object-fit:cover}.stay-copy p{max-width:420px}.stay-copy .eyebrow{display:block}.text-link{border-bottom:1px solid #8a6a39;padding:12px 0;display:inline-flex;gap:50px;font-size:.875rem}.text-link:hover{color:#785629}.intimate{grid-template-columns:1fr 1.25fr;margin-top:100px}.intimate img{grid-column:2;grid-row:1}.intimate .stay-copy{grid-column:1;grid-row:1}.garden{display:grid;grid-template-columns:1fr 1fr;gap:50px 10%;align-items:center}.garden>div p:not(.eyebrow){max-width:460px;color:var(--muted)}.garden>img{grid-column:2;grid-row:1/3;height:620px;object-fit:cover}.garden blockquote{font-family:var(--serif);font-size:2rem;line-height:1.45;color:var(--gold);max-width:480px}.touraine{text-align:center;background:var(--blue);border-block:1px solid #d3ae7225}.touraine>p:not(.eyebrow){max-width:700px;margin:0 auto 30px}.touraine .large-quote{font-family:var(--serif);font-size:1.6rem;color:var(--gold);padding-top:25px}.practical{background:var(--ivory-surface);color:var(--ink);display:grid;grid-template-columns:1fr 1.4fr;gap:10%}dl{margin:0}dl>div{border-bottom:1px solid #26343a30;padding:15px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}dt{font-family:var(--serif);font-size:1.2rem}dd{margin:0}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.gallery-heading>p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:22px}.gallery-grid img{height:340px;object-fit:cover;transition:filter .3s}.gallery-grid a:hover img{filter:brightness(1.1)}.booking{text-align:center;border-top:1px solid #d3ae7230;padding-top:85px;background:var(--blue)}.booking h2{font-size:clamp(2.7rem,5vw,5rem)}.booking>p:not(.eyebrow){max-width:590px;margin:25px auto;font-family:var(--serif);font-size:1.2rem}.booking .pending{font-family:var(--sans)!important;font-size:.875rem!important;color:var(--muted);border-top:1px solid #ffffff25;padding-top:22px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 5%;font-size:.875rem}footer p{margin:0;font-style:italic;font-family:var(--serif);font-size:1.1rem}footer>a:last-child{color:var(--muted)}@media(min-width:1600px){.section{padding-inline:max(8%,calc((100% - 1400px)/2))}}@media(max-width:1050px){.header{flex-wrap:wrap;gap:20px;justify-content:center}nav{justify-content:center;flex-wrap:wrap;gap:18px}.hero{height:700px}.hero h1{font-size:5rem}.section{padding:80px 6%}.intro,.history{gap:7%}.door img{height:480px}.stay{gap:5%}.stay>img{height:390px}}@media(max-width:720px){html{scroll-padding-top:20px}.header{min-height:85px;justify-content:space-between;padding:18px 6%;gap:15px}.brand{font-size:1rem}.menu-toggle{display:flex;align-items:center;gap:15px;background:transparent;border:1px solid #d3ae7280;color:var(--ivory);padding:8px 12px;min-height:44px;font-size:.875rem}nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding-top:5px}nav.open{display:flex}nav a{padding:12px;border-top:1px solid #ffffff1a}nav .reserve{margin-top:10px;text-align:center}.hero{height:calc(100svh - 85px);min-height:540px;max-height:850px}.hero>img{object-position:60% center}.hero:after{background:linear-gradient(90deg,#031019b8,#03101930),linear-gradient(0deg,#03101999,transparent 45%)}.hero-content{margin:0 7%;padding-bottom:15px}.hero h1{font-size:clamp(3.2rem,12vw,5rem)}.signature{font-size:1.25rem;max-width:280px}.hero-note{display:none}.scroll-link{left:7%;bottom:25px}.section{padding:65px 7%}.intro,.history,.stay,.intimate,.garden,.practical{grid-template-columns:1fr;gap:35px}.intro-copy h2{margin-bottom:25px}.door img{height:420px}.history>figure{padding:0}.history>figure img{height:420px}.history blockquote{margin-top:20px;font-size:2.3rem}.stair{height:260px;width:55%}.section-heading{text-align:left;margin-bottom:40px}.stay{margin-top:40px}.stay>img{height:300px}.intimate{margin-top:65px}.intimate img,.intimate .stay-copy{grid-column:auto;grid-row:auto}.garden>img{grid-column:auto;grid-row:auto;height:440px}.garden blockquote{font-size:1.75rem}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.gallery-grid>a:first-child{grid-column:1/-1}.gallery-grid img{height:250px}.gallery-grid>a:first-child img{height:280px}dl>div{grid-template-columns:1fr;gap:4px}.practical{gap:15px}.touraine .large-quote{font-size:1.35rem}footer{padding:40px 7%;align-items:flex-start;flex-direction:column;gap:25px}.eyebrow{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.airbnb-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:35px 0}.airbnb-links a{font-size:1rem;line-height:1.6;min-height:48px}.airbnb-links a:hover{background:var(--night);color:var(--gold)}

/* Practical information follows the house's navy and gold palette. */
.practical-expanded{display:block;background:var(--night);color:var(--ivory);border-top:1px solid #d3ae7230}.practical-heading{max-width:680px;margin-bottom:48px}.practical .eyebrow{color:var(--gold)}.practical-heading>p:last-child{color:var(--muted);font-family:var(--serif);font-size:1.25rem}.practical-lodgings{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}.practical-lodgings article{min-width:0;background:var(--blue);border:1px solid #d3ae7230}.practical-photo{height:245px;object-fit:cover}.practical-card-body{padding:32px}.practical-lodgings h3{font-size:2.2rem;margin-bottom:18px}.practical-lodgings .eyebrow{margin-bottom:12px}.access-note{color:var(--gold);min-height:58px;font-size:.95rem}.access-note strong{font-weight:400}.practical-lodgings dl>div{grid-template-columns:1fr;gap:6px;padding:16px 0;border-color:#ffffff20}.practical-lodgings dt{font-size:1.15rem;color:var(--ivory)}.practical-lodgings dd{line-height:1.7;color:#d2dadd}.practical-lodgings details{margin:12px 0}.practical-lodgings summary{cursor:pointer;padding:12px 0;min-height:48px;font-size:1rem;color:var(--gold)}.practical-lodgings summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.practical-lodgings details p{margin:12px 0;font-family:var(--sans);font-size:1rem;line-height:1.7;color:#d2dadd}.practical-lodgings .equipment-row{padding:0}.equipment-row dt{font-family:var(--serif)}.equipment-row details{margin:0}.equipment-row summary{font-size:1.15rem;color:var(--ivory);padding:17px 0}.practical-lodgings .text-link{gap:15px;color:var(--gold)}.practical-lodgings .text-link:hover{color:var(--ivory)}.practical-shared{border-left:2px solid var(--gold);margin-top:48px;padding:6px 0 6px 28px;max-width:850px}.practical-shared h3{font-size:1.8rem;color:var(--gold)}.practical-shared p{color:#d2dadd}.practical-nearby{margin-top:26px;padding-top:22px;border-top:1px solid #d3ae7230}.practical-nearby h3{margin-bottom:8px}.practical-nearby p{margin-bottom:0}.practical-shared .practical-source{font-size:.875rem;color:var(--muted);margin-bottom:0}@media(max-width:720px){.practical-lodgings{grid-template-columns:1fr;gap:30px}.practical-card-body{padding:24px}.practical-photo{height:220px}.practical-lodgings .access-note{min-height:0}.practical-shared{padding-left:20px}}

.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:32px;text-align:left;margin-top:48px}.booking-option{padding:36px;background:var(--night);border:1px solid #d3ae7240;min-width:0}.booking-option h3{font-size:2rem}.booking-option>p:not(.eyebrow){color:#d2dadd}.booking-direct{border-top:3px solid var(--gold)}.booking-option .airbnb-links{flex-direction:column;align-items:flex-start;margin:24px 0}.booking-option address{font-style:normal;color:var(--muted);line-height:1.7}.booking-option address strong{font-weight:400;color:var(--ivory)}.booking-option .booking-note{font-size:.875rem;color:var(--muted)}@media(max-width:720px){.booking-options{grid-template-columns:1fr;gap:24px}.booking-option{padding:26px}.booking-option .reserve{padding:10px 16px}}

.garden-second{grid-column:1;grid-row:3;margin-top:0;max-width:440px}.garden-second img{height:auto}.garden-second figcaption{font-family:var(--serif);font-style:italic;color:var(--gold);margin-top:14px}.garden>img{grid-row:1/4}@media(max-width:720px){.garden-second{grid-column:auto;grid-row:auto;max-width:none}.garden>img{grid-row:auto}}

/* Affinage mesuré — 12 septembre 2026. */
.hero .signature{font-size:clamp(1.4rem,2.1vw,1.9rem);color:var(--ivory);text-shadow:0 1px 10px #0006;line-height:1.5}.hero .eyebrow,.hero-note{font-size:.8125rem}.scroll-link{font-size:.9375rem;min-height:44px;text-shadow:0 1px 8px #0008}.intro-copy p,.history-copy>p,.stay-copy p,.host-copy p,.destination>div>p{max-width:58ch}.host{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-top:1px solid #d3ae7230}.host h2{font-size:clamp(2.3rem,4vw,4rem)}.host-copy{color:var(--muted);padding-top:8px}.host-copy p:last-child{margin-bottom:0}.practical-lodgings dd{max-width:54ch}.garden{row-gap:32px}.garden-second{max-width:330px}.region-opening h1,.gallery-intro h1{font-size:clamp(2.8rem,4.8vw,4.8rem)}
@media(max-width:720px){.hero .signature{font-size:1.35rem;max-width:320px}.hero .eyebrow{font-size:.8125rem}.brand span{font-size:.8125rem;letter-spacing:.25em}.host{grid-template-columns:1fr;gap:20px}.host-copy{padding-top:0}.garden-second{max-width:100%}.region-opening h1,.gallery-intro h1{font-size:2.8rem}.hero h1{font-size:clamp(2.65rem,10.6vw,4.75rem)}.hero-content{align-self:flex-end;margin-bottom:105px}.hero>img{object-position:58% center}.hero:after{background:linear-gradient(0deg,#031019e0,rgba(3,16,25,.55) 55%,rgba(3,16,25,.16))}.hero-note{display:block;left:7%;right:auto;bottom:18px;font-size:.75rem}.scroll-link{bottom:45px}.hero{min-height:610px}.hero .signature{margin-bottom:0}}

@media(max-width:720px){.booking h2{font-size:clamp(2.1rem,8.8vw,2.7rem)}}

.history-copy .dining-start{margin-top:35px}

/* Text follows the stair photograph, then resumes the full column. */
@media(min-width:721px){
 .history-copy{display:flow-root}
 .history-copy .stair{float:right;width:42%;height:240px;margin:6px 0 20px 24px}
 .history-copy>p:not(.eyebrow){max-width:none}
 .history-copy .dining-start{margin-top:0}
}

/* Final editorial rhythm: preserve copy, photographs and the house palette. */
.hero h1{line-height:1.04;letter-spacing:-.025em;margin-bottom:28px}
.hero .signature{max-width:34ch}
.intro,.garden{padding-block:130px}
.history{padding-block:120px 140px}
.gites{padding-block:125px 140px}
.gites .section-heading{max-width:850px;margin-inline:auto;margin-bottom:85px}
.stay-copy p{max-width:46ch;line-height:1.9}
.intimate{margin-top:145px}
.intimate .stay-copy{max-width:440px}
.host{padding-block:125px}
.booking{padding-block:125px 110px}
.booking>p:not(.eyebrow){max-width:48ch;line-height:1.8;margin-block:32px 64px}
.booking-options{max-width:1050px;margin-inline:auto;gap:65px}
.booking-option{background:transparent;border:0;padding:32px 0 0;border-top:1px solid #d3ae7260}
.booking-option h3{font-size:1.85rem}
.booking-option>p{max-width:46ch}
@media(max-width:1050px){.intro,.history,.gites,.garden,.host,.booking{padding-block:95px}.intimate{margin-top:105px}.booking-options{gap:40px}}
@media(max-width:720px){
 .hero h1{line-height:1.08;margin-bottom:24px}
 .hero .signature{max-width:25ch}
 .intro,.history,.gites,.garden,.host,.booking{padding-block:80px}
 .intro,.history,.garden{gap:42px}
 .intro-copy h2{margin-bottom:30px}
 .gites .section-heading{margin-bottom:48px}
 .intimate{margin-top:90px}
 .stay-copy p{line-height:1.85}
 .booking>p:not(.eyebrow){margin-bottom:44px}
 .booking-options{gap:42px}
 .booking-option{padding:26px 0 0}
}

/* Garden: pair the first view with the story, the second with the quotation. */
@media(min-width:721px){
 .garden{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:48px;align-items:center}
 .garden>div{grid-column:1;grid-row:1}
 .garden>img{grid-column:2;grid-row:1;height:auto;aspect-ratio:1;object-fit:cover;align-self:center}
 .garden-second{grid-column:1;grid-row:2;width:100%;max-width:290px;justify-self:center}
 .garden>blockquote{grid-column:2;grid-row:2;align-self:center;max-width:22ch;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.5}
}


/* Grammaire graphique du Presbytère : fonctionnelle dans les détails, rare dans le récit. */
.detail-heading{display:inline-flex;align-items:center;gap:12px;min-height:38px}
.detail-icon{display:block;width:48px;height:38px;object-fit:contain;flex:0 0 48px}
.poetic-sign{position:relative;display:flex;align-items:center;justify-content:center;width:max-content;perspective:700px}
.poetic-sign img{display:block;width:auto;object-fit:contain;transform-origin:center}
.poetic-heading-axis{width:max-content;max-width:100%}
.poetic-flame{margin:0 auto 18px}
.poetic-flame img{height:58px}
.poetic-key{margin:0 auto 22px}
.poetic-key img{height:72px}
.host-signature{width:max-content;max-width:100%}
.poetic-laurel{margin:0 auto 18px}
.poetic-laurel img{width:74px;height:auto}
.poetic-key.is-revealed img{animation:poetic-key-turn 2200ms cubic-bezier(.45,.05,.2,1) both}
.poetic-flame.is-revealed img{animation:poetic-flame-breathe 1800ms cubic-bezier(.22,.61,.36,1) both}
.poetic-laurel.is-revealed img{animation:poetic-laurel-rise 1500ms cubic-bezier(.22,.61,.36,1) both}
@keyframes poetic-key-turn{
  0%{opacity:.82;transform:rotateY(0deg)}
  50%{opacity:1;transform:rotateY(360deg)}
  100%{opacity:1;transform:rotateY(720deg)}
}
@keyframes poetic-flame-breathe{
  0%{opacity:.58;transform:translateY(6px) rotate(-1.1deg) scaleY(.98)}
  54%{opacity:1;transform:translateY(-2px) rotate(1.1deg) scaleY(1.025)}
  100%{opacity:1;transform:translateY(0) rotate(0) scaleY(1)}
}
@keyframes poetic-laurel-rise{
  0%{opacity:.25;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}
.presbytere-transition{display:grid;grid-template-columns:minmax(50px,1fr) auto minmax(50px,1fr);align-items:center;gap:30px;padding:26px 8% 54px;background:var(--night)}
.presbytere-transition span{display:block;width:100%;height:1px;background:var(--gold);opacity:.48}
.presbytere-transition img{width:46px;height:40px;object-fit:contain;opacity:.9}
@media(max-width:720px){
  .detail-heading{gap:10px;min-height:32px}
  .detail-icon{width:40px;height:32px;flex-basis:40px}
  .poetic-flame img{height:49px}
  .poetic-key img{height:62px}
  .poetic-laurel img{width:65px}
  .presbytere-transition{gap:18px;padding:18px 7% 42px}
  .presbytere-transition img{width:40px;height:35px}
}
@media(prefers-reduced-motion:reduce){
  .poetic-sign,.poetic-sign img{animation:none!important;transform:none!important;opacity:1!important}
}

/* Portrait de l'hôte — présence éditoriale, sans cadre. */
.host-copy::after{content:"";display:block;clear:both}
.host-portrait{float:left;width:clamp(160px,16vw,210px);aspect-ratio:1;margin:0 clamp(24px,3vw,38px) 20px 0;border:0;border-radius:50%;overflow:hidden;background:transparent;shape-outside:circle(50%)}
.host-portrait img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:50%;box-shadow:none}
.host-copy>p:first-of-type{margin-top:0}
@media(max-width:720px){
  .host-portrait{float:none;width:min(58vw,220px);margin:4px auto 34px;shape-outside:none}
}
