/* A centered room portrait with smaller neighboring previews. Native scrolling remains the no-script fallback. */
html body.refined.polished .room-carousel{
  --gallery-card-width:min(36vw,380px);
  --gallery-ease:cubic-bezier(.22,.61,.36,1);
  width:calc(100% - 80px);max-width:1180px;margin-inline:auto;
}
html body.refined.polished .room-carousel [hidden]{display:none!important}
html body.refined.polished .room-carousel .gallery-stage{position:relative}
html body.refined.polished .room-carousel[data-ready] .office-track{
  display:block;position:relative;height:calc(var(--gallery-card-width) * 1.5 + 32px);
  overflow:hidden;padding:0;scroll-snap-type:none;touch-action:pan-y;isolation:isolate;
}
html body.refined.polished .room-carousel[data-ready] .office-track figure{
  position:absolute;left:50%;top:50%;margin:0;width:var(--gallery-card-width);height:auto;aspect-ratio:2/3;
  border-radius:8px;overflow:hidden;background:var(--pale);opacity:0;pointer-events:none;
  transform:translate(calc(-50% + var(--gallery-x,0px) + var(--gallery-drag,0px)),-50%) scale(.64);
  transition:transform 620ms var(--gallery-ease),opacity 420ms ease;
}
html body.refined.polished .room-carousel[data-ready] .office-track figure.landscape-slide{aspect-ratio:3/2}
html body.refined.polished .room-carousel[data-ready] .office-track figure[data-position="current"]{opacity:1;pointer-events:auto;z-index:3;transform:translate(calc(-50% + var(--gallery-x,0px) + var(--gallery-drag,0px)),-50%) scale(1)}
html body.refined.polished .room-carousel[data-ready] .office-track figure:is([data-position="previous"],[data-position="next"]){opacity:.78;pointer-events:auto;cursor:pointer;z-index:2;transform:translate(calc(-50% + var(--gallery-x,0px) + var(--gallery-drag,0px)),-50%) scale(.72)}
html body.refined.polished .room-carousel[data-ready] .office-track img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;user-select:none;-webkit-user-drag:none}
html body.refined.polished .room-carousel[data-ready] .office-track.is-dragging figure,
html body.refined.polished .room-carousel[data-ready] .office-track.is-positioning figure{transition:none}
html body.refined.polished .room-carousel .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--dark);cursor:pointer}
html body.refined.polished .room-carousel .gallery-arrow::before{content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:50%;background:#fffefa}
html body.refined.polished .room-carousel .gallery-arrow svg{position:relative}
html body.refined.polished .room-carousel .gallery-prev{left:max(0px,calc(50% - var(--gallery-card-width) * 1.22 - 40px))}
html body.refined.polished .room-carousel .gallery-next{right:max(0px,calc(50% - var(--gallery-card-width) * 1.22 - 40px))}
html body.refined.polished .room-carousel .gallery-arrow:hover::before{background:var(--accent)}
html body.refined.polished .room-carousel .office-controls{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 20px;margin:4px auto 0;padding:0}
html body.refined.polished .room-carousel .gallery-dots{display:flex;align-items:center;justify-content:center;gap:0;background:transparent;border:0;padding:0;max-width:100%;flex-wrap:nowrap}
html body.refined.polished .room-carousel .gallery-dot{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
html body.refined.polished .room-carousel .gallery-dot span{display:block;width:24px;height:5px;border:0;border-radius:999px;background:#6b8980;transform:scaleX(.72);transition:transform 300ms var(--gallery-ease),background-color 200ms ease}
html body.refined.polished .room-carousel .gallery-dot[aria-current="true"] span{background:var(--dark);transform:scaleX(1.45)}
html body.refined.polished .room-carousel .gallery-dot:hover span{background:var(--blue);outline:none}
html body.refined.polished .room-carousel .gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-a11y-images="on"] body.refined.polished .room-carousel .a11y-image-description{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;border:0;border-radius:0;background:var(--pale);color:var(--ink)}
html[data-a11y-motion="reduce"] body.refined.polished .room-carousel[data-ready] .office-track figure,
html[data-a11y-motion="reduce"] body.refined.polished .room-carousel .gallery-dot span{transition:none}
@media(prefers-reduced-motion:reduce){html body.refined.polished .room-carousel[data-ready] .office-track figure,html body.refined.polished .room-carousel .gallery-dot span{transition:none}}
@media(max-width:950px){html body.refined.polished .room-carousel{--gallery-card-width:min(36vw,calc((100vw - 88px) / 2.44));width:calc(100% - 56px)}}
@media(max-width:700px){
  html body.refined.polished .room-carousel{--gallery-card-width:min(68vw,320px);width:calc(100% - 32px)}
  html body.refined.polished .room-carousel .office-controls{gap:0;flex-direction:column}
  html body.refined.polished .room-carousel .gallery-dots{width:100%}
  html body.refined.polished .room-carousel .gallery-dot{flex:1;min-width:0;max-width:44px}
}
@media(forced-colors:active){html body.refined.polished .room-carousel .gallery-dot span{background:ButtonText;forced-color-adjust:none}html body.refined.polished .room-carousel .gallery-dot[aria-current="true"] span{background:Highlight}html body.refined.polished .room-carousel .gallery-arrow::before{border:2px solid ButtonText}}
