.room-card-grid{--room-card-gap:clamp(32px, 4vw, 56px);--room-card-divider:#9c844359;column-gap:var(--room-card-gap);grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0;display:grid;position:relative}.room-card-grid.is-dark{--room-card-divider:#c9ae5e52}.room-card-grid.is-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card{--room-card-ink:var(--ink);--room-card-muted:var(--muted);--room-card-accent:var(--gold-700);--room-card-line:var(--stone);grid-template-rows:subgrid;min-width:0;color:var(--room-card-ink);grid-row:span 7;row-gap:0;display:grid;position:relative}.room-card.is-dark{--room-card-ink:var(--ivory);--room-card-muted:#f8f4ecb8;--room-card-accent:var(--gold-300);--room-card-line:#c9ae5e40;--room-photo-ink:#f8f4ecb3;--room-photo-accent:var(--gold-300)}.room-card:after{content:"";top:0;bottom:0;right:calc(var(--room-card-gap) / -2);background:var(--room-card-divider);pointer-events:none;width:1px;display:none;position:absolute}.room-card-gallery{min-width:0}.room-card-image{aspect-ratio:1;border:1px solid var(--room-card-line);display:block;position:relative;overflow:hidden}.room-card-photo{cursor:zoom-in;width:100%;height:100%;padding:0;display:block;overflow:hidden}.room-card-image img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.room-card-photo:hover img{transform:scale(1.04)}.room-card-photo:focus-visible{outline:2px solid var(--gold-500);outline-offset:-5px}.room-card .room-card-title{color:inherit;margin:18px 0 0;font-size:clamp(32px,3vw,44px)}.room-card .room-card-description{color:var(--room-card-muted);margin:12px 0 0;font-size:14px;line-height:1.75}.room-card-specs .room-facts{border:0;flex-wrap:wrap;gap:16px 26px;margin:24px 0 0;padding:0;list-style:none;display:flex}.room-card-specs .room-facts li{background:0 0;border:0;align-items:flex-start;gap:10px;min-width:0;max-width:100%;margin:0;padding:0;display:flex}.room-card-specs .room-facts svg{color:var(--room-card-accent);flex-shrink:0;margin-top:3px}.room-card-specs .room-facts span{gap:3px;display:grid}.room-card-specs .room-facts small{color:var(--room-card-accent);letter-spacing:.15em;text-transform:uppercase;font-size:10px}.room-card-specs .room-facts strong{color:inherit;font:500 14px/1.5 var(--font-sans)}.room-card-amenities{padding-top:26px}.room-card-amenities .room-card-amenities-title{color:var(--room-card-accent);font:600 10px/1.5 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px}.room-card-amenities ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:0;list-style:none;display:grid}.room-card-amenities li{color:var(--room-card-muted);align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;display:flex}.room-card-amenities li svg{color:var(--room-card-accent);flex-shrink:0;margin-top:2px}.room-card-actions{border-top:1px solid var(--room-card-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;padding-top:18px;display:flex}.room-card-actions a,.room-card-actions button{min-height:44px;color:inherit;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:600;display:inline-flex}.room-card-actions a{color:var(--room-card-accent)}.room-card-actions button{border:1px solid var(--room-card-line);background:0 0;padding:0 16px}.room-card-actions button:hover{border-color:var(--gold-500);background:var(--gold-500);color:var(--teal-950)}@media (min-width:1081px){.room-card-grid:not(.is-two-column)>.room-card:not(:last-child):not(:nth-child(3n)):after{display:block}}@media (min-width:761px){.room-card-grid.is-two-column>.room-card:nth-child(odd):not(:last-child):after{display:block}}@media (min-width:761px) and (max-width:1080px){.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card-grid>.room-card:nth-child(n+3){margin-top:var(--room-card-gap)}.room-card-grid>.room-card:nth-child(odd):not(:last-child):after{display:block}}@media (max-width:760px){.room-card-grid,.room-card-grid.is-two-column{--room-card-gap:80px;row-gap:var(--room-card-gap);grid-template-columns:minmax(0,1fr)}.room-card{grid-row:auto;display:block}.room-card:not(:first-child):before{content:"";top:calc(var(--room-card-gap) / -2);background:var(--room-card-divider);pointer-events:none;height:1px;position:absolute;left:0;right:0}}@media (prefers-reduced-motion:reduce){.room-card-image img{transition:none}.room-card-photo:hover img{transform:none}}
