.rooms{background:var(--cream);color:var(--night);padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(7rem,12vw,9.5rem)}
.rooms-head{text-align:center;max-width:680px;margin:0 auto clamp(2.8rem,5vw,4rem)}
.rooms .eyebrow{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);margin-bottom:1rem}
.rooms h2{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:.05em;color:var(--forest)}
.rooms-sub{font-family:'Yeseva One',serif;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--soft);margin-top:1rem;line-height:1.5}
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(232px,100%),1fr));gap:clamp(1.2rem,2vw,1.7rem)}
.room-card{background:#fff;border:1px solid #ece6da;overflow:hidden;display:flex;flex-direction:column;opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.room-card.in{opacity:1;transform:none}
.room-card:nth-child(2){transition-delay:.08s}.room-card:nth-child(3){transition-delay:.16s}.room-card:nth-child(4){transition-delay:.24s}
.room-card:hover{transform:translateY(-5px);box-shadow:0 30px 52px -28px rgba(31,31,31,.32)}
.room-card.in:hover{transform:translateY(-5px)}
.room-imgwrap{overflow:hidden}
.room-img{aspect-ratio:4/3;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.room-card:hover .room-img{transform:scale(1.06)}
.room-body{padding:1.5rem 1.5rem 1.7rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.room-meta{font-family:'Montserrat',sans-serif;font-size:.59rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rust)}
.room-body h3{font-family:'Yeseva One',serif;font-weight:400;font-size:1.18rem;letter-spacing:.04em;color:var(--forest)}
.room-body p{font-family:'Yeseva One',serif;font-size:1.12rem;line-height:1.4;color:var(--soft);flex:1}
.room-link{margin-top:.6rem;font-family:'Montserrat',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--night);display:inline-flex;align-items:center;gap:.5rem}
.room-link span{transition:transform .3s}
.room-link:hover span{transform:translateX(5px)}
.rooms-cta{display:flex;justify-content:center;align-items:center;width:100%;margin-top:clamp(2.6rem,5vw,3.8rem)}
.btn-more{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);background:var(--rust);padding:1.1rem 2.8rem;border:1px solid var(--rust);border-radius:var(--r-pill);transition:background .3s,border-color .3s,transform .3s,box-shadow .3s}
.btn-more:hover{background:#8f4626;border-color:#8f4626;transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(163,87,51,.6)}
.btn-more:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.room-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem .9rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #efe9dd}
.room-price{font-family:'Yeseva One',serif;font-size:.88rem;color:var(--soft);white-space:nowrap}
.room-price b{font-family:'Yeseva One',serif;font-weight:400;font-size:1.06rem;color:var(--forest);margin:0 .1rem}
.room-book{font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;white-space:nowrap;transition:color .3s}
.room-book:hover{color:var(--forest)}

.booking{transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .4s}
.booking.hide{transform:translateY(180%);opacity:0;pointer-events:none}
