.room-breadcrumb{display:flex;gap:12px;align-items:center;padding:25px 7% 0;color:var(--muted);font-size:10px;letter-spacing:.2px}
.room-breadcrumb a:hover{text-decoration:underline}
.room-heading{padding:30px 7% 35px;display:flex;gap:40px;justify-content:space-between;align-items:end}
.room-heading .eyebrow{margin-bottom:14px}
.room-heading h1{font-size:clamp(43px,4.8vw,69px);font-weight:400;line-height:1.06;letter-spacing:-2px}
.room-heading h1 em{color:#747b65}
.room-heading .room-tagline{margin-top:17px;color:var(--muted);font-size:13px}
.room-number{font-family:var(--serif);font-size:73px;line-height:1;color:#c1b6a3;text-align:right}
.room-number small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2px;line-height:1.8;color:var(--muted);margin-bottom:5px}
.room-gallery{position:relative;padding:0 4.5%;display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:240px 240px;gap:10px}
.room-gallery>button{border:0;padding:0;background:var(--surface);position:relative;overflow:hidden}
.room-gallery>button:first-child{grid-row:1/3}
.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.room-gallery>button:hover img{transform:scale(1.025)}
.room-gallery>button:nth-child(2) img{object-position:center 52%}
.room-gallery>button:nth-child(3) img{object-position:center 66%}
.room-gallery .gallery-all{position:absolute;right:20px;bottom:20px;background:var(--paper);color:var(--ink);font-size:10px;padding:14px 18px;display:flex;gap:22px;align-items:center;box-shadow:0 2px 12px #0001}
.room-sections{margin:0 7%;display:flex;gap:35px;padding:22px 0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.4px}
.room-sections a:hover{color:var(--accent)}
.room-layout{padding:70px 7% 85px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:9%;align-items:start}
.room-overview h2{font-size:45px;max-width:590px;margin-bottom:24px}
.room-overview>p:not(.eyebrow){max-width:610px;font-size:14px;color:var(--muted)}
.room-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0 50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:15px}
.room-facts strong{font-family:var(--serif);font-size:25px;display:block;font-weight:400;line-height:1.2}
.room-facts span{font-size:9px;color:var(--muted);display:block;margin-top:9px;line-height:1.4}
.room-amenities h3{font-size:30px;margin:0 0 25px}
.amenity-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:35px;row-gap:0}
.amenity-grid li{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5;display:flex;gap:12px;align-items:baseline}
.amenity-grid li::before{content:'✓';color:#69714e;font-size:11px;flex-shrink:0}
.room-reserve{background:#f3eee5;border:1px solid #e1d9ca;padding:28px;position:sticky;top:25px}
.room-reserve .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:13px}
.room-reserve h2{font-size:32px;letter-spacing:-.7px;margin-bottom:12px}
.room-reserve>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.7}
.room-reserve form{margin:22px 0}
.room-reserve label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;font-size:9px;letter-spacing:1px}
.room-reserve input,.room-reserve select{width:100%;min-width:0;background:#fffefa;border:1px solid #d8d5c9;border-radius:0;padding:12px 10px;color:var(--ink);font-size:12px;min-height:44px}
.room-reserve .button{width:100%;font-size:11px;padding:15px 10px;gap:15px}
.room-reserve .reserve-note{font-size:9px;line-height:1.7;margin-top:15px;letter-spacing:0;color:var(--muted)}
.room-reserve .reserve-help{padding-top:17px;border-top:1px solid var(--line);font-size:10px;line-height:1.6}
.room-reserve .reserve-help a{text-decoration:underline;text-underline-offset:3px}
.room-balcony{margin:0 7%;display:grid;grid-template-columns:1.15fr .85fr;background:var(--surface)}
.room-balcony>img{height:490px;object-fit:cover;object-position:center 65%}
.room-balcony-copy{padding:65px 12%;align-self:center}
.room-balcony h2{font-size:43px;margin-bottom:23px}
.room-balcony p:not(.eyebrow){font-size:13px;color:var(--muted)}
.room-balcony .text-link{margin-top:20px}
.room-balcony button.text-link{background:transparent;border:0;border-bottom:1px solid #9ba49d;color:var(--ink);padding:12px 0;border-radius:0}
.room-info{padding:75px 7%;display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}
.room-info h2{font-size:39px}
.room-info details{border-bottom:1px solid var(--line);padding:18px 0}
.room-info summary{cursor:pointer;font-size:13px;line-height:1.7;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.room-info summary::after{content:'＋';font-size:20px;color:var(--accent)}
.room-info details[open] summary::after{content:'−'}
.room-info details p{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.9}
.room-info details a{text-decoration:underline;text-underline-offset:3px}
.room-back{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 7% 65px}
.room-back .button{font-size:11px}
.room-page .closing{padding:65px 20px}
.room-page .closing h2{font-size:56px}
.room-photo-dialog{width:min(1100px,95vw);padding:22px;max-height:95vh;overflow:auto}
.room-photo-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.room-photo-top h2{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.3px}
.room-photo-close{width:40px;height:40px;border:1px solid var(--line);background:none;color:var(--ink);font-size:27px}
.room-photo-stage{display:flex;align-items:center;justify-content:center;background:#eae7df;min-height:200px}
.room-photo-stage img{max-height:68vh;object-fit:contain;width:100%}
.room-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px}
.room-photo-controls p{font-size:11px;text-align:center;line-height:1.5}
.room-photo-controls button{border:1px solid var(--line);background:none;min-width:43px;height:43px;color:var(--ink);font-size:22px}
.room-photo-count{font-size:9px;color:var(--muted);display:block;margin-top:3px}
@media(max-width:1050px){.room-layout{grid-template-columns:minmax(0,1fr) 300px;gap:5%}.room-gallery{grid-template-rows:200px 200px}.room-overview h2{font-size:38px}.room-reserve{padding:24px}.room-facts{grid-template-columns:1fr 1fr;gap:22px}.room-balcony-copy{padding:45px 10%}.room-balcony h2{font-size:36px}.room-heading h1{font-size:56px}}
@media(max-width:720px){.room-breadcrumb{padding:22px 8% 0;font-size:9px;gap:8px;flex-wrap:wrap}.room-heading{padding:28px 8%;align-items:start;gap:15px}.room-heading h1{font-size:43px;letter-spacing:-1.4px}.room-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.room-heading .room-tagline{font-size:12px;line-height:1.7;margin-top:16px}.room-number{font-size:42px;margin-top:4px}.room-number small{font-size:7px;letter-spacing:1px}.room-gallery{padding:0 5%;grid-template-columns:1fr 1fr;grid-template-rows:330px 145px;gap:7px}.room-gallery>button:first-child{grid-row:1;grid-column:1/3}.room-gallery>button:nth-child(3){grid-column:2}.room-gallery .gallery-all{right:8px;bottom:10px;padding:10px 9px;gap:10px;font-size:8px}.room-sections{margin:0 8%;gap:0;justify-content:space-between;font-size:9px;padding:20px 0}.room-layout{padding:50px 8%;grid-template-columns:1fr;gap:40px}.room-overview h2{font-size:36px}.room-overview>p:not(.eyebrow){font-size:13px}.room-facts{margin:28px 0 38px}.room-facts strong{font-size:25px}.room-reserve{position:static;padding:27px}.room-reserve h2{font-size:32px}.room-reserve input,.room-reserve select{font-size:16px}.room-amenities h3{font-size:28px}.amenity-grid{column-gap:20px}.amenity-grid li{font-size:11px;gap:8px}.room-balcony{margin:0 8%;grid-template-columns:1fr}.room-balcony>img{height:300px}.room-balcony-copy{padding:36px 25px}.room-balcony h2{font-size:36px}.room-info{padding:55px 8%;grid-template-columns:1fr;gap:20px}.room-info h2{font-size:36px}.room-back{padding:0 8% 50px;flex-direction:column;align-items:stretch}.room-back .text-link{align-self:start}.room-back .button{text-align:center}.room-page .closing h2{font-size:43px}.room-photo-dialog{padding:15px}.room-photo-top h2{font-size:11px}.room-photo-stage img{max-height:65vh}.room-photo-controls{gap:12px}.room-photo-controls p{font-size:10px}}
