.retreat-gallery{padding:80px 0;background:#e9dfd2;border-top:1px solid var(--line)}
.gallery-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:35px}.gallery-heading h2{font-size:clamp(43px,5vw,68px);margin:0;line-height:1.12}.gallery-heading>p{max-width:340px;font-size:16px;line-height:1.8;margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-tile{display:block;position:relative;overflow:hidden;background:#faf7f0;padding:9px 9px 0;border:1px solid #d6c8b6}.gallery-tile img{width:100%;height:220px;object-fit:cover;transition:transform .4s}.gallery-tile span{display:block;font-family:var(--serif);font-style:italic;font-size:17px;padding:15px 6px 18px;line-height:1.5}.gallery-tile:hover img{transform:scale(1.025)}.gallery-tile-1,.gallery-tile-2{grid-column:span 2}.gallery-tile-1 img,.gallery-tile-2 img{height:340px}.gallery-tile-7,.gallery-tile-8{grid-column:span 2}.gallery-tile-7 img,.gallery-tile-8 img{height:280px}.gallery-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:22px}.gallery-bottom p{font-size:22px}.gallery-bottom .text-link{white-space:nowrap}
.gallery-dialog{width:min(1100px,95vw);max-height:94svh;padding:20px;background:#f8f3e9;color:var(--ink);border:0;border-radius:10px;overflow:auto}.gallery-dialog::backdrop{background:#1f1914dd}.gallery-dialog-top,.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-dialog-top p{font-size:14px;margin:0}.gallery-dialog button{font:inherit;font-size:14px;padding:12px 22px;min-height:44px;border:1px solid #9b8570;border-radius:25px;background:transparent;color:var(--ink);cursor:pointer}.gallery-dialog button:hover{background:#e6d9c8}.gallery-dialog button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.gallery-dialog figure{margin:15px 0}.gallery-full{display:block;width:100%;height: min(65svh,750px);object-fit:contain}.gallery-dialog figcaption{text-align:center;font-family:var(--serif);font-size:20px;padding:15px 0 5px}.gallery-controls{justify-content:center}body.gallery-open{overflow:hidden}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-tile{grid-column:span 1}.gallery-tile img{height:260px}}
@media(max-width:600px){.retreat-gallery{padding:50px 0}.gallery-heading{display:block}.gallery-heading>p{margin-top:20px;max-width:none}.gallery-grid{gap:12px}.gallery-tile{padding:6px 6px 0}.gallery-tile img{height:170px}.gallery-tile span{font-size:15px;padding:11px 4px}.gallery-tile-1{grid-column:span 2}.gallery-tile-1 img{height:245px}.gallery-tile-8{grid-column:span 2}.gallery-bottom{display:block}.gallery-bottom p{font-size:20px}.gallery-dialog{padding:14px}.gallery-full{height:60svh}}
@media(prefers-reduced-motion:reduce){.gallery-tile img{transition:none}.gallery-tile:hover img{transform:none}}
.gallery-destination-heading{margin-top:55px}.gallery-destination-heading h3{font:400 clamp(36px,4vw,52px)/1.15 var(--serif);margin:0}
.rooms-section{padding:80px 0;background:var(--cream);border-top:1px solid var(--line)}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rooms-grid .room-feature{grid-column:1/-1}.rooms-grid .room-feature img{height:440px}.rooms-grid .room-tile:not(.room-feature) img{height:240px}.rooms-section .gallery-bottom>p{font:14px/1.7 'DM Sans',sans-serif;max-width:620px}.rooms-section .gallery-heading h2{font-size:clamp(38px,4.5vw,60px)}@media(max-width:900px){.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-grid .room-feature img{height:350px}}@media(max-width:600px){.rooms-section{padding:50px 0}.rooms-grid{grid-template-columns:1fr;gap:18px}.rooms-grid .room-feature img,.rooms-grid .room-tile:not(.room-feature) img{height:auto;aspect-ratio:1.55;object-fit:cover}}
