.csa-wrap{display:flex;align-items:stretch;gap:60px;width:100%;--csa-speed:550ms}.csa-content{flex:0 0 45%;min-width:0;padding:8px 0}.csa-title{font-size:clamp(38px,4vw,68px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0 0 20px}.csa-subtitle{font-size:16px;font-style:italic;line-height:1.6;margin:0 0 36px}.csa-level+.csa-level{margin-top:30px}.csa-level-title{display:flex;align-items:center;gap:18px;margin:0 0 4px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.csa-level-title::after{content:"";height:1px;width:100%;opacity:.65}.csa-room-list{display:flex;flex-direction:column}.csa-room{position:relative;display:flex;align-items:center;gap:20px;width:100%;padding:16px 4px;border:0;border-bottom:1px solid;text-align:left;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:color .3s ease,padding-left .3s ease}.csa-room::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;transition:width .45s cubic-bezier(.22,1,.36,1)}.csa-room:hover,.csa-room:focus-visible,.csa-room.is-active{padding-left:10px}.csa-room.is-active::after,.csa-room:hover::after,.csa-room:focus-visible::after{width:100%}.csa-room:focus-visible{outline:2px solid currentColor;outline-offset:3px}.csa-number{flex:0 0 28px;font-size:11px;letter-spacing:.12em;opacity:.55}.csa-room-copy{display:flex;flex-direction:column;gap:5px}.csa-room-copy strong{font-size:19px;font-weight:500;line-height:1.25}.csa-room-copy small{font-size:14px;font-weight:400;line-height:1.45;opacity:.72}.csa-media{position:relative;flex:1;min-width:0;overflow:hidden;background:#eee;aspect-ratio:4/5}

/* Per-room slider panel — only .is-active is shown; each has its own
   viewport/track/slides so switching rooms is an instant swap (no image
   reloading), while multi-image rooms slide within their own panel. */
.csa-slider-panel{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--csa-speed) ease}
.csa-slider-panel.is-active{opacity:1;visibility:visible;z-index:1}
.csa-slider-viewport{position:absolute;inset:0;overflow:hidden}
.csa-slider-track{display:flex;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.csa-slide{position:relative;flex:0 0 100%;width:100%;height:100%}
.csa-slide img{display:block;width:100%;height:100%;object-fit:cover}

.csa-slider-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#302D29;font-size:17px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background-color .3s,color .3s,opacity .3s;appearance:none}
.csa-slider-arrow:hover{background:#B87A28;color:#fff}
.csa-slider-arrow[disabled]{opacity:.35;cursor:default;pointer-events:none}
.csa-slider-prev{left:16px}
.csa-slider-next{right:16px}

.csa-dots{position:absolute;left:0;right:0;bottom:18px;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px}
.csa-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);transition:background-color .3s,transform .3s;cursor:pointer}
.csa-dot.is-active{background:#fff;transform:scale(1.3)}

@media(max-width:767px){.csa-wrap{flex-direction:column;gap:30px}.csa-content{flex-basis:auto!important}.csa-title{font-size:40px}.csa-subtitle{margin-bottom:26px}.csa-media{width:100%;aspect-ratio:4/3}.csa-room{padding:14px 2px}.csa-room-copy strong{font-size:17px}.csa-slider-arrow{width:38px;height:38px;font-size:15px}.csa-slider-prev{left:10px}.csa-slider-next{right:10px}}
@media(prefers-reduced-motion:reduce){.csa-room,.csa-room::after,.csa-slider-panel,.csa-slider-track{transition:none!important}}
