.cottage-gallery{scroll-margin-top:110px}.cottage-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.cottage-photo-grid .gallery-photo{width:100%;height:auto;aspect-ratio:4/3;border-radius:14px;overflow:hidden;position:relative;text-align:left}.cottage-photo-grid .gallery-photo img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .3s}.cottage-photo-grid .gallery-photo:hover img{transform:scale(1.025)}.cottage-photo-grid .gallery-photo>span{position:absolute;bottom:0;left:0;right:0;padding:35px 16px 15px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:14px;color:#fff;line-height:1.4}.cottage-photo-grid .gallery-photo b{float:right}.cottage-photo-grid [hidden]{display:none!important}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 12px}.gallery-filters button{font:inherit;font-size:14px;padding:11px 17px;border:1px solid #6b7465;border-radius:30px;color:inherit;background:transparent;cursor:pointer}.gallery-filters [aria-pressed=true]{color:#122016;background:#d9e0c2;border-color:#d9e0c2}.gallery-filters button:focus-visible,.hero-photo-button:focus-visible{outline:3px solid #d9e0c2;outline-offset:4px}.hero-photo-button{padding:0;border:0;background:none;width:100%;height:100%;display:block;cursor:zoom-in}.hero-photo-button img{height:100%;width:100%;object-fit:cover}.room-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}.room-facts article{border-top:1px solid #596252;padding-top:18px}.spa-search{border-top:1px solid #596252}.spa-search p{max-width:850px}.spa-search a,.photo-source a{color:inherit;text-decoration:underline;text-underline-offset:4px}.photo-source{padding:20px 0 35px}.detail-intro h1 em{font-size:.58em;display:block;margin-top:15px;line-height:1.25}#photo-dialog::backdrop{background:rgba(0,0,0,.9)}#photo-dialog #photo-large{object-fit:contain;max-height:76vh}.photo-dialog-footer{gap:18px}@media(max-width:900px){.cottage-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-facts{grid-template-columns:1fr;gap:10px}}@media(max-width:560px){.cottage-photo-grid{grid-template-columns:1fr;gap:16px}.gallery-filters{gap:7px}.gallery-filters button{padding:9px 12px}.cottage-gallery h2{font-size:34px}.detail-intro h1 em{font-size:.65em}.photo-dialog-footer{display:block}}