/* Percurso de rolagem: 60% dos anteriores 320svh (desktop) e 180svh (mobile). */
.hero{height:292svh}
@media(max-width:760px){.hero{height:208svh}}

/* Ajustes de ritmo e escala na página inicial. */
.intro-mark img{width:70%;height:auto}
.suite-list{display:flex;flex-direction:row;gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#e9c6ad #fff9f421;padding:0 0 22px}
.suite-card{flex:0 0 min(74vw,940px);scroll-snap-align:start}
.suite-card-head{display:block;margin-bottom:26px}
.suite-card-head h3{margin:15px 0 18px}
.suite-card-head p{max-width:340px}
.suite-gallery{height:470px;grid-template-rows:230px 230px}
.moment-title{will-change:transform}
.rooms .suite-list{display:none}
.room-card-list{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--rust) transparent;padding:0 0 18px}
.room-card{display:block;flex:0 0 450px;scroll-snap-align:start;background:var(--cream);color:var(--ink);min-width:0;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.room-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px #0004}
.room-card>img{width:100%;height:330px;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.room-card:hover>img{transform:scale(1.045)}
.room-card-copy{display:block;padding:24px 26px 26px}
.room-card-copy h3{font-size:clamp(40px,4vw,62px);line-height:.94;margin:14px 0 16px}
.room-card-copy h3 em{color:var(--rust)}
.room-card-copy p{font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.3em}
.room-card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:13px}
.room-card-link b{font-size:22px;font-weight:400;transition:transform .25s}
.room-card:hover .room-card-link b{transform:translateX(6px)}
.moment-title{left:var(--moment-title-start,0px)}
@media(max-width:760px){.intro-mark img{width:142px;height:90px}.suite-list{gap:16px;padding-bottom:16px}.suite-card{flex-basis:86vw}.suite-gallery{height:430px;grid-template-rows:212px 212px}.suite-card-head{margin-bottom:20px}}
@media(max-width:760px){.room-card-list{gap:16px}.room-card{flex-basis:82vw}.room-card>img{height:350px}.room-card-copy{padding:22px}.room-card-copy h3{font-size:50px}.rooms .suite-list{display:none}}

/* Contraste e ritmo dos detalhes finais da página. */
.text-link .link-line{display:none}
.header.scrolled .booking-button{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.header.scrolled .booking-button:hover{background:var(--rust);border-color:var(--rust);color:var(--cream)}
.destination{display:block;overflow:clip;background:var(--brown)}
.destination-sticky{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;color:var(--cream);text-align:center}
.destination-sticky>img{position:absolute;inset:-10%;width:120%;height:120%;max-width:none;object-fit:cover;object-position:center;will-change:transform}
.destination-sticky .destination-shade{position:absolute;inset:0;background:var(--brown);opacity:.18;will-change:opacity}
.destination-sticky .destination-copy{position:relative;z-index:1}
@media(min-width:761px){.destination{height:300svh}.destination-sticky{height:100svh;position:sticky;top:0}.destination-sticky>img{transform:scale(var(--destination-zoom,1))}.destination-sticky .destination-shade{opacity:var(--destination-overlay,.12)}}
@media(max-width:760px){.destination-sticky>img{transform:none!important}.destination-sticky .destination-shade{opacity:.18!important}}

@media(prefers-reduced-motion:reduce){.hero{height:100svh}}
