/* Property-page styles are isolated from the approved homepage. */
.stay-page{--stay-accent:#8f5946;--stay-wash:#eee5d9;font-size:16px;line-height:1.8}.stay-page.hideaway-haven{--stay-accent:#526653;--stay-wash:#e6e9df}
.stay-wrap{max-width:1280px;padding-inline:60px;margin-inline:auto}.stay-page .eyebrow{font-size:12px;line-height:1.7;letter-spacing:2px}.stay-page .text-link{font-size:16px}.stay-page .button{font-size:12px}.stay-page [hidden]{display:none}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;padding-block:23px;color:var(--muted);border-top:1px solid #ddcdb866}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.stay-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:center;padding-top:25px;padding-bottom:64px}.stay-opening>*{min-width:0}.stay-introduction h1{font-size:60px;line-height:1.12;letter-spacing:-1.7px;margin:17px 0}.stay-tagline{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:28px;line-height:1.4;color:var(--stay-accent);margin-bottom:24px}.stay-introduction>p:not(.eyebrow):not(.stay-tagline){font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 15px}.stay-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 17px;padding:19px 0;border-block:1px solid var(--sand);margin:25px 0;font-size:16px}.stay-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.opening-photo{margin:0;background:var(--stay-wash)}.opening-photo img{display:block;width:100%;height:auto}
.stay-gallery{padding-block:35px 55px;border-top:1px solid var(--sand)}.stay-gallery h2{font-size:32px;margin:10px 0}.gallery-hint{color:var(--muted);margin:14px 0 22px}.property-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px;align-items:start}.property-gallery figure{margin:0;min-width:0}.gallery-link{display:block;background:var(--stay-wash);cursor:zoom-in}.gallery-link img{width:100%;height:auto}.property-gallery figcaption{font-size:14px;line-height:1.65;padding-top:10px;color:var(--muted)}.gallery-view-all{margin-top:28px}
.stay-story{max-width:850px;text-align:center;padding-block:55px 75px}.stay-story h2{margin:18px 0 25px}.stay-story>p:not(.eyebrow){color:var(--muted);margin-bottom:15px}
/* Unique photo class prevents homepage absolute positioning from leaking in. */
.stay-experiences{display:grid;gap:64px;padding-bottom:72px}.stay-experience{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'photo copy';gap:64px;align-items:center}.stay-experience:nth-child(even){grid-template-areas:'copy photo'}.stay-feature-photo{grid-area:photo;min-width:0;margin:0;background:var(--stay-wash)}.stay-feature-photo img{display:block;position:static;width:100%;height:auto;max-width:100%}.experience-editorial{grid-area:copy;min-width:0}.experience-editorial h2{margin:0 0 24px;font-size:38px}.experience-editorial p{font-size:16px;line-height:1.8;color:var(--muted)}
.stay-amenities{background:#eee9de;padding-block:65px}.amenities-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:65px}.amenities-inner h2{margin-top:16px}.amenities-inner ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.amenities-inner li{padding:15px 0;border-bottom:1px solid #2e3a3620}
.stay-location{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;padding-block:85px 75px}.stay-location h2{margin-top:16px;font-size:38px}.stay-location p:not(.eyebrow){color:var(--muted);margin-bottom:18px}.stay-practical{padding-block:45px 70px;border-top:1px solid var(--sand)}.stay-practical h2{font-size:32px;margin:13px 0 25px}.stay-practical ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 55px;padding-left:22px;margin:0}.stay-practical li{font-size:16px;line-height:1.8;color:var(--muted);padding-left:6px}
.stay-booking{background:var(--charcoal);color:var(--ivory);padding-block:75px;scroll-margin-top:20px}.booking-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;align-items:center}.booking-inner h2{font-size:46px;margin:20px 0 25px}.booking-inner .eyebrow{color:#d1dcca}.booking-placeholder{padding:32px;border:1px solid #ffffff40}.booking-placeholder h3{font-size:27px;margin:15px 0}.booking-placeholder p:not(.eyebrow){font-size:16px;color:#e4e8df}.contact-pending{border-top:1px solid #ffffff30;margin-top:24px;padding-top:19px}
.related-stays{padding-block:60px;border-bottom:1px solid var(--sand)}.related-stays>h2{font-size:32px;margin-bottom:18px}.related-stays>p{max-width:760px;color:var(--muted)}.related-cards{display:grid;gap:24px;margin-top:28px}.related-card{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:center;max-width:760px}.related-photo img{height:auto;width:100%}.related-card h3{font-size:28px;margin:8px 0 16px}
/* The frame and its four rows stay stable as photos and captions change. */
.photo-viewer{position:fixed;inset:0;margin:auto;width:min(1150px,96vw);max-width:96vw;height:94vh;height:94svh;max-height:calc(100dvh - 16px);padding:18px 24px;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;background:var(--ivory);color:var(--charcoal);overflow:hidden;overscroll-behavior:contain}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) 5.1em auto;gap:12px}
.photo-viewer::backdrop{background:#17201bea}
.viewer-toolbar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.viewer-toolbar h2{font-size:22px;letter-spacing:0}
.photo-viewer button{font:inherit;font-size:16px;min-height:44px;padding:10px 15px;border:1px solid var(--sand);background:transparent;color:var(--charcoal);cursor:pointer}
.viewer-close{flex-shrink:0}
.viewer-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;margin:0;touch-action:pan-y pinch-zoom}
.viewer-caption{font-size:16px;line-height:1.7;margin:0;min-height:0;overflow:auto;overscroll-behavior:contain}
html.gallery-open{overflow:hidden;scroll-behavior:auto}
body.gallery-open{position:fixed;top:var(--gallery-scroll-top);width:100%;overflow:hidden}
@media(max-width:1050px){.stay-wrap{padding-inline:35px}.stay-opening,.stay-experience,.stay-location,.booking-inner{gap:40px}.stay-introduction h1{font-size:48px}.stay-tagline{font-size:25px}.amenities-inner{gap:35px}.amenities-inner ul{grid-template-columns:1fr}}
@media(max-width:700px){.stay-wrap{padding-inline:25px}.breadcrumb{gap:9px}.stay-opening{grid-template-columns:1fr;gap:30px;padding-top:14px;padding-bottom:40px}.stay-introduction h1{font-size:45px;margin-top:15px}.stay-tagline{font-size:25px}.stay-actions{gap:22px}.property-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.stay-gallery{padding-block:30px}.stay-story{padding-block:40px 50px}.stay-story h2{font-size:33px}.stay-experiences{gap:48px;padding-bottom:50px}.stay-experience,.stay-experience:nth-child(even){grid-template-columns:1fr;grid-template-areas:'photo' 'copy';gap:25px}.experience-editorial h2{font-size:33px;margin-bottom:20px}.stay-amenities{padding-block:45px}.amenities-inner{grid-template-columns:1fr;gap:20px}.amenities-inner h2{font-size:34px}.amenities-inner h2 br{display:none}.amenities-inner li{padding:12px 0}.stay-location{grid-template-columns:1fr;gap:25px;padding-block:50px 35px}.stay-location h2{font-size:33px}.stay-practical{padding-block:35px 45px}.stay-practical ul{grid-template-columns:1fr;gap:16px}.stay-booking{padding-block:45px}.booking-inner{grid-template-columns:1fr;gap:30px}.booking-inner h2{font-size:38px}.booking-placeholder{padding:24px}.related-stays{padding-block:45px}.related-card{grid-template-columns:1fr;gap:18px}.related-photo{max-width:380px}.photo-viewer{padding:12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.viewer-toolbar h2{font-size:19px}}

/* Hospitable owns the calendar contents and adjusts its iframe height. */
.booking-inner > *{min-width:0}
.booking-widget{min-width:0;width:100%;padding:16px;background:#fff;color:var(--charcoal);border-radius:4px;color-scheme:light}
.booking-widget iframe{display:block;width:100%;max-width:100%;border:0}
@media(max-width:1050px){.booking-inner{grid-template-columns:1fr}.booking-widget{max-width:680px}}
@media(max-width:700px){.booking-widget{padding:8px}}

/* A single location introduction and image-led local recommendations. */
.stay-local{padding-block:85px 70px}
.stay-local-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;margin-bottom:40px}
.stay-local-heading h2{font-size:38px;margin:16px 0 0}
.stay-local-intro p,.stay-local-item>p:not(.eyebrow){color:var(--muted)}
.stay-local-intro p+p{margin-top:18px}
.stay-local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 48px}
.stay-local-item{min-width:0}
.stay-local-image{aspect-ratio:3/2;overflow:hidden;margin-bottom:23px;background:var(--sand)}
.stay-local-image img{display:block;width:100%;height:100%;object-fit:cover}
.stay-local-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#eee8dc,#ddd6c8)}
.stay-local-placeholder span{width:52px;height:1px;background:var(--stay-accent);opacity:.4}
.stay-local-item .eyebrow{color:var(--stay-accent);font-size:10px;letter-spacing:1.6px}
.stay-local-item h3{font-size:27px;margin:9px 0 14px}
.stay-local-item .text-link{display:inline-block;margin-top:14px;font-size:14px;padding-block:8px;min-height:44px}
.stay-local-note{margin-top:30px;font-size:14px;color:var(--muted)}
.stay-local-note ul{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;margin:4px 0 0}
.stay-local-note a{display:inline-block;padding-block:9px;text-decoration:underline;text-underline-offset:4px;min-height:44px}
@media(max-width:1050px){.stay-local-heading{gap:40px}.stay-local-grid{column-gap:32px}}
@media(max-width:700px){.stay-local{padding-block:50px 45px}.stay-local-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.stay-local-heading h2{font-size:33px}.stay-local-grid{grid-template-columns:1fr;gap:34px}.stay-local-item h3{font-size:26px}.stay-local-image{margin-bottom:20px}}

.stay-local-guide{margin-top:35px}.stay-local-guide .text-link{display:inline-block;padding-block:10px;min-height:44px;font-size:14px}
