/* Responsive layer: mobile typography is preserved. */
:root{--gutter:24px}html{scroll-padding-top:16px}body{overflow-wrap:break-word}.page{width:100%;max-width:1000px;min-width:0}.sticky{width:100%;max-width:1000px;left:50%;transform:translateX(-50%);padding-bottom:max(10px,env(safe-area-inset-bottom))}img{max-width:100%}input,select,textarea{min-width:0}.page>footer{overflow-wrap:anywhere}h1,h2,h3{overflow-wrap:normal} .contact-direct,.direct{min-width:0}.intro-reunion p{max-width:760px} 
@media(max-width:359px){header{gap:8px;padding-left:16px;padding-right:16px}.header-logo,.logo{width:120px}.header-location,.location{white-space:normal}.section-formules p.stay-capacity{white-space:normal;margin-left:0;margin-right:0;text-wrap:balance}.contact-direct,.direct{flex-wrap:wrap}.contact-direct a,.direct a{white-space:normal}.pair,.field-pair{min-width:0}}
@media(min-width:700px){
body{background:#fff}.page{box-shadow:none}header{padding:12px 48px}.intro{padding:16px 48px 22px}.intro h1{font-size:52px;line-height:1.16}.intro h1 br{display:block}.intro-reunion{padding:18px 48px 16px}.intro-reunion p{margin:0 auto}.section-formules{padding:8px 48px 24px;display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.section-formules .stay-capacity,.section-formules .price{grid-column:1/-1}.section-formules .price{padding-top:12px}.section-formules p.stay-capacity{margin-bottom:12px}.section-reception,.section-sejour,.tail-section{padding-left:48px;padding-right:48px}.section-reception{padding-top:20px}.section-reception>h2,.section-sejour>h2{margin-bottom:18px}.section-reception>.wide{width:calc(100% + 96px);margin-left:-48px;margin-right:-48px;max-width:none;height:auto;aspect-ratio:auto}.section-reception>.moment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;margin-top:24px}.section-reception>.moment+.moment{margin-top:24px}.section-reception .moment>.photo{grid-column:1;grid-row:1/3;width:100%;max-width:100%;margin:0;aspect-ratio:1.5;height:auto}.section-reception .moment h3{grid-column:2;align-self:end;margin:0 0 8px}.section-reception .moment p{grid-column:2;align-self:start;margin:0}.reception-finale{margin-top:24px}.reception-finale>.photo{width:calc(100% + 96px);margin-left:-48px;margin-right:-48px;max-width:none}.section-sejour{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 28px;padding-top:20px;padding-bottom:20px}.section-sejour>h2{grid-column:1/-1;margin:0}.section-sejour>.moment,.section-sejour>.moment+.moment{margin:0;min-width:0}.section-sejour .moment>.photo{width:100%;max-width:100%;margin:0;aspect-ratio:1.5}.section-sejour>.gallery-visible{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;margin:0}.gallery-visible>.photo{width:100%;max-width:100%;margin:0;aspect-ratio:1.5}.gallery-visible>.photo:first-child{grid-column:1;grid-row:1}.gallery-visible>h3:nth-child(2){grid-column:1;grid-row:2}.gallery-visible>.photo:nth-child(3){grid-column:2;grid-row:1}.gallery-visible>h3:nth-child(4){grid-column:2;grid-row:2}.gallery-visible>h3{margin:8px 0 0}.tail-section{padding-top:20px;padding-bottom:20px}.section-service .service-item,.section-avis .quote{max-width:760px;margin-left:auto;margin-right:auto}#contact form,#contact>.owner,#contact>h2,#contact>.contact-direct{max-width:580px;margin-left:auto;margin-right:auto}.sticky a{max-width:580px;margin:auto}.page>footer{padding-left:48px;padding-right:48px}.business-stories>.moment:last-child{grid-column:auto;display:block}.business-stories>.moment:last-child>img{height:auto}.reviews-intro h1{font-size:52px}.reviews-intro h1 br{display:block}.services>img{display:block;width:100%;height:auto;max-width:720px;margin:0 auto 14px}.wedding-route{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-bleed mobile photos and complete desktop hero framing. */
.wide,.reception-finale>.photo{max-width:none}
@media(min-width:700px){.hero{height:auto;aspect-ratio:auto}.section-sejour>h2 br{display:block}}

.marriage-page>.hero{height:auto;aspect-ratio:390/285}@media(min-width:700px){.marriage-page>.hero{aspect-ratio:auto}}@media(min-width:360px) and (max-width:389px){.intro:not(.intro-reunion){padding-left:16px;padding-right:16px}}@media(max-width:359px){.intro h1 br{display:none}.intro h1{text-wrap:balance}}
/* Balance odd editorial groups without leaving an empty desktop column. */
@media(min-width:700px){.moments>.moment:last-child:nth-child(odd),.outings>.outing:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.moments>.moment:last-child:nth-child(odd)>img,.outings>.outing:last-child:nth-child(odd)>img{width:100%;height:auto}.moments>.moment:last-child:nth-child(odd)>.copy,.outings>.outing:last-child:nth-child(odd)>.outing-copy{padding:12px 24px}}
/* Keep the required-field marker with the short English field labels. */
html[lang=en] #demo>.field,html[lang=en] #business-form>.field,html[lang=en] #stay-form>.field{grid-template-columns:104px minmax(0,1fr)}
