.header{gap:20px}.header nav{gap:23px}.nav-toggle{display:none}.page-intro{max-width:1400px;margin:auto;padding:85px 9vw 65px}.page-intro h1{font-size:clamp(50px,6.8vw,96px);margin-bottom:30px}.page-intro>p:not(.eyebrow){font-size:15px;max-width:650px}.page-intro .text-link{margin-top:8px}.gallery-grid{padding:0 7vw 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px;align-items:start}.gallery-item{padding:0;text-align:left;border:0;background:none;min-width:0}.gallery-item img{aspect-ratio:4/5;object-fit:cover;transition:filter .3s}.gallery-item:nth-child(6n+1){grid-column:span 2}.gallery-item:nth-child(6n+1) img{aspect-ratio:8.3/5}.gallery-item span{display:block;font-size:10px;margin-top:12px;line-height:1.6}.gallery-item:hover img{filter:saturate(1)}.gallery-note{margin:0 7vw 70px;max-width:650px;font-size:12px}.small-invitation{padding:65px 7vw;text-align:center;border-top:1px solid #c8bcac}.small-invitation h2{margin-bottom:28px}.lightbox{width:96vw;max-width:none;max-height:96dvh;padding:40px 30px 12px;background:#29231d;color:#f3eee4;border:0;overflow:hidden}.lightbox img{max-width:100%;width:auto;max-height:78dvh;margin:auto;object-fit:contain;filter:none}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:12px}.lightbox-bar button{color:inherit;background:none;border:1px solid #8d7d69;padding:8px 18px;font-size:20px}.lightbox-bar p{font-size:11px;margin:0}.celebration-cover{margin:0 5vw}.celebration-cover img{aspect-ratio:2.4/1;object-fit:cover;object-position:60% 35%}.celebration-cover figcaption,.celebration-extras figcaption{font-size:11px;margin-top:12px}.celebration-story{display:grid;grid-template-columns:1fr 1fr;gap:10%}.celebration-offering{max-width:none;background:#e3ddcf}.celebration-offering h2{margin-bottom:55px}.service-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.service-stories article{border-top:1px solid #b6a68f;padding-top:22px}.service-stories span{font-size:11px}.service-stories h3{font:28px/1.3 Lora,Georgia,serif;font-weight:400}.service-stories p{font-size:14px}.celebration-extras{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.celebration-extras h2{margin-bottom:30px}.celebration-extras img{aspect-ratio:4/5;object-fit:cover;object-position:58% 70%}.booking-intro{padding-bottom:45px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:55px;padding:0 7vw 100px;max-width:1600px;margin:auto;align-items:start}.calendar-panel{padding-top:30px;min-width:0}.booking-season{display:flex;justify-content:space-between;gap:20px;align-items:end}.booking-season h2{font-size:30px;letter-spacing:-.03em}.booking-season .eyebrow{margin-bottom:16px}.booking-season>p{font-size:11px;line-height:1.8;margin:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c8bcac;margin-top:35px;padding:24px 0}.calendar-toolbar button{background:none;border:1px solid #b5a28a;width:38px;height:38px;line-height:1;font-size:19px}.calendar-toolbar p{font-size:13px;margin:0;text-align:center}.calendar-toolbar button:disabled{opacity:.3;cursor:default}.calendars{display:grid;grid-template-columns:1fr 1fr;gap:25px}.calendar-month h3{text-align:center;font:21px Lora,Georgia,serif;margin:0 0 23px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-days .weekday{font-size:9px;text-align:center;color:#766957;padding-bottom:10px}.calendar-days button{border:1px solid transparent;aspect-ratio:1;background:transparent;position:relative;padding:2px;font-size:12px}.calendar-days button:not(:disabled):hover{border-color:#8e7557}.calendar-days button:disabled{opacity:.28;cursor:default;text-decoration:line-through}.calendar-days button.in-range{background:#d9ccb7}.calendar-days button.endpoint{background:#493c30;color:#fff}.calendar-days button.checkout-only:after{content:'';position:absolute;bottom:3px;left:45%;width:4px;height:4px;background:#8a7254;border-radius:50%}.calendar-key{display:flex;gap:18px;flex-wrap:wrap;margin:28px 0 15px;font-size:9px}.calendar-key span{display:flex;align-items:center;gap:7px}.calendar-key i{display:block;width:9px;height:9px;border:1px solid #a29078}.calendar-key i.unavailable{background:#ddd8cf}.calendar-key i.selected-key{background:#493c30;border-color:#493c30}.booking-summary{background:#e5ded2;padding:32px}.booking-summary>h2{font-size:40px}.date-summary{display:grid;grid-template-columns:1fr 1fr;margin:28px 0 16px;border-top:1px solid #b5a28a;border-bottom:1px solid #b5a28a}.date-summary button{text-align:left;background:none;border:0;padding:18px 5px;min-width:0}.date-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.date-summary strong{display:block;font-weight:400;font-size:13px;margin-top:5px}#quote p{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:14px}#quote strong{font-weight:400;font-family:Lora,Georgia,serif;font-size:22px}#quote small{display:block;font-size:10px;line-height:1.6}#clear-dates{margin-bottom:25px;font-size:9px}#booking-form input,#booking-form textarea,#booking-form select{background:#f5f1e9}#booking-form .booking-consent{display:flex;gap:10px;font-size:11px;line-height:1.6}#booking-form .booking-consent input{width:16px;flex-shrink:0;margin:3px 0 0;accent-color:#493c30}#booking-status,#calendar-error{font-size:13px;line-height:1.6;margin-top:15px}#calendar-error,.booking-error{color:#913d2d}.booking-success{background:#efe9dc;padding:16px}.booking-summary .submit{background:#493c30;color:#fff}.booking-summary .submit:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1150px){.header nav{gap:14px;font-size:9px}.header .brand{font-size:23px}.header-cta{padding:13px 16px;gap:20px;font-size:9px}.booking-layout{grid-template-columns:minmax(0,1fr) 330px;gap:25px;padding-left:5vw;padding-right:5vw}.calendars{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.booking-season{display:block}.booking-season>p{margin-top:20px}.service-stories{gap:25px}}
@media(max-width:900px){.header{flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto;background:none;border:0;font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:12px}.header nav{display:none;order:4;width:100%;padding:15px 0}.header nav.nav-open{display:flex;flex-wrap:wrap;gap:22px}.header-cta{margin-left:0}.page-intro{padding:60px 7vw 40px}.gallery-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.gallery-item:nth-child(6n+1){grid-column:span 1}.gallery-item:nth-child(6n+1) img{aspect-ratio:4/5}.gallery-item:nth-child(5n+1){grid-column:1/-1}.gallery-item:nth-child(5n+1) img{aspect-ratio:3/2}.celebration-story,.celebration-extras{gap:30px}.service-stories{grid-template-columns:1fr}.service-stories h3{margin:12px 0}.service-stories article{max-width:650px}.celebration-extras{grid-template-columns:1fr}.celebration-extras figure{max-width:650px}.celebration-extras img{aspect-ratio:3/2}.booking-layout{grid-template-columns:1fr;padding:0 7vw 60px;gap:35px}.calendars{grid-template-columns:1fr 1fr}.calendar-month:nth-child(2){display:block}.booking-season{display:flex}.booking-season>p{margin-top:0}.booking-summary{max-width:600px;width:100%;justify-self:center}}
@media(max-width:600px){.header{gap:8px}.header .brand{font-size:18px}.header-cta{padding:12px 10px;font-size:8px;gap:10px}.nav-toggle{font-size:9px;padding:10px 3px}.page-intro h1{font-size:49px}.page-intro>p:not(.eyebrow){font-size:13px}.page-intro br{display:initial}.gallery-grid{gap:25px 14px}.gallery-item span{font-size:9px}.lightbox{padding:40px 12px 12px}.lightbox img{max-height:75dvh}.lightbox-bar button{padding:8px 12px}.lightbox-bar p{font-size:10px}.celebration-cover{margin:0}.celebration-cover img{aspect-ratio:4/3}.celebration-cover figcaption{padding:0 7vw}.celebration-story{grid-template-columns:1fr}.celebration-offering h2{margin-bottom:35px}.booking-season{display:block}.booking-season>p{margin-top:18px}.booking-season h2{font-size:29px}.calendars{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.calendar-days button{font-size:14px}.calendar-panel{padding-top:0}.booking-summary{padding:26px}.calendar-key{font-size:9px;gap:12px}.calendar-toolbar{margin-top:24px}.booking-intro{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}
.calendar-days button.endpoint:disabled{opacity:1;text-decoration:none}.date-summary button[aria-pressed="true"]{box-shadow:inset 0 -2px #8b735c}

.calendar-days button.pending-day:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#aa7841;bottom:4px;left:calc(50% - 2.5px)}
.calendar-days button.pending-day.endpoint:before{background:#f1ce95}
.calendar-key i.pending-key{background:#aa7841;border-color:#aa7841;border-radius:50%}
.pending-notice{font-size:12px;line-height:1.8;border-left:2px solid #aa7841;padding:10px 0 10px 14px;margin:20px 0}

/* Slim, warm passe-partout approved for the gallery; shared by every locale. */
.gallery-grid .gallery-item{padding:12px;background:#faf7f0;border:0;border-radius:0;box-shadow:none;box-sizing:border-box}
.gallery-grid .gallery-item img{display:block;width:100%}
@media(max-width:600px){.gallery-grid .gallery-item{padding:8px}}
