/* Homepage: photographic doors, enhanced from three ordinary room cards. */
.room-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.room-door{position:relative;isolation:isolate;min-width:0;min-height:420px;overflow:hidden;background:#30343a;color:#fff}
.room-door-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.room-door-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform .8s cubic-bezier(.22,.68,.25,1)}
.room-door:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#111b28ed 0%,#111b2880 37%,#111b2810 72%,transparent 100%);pointer-events:none}
.room-door-toggle{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;background:transparent;border-radius:0;cursor:pointer}
.room-door-toggle[hidden]{display:none}
.room-door-toggle:focus-visible{outline:3px solid #eee2d1;outline-offset:-7px}
.room-door-label,.room-door-details{position:absolute;z-index:2;left:26px;right:26px;pointer-events:none}
.room-door-label{bottom:154px}
.room-door-index{display:block;margin-bottom:14px;color:#e8d9c5;font-size:11px;line-height:1.4;letter-spacing:.13em}
.room-door-label h3{margin:0;font:400 clamp(25px,2.7vw,39px)/1.16 var(--serif);letter-spacing:-.025em;text-wrap:balance;color:#fff;text-shadow:0 1px 8px #0005}
.room-door-details{bottom:25px}
.room-door-details ul{display:flex;flex-wrap:wrap;gap:3px 13px;list-style:none;margin:0;padding:0;font-size:12px;line-height:1.65;color:#f3ebe1}
.room-door-details li+li:before{content:'·';margin-right:9px;color:#dec09c}
.room-door-details .room-area{font-size:12px;line-height:1.6;margin:6px 0 0;color:#f3ebe1}
.room-door-details .text-link{position:relative;z-index:3;pointer-events:auto;color:#fff;font-size:12px;min-height:44px;padding-block:10px;margin-top:5px;gap:22px}
.room-door-details .text-link:focus-visible{outline:3px solid #eee2d1;outline-offset:4px}
.room-door-details .text-link:hover{color:#eee2d1}
.room-doors-footer{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:19px}
.room-doors-footer .text-link{font-size:12px;min-height:44px}
.room-doors.is-enhanced{display:flex;height:clamp(370px,36vw,470px)}
.room-doors.is-enhanced .room-door{flex:1 1 0;min-height:0;transition:flex-grow .7s cubic-bezier(.22,.68,.25,1)}
.room-doors.is-enhanced .room-door.is-open{flex-grow:3.15}
.room-doors.is-enhanced .room-door-photo img{transform:scale(1.045)}
.room-doors.is-enhanced .room-door.is-open .room-door-photo img{transform:scale(1)}
.room-doors.is-enhanced .room-door-label{bottom:29px;transition:bottom .55s cubic-bezier(.22,.68,.25,1)}
.room-doors.is-enhanced .room-door-label h3{font-size:clamp(22px,2vw,28px);transition:font-size .55s ease}
.room-doors.is-enhanced .room-door.is-open .room-door-label{bottom:154px}
.room-doors.is-enhanced .room-door.is-open .room-door-label h3{font-size:clamp(29px,3.1vw,43px)}
.room-doors.is-enhanced .room-door-details{opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .24s ease,transform .3s ease,visibility .24s}
.room-doors.is-enhanced .room-door.is-open .room-door-details{opacity:1;visibility:visible;transform:none;transition-delay:.22s}
@media(max-width:1000px){
 .room-doors{gap:12px}
 .room-door-label,.room-door-details{left:20px;right:20px}
 .room-doors.is-enhanced .room-door-label h3{font-size:22px}
}
@media(max-width:700px){
 .room-doors{grid-template-columns:minmax(0,1fr);gap:10px}
 .room-door{min-height:340px}
 .room-doors.is-enhanced{flex-direction:column;height:500px;gap:10px}
 .room-doors.is-enhanced .room-door{flex:0 0 74px}
 .room-doors.is-enhanced .room-door.is-open{flex:1 1 74px}
 .room-door-label,.room-door-details{left:20px;right:20px}
 .room-door-label{bottom:143px}
 .room-doors.is-enhanced .room-door-label{display:flex;align-items:center;gap:13px;bottom:50%;transform:translateY(50%);transition:bottom .5s ease,transform .5s ease}
 .room-doors.is-enhanced .room-door-label h3{font-size:18px;line-height:1.2;text-wrap:initial}
 .room-doors.is-enhanced .room-door-index{flex-shrink:0;margin:0}
 .room-doors.is-enhanced .room-door.is-open .room-door-label{display:block;bottom:143px;transform:none}
 .room-doors.is-enhanced .room-door.is-open .room-door-label h3{font-size:28px;line-height:1.14}
 .room-doors.is-enhanced .room-door.is-open .room-door-index{margin-bottom:11px}
 .room-door-details{bottom:20px}
 .room-door-details ul{font-size:11px;gap:3px 10px}
 .room-door-details .room-area{font-size:11px}
 .room-doors-footer{align-items:flex-start;flex-wrap:wrap;gap:5px 18px;margin-top:16px}
 .room-doors-footer .text-link{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .room-doors .room-door,.room-doors .room-door-photo img,.room-doors .room-door-label,.room-doors .room-door-label h3,.room-doors .room-door-details{transition:none!important}
}
