.gallery-page{background:#f7f4ed;color:#18271f}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem clamp(1rem,5vw,5.5rem);background:#15241b;color:#fff;gap:1rem}.gallery-header nav{display:flex;align-items:center;gap:1.5rem}.gallery-header nav>a{font-size:.9rem}.gallery-intro{padding:4.5rem clamp(1.15rem,6vw,6rem) 3rem;position:relative;background:#15241b;color:#fff}.gallery-intro h1{font-size:clamp(3rem,6vw,6rem);max-width:850px}.gallery-intro>p:not(.eyebrow){max-width:590px;font-size:1.05rem;color:#d4ddd5}.gallery-total{display:inline-block;border-bottom:1px solid #d4a45f;padding:.5rem 0;color:#e4c48d;margin-top:1rem}.gallery-collection{padding:2.5rem clamp(1rem,4vw,4rem) 4rem;scroll-margin-top:1rem}.room-filters{display:flex;flex-wrap:wrap;gap:.55rem}.room-filters button{border:1px solid #b9c0b9;background:transparent;color:#24352a;border-radius:30px;padding:.65rem 1rem;min-height:44px;font:inherit;font-size:.9rem;cursor:pointer}.room-filters button[aria-pressed=true]{background:#243b2c;border-color:#243b2c;color:#fff}.gallery-toolbar>p{font-size:.9rem;color:#546153;margin:1.1rem 0 1.8rem}.photo-grid{columns:3;column-gap:1.1rem}.gallery-card{display:block;break-inside:avoid;margin:0 0 1.1rem;background:#eae9e2;overflow:hidden}.gallery-card[hidden]{display:none}.gallery-card img{display:block;width:100%;height:auto;transition:filter .2s}.gallery-card:hover img{filter:brightness(.94)}.gallery-card-copy{display:block;padding:1rem 1.1rem 1.15rem}.gallery-card-copy small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#526451;margin-bottom:.35rem}.gallery-card-copy>span{display:block;font-size:.98rem;line-height:1.45}.gallery-page a:focus-visible,.gallery-page button:focus-visible{outline:3px solid #b77423;outline-offset:4px}.gallery-cta{text-align:center;background:#e6e8df;padding:4rem 1.2rem}.gallery-cta h2{font-size:clamp(2rem,4vw,3.7rem)}.gallery-cta p{max-width:600px;margin-left:auto;margin-right:auto}.gallery-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding:2rem clamp(1.2rem,4vw,4rem);font-size:.9rem}.gallery-footer>a:first-child{font-weight:700}
#gallery-viewer{border:0;padding:0;width:min(1300px,96vw);height:min(950px,96svh);max-width:none;max-height:96svh;background:#0b120e;color:white;overflow:auto}#gallery-viewer::backdrop{background:rgba(0,0,0,.92)}.viewer-top{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 1.2rem;color:#d4ddd5}.viewer-top button,.viewer-stage button{border:1px solid #697168;color:#fff;background:#18261c;cursor:pointer;width:46px;height:46px;font-size:2rem;border-radius:50%;flex:none}.viewer-stage{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:0 1rem;height:calc(100% - 170px);min-height:160px}.viewer-stage img{min-width:0;width:calc(100% - 108px);height:100%;object-fit:contain}.viewer-caption{text-align:center;padding:1rem;font-size:1rem}.viewer-caption>p{margin:0 0 .25rem}.viewer-caption>span{font-size:.9rem;color:#bac8bc}.viewer-caption a{text-decoration:underline}body.viewer-open{overflow:hidden}@media(max-width:850px){.photo-grid{columns:2}.gallery-header .brand-emblem{width:38px}.gallery-header nav{gap:1rem}}@media(max-width:520px){.photo-grid{columns:1}.gallery-intro{padding-top:3rem}.gallery-header nav>a:first-child{display:none}.gallery-header .brand-copy strong{font-size:1rem}.gallery-header .button{padding:.7rem .85rem;font-size:.85rem}.room-filters{gap:.4rem}.room-filters button{font-size:.85rem;padding:.6rem .85rem}.viewer-stage{position:relative;padding:0;height:calc(100% - 185px)}.viewer-stage img{width:100%}.viewer-stage button{position:absolute;bottom:8px;z-index:2;background:rgba(20,30,24,.9)}#viewer-prev{left:12px}#viewer-next{right:12px}.viewer-caption{padding:1rem .75rem}.gallery-footer{flex-direction:column}.gallery-collection{padding-top:1.5rem}}
.gallery-intro{padding-top:2rem;padding-bottom:2rem}.gallery-intro h1{font-size:clamp(2.6rem,4vw,4rem)}.gallery-intro h1 br{display:none}.gallery-intro>p:not(.eyebrow){max-width:760px}.gallery-total{margin-top:0}.gallery-header .brand-emblem{background:transparent;padding:0}.gallery-header .brand-copy small{display:block}.gallery-intro .eyebrow{margin-bottom:.65rem}@media(max-width:520px){.gallery-intro{padding-top:1.4rem;padding-bottom:1.5rem}.gallery-intro h1{font-size:2.5rem}.gallery-header{padding-top:.6rem;padding-bottom:.6rem}}
