.rooms-hero{position:relative;min-height:600px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.rooms-hero-media,.rooms-hero-shade{position:absolute;inset:0}.rooms-hero-shade{z-index:1;background:linear-gradient(90deg,rgba(7,32,27,.84),rgba(7,32,27,.22) 72%),linear-gradient(0deg,rgba(7,32,27,.52),transparent 58%)}.rooms-hero-copy{position:relative;z-index:2;padding-bottom:72px}.rooms-hero h1{max-width:930px;margin:0;font:500 clamp(58px,7.3vw,100px)/.98 var(--serif);letter-spacing:-.045em}.rooms-hero h1 em,.rooms-intro h2 em,.room-feature h2 em,.room-essentials h2 em,.rooms-closing h2 em{color:var(--gold);font-weight:500}.rooms-hero-copy>p:last-child{max-width:610px;margin:27px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.7}.rooms-scroll{position:absolute;z-index:3;right:4vw;bottom:38px;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.72);font-size:8px;letter-spacing:.16em;text-transform:uppercase}.rooms-scroll span{width:42px;height:1px;background:var(--gold)}
.rooms-intro{background:var(--cream)}.rooms-intro-grid{display:grid;grid-template-columns:1fr .72fr;gap:clamp(60px,10vw,150px);align-items:end}.rooms-intro h2{margin:0;font:500 clamp(44px,5.7vw,78px)/1.04 var(--serif);letter-spacing:-.04em}.rooms-intro-grid>div:last-child>p{margin:0;color:#64716d;font-size:15px;line-height:1.85}.room-jump{margin-top:35px;display:flex;flex-wrap:wrap;gap:10px}.room-jump a{padding:10px 14px;border:1px solid var(--line);color:var(--green);font-size:8px;letter-spacing:.12em;text-transform:uppercase;transition:color .25s,background-color .25s,border-color .25s}.room-jump a:hover{color:#fff;background:var(--green);border-color:var(--green)}
.room-feature{min-height:710px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper)}.room-feature-reverse{grid-template-columns:.92fr 1.08fr;background:var(--cream)}.room-feature-reverse .room-feature-media{grid-column:2}.room-feature-reverse .room-feature-copy{grid-column:1;grid-row:1}.room-feature-media{position:relative;min-height:710px;padding:0;border:0;overflow:hidden;background:#dfe4df;cursor:zoom-in}.room-feature-media img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.room-feature-media:hover img{transform:scale(1.035)}.room-feature-copy{padding:clamp(55px,7vw,105px);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.room-index{margin-bottom:auto;color:#9a7c46;font-size:8px;letter-spacing:.14em}.room-feature h2{margin:0;font:500 clamp(42px,4.7vw,67px)/1.04 var(--serif);letter-spacing:-.04em}.room-feature-copy>p:not(.eyebrow){max-width:520px;margin:27px 0;color:#64716d;font-size:14px;line-height:1.8}.room-feature ul{width:100%;max-width:520px;margin:0 0 35px;padding:0;list-style:none;border-top:1px solid var(--line)}.room-feature li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--line);color:#5f6c68;font-size:11px}.room-feature li::before{content:"✓";position:absolute;left:0;color:var(--gold)}
.room-essentials{color:#fff;background:var(--green)}.essentials-head{margin-bottom:55px;display:flex;align-items:end;justify-content:space-between;gap:50px}.room-essentials h2{margin:0;font:500 clamp(43px,5vw,72px)/1.04 var(--serif);letter-spacing:-.04em}.essentials-head>p{max-width:330px;margin:0 0 5px;color:rgba(255,255,255,.55);font-size:12px;line-height:1.7}.essentials-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}.essentials-grid>div{min-height:210px;padding:30px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.essentials-grid span{color:var(--gold);font-size:8px}.essentials-grid h3{margin:auto 0 8px;font:500 21px var(--serif)}.essentials-grid p{margin:0;color:rgba(255,255,255,.5);font-size:10px;line-height:1.6}
.rooms-closing{position:relative;height:650px;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.rooms-closing-media,.rooms-closing-shade{position:absolute;inset:0}.rooms-closing-shade{z-index:1;background:rgba(7,32,27,.64)}.rooms-closing-copy{position:relative;z-index:2}.rooms-closing h2{margin:0 0 38px;font:500 clamp(55px,7vw,92px)/1.02 var(--serif);letter-spacing:-.04em}
@media(max-width:900px){.rooms-hero{min-height:560px}.rooms-intro-grid{grid-template-columns:1fr}.room-feature,.room-feature-reverse{grid-template-columns:1fr}.room-feature-reverse .room-feature-media,.room-feature-reverse .room-feature-copy{grid-column:1;grid-row:auto}.room-feature-media{min-height:580px}.room-feature-copy{min-height:570px}.essentials-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.rooms-hero{min-height:530px}.rooms-hero-copy{padding-bottom:92px}.rooms-hero h1{font-size:54px}.rooms-scroll{right:20px;bottom:68px}.rooms-intro-grid{gap:38px}.room-feature-media{min-height:420px}.room-feature-copy{min-height:560px;padding:55px 20px}.room-index{margin-bottom:55px}.essentials-head{display:block}.essentials-head>p{margin-top:24px}.essentials-grid{grid-template-columns:1fr}.essentials-grid>div{min-height:155px}.rooms-closing{height:580px}.rooms-closing h2{font-size:53px}}

/* Room-wise media carousels */
.room-carousel{position:relative;padding:0;overflow:hidden}.room-carousel-track{position:absolute;inset:0;display:flex;transition:transform .65s cubic-bezier(.2,.75,.2,1);will-change:transform}.room-slide{position:relative;min-width:100%;height:100%;padding:0;border:0;overflow:hidden;background:#dfe4df;cursor:zoom-in}.room-slide img{width:100%;height:100%;object-fit:cover}.room-carousel-controls{position:absolute;z-index:4;right:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:7px;color:#fff;background:rgba(11,45,38,.88);backdrop-filter:blur(8px)}.room-carousel-controls button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:transparent;cursor:pointer;transition:color .25s,background-color .25s,border-color .25s}.room-carousel-controls button:hover{color:var(--green);background:var(--gold);border-color:var(--gold)}.room-carousel-controls>span{min-width:42px;color:rgba(255,255,255,.55);font-size:8px;letter-spacing:.08em;text-align:center}.room-carousel-controls b{color:#fff;font-weight:500}.room-slide .placeholder-label{z-index:2}

/* Amenities and expandable room details */
.room-amenities{width:100%;max-width:540px;margin:0 0 22px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.room-amenities span{min-height:42px;padding:11px 10px;display:flex;align-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#596863;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.room-amenities span::before{content:"✓";margin-right:7px;color:var(--gold)}.room-detail{width:100%;max-width:540px;margin:0 0 26px;border-bottom:1px solid var(--line)}.room-detail summary{padding:9px 0;display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;list-style:none}.room-detail summary::-webkit-details-marker{display:none}.room-detail summary span{font-size:18px;font-weight:300;transition:transform .25s}.room-detail[open] summary span{transform:rotate(45deg)}.room-detail>p{margin:4px 0 16px!important;color:#64716d!important;font-size:11px!important;line-height:1.7!important}.room-detail summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:680px){.room-carousel-controls{right:14px;bottom:14px}.room-amenities{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.room-carousel-track{transition:none}}

/* Paired room actions and room-detail modal */
.room-actions{width:100%;max-width:540px;display:flex;align-items:stretch;gap:10px}.room-actions .button{flex:1;justify-content:center;white-space:nowrap}.room-detail-cta{border-color:var(--green);color:var(--green);background-color:transparent;background-image:linear-gradient(90deg,var(--green),var(--green))}.room-detail-cta:hover{color:#fff;background-color:transparent;border-color:var(--green)}.room-detail-modal{width:min(620px,calc(100vw - 32px));padding:clamp(32px,5vw,58px);border:1px solid rgba(199,166,106,.55);color:var(--green);background:var(--cream);box-shadow:0 30px 90px rgba(5,28,23,.42)}.room-detail-modal::backdrop{background:rgba(5,25,21,.78);backdrop-filter:blur(6px)}.room-detail-modal h2{max-width:490px;margin:0;font:500 clamp(36px,5vw,54px)/1.08 var(--serif);letter-spacing:-.035em}.room-detail-modal>p:not(.eyebrow){margin:24px 0;color:#64716d;font-size:13px;line-height:1.8}.room-modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--green);background:transparent;font-size:24px;cursor:pointer}.room-modal-amenities{margin:0 0 28px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.room-modal-amenities span{padding:12px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase}.room-modal-amenities span::before{content:"✓";margin-right:6px;color:var(--gold)}
@media(max-width:680px){.room-actions{flex-direction:column}.room-actions .button{width:100%}.room-modal-amenities{grid-template-columns:1fr 1fr}}

/* Minimal underlined room-detail CTA */
.room-actions .room-detail-cta{min-width:210px;width:auto;padding:0 0 9px;display:flex;align-items:center;justify-content:space-between;align-self:center;border:0;border-bottom:1px solid var(--green);color:var(--green);background-color:transparent;background-image:none;overflow:visible;font:600 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;box-shadow:none;cursor:pointer;transition:color .25s,border-color .25s}.room-actions .room-detail-cta::before{display:none}.room-actions .room-detail-cta span{font-size:13px;font-weight:400;transition:transform .25s}.room-actions .room-detail-cta:hover{color:#a47d3d;border-color:#a47d3d;background:transparent;box-shadow:none}.room-actions .room-detail-cta:hover span{transform:translateX(4px)}.room-actions .room-detail-cta:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media(max-width:680px){.room-actions .room-detail-cta{width:100%;min-height:38px}}
.room-actions .room-detail-cta{min-width:0;width:max-content;gap:32px}.room-actions .room-detail-cta{flex:none}@media(max-width:680px){.room-actions .room-detail-cta{width:max-content;min-height:38px}}

.navigable-lightbox .lightbox-arrow{position:absolute;z-index:4;top:50%;right:auto;width:48px;height:48px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:rgba(8,47,39,.78);font-size:18px;cursor:pointer;transform:translateY(-50%);transition:color .25s,background-color .25s,border-color .25s}.navigable-lightbox .lightbox-arrow:hover{color:var(--green);background:var(--gold);border-color:var(--gold)}.navigable-lightbox .lightbox-arrow-prev{left:18px}.navigable-lightbox .lightbox-arrow-next{right:18px;left:auto}@media(max-width:680px){.navigable-lightbox .lightbox-arrow{width:42px;height:42px}.navigable-lightbox .lightbox-arrow-prev{left:7px}.navigable-lightbox .lightbox-arrow-next{right:7px}}
