/* Shared four-page design. The approved homepage hero and mobile header are unchanged. */
.demo-a .site-nav nav>a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.demo-a .a-reviews{background:var(--surface-sage)}
.reviews-slot{max-width:900px;margin:0 auto;padding:48px;border:1px solid #9aa99b;text-align:center}
.reviews-slot>p:not(.eyebrow){max-width:55ch;margin:20px auto 0}
.reviews-slot .review-disclosure{font-size:13px}
.gallery-page-link{padding-top:24px}
.site-footer .footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 20px}
.inner-page .inner-nav{background:#243b31;color:#fff}
.inner-page .site-nav nav>a{font-size:14px;font-weight:600;letter-spacing:.015em}
.inner-page .site-nav nav>a:hover,.inner-page .site-nav nav>a:active{text-decoration:underline}
.inner-page .site-nav nav>a:focus-visible{outline:2px solid currentColor;outline-offset:5px;box-shadow:none}
.inner-page .site-nav .nav-cta{border-color:#ffffffd9}
.inner-page .site-nav .nav-cta:hover{background:#ffffff12}
.page-intro{background:var(--surface-sage);padding:72px 0 88px}
.page-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.page-intro h1{font-size:clamp(60px,5.8vw,100px);letter-spacing:-.025em;margin:24px 0 28px}
.page-intro .lead{font-size:18px;max-width:42ch}
.page-intro figure img{width:100%;aspect-ratio:5/4;object-fit:cover}
.surface-paper{background:var(--paper)}
.surface-sage{background:var(--surface-sage)}
.surface-forest{background:var(--surface-forest);color:#f5f2e8}
.gallery-chapter h2{font-size:clamp(38px,4vw,64px);max-width:18ch}
.gallery-chapter .photo-gallery{align-items:start}
.gallery-chapter .gallery-item>img{object-fit:cover}
.page-stay{text-align:center;background:var(--paper)}
.page-stay h2{margin:24px 0 32px}
.page-stay p:last-child{font-size:13px;margin-top:24px}
.amenity-overview h2{margin:24px 0 48px}
.amenity-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:0}
.amenity-facts>div{border-top:1px solid #ffffff66;padding-top:24px}
.amenity-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.amenity-facts dd{font:32px/1.2 var(--display);margin:16px 0 0}
.editorial-grid,.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.editorial-grid figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.editorial-grid figcaption{font-size:12px;margin-top:14px}
.editorial-grid h2,.arrival-grid h2{margin:24px 0 28px}
.amenity-details{margin:32px 0 0}
.amenity-details>div{padding:24px 0;border-top:1px solid var(--line)}
.amenity-details dt{font-weight:600;font-size:16px}
.amenity-details dd{margin:8px 0 0;font-size:14px}
.narrow-copy{max-width:900px}
.narrow-copy h2{margin:24px 0 28px}
.narrow-copy>p:not(.eyebrow){max-width:60ch}
.arrival-grid{align-items:stretch}
.arrival-note{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.arrival-note h3{font-size:30px;margin-bottom:16px}
.map-placeholder{background:var(--surface-sage);border:1px solid #a4b1a2;display:flex;flex-direction:column;justify-content:center;padding:48px;min-height:360px}
.map-placeholder h3{font-size:40px;margin:24px 0}
.map-placeholder p{font-size:14px;max-width:38ch}
.contact-options>div{padding:28px 0;border-top:1px solid #ffffff66}
.contact-options h3{margin-bottom:14px;font-size:32px}
.contact-options p{font-size:14px;max-width:44ch}
.contact-preview{margin-top:20px;border-color:#f5f2e880;background:transparent}
.contact-options .contact-disclosure{font-size:12px;margin-top:24px}
@media(min-width:1100px){.inner-page .site-nav nav{gap:30px}}
@media(max-width:1099px){
 .inner-page .site-nav nav>a{font:34px/1.3 var(--display);letter-spacing:normal}
 .inner-page .site-nav nav>a.nav-cta{font:600 14px var(--body)}
 .inner-page.nav-open .inner-nav{background:var(--paper);color:var(--ink)}
 .inner-page.nav-open .site-nav .nav-cta{border-color:currentColor}
 .page-intro{padding:64px 0}
 .page-intro-grid,.editorial-grid,.arrival-grid{gap:40px}
 .page-intro h1{font-size:66px}
 .amenity-facts{grid-template-columns:repeat(2,1fr)}
 .map-placeholder{padding:32px}
}
@media(max-width:767px){
 .page-intro{padding:48px 0 64px}
 .page-intro-grid,.editorial-grid,.arrival-grid{grid-template-columns:1fr;gap:36px}
 .page-intro h1{font-size:56px;margin:20px 0 24px}
 .page-intro .lead{font-size:17px}
 .page-intro figure img{aspect-ratio:4/3}
 .reviews-slot{padding:32px 20px;text-align:left}
 .a-reviews .section-heading>p{margin-top:20px}
 .amenity-facts{gap:28px 20px}
 .amenity-facts dd{font-size:29px}
 .editorial-grid figure img{aspect-ratio:4/3}
 .map-placeholder{min-height:300px;padding:28px}
 .contact-options{margin-top:8px}
 .site-footer .footer-bottom nav{gap:12px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Outdoors reuses the exact approved Demo A footer green (#14291f). */
.demo-a .a-outdoors{background:#14291f;color:#f5f2e8}
.demo-a .a-outdoors .text-link:focus-visible{outline-color:#f5f2e8;box-shadow:0 0 0 2px #14291f}
/* Photo-only gallery: natural image ratios reserve space before lazy loading. */
.gallery-page .property-masonry{columns:3;column-gap:24px;padding:32px 4vw 8px;background:var(--paper)}
.gallery-page .property-masonry .gallery-item{break-inside:avoid;margin-bottom:24px;display:block;overflow:visible}
.gallery-page .property-masonry .gallery-item>img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none;transition:filter .2s}
.gallery-page .property-masonry .gallery-item:hover>img{filter:brightness(.95)}
.gallery-page .property-masonry .gallery-item:focus-visible{outline-color:#243b31;outline-offset:4px}
.gallery-page .gallery-dialog{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border-radius:0;padding:16px max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#14291f;overflow:hidden}
.gallery-page .gallery-dialog[open]{display:grid;grid-template-rows:48px minmax(0,1fr) 48px;gap:12px}
.gallery-page .gallery-dialog-head{justify-content:flex-end}
.gallery-page #gallery-caption{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.gallery-page .gallery-dialog .full-gallery-image{height:100%;width:100%;min-height:0;object-fit:contain;margin:0;touch-action:pan-y pinch-zoom;user-select:none}
.gallery-page .gallery-dialog .icon-button{width:48px;height:48px;min-width:48px}
.gallery-page .gallery-dialog-foot .plain-button{min-height:48px;padding-inline:12px}
.gallery-page .gallery-dialog :focus-visible{outline-color:#f5f2e8;box-shadow:0 0 0 2px #14291f}
@media(max-width:1099px){.gallery-page .property-masonry{columns:2;column-gap:20px;padding:24px 32px 4px}.gallery-page .property-masonry .gallery-item{margin-bottom:20px}}
@media(max-width:599px){.gallery-page .property-masonry{columns:1;padding:20px 20px 4px}.gallery-page .property-masonry .gallery-item{margin-bottom:16px}.gallery-page .gallery-dialog{padding-inline:12px}}
@media(max-width:359px){.gallery-page .property-masonry{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.gallery-page .property-masonry .gallery-item>img{transition:none}}
