.hotel-vertical-title span{display:block}
.room-spec{font-family:var(--mono);font-size:10px!important;letter-spacing:.08em;line-height:1.9;margin:0 0 24px!important;color:rgba(24,21,20,.68)}
.price-note{max-width:calc(var(--max) - (var(--side) * 2));margin:28px auto 0;font-size:11px}

.play-space-card p+p{margin-top:14px!important}
.play-space-note{font-size:11px!important;line-height:1.9;color:rgba(24,21,20,.64)}

@media(max-width:640px){
  .price-note{padding:0}
}

/* Interior photography — data-driven carousel within ROOMS & PRICE */
.rooms>.interior-carousel{
  max-width:calc(var(--max) - (var(--side) * 2));
  margin-left:auto;
  margin-right:auto;
}
.interior-carousel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:rgba(255,255,255,.46);
  margin-top:-18px;
  margin-bottom:54px;
}
.interior-carousel-viewport{
  position:relative;
  overflow:hidden;
  aspect-ratio:3 / 2;
  background:rgba(246,246,244,.82);
}
.interior-carousel-viewport::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.11),transparent 42%,rgba(255,255,255,.035));
  z-index:2;
}
.interior-carousel-track{position:absolute;inset:0}
.interior-carousel-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transition:opacity .7s ease;
  pointer-events:none;
}
.interior-carousel-slide.is-active{opacity:1;pointer-events:auto}
.interior-carousel-slide img{
  width:100%;
  height:100%;
  object-fit:var(--gallery-fit,cover);
  object-position:var(--gallery-position,center);
}
.interior-carousel-meta{
  min-height:68px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  border-top:1px solid var(--line);
  background:rgba(252,252,251,.76);
}
.interior-carousel-caption{
  min-width:0;
  padding:13px 16px 12px;
  align-self:center;
}
.interior-carousel-caption span{
  display:block;
  min-height:12px;
  margin-bottom:3px;
  font-family:var(--mono);
  font-size:8px;
  letter-spacing:.14em;
  color:rgba(24,21,20,.55);
}
.interior-carousel-caption span:empty{display:none}
.interior-carousel-caption p{
  margin:0;
  max-width:760px;
  font-size:11px;
  line-height:1.7;
  color:rgba(24,21,20,.72);
}
.interior-carousel-controls{
  z-index:3;
  display:flex;
  align-items:center;
  gap:1px;
  border-left:1px solid rgba(24,21,20,.18);
  background:rgba(252,252,251,.72);
  backdrop-filter:blur(12px);
}
.interior-carousel-count{
  min-width:78px;
  padding:9px 12px;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.12em;
  text-align:center;
}
.interior-carousel-count b{font-weight:400}
.interior-carousel-controls button{
  width:38px;
  height:100%;
  min-height:36px;
  padding:0;
  border:0;
  border-left:1px solid rgba(24,21,20,.18);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-family:var(--mono);
  font-size:13px;
  transition:.2s;
}
.interior-carousel-controls button:hover{background:rgba(255,255,255,.72)}
.interior-carousel-controls.is-single button{display:none}
@media(max-width:900px){
  .interior-carousel{margin-top:0;margin-bottom:34px}
}
@media(max-width:640px){
  .interior-carousel-meta{min-height:62px}
  .interior-carousel-caption{padding:11px 12px 10px}
  .interior-carousel-caption p{font-size:10px}
  .interior-carousel-count{min-width:64px;padding-left:8px;padding-right:8px}
  .interior-carousel-controls button{width:34px}
}
@media(prefers-reduced-motion:reduce){.interior-carousel-slide{transition:none}}

.access-note{display:inline-block;margin-top:.35rem;font-size:.86em;line-height:1.75;color:rgba(20,20,20,.7)}

