/* Photo-led room tour: original serif, plum, wine and brass. */
.room-tour{border:1px solid #b28b5359;background:radial-gradient(ellipse at top right,#7e50343d,transparent 65%),linear-gradient(130deg,#32212e,#171319);box-shadow:0 24px 65px #0005;overflow:hidden}
.room-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#bb945446;border-bottom:1px solid #b28b5366}.room-tabs button{display:flex;align-items:center;gap:15px;text-align:left;padding:18px;background:linear-gradient(120deg,#2b2029,#201920);border:0;min-height:82px;position:relative;isolation:isolate;overflow:hidden}.room-tabs button:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:#f2cf94;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.room-tabs button[aria-selected=true]{background:linear-gradient(120deg,#77523a,#34232f);color:#fff0d5}.room-tabs button[aria-selected=true]:after{transform:scaleX(1)}.room-tabs img{width:70px;height:52px;object-fit:cover;border:1px solid #e0be7d55;flex-shrink:0}.room-tabs span{font:500 16px/1.6 var(--serif)}.room-tabs small{display:block;font:italic 12px var(--latin);color:#d8b787}.room-tabs b{margin-left:auto;opacity:0;font-size:12px;color:#e7cb97;font-weight:400}.room-tabs .room-visited b{opacity:1}.room-tabs button:focus-visible{outline:3px solid #ffe5af;outline-offset:-5px}
.room-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:stretch;min-width:0}.room-panel[hidden]{display:none}.room-image{position:relative;min-width:0;padding:0;background:#181319;border:0;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.room-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.room-image:hover>img{transform:scale(1.035)}.room-image>span{position:absolute;bottom:20px;right:20px;padding:9px 15px;font-size:11px;background:#181319cc;border:1px solid #e0be7d88;color:#ffe5bc;backdrop-filter:blur(6px)}.room-image:focus-visible{outline:3px solid #ffe5af;outline-offset:-5px}.room-copy{padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.room-copy h3{font-size:clamp(23px,2.8vw,36px);line-height:1.8;max-width:9em}.room-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#d8c7bc;margin:20px 0}.room-copy .text-link{font-size:12px;min-height:44px;gap:10px;margin-top:8px}.room-progress{display:flex;align-items:center;gap:14px;padding:15px 22px;border-top:1px solid #b28b5344;font-size:11px;color:#d9bc93}.room-progress>span:nth-child(2){margin-left:auto;color:#eddfcf}.room-progress>div{width:90px;height:3px;background:#af8a5c40;flex-shrink:0}.room-progress i{display:block;width:33.333%;height:100%;background:linear-gradient(90deg,#a77247,#ffe1a0);transition:width .5s var(--ease);box-shadow:0 0 10px #ddb98255}.room-arrival .room-copy{animation:roomCopyIn .55s var(--ease) both}.room-arrival .room-image img{animation:photoChange .6s var(--ease) both}
@keyframes roomCopyIn{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
.booking-dialog .phone-card{margin:17px 0 18px}.booking-dialog .booking-guide{margin-top:0}.booking-dialog .dialog-hours{margin:12px 0}.booking-dialog .dialog-close{width:44px;height:44px;background:linear-gradient(120deg,#5c4035,#241a27);border:1px solid #c8a47666;z-index:2}.menu-toggle{min-width:44px;min-height:44px}.sound-switch{min-height:44px}
@media(max-width:850px){.room-panel{grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}.room-tabs button{gap:10px;padding:13px}.room-tabs img{width:52px;height:43px}.room-tabs span{font-size:14px}.room-copy{padding:25px}}
@media(max-width:600px){.room-tabs button{padding:10px 7px;min-height:85px;gap:5px;justify-content:center;flex-wrap:wrap;text-align:center}.room-tabs img{width:42px;height:34px}.room-tabs span{font-size:12px}.room-tabs small{font-size:10px}.room-tabs b{position:absolute;right:5px;top:4px;font-size:9px}.room-panel{grid-template-columns:minmax(0,1fr)}.room-image{aspect-ratio:4/3}.room-image>span{bottom:13px;right:13px;font-size:10px;padding:9px 12px}.room-copy{padding:22px}.room-copy .eyebrow{margin-bottom:10px}.room-copy h3{font-size:23px;max-width:none}.room-copy>p:not(.eyebrow){margin:10px 0;font-size:12px}.room-copy .text-link{margin:0}.room-progress{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px 16px;font-size:10px}.room-progress>span:nth-child(2){font-size:9px}.room-progress>div{width:100%;grid-column:1/-1}.booking-dialog{max-height:calc(100dvh - 24px);padding-top:49px}.booking-dialog h2{font-size:25px;line-height:1.6}.booking-dialog>.eyebrow{font-size:10px;margin-bottom:10px}.booking-dialog>#bookingContext{font-size:12px;margin-top:12px}.booking-dialog .phone-card{margin:14px 0}.booking-guide blockquote{font-size:15px}.booking-dialog .dialog-close{top:5px;right:5px}.header-controls{gap:7px}}
@media(prefers-reduced-motion:reduce){.room-arrival .room-copy,.room-arrival .room-image img{animation:none!important}.room-tabs button:after,.room-image>img,.room-progress i{transition:none!important}.room-image:hover>img{transform:none}}
