/* ===== BOOKING.CSS START ===== */

.booking-page{overflow-x:hidden;background:#f7f2e8}
.booking-hero{position:relative;min-height:78svh;overflow:hidden;isolation:isolate;background:#263326}
.booking-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025)}
.booking-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(17,28,20,.82),rgba(17,28,20,.42) 48%,rgba(17,28,20,.14)),linear-gradient(180deg,rgba(10,16,12,.05),rgba(10,16,12,.24))}
.booking-hero__content{position:relative;z-index:2;width:min(var(--content-width),calc(100% - 48px));margin:0 auto;padding:17vh 0 88px;color:#fffaf1}
.booking-hero__content h1,.booking-intro h2,.booking-card h3,.booking-pricing h2,.booking-note h2,.booking-final h2{margin:0;font-family:var(--serif);letter-spacing:-.055em}
.booking-hero__content h1{max-width:820px;font-size:clamp(4.6rem,8vw,8.5rem);line-height:.84}
.booking-hero__content h1 span{display:block;color:var(--brass-soft);font-style:italic}
.booking-hero__content p{max-width:700px;margin:24px 0 0;color:rgba(255,255,255,.86);font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.72rem);line-height:1.24}

/* ===== BOOKING ARRIVAL HANDOFF START ===== */
.is-booking-arriving .site-header,
.is-booking-arriving .booking-hero__content{opacity:0}
.is-booking-arriving .site-header{transform:translateY(-14px)}
.is-booking-arriving .booking-hero__content{transform:translate3d(0,18px,0)}
.is-booking-arriving .booking-hero__image{transform:scale(1.075)}
.is-booking-arriving .booking-hero__overlay{opacity:.82}
.is-booking-arriving .site-header,
.is-booking-arriving .booking-hero__content,
.is-booking-arriving .booking-hero__image,
.is-booking-arriving .booking-hero__overlay{transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1)}
.is-booking-arrival-ready .site-header,
.is-booking-arrival-ready .booking-hero__content{opacity:1;transform:translate3d(0,0,0)}
.is-booking-arrival-ready .booking-hero__image{transform:scale(1.025)}
.is-booking-arrival-ready .booking-hero__overlay{opacity:1}
/* ===== BOOKING ARRIVAL HANDOFF END ===== */

.booking-intro{padding:112px 20px 88px;background:#f7f2e8}
.booking-intro__inner{width:min(var(--content-width),100%);margin:0 auto;max-width:880px;text-align:center}
.booking-intro h2{font-size:clamp(3.8rem,6vw,6.2rem);line-height:.9}
.booking-intro p{color:#68715f;line-height:1.82}
.booking-options{padding:0 20px 116px;background:#f7f2e8}
.booking-options__inner{display:grid;width:min(var(--content-width),100%);margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.booking-card{position:relative;padding:30px;border:1px solid rgba(93,110,90,.16);background:#fffaf1;box-shadow:var(--shadow-soft)}
.booking-card::before{content:"";position:absolute;inset:11px;border:1px solid rgba(139,118,82,.12);pointer-events:none}
.booking-card__label,.booking-card h3,.booking-card p,.booking-card ul,.booking-card .booking-card__price{position:relative}
.booking-card__label{display:block;color:#a48558;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.booking-card h3{margin-top:10px;font-size:2.6rem;line-height:.95}
.booking-card__price{margin:16px 0 12px;color:#344333;font-family:var(--serif);font-size:2.1rem;line-height:1}
.booking-card p,.booking-card li{color:#69715f;line-height:1.72}
.booking-card ul{padding-left:18px;margin:18px 0 0}
.booking-pricing{padding:112px 20px;background:#e7dfcf}
.booking-pricing__inner{display:grid;width:min(var(--content-width),100%);margin:0 auto;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:54px;align-items:center}
.booking-pricing h2{font-size:clamp(3.8rem,6vw,6rem);line-height:.9}
.booking-pricing p{color:#66705f;line-height:1.82}
.booking-pricing__image{overflow:hidden;border:12px solid rgba(255,252,245,.86);box-shadow:var(--shadow)}
.booking-pricing__image img{width:100%;height:100%;object-fit:cover}
.booking-note{padding:104px 20px;background:#2f3a31;color:#f3ecdc}
.booking-note__inner{width:min(900px,100%);margin:0 auto;text-align:center}
.booking-note h2{font-size:clamp(3.4rem,5vw,5.5rem);line-height:.9}
.booking-note p{max-width:760px;margin:18px auto 0;color:rgba(255,255,255,.76);line-height:1.82}
.booking-note__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.booking-note__coming-soon{margin-top:16px!important;color:var(--brass-soft)!important;font-size:.8rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.booking-final{position:relative;min-height:62vh;overflow:hidden;isolation:isolate}
.booking-final__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.booking-final__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(17,27,20,.8),rgba(17,27,20,.38) 48%,rgba(17,27,20,.14))}
.booking-final__panel{position:relative;z-index:2;width:min(720px,calc(100% - 48px));margin-left:7vw;padding:102px 0 90px;color:#fffaf1}
.booking-final h2{font-size:clamp(3.8rem,6vw,6.2rem);line-height:.88}
.booking-final p{max-width:620px;color:rgba(255,255,255,.8);line-height:1.8}
.booking-final__actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
@media(max-width:980px){.booking-options__inner,.booking-pricing__inner{grid-template-columns:1fr}}
@media(max-width:720px){.booking-hero{min-height:72svh}.booking-hero__content{width:min(100% - 30px,var(--content-width));padding-top:132px}.booking-hero__content h1{font-size:clamp(4rem,16vw,6rem)}.booking-intro,.booking-options,.booking-pricing,.booking-note{padding-right:14px;padding-left:14px}.booking-options__inner{gap:14px}.booking-final__panel{width:min(100% - 28px,720px);margin:0 auto;padding:84px 0 72px}.booking-final__actions,.booking-note__actions{flex-direction:column}}

/* ===== BOOKING.CSS END ===== */