.residence-photo-story{padding:120px 3vw;background:#f5f1ea}.photo-story-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:1300px;margin:0 auto 38px}.photo-story-heading h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.8rem);line-height:.95;font-weight:400;margin:12px 0 0}.photo-story-heading p:last-child{max-width:310px;line-height:1.5;margin:0}.photo-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:12px}.photo-grid button{appearance:none;border:0;padding:0;background:#ddd;overflow:hidden;cursor:pointer;min-width:0}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.photo-grid button:hover img,.photo-grid button:focus-visible img{transform:scale(1.04)}.photo-grid button:focus-visible{outline:3px solid #c99f45;outline-offset:3px}.photo-grid button:nth-child(1){grid-column:span 7;grid-row:span 4}.photo-grid button:nth-child(2){grid-column:span 5;grid-row:span 2}.photo-grid button:nth-child(3){grid-column:span 5;grid-row:span 2}.photo-grid button:nth-child(4){grid-column:span 4;grid-row:span 3}.photo-grid button:nth-child(5){grid-column:span 4;grid-row:span 3}.photo-grid button:nth-child(6){grid-column:span 4;grid-row:span 3}.photo-grid button:nth-child(7){grid-column:span 6;grid-row:span 3}.photo-grid button:nth-child(8){grid-column:span 6;grid-row:span 3}.photo-grid button:nth-child(9){grid-column:span 3;grid-row:span 2}.photo-grid button:nth-child(10){grid-column:span 3;grid-row:span 2}.photo-grid button:nth-child(11){grid-column:span 3;grid-row:span 2}.photo-grid button:nth-child(12){grid-column:span 3;grid-row:span 2}.photo-grid button:nth-child(n+13){grid-column:span 3;grid-row:span 2}.photo-lightbox{border:0;background:rgba(13,12,10,.97);width:min(100vw,1500px);height:100vh;max-width:none;max-height:none;padding:30px;color:#fff}.photo-lightbox::backdrop{background:rgba(0,0,0,.76)}.photo-lightbox img{display:block;width:min(100%,1200px);height:calc(100vh - 120px);margin:auto;object-fit:contain}.photo-lightbox button{position:absolute;border:1px solid rgba(255,255,255,.7);width:48px;height:48px;border-radius:50%;color:#fff;background:rgba(0,0,0,.18);cursor:pointer;font-size:1.5rem}.photo-lightbox .lightbox-close{right:30px;top:30px}.photo-lightbox .lightbox-prev{left:30px;top:50%}.photo-lightbox .lightbox-next{right:30px;top:50%}.photo-lightbox p{position:absolute;left:30px;bottom:20px;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.guest-notes{background:#15120f;color:#fff;padding:110px 3vw}.guest-notes-inner{max-width:1300px;margin:auto}.guest-notes-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.guest-notes h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.6rem);font-weight:400;line-height:.95;margin:12px 0 0}.rating-line{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{border-top:1px solid rgba(255,255,255,.35);padding:28px 4px 8px}.review-stars{color:#d5ad58;letter-spacing:.15em;font-size:.8rem}.review-card blockquote{font-family:Georgia,serif;font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.35;margin:22px 0 26px}.review-card cite{font-style:normal;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#d8d0c5}.caban-overview{grid-template-columns:minmax(100px,.7fr) minmax(0,1.7fr) minmax(190px,.85fr);gap:4vw}.caban-pool-detail{min-height:560px;margin:0;background:center/cover no-repeat;position:relative}.caban-pool-detail figcaption{position:absolute;left:18px;bottom:16px;color:#fff;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;text-shadow:0 1px 8px #000}@media(max-width:700px){.residence-photo-story{padding:80px 20px}.photo-story-heading,.guest-notes-head{display:block}.photo-story-heading p:last-child{margin-top:18px}.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px}.photo-grid button:nth-child(n){grid-column:span 1;grid-row:span 1}.photo-grid button:nth-child(1),.photo-grid button:nth-child(6),.photo-grid button:nth-child(11),.photo-grid button:nth-child(16){grid-column:span 2;grid-row:span 2}.photo-lightbox{padding:10px}.photo-lightbox img{height:calc(100vh - 100px)}.photo-lightbox .lightbox-close{right:12px;top:16px}.photo-lightbox .lightbox-prev{left:10px}.photo-lightbox .lightbox-next{right:10px}.photo-lightbox p{left:15px;bottom:8px}.guest-notes{padding:80px 20px}.rating-line{margin-top:22px}.review-grid{grid-template-columns:1fr;gap:10px}.caban-overview{grid-template-columns:1fr}.caban-pool-detail{min-height:420px}}
