/* Residences index + detail pages */
.res-jumpbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.5rem}
.res-jump{padding:.45rem 1rem;font-size:.85rem;border:1px solid var(--border);border-radius:999px;background:var(--cream)}
.res-jump:hover{background:var(--gold-light)}
.res-floor{margin-bottom:3.5rem;scroll-margin-top:calc(var(--nav-h) + 1rem)}
.res-floor-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.5rem}
.res-floor-head h2{margin:0}
.res-floor-head span{color:var(--muted);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.res-card .suite-card-img{display:block}
.res-unit{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.25rem;font-weight:600}
.res-card h3 a:hover{color:var(--gold-dark)}
.res-detail-hero{padding:calc(var(--nav-h) + 2.5rem) 0 1.5rem;background:var(--cream)}
.res-detail-hero .eyebrow a{color:var(--gold-dark)}
.res-meta-lg{font-size:1rem;margin-top:.5rem}
.res-gallery-wrap{background:var(--cream);padding-bottom:2rem}
.res-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.res-gallery .res-gal-item{display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/2;background:#ddd}
.res-gallery .res-gal-item:first-child{grid-column:span 2;grid-row:span 2}
.res-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.res-gallery .res-gal-item:hover img{transform:scale(1.04)}
.res-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}
.res-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:1.5rem 0 2rem}
.res-fact{background:var(--cream);padding:.85rem 1rem;border-radius:var(--radius)}
.res-fact span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.res-fact strong{font-weight:500;color:var(--forest-deep)}
.res-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1.5rem;margin:.75rem 0 1.75rem;padding-left:1.1rem;list-style:disc}
.res-inquiry{position:sticky;top:calc(var(--nav-h) + 1rem);max-width:none;margin:0}
.res-inquiry input[type=text],.res-inquiry input[type=email],.res-inquiry input[type=tel],.res-inquiry input[type=date],.res-inquiry input[type=number],.form-wrap select,.form-wrap input[type=text],.form-wrap input[type=email],.form-wrap input[type=tel]{width:100%;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.res-check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;text-transform:none;letter-spacing:0}
.res-check input{margin-top:.3rem}
.lightbox{position:fixed;inset:0;background:rgba(10,16,13,.94);z-index:1000;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:1rem;line-height:1}
.lb-close{top:.5rem;right:1rem}.lb-prev{left:.5rem;top:50%;transform:translateY(-50%)}.lb-next{right:.5rem;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:1rem;color:#fff;font-size:.9rem;letter-spacing:.1em}
@media (max-width:960px){.res-detail-grid{grid-template-columns:1fr}.res-inquiry{position:static}.res-gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.res-gallery{grid-template-columns:repeat(2,1fr)}.res-list{grid-template-columns:1fr}}
