
:root{--ink:#243f49;--blue:#416b7b;--pale:#e9f0f1;--paper:#fffefa;--line:#d4dedc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#e4e7e5;color:var(--ink);font:16px/1.6 Arial,sans-serif}.page{max-width:430px;margin:auto;background:var(--paper);box-shadow:0 0 60px #20363815;padding-bottom:75px}header{height:75px;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid var(--line)}.brand{font:22px/1 Georgia,serif;letter-spacing:3px}.brand small{display:block;font:9px Arial;letter-spacing:3.5px;margin-bottom:6px}header a{font-size:12px;color:var(--ink);text-decoration:none;border-bottom:1px solid}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.12}h1{font-size:46px;letter-spacing:-1.5px;margin:13px 0 18px}h2{font-size:34px;margin:10px 0 20px;letter-spacing:-.6px}h3{font-size:24px;margin:15px 0 8px}p{margin:12px 0 20px}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--blue);font-weight:700}.intro{padding:28px 24px 24px}.intro p{font-size:17px;line-height:1.5}.hero{width:100%;height:285px;object-fit:cover;display:block}.promise{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:22px 10px;background:var(--pale);gap:8px}.promise b{display:block;font:29px Georgia}.promise span{font-size:11px;display:block;line-height:1.5}.btn{display:block;text-align:center;background:var(--ink);color:white;text-decoration:none;padding:15px 12px;font-size:14px;border:0;width:100%;cursor:pointer;font-family:Arial}.intro .btn{margin-top:22px}.section{padding:36px 24px;border-bottom:1px solid var(--line)}.muted{font-size:13px;color:#607174}.formula{padding:17px 0;border-top:1px solid var(--line)}.formula h3{margin:0 0 5px}.formula p{margin:0;font-size:14px}.price{font-size:14px;margin-top:20px}.photo{width:100%;display:block;object-fit:cover;aspect-ratio:1.5}.wide{margin:22px -24px;width:calc(100% + 48px)}.moment{margin:26px 0}.moment p{font-size:14px;margin-top:0}.number{font:italic 14px Georgia;color:var(--blue);margin-right:8px}.light{background:var(--pale)}.feature{border-top:1px solid #c4d3d5;padding:15px 0}.feature b{font-size:15px}.feature p{font-size:14px;margin:4px 0 0}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';font-size:21px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:14px;margin-bottom:0}.gallery img{margin-top:15px}.quote{font:23px/1.4 Georgia;border-left:2px solid #7d9b9f;padding-left:18px;margin:24px 0}.quote small{display:block;font:12px Arial;margin-top:14px;color:#637276}.textlink{color:var(--ink);font-size:13px;text-underline-offset:5px}.owner{display:flex;align-items:center;gap:15px;margin:24px 0}.owner img{width:62px;height:62px;border-radius:50%;object-fit:cover}.owner b{display:block}.owner span{font-size:12px}label{font-size:12px;display:block;margin:16px 0 6px}input,select,textarea{border:1px solid #bccccc;background:var(--paper);width:100%;padding:13px;font:16px Arial;border-radius:0;color:var(--ink)}textarea{min-height:95px}.check{display:flex;align-items:center;gap:8px;font-size:12px}.check input{width:auto}form .btn{margin-top:20px}.note{font-size:11px;line-height:1.5;color:#627478}footer{padding:30px 24px;font-size:12px}footer .brand{margin-bottom:18px}footer a{color:inherit}footer p{margin:8px 0}.sticky{position:fixed;bottom:0;width:min(100%,430px);background:#fffefaf2;border-top:1px solid var(--line);padding:11px 18px;display:flex;align-items:center;justify-content:space-between;z-index:10;backdrop-filter:blur(10px)}.sticky span{font:17px Georgia}.sticky a{font-size:12px;background:var(--ink);color:white;padding:11px 16px;text-decoration:none}.mock{font:9px Arial;letter-spacing:1.3px;text-transform:uppercase;color:#698086;margin:0 0 15px}.success{padding:15px;background:white;margin-top:15px;font-size:14px}[hidden]{display:none!important}

@font-face{font-family:MaderPlayfair;src:url(../assets/cea43792b6a9777dfa34.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:MaderOpenSans;src:url(../assets/c1dfb4a5f4f6ec344f6a.woff2) format('woff2');font-weight:300 800;font-stretch:75% 100%;font-style:normal;font-display:swap}
:root{--ink:#3D3D3B;--blue:#4A6F96;--pale:#DBEDF9;--paper:#FFFFFF;--line:#4A6F96;--anthracite:#5C5C5A}
body{background:#FFFFFF;color:var(--ink);font-family:MaderOpenSans,sans-serif;font-size:17px;line-height:1.65}
.page{box-shadow:0 0 40px #5c5c5a15}
h1,h2,h3{font-family:MaderPlayfair,serif;color:var(--blue);font-weight:400;font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1}
h1{font-size:40px;letter-spacing:-.5px;line-height:1.16}h2{font-size:32px;line-height:1.2}h3{font-size:26px;line-height:1.22}
.brand{font-family:MaderPlayfair,serif;color:var(--anthracite);font-weight:400}.brand small{font-family:MaderOpenSans,sans-serif}
header a{font:600 16px MaderOpenSans,sans-serif;color:var(--anthracite);border:0}header a:hover{color:var(--blue)}
.eyebrow,.mock{font:400 14px MaderOpenSans,sans-serif;color:var(--anthracite);letter-spacing:1px}
.promise b{font-family:MaderPlayfair,serif;font-weight:400;font-size:28px;color:var(--blue);font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1}
.promise span{font-family:MaderOpenSans,sans-serif;font-size:14px;color:var(--ink)}
.btn{font:600 16px/1.5 MaderOpenSans,sans-serif;text-align:left;color:var(--blue);background:transparent;border:1px solid var(--blue);padding:14px 16px;width:fit-content;max-width:100%}
form .btn{color:#FFFFFF;background:var(--blue);width:100%;text-align:center}
.intro p,.section p,.formula p,.moment p,.feature p,details p,.price{font-size:17px;color:var(--ink)}
.feature b{font-size:17px;font-weight:600}.feature{border-color:var(--blue)}
.muted,.note,footer,.owner span{font:400 14px/1.6 MaderOpenSans,sans-serif;color:var(--anthracite)}
.note,.section p.note{font-size:14px;color:var(--anthracite)}
footer{font-variation-settings:'wdth' 75}footer .brand{font-variation-settings:normal}
.textlink{font:600 17px/1.5 MaderOpenSans,sans-serif;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.light .textlink{display:inline-block;background:#FFFFFF;padding:6px 10px}
summary{font-family:MaderOpenSans,sans-serif;font-size:17px;font-weight:600;color:var(--ink)}summary:after{color:var(--blue)}
.quote{font:400 24px/1.45 MaderPlayfair,serif;color:var(--ink);border-color:var(--blue)}
.quote small{font:400 14px/1.5 MaderOpenSans,sans-serif;color:var(--anthracite);font-variation-settings:'wdth' 75}
label,.check{font:400 17px/1.5 MaderOpenSans,sans-serif;color:var(--ink)}
input,select,textarea{font:400 17px/1.5 MaderOpenSans,sans-serif;color:var(--ink);border-color:var(--blue);background:#FFFFFF}
input::placeholder,textarea::placeholder{color:var(--anthracite);opacity:1}
.owner b{font-size:17px;color:var(--ink)}.owner span{font-variation-settings:'wdth' 75}
.sticky{background:#FFFFFF;border-color:var(--blue);gap:12px;padding:10px 16px}.sticky span{font:400 16px/1.3 MaderPlayfair,serif;color:var(--blue)}
.sticky a{font:600 16px/1.4 MaderOpenSans,sans-serif;color:var(--blue);border:1px solid var(--blue);background:#FFFFFF;padding:10px 12px;white-space:nowrap}
.success{font:400 17px/1.6 MaderOpenSans,sans-serif;color:var(--ink)}
/* Compact spacing, retaining comfortable text leading and image proportions. */
.intro{padding:20px 24px}
.intro p{margin:10px 0 14px}
.intro p:last-child{margin-bottom:0}
h1{margin:10px 0 14px}
h2{margin:8px 0 16px}
.promise{padding:16px 10px}
.section{padding:28px 24px}
.section>p:last-child{margin-bottom:0}
.moment{margin:22px 0}
.formula{padding:14px 0}
.wide{margin-top:18px;margin-bottom:18px}
.section p.stay-capacity{font:400 14px/1.6 MaderOpenSans,sans-serif;color:var(--anthracite);margin:0 0 18px}
/* Compact practical introduction; preserve hero and main-title spacing. */
.intro-reunion{padding-top:20px;padding-bottom:12px}
.intro-reunion .btn{margin-top:14px}
.section-formules{padding-top:16px;padding-bottom:20px}
.section-formules h2{margin-bottom:12px}
.section-formules>p{margin-top:8px;margin-bottom:12px}
.section-formules p.stay-capacity{margin-top:0;margin-bottom:12px}
.section-formules .formula{padding-top:10px;padding-bottom:10px}
.section-formules .price{margin-top:12px;margin-bottom:0}
.section p.stay-capacity{font-size:17px;white-space:nowrap}
.section p.stay-capacity strong{font-weight:700}
/* Keep capacity at 17px bold without encroaching on the phone edge. */
@media(max-width:389px){.section-formules p.stay-capacity{margin-left:-8px;margin-right:-8px}}
@media(max-width:369px){.section-formules p.stay-capacity{margin-left:-14px;margin-right:-14px}}
/* Full-width editorial photos; text remains inside section gutters. */
.moment>.photo,.gallery>.photo{width:calc(100% + 48px);max-width:none;margin-left:-24px;margin-right:-24px}
.intro-reunion{padding-bottom:10px}
.section-formules{padding-top:4px}
.section-formules>.btn{margin-top:16px}
.section-formules .price{border-top:1px solid var(--line);padding-top:14px;margin-top:0}
.sticky{justify-content:center}
.sticky a{text-align:center}
header{gap:16px}
.header-location{font:400 14px/1.45 MaderOpenSans,sans-serif;color:var(--anthracite);text-align:right;white-space:nowrap}
header + .intro{padding-top:2px}
.intro-reunion{padding-top:10px}
.section-reception{padding-top:12px}
.section-reception>h2{margin-top:0;margin-bottom:12px}
.section-reception>h2 + .photo{margin-top:0}
/* Compact reception stories without changing type or image dimensions. */
.section-reception>.wide{margin-bottom:12px}
.section-reception>.moment{margin:0}
.section-reception>.moment + .moment{margin-top:16px}
.section-reception .moment h3{margin-top:10px;margin-bottom:6px}
.section-reception .moment p{margin-top:0;margin-bottom:0}
.section-reception{padding-bottom:20px}
.section-sejour{padding-top:12px;padding-bottom:20px}
.section-sejour>h2{margin-top:0;margin-bottom:12px}
.section-sejour>.moment{margin:0}
.section-sejour>.moment + .moment{margin-top:16px}
.section-sejour .moment h3{margin-top:10px;margin-bottom:6px}
.section-sejour .moment p{margin-top:0;margin-bottom:0}
.section-sejour>.gallery{margin-top:16px}

/* Compact closing sections: retain font sizes and every information/field. */
.tail-section{padding:14px 24px}
.tail-section h2{margin:0 0 12px;text-wrap:balance}
.tail-section p{line-height:1.4;text-wrap:pretty}
.section-service .service-item{margin:0 0 10px}
.section-service .service-item:last-child{margin-bottom:0}
.service-item strong{font-weight:700}
.section-avis .quote{font-size:24px;line-height:1.25;margin:10px 0;padding-left:12px}
.section-avis .quote small{margin-top:4px;line-height:1.3}
.section-avis .textlink{display:inline-block;margin-top:2px}
.section-faq{padding-top:0;padding-bottom:0}
.section-faq .faq-group{border-top:0;padding:12px 0}
.faq-group>summary{min-height:44px;align-items:center}
.faq-content>details{padding:10px 0}
.faq-content summary{line-height:1.4}
.faq-content p{margin:6px 0 0}
#contact .owner{margin:0 0 8px;gap:10px}
#contact .owner img{width:44px;height:44px}
#contact>p{margin:8px 0 10px}
#demo .field{min-width:0;margin:0 0 8px}
#demo label{margin:0 0 3px;line-height:1.35}
#demo input,#demo select,#demo textarea{padding:8px 10px;min-height:44px}
#demo .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#demo .check{min-height:32px;gap:8px;margin:0 0 8px}
#demo .check input{min-height:0;width:18px;height:18px;flex-shrink:0}
#demo .optional-fields{padding:0;border-top:0;margin:0 0 8px}
#demo .optional-fields>summary{min-height:44px;align-items:center;line-height:1.35}
#demo .optional-fields .field:first-of-type{margin-top:6px}
#demo .btn{margin-top:0;padding:10px 12px;min-height:44px}
#contact>p.muted{margin:10px 0 0}
footer{padding:14px 24px;line-height:1.4}
footer .brand{margin-bottom:8px}
footer p{margin:4px 0;text-wrap:pretty}

#demo>.field{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:center}
#demo>.field>label{margin:0}
.section-avis .quote{margin:8px 0;line-height:1.2}
.tail-section{padding-top:12px;padding-bottom:12px}
.section-faq{padding-top:0;padding-bottom:0}
.section-service>h2{margin-left:0;margin-right:0;letter-spacing:normal;text-wrap:initial}
.section-avis .quote{font:400 17px/1.4 MaderOpenSans,sans-serif;margin:8px 0;text-wrap:pretty}

.section-avis .quote{border-left:0;padding-left:0}

#contact .owner img{width:52px;height:52px;flex-shrink:0}#contact .owner{gap:10px}#contact .owner b{display:inline}#contact .owner>div{line-height:1.35}#contact .owner span{display:inline;font-size:14px}

#contact>p.contact-direct{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;font:400 14px/1.5 MaderOpenSans,sans-serif} .contact-direct a{color:var(--blue);white-space:nowrap;text-underline-offset:3px}footer .postal-address{font-size:14px;white-space:normal;letter-spacing:normal;font-variation-settings:normal}footer .note{font-size:10px;line-height:1.4;margin-top:6px}

/* Tighten the transition from date flexibility to optional details. */
#demo .check{margin-bottom:0}
#demo .optional-fields{margin-bottom:2px}
#demo .optional-fields>summary{min-height:44px}

.page{max-width:390px}.sticky{width:min(100%,390px)}

.sticky a,form .btn{background:var(--blue);color:#FFFFFF;border:1px solid var(--blue)}

/* Shared button width; quieter fixed invitation. */
.sticky{padding-left:24px;padding-right:24px}.sticky a{display:block;width:100%;background:#EDF4F9;color:var(--blue);border:1px solid var(--blue)}form .btn{background:var(--blue);color:#FFFFFF}

#demo .required-note{font:400 14px/1.4 MaderOpenSans,sans-serif;margin:0 0 8px;color:var(--anthracite)}

header{height:160px;padding-top:12px;padding-bottom:12px}.header-logo{display:block;width:132px;height:auto;flex-shrink:0}

.reception-finale{margin-top:12px}.reception-finale>.photo{width:calc(100% + 48px);margin-left:-24px;margin-right:-24px;aspect-ratio:auto;height:auto}

header{height:auto;min-height:0;padding-top:8px;padding-bottom:8px}.header-logo{width:132px;height:auto}

.photo{height:auto}
.section-sejour>.gallery-visible{margin-top:12px}.gallery-visible>.photo{margin-top:0}.gallery-visible>h3{margin:8px 0 12px}.gallery-visible>h3:last-child{margin-bottom:0}.section-sejour{padding-bottom:12px}