.booking-page{--booking-paper: #f7f4ee;--booking-paper-deep: #ebe5dc;--booking-panel: #fff;--booking-ink: #191817;--booking-muted: #69635d;--booking-wine: #711b25;--booking-wine-dark: #4b1017;--booking-espresso: #1e1c1a;--booking-line: rgba(25,24,23,.18);color:var(--booking-ink);background:var(--booking-paper)}.booking-page [hidden]{display:none!important}.booking-page .booking-hero{display:grid;grid-template-columns:minmax(0,.94fr) minmax(440px,1.06fr);min-height:570px;overflow:hidden;background:var(--booking-espresso)}.booking-page .booking-hero-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(3.5rem,7vw,7rem) clamp(2rem,5vw,5.5rem) clamp(3.5rem,7vw,6.5rem) max(2rem,calc((100vw - 1240px)/2 + 1rem))}.booking-page .booking-hero .hotel-breadcrumb{margin-bottom:clamp(2rem,4vw,3.5rem);color:#d9d0c8}.booking-page .booking-hero .hotel-breadcrumb a{color:#fff}.booking-page .booking-hero .hotel-breadcrumb li+li:before{color:#9d9188}.booking-page .booking-hero .hotel-kicker{color:#e8c8b5}.booking-page .booking-hero h1{max-width:760px;margin:1.25rem 0 0;color:#fff;font-size:clamp(3.6rem,6.2vw,6.6rem);font-weight:610;letter-spacing:-.068em;line-height:.88}.booking-page .booking-hero-lead{max-width:48ch;margin:2rem 0 0;color:#d9d0c8;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.65}.booking-page .booking-hero-facts{display:flex;flex-wrap:wrap;gap:.7rem 1.25rem;margin:2rem 0 0;padding:0;color:#f4eee8;font-size:.84rem;font-weight:650;list-style:none}.booking-page .booking-hero-facts li{display:flex;align-items:center;gap:.45rem}.booking-page .booking-hero-facts span{display:grid;width:1.35rem;height:1.35rem;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#e8c8b5;font-size:.72rem}.booking-page .booking-hero-media{position:relative;min-height:570px;margin:0;overflow:hidden;background:#302a26}.booking-page .booking-hero-media:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(30,28,26,.22),transparent 26%),linear-gradient(0deg,rgba(20,18,17,.55),transparent 35%)}.booking-page .booking-hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% center}.booking-page .booking-hero-media figcaption{position:absolute;z-index:1;right:clamp(1.5rem,3vw,3rem);bottom:clamp(1.4rem,3vw,2.5rem);left:clamp(1.5rem,3vw,3rem);display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;color:#fff}.booking-page .booking-hero-media figcaption strong{font-size:.9rem}.booking-page .booking-hero-media figcaption span{color:#ddd4cc;font-size:.75rem;text-align:right}.booking-page .booking-trust{border-bottom:1px solid var(--booking-line);background:#fff}.booking-page .booking-assurance{display:grid;grid-template-columns:repeat(3,1fr);max-width:1240px}.booking-page .booking-assurance p{display:grid;grid-template-columns:auto 1fr;gap:0 .9rem;margin:0;padding:1.3rem clamp(1rem,2.5vw,2.2rem)}.booking-page .booking-assurance p+p{border-left:1px solid var(--booking-line)}.booking-page .booking-assurance>p>span{grid-row:1/3;align-self:center;color:var(--booking-wine);font-size:.7rem;font-weight:800;letter-spacing:.12em}.booking-page .booking-assurance strong{font-size:.88rem}.booking-page .booking-assurance small{color:var(--booking-muted);font-size:.76rem}.booking-page .booking-section{min-height:80vh;padding:clamp(3rem,6vw,5.5rem) 0 clamp(7.5rem,10vw,10rem);background:var(--booking-paper)}.booking-page .booking-shell{max-width:1240px}.booking-page .pet-policy-banner{display:grid;grid-template-columns:minmax(150px,.22fr) 1fr;overflow:hidden;margin:0 0 clamp(2rem,4vw,3rem);border:1px solid rgba(113,27,37,.2);border-radius:4px;background:#fff;box-shadow:0 18px 48px #2f1c1a14}.booking-page .pet-policy-rate{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1.5rem;background:linear-gradient(145deg,var(--booking-wine),#8e2936);color:#fff;text-align:center}.booking-page .pet-policy-paw{width:2.2rem;height:2.2rem;margin-bottom:.6rem;color:#f0d8ca}.booking-page .pet-policy-paw>*{fill:currentColor}.booking-page .pet-policy-rate strong{font-size:clamp(2rem,4vw,3.2rem);font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:.95}.booking-page .pet-policy-rate span{margin-top:.4rem;color:#f0d8ca;font-size:.72rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.booking-page .pet-policy-copy{align-self:center;padding:clamp(1.35rem,3vw,2rem)}.booking-page .pet-policy-kicker{margin:0 0 .45rem;color:var(--booking-wine);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booking-page .pet-policy-copy h2{margin:0;font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.035em;line-height:1.1}.booking-page .pet-policy-copy>p:last-child{max-width:78ch;margin:.7rem 0 0;color:var(--booking-muted);font-size:.9rem;line-height:1.65}.booking-page .pet-policy-copy>p:last-child strong{color:var(--booking-ink)}.booking-page .progress{position:sticky;z-index:35;top:80px;margin:0 0 clamp(2.5rem,5vw,4rem);border-top:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);background:#f7f4eef0;backdrop-filter:blur(14px)}.booking-page .progress ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.booking-page .progress li{position:relative;min-width:0}.booking-page .progress li+li{border-left:1px solid var(--booking-line)}.booking-page .progress li[aria-current=step]:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;content:"";background:var(--booking-wine)}.booking-page .progress button{display:flex;align-items:center;gap:.8rem;width:100%;min-height:68px;padding:.65rem clamp(.7rem,2vw,1.25rem);border:0;background:transparent;color:var(--booking-muted);text-align:left;cursor:pointer;transition:color .18s ease,background-color .18s ease}.booking-page .progress button:hover:not(:disabled){color:var(--booking-wine);background:#711b250e}.booking-page .progress button:active:not(:disabled){background:#711b251a}.booking-page .progress button:disabled{cursor:not-allowed;opacity:.62}.booking-page .progress-number{display:grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border:1px solid #817870;border-radius:50%;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.booking-page .progress-copy{display:flex;min-width:0;flex-direction:column;line-height:1.2}.booking-page .progress-copy small{margin-bottom:.15rem;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.booking-page .progress-copy strong{overflow:hidden;color:inherit;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.booking-page .progress li[aria-current=step] button{color:var(--booking-wine)}.booking-page .progress li[aria-current=step] .progress-number,.booking-page .progress li.complete .progress-number{border-color:var(--booking-wine);background:var(--booking-wine);color:#fff}.booking-page .booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(2rem,4vw,4rem);align-items:start}.booking-page .booking-layout:has(.booking-form[hidden]){display:none}.booking-page .booking-form{min-width:0;transition:opacity .16s ease}.booking-page .booking-form[aria-busy=true]{opacity:.72}.booking-page .stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin:0 0 1.5rem}.booking-page .stage-heading h2{margin:.25rem 0 0;scroll-margin-top:11rem;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:610;letter-spacing:-.05em;line-height:.98}.booking-page .stage-kicker{color:var(--booking-wine);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booking-page .stage-copy{max-width:62ch;margin:-.65rem 0 1.5rem;color:var(--booking-muted)}.booking-page .surface{min-width:0;padding:clamp(1.35rem,3vw,2.1rem);border:1px solid var(--booking-line);border-radius:4px;background:var(--booking-panel);box-shadow:none}.booking-page .search-card{border-top:4px solid var(--booking-wine)}.booking-page .search-card-heading{display:grid;grid-template-columns:minmax(8rem,.34fr) 1fr;gap:1.5rem;align-items:start;margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--booking-line)}.booking-page .search-card-heading h3{margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);letter-spacing:-.025em;line-height:1.15}.booking-page .search-card-heading p:not(.section-index){max-width:50ch;margin:.35rem 0 0;color:var(--booking-muted);font-size:.9rem}.booking-page .section-index{margin:.28rem 0 0;color:var(--booking-wine);font-size:.7rem;font-weight:780;letter-spacing:.13em;text-transform:uppercase}.booking-page .section-index span{margin-right:.45rem;color:var(--booking-muted)}.booking-page .date-grid,.booking-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-page .date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-page .field{display:flex;min-width:0;flex-direction:column;gap:.42rem}.booking-page .field>span{color:#393532;font-size:.86rem;font-weight:720}.booking-page .field em{color:#756e68;font-size:.78rem;font-style:normal;font-weight:520}.booking-page abbr{border:0;color:var(--booking-wine);text-decoration:none}.booking-page input,.booking-page select,.booking-page textarea{box-sizing:border-box;width:100%;min-height:56px;padding:.85rem 1rem;border:1px solid #817870;border-radius:4px;background:#fff;color:var(--booking-ink);font:inherit;transition:border-color .16s ease,background-color .16s ease}.booking-page textarea{min-height:120px;resize:vertical}.booking-page input:hover:not(:disabled),.booking-page select:hover:not(:disabled),.booking-page textarea:hover:not(:disabled){border-color:var(--booking-ink)}.booking-page input:active:not(:disabled),.booking-page select:active:not(:disabled),.booking-page textarea:active:not(:disabled){border-color:var(--booking-wine)}.booking-page input:focus-visible,.booking-page select:focus-visible,.booking-page textarea:focus-visible,.booking-page button:focus-visible,.booking-page summary:focus-visible,.booking-page a:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--booking-wine)}.booking-page input:user-invalid,.booking-page select:user-invalid,.booking-page textarea:user-invalid{border-color:#a31520}.booking-page input:disabled,.booking-page select:disabled,.booking-page textarea:disabled{cursor:not-allowed;border-color:#c7bfb8;background:#ece8e2;color:#706a64;opacity:1}.booking-page .field>small{color:var(--booking-muted);font-size:.77rem;line-height:1.45}.booking-page .occupancy-list{display:grid;gap:.75rem;margin:1rem 0 0}.booking-page .occupancy-row{display:grid;grid-template-columns:minmax(9rem,1fr) repeat(2,minmax(7rem,.72fr));gap:.9rem;align-items:end;padding:1rem;border-radius:3px;background:var(--booking-paper)}.booking-page .occupancy-row h3{align-self:center;margin:0;font-size:1rem}.booking-page .occupancy-row .child-ages{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.9rem}.booking-page .occupancy-row .form-hint,.booking-page .extras-row .form-hint{grid-column:1/-1;margin:0}.booking-page .catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--booking-line)}.booking-page .status{position:relative;margin:0;padding:.4rem 0 .4rem 1.5rem;color:var(--booking-muted);font-size:.84rem;font-weight:650}.booking-page .status:before{position:absolute;top:.76rem;left:.2rem;width:.55rem;height:.55rem;border-radius:50%;content:"";background:#857d76}.booking-page .status.checking:before{border:2px solid #a99f96;border-top-color:var(--booking-wine);background:transparent;animation:booking-spin .75s linear infinite}.booking-page .status.ok{color:#28502d}.booking-page .status.ok:before{background:#34733c}.booking-page .status.error{color:#801a23}.booking-page .status.error:before{background:#a31520}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-page .room-plans,.booking-page .guest-rooms{display:grid;gap:2rem;margin-top:2rem}.booking-page .room-plans[aria-busy=true]{opacity:.62;pointer-events:none}.booking-page .room-plan{padding:0 0 2rem;border-bottom:1px solid var(--booking-line)}.booking-page .guest-room{padding:clamp(1.35rem,3vw,2rem);border:1px solid var(--booking-line);border-top:4px solid var(--booking-wine);border-radius:4px;background:#fff}.booking-page .room-plan>header,.booking-page .guest-room>header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.booking-page .room-plan h3,.booking-page .guest-room h3{margin:0;font-size:clamp(1.15rem,2vw,1.4rem)}.booking-page .room-plan header p,.booking-page .guest-room header p{margin:.2rem 0 0;color:var(--booking-muted);font-size:.86rem}.booking-page .catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-page .room-card{position:relative;display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--booking-line);border-radius:3px;background:#fff;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}.booking-page .room-card.selected{border-color:var(--booking-wine);box-shadow:0 0 0 3px #711b2524}.booking-page .room-card-media{position:relative;overflow:hidden;background:#ded7d0}.booking-page .room-card-media>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease,filter .2s ease,opacity .2s ease}.booking-page .room-card:not(.unavailable):hover .room-card-media>img{transform:scale(1.018)}.booking-page .room-card.unavailable .room-card-media>img{filter:grayscale(.75);opacity:.62}.booking-page .photo-note{position:absolute;right:.65rem;bottom:.65rem;margin:0;padding:.3rem .5rem;background:#1e1c1adb;color:#fff;font-size:.74rem;font-weight:720;letter-spacing:.04em}.booking-page .room-card-body{display:flex;flex:1;flex-direction:column;padding:1.25rem}.booking-page .room-card h4{margin:0;font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.02em;line-height:1.2}.booking-page .room-card p{margin:.55rem 0;color:var(--booking-muted);font-size:.84rem}.booking-page .room-card .room-description{min-height:2.8em}.booking-page .room-card .amenities{display:flex;flex-wrap:wrap;gap:.15rem .7rem;margin:.65rem 0;padding:.65rem 0;border-top:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);list-style:none}.booking-page .amenities li{position:relative;color:#514d49;font-size:.73rem}.booking-page .amenities li+li:before{margin-right:.7rem;color:var(--booking-wine);content:"·"}.booking-page .room-price{display:flex;flex-direction:column;gap:.05rem;align-items:flex-start;margin:.65rem 0 .4rem}.booking-page .room-price strong{color:var(--booking-ink);font-size:clamp(1.45rem,2.8vw,1.8rem);font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.1}.booking-page .room-price span{color:var(--booking-muted);font-size:.73rem;line-height:1.35}.booking-page .room-availability{color:#28502d!important;font-weight:700}.booking-page .room-card.unavailable .room-availability{color:#7f252c!important}.booking-page .room-card .room-policy{margin:.7rem 0 0;padding:.75rem 0;border-top:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);color:#514d49;font-size:.76rem;line-height:1.5}.booking-page details{margin:.35rem 0 .7rem}.booking-page summary{min-height:44px;padding:.65rem 0;color:var(--booking-wine);font-size:.82rem;font-weight:750;cursor:pointer}.booking-page summary:hover{color:var(--booking-wine-dark);text-decoration:underline;text-underline-offset:.2em}.booking-page summary:active{color:#310a0f}.booking-page .detail-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem;margin:.45rem 0;padding-left:1.1rem;color:var(--booking-muted);font-size:.79rem}.booking-page .room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.booking-page .room-card .room-gallery img{width:100%;aspect-ratio:3/2;border-radius:2px;object-fit:cover}.booking-page .button,.booking-page .edit-button{min-height:48px;border-radius:2px;font:inherit;font-weight:750;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.booking-page .button{display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.15rem;border:1px solid var(--booking-wine)}.booking-page .button-primary{background:var(--booking-wine);color:#fff}.booking-page .button-primary:hover:not(:disabled){border-color:#57141c;background:#57141c}.booking-page .button-primary:active:not(:disabled){border-color:#3f0e14;background:#3f0e14}.booking-page .button-secondary{background:#fff;color:var(--booking-wine)}.booking-page .button-secondary:hover:not(:disabled){border-color:var(--booking-wine-dark);background:#f8edef;color:var(--booking-wine-dark)}.booking-page .button-secondary:active:not(:disabled){background:#eedde0}.booking-page .button:disabled,.booking-page .edit-button:disabled{cursor:not-allowed;border-color:#aaa29a;background:#ded9d3;color:#6c6660;opacity:1}.booking-page .room-select{width:100%;margin-top:auto}.booking-page .room-card.selected .room-select{border-color:var(--booking-wine);background:var(--booking-wine);color:#fff}.booking-page .edit-button{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .25rem;border:0;background:transparent;color:var(--booking-wine);text-decoration:underline;text-underline-offset:.22em}.booking-page .edit-button:hover:not(:disabled){color:var(--booking-wine-dark);text-decoration-thickness:.14em}.booking-page .edit-button:active:not(:disabled){color:#310a0f}.booking-page .copy-guest{margin:-.35rem 0 .15rem}.booking-page .inline-status{min-height:1.25rem;margin:0 0 .65rem;color:#28502d;font-size:.8rem}.booking-page .stage-actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:1.5rem}.booking-page .split-actions{justify-content:space-between}.booking-page .guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.booking-page .guest-grid .full{grid-column:1/-1}.booking-page .companions{margin:1.25rem 0 0;padding:1.25rem 0 0;border:0;border-top:1px solid var(--booking-line)}.booking-page .companions legend{padding:0;font-weight:750}.booking-page .companion-hint{margin:.25rem 0 0;color:var(--booking-muted);font-size:.79rem}.booking-page .companion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.booking-page .extras-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--booking-line)}.booking-page .form-section+.form-section,.booking-page .review,.booking-page .payment-note{margin-top:1.25rem}.booking-page .form-section{min-width:0;border-top:4px solid var(--booking-wine)}.booking-page .form-section legend{padding:0 .45rem;color:var(--booking-ink);font-size:1.25rem;font-weight:760;letter-spacing:-.02em}.booking-page .form-hint{margin:-.15rem 0 1rem;color:var(--booking-muted);font-size:.85rem}.booking-page .form-grid .full{grid-column:1/-1}.booking-page .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.booking-page .choice{position:relative;display:flex;align-items:flex-start;gap:.75rem;min-height:66px;padding:.95rem;border:1px solid #9b928a;border-radius:3px;background:#fff;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.booking-page .choice:not(:has(input:disabled)):hover{border-color:var(--booking-wine);background:snow}.booking-page .choice:not(:has(input:disabled)):active{background:#f8edef}.booking-page .choice:has(input:checked){border-color:var(--booking-wine);background:#fbf0f1;box-shadow:inset 4px 0 0 var(--booking-wine)}.booking-page .choice:has(input:disabled){cursor:not-allowed;border-color:#c7bfb8;background:#ece8e2;color:#706a64}.booking-page .choice input,.booking-page .terms-line input{flex:0 0 22px;width:22px;min-height:22px;margin:.08rem 0 0;padding:0;accent-color:var(--booking-wine)}.booking-page .choice span{display:flex;flex-direction:column}.booking-page .choice small{margin-top:.18rem;color:var(--booking-muted);line-height:1.4}.booking-page .invoice-fields,.booking-page .invoice-delivery{margin-top:1rem}.booking-page .consolidated-note{margin:1rem 0 0}.booking-page .review{border-top:4px solid var(--booking-ink)}.booking-page .review-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-page .review h3{margin:0;font-size:1.35rem}.booking-page .review-list{display:grid;gap:1rem;margin-top:1rem}.booking-page .review-item{padding-top:1rem;border-top:1px solid var(--booking-line)}.booking-page .review-item:first-child{padding-top:0;border-top:0}.booking-page .review-item-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.booking-page .review-item h4{margin:0 0 .25rem}.booking-page .review-item p{margin:.18rem 0;color:var(--booking-muted);font-size:.88rem}.booking-page .payment-note{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem 1.2rem;border-left:4px solid var(--booking-wine);background:var(--booking-paper-deep)}.booking-page .price-check-note{margin:.7rem 0 0;color:var(--booking-muted);font-size:.82rem}.booking-page .terms-line{display:flex;align-items:flex-start;gap:.8rem;min-height:58px;margin-top:1.25rem;padding:1rem;border:1px solid #928981;border-radius:3px;background:#fff;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.booking-page .terms-line:not(:has(input:disabled)):hover{border-color:var(--booking-wine);background:snow}.booking-page .terms-line:not(:has(input:disabled)):active{background:#f8edef}.booking-page .terms-line:has(input:checked){border-color:var(--booking-wine);box-shadow:inset 4px 0 0 var(--booking-wine)}.booking-page .terms-line:has(input:disabled){cursor:not-allowed;border-color:#c7bfb8;background:#ece8e2;color:#706a64}.booking-page .terms-line a{display:inline-flex;align-items:center;min-height:44px;color:var(--booking-wine);font-weight:700;text-underline-offset:.18em}.booking-page .terms-line a:hover{color:var(--booking-wine-dark)}.booking-page .terms-line a:active{color:#310a0f}.booking-page .required-note,.booking-page .fineprint{color:var(--booking-muted);font-size:.81rem}.booking-page .booking-summary{position:sticky;top:168px}.booking-page .summary-card{padding:1.8rem;border:0;border-radius:3px;background:var(--booking-espresso);color:#fff;box-shadow:0 24px 60px #19181729}.booking-page .summary-kicker{margin:0 0 .45rem;color:#e8c8b5;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booking-page .summary-card h2{margin:0 0 1.1rem;color:#fff;font-size:1.45rem;font-weight:650}.booking-page .summary-section{padding:1rem 0;border-top:1px solid rgba(255,255,255,.16);color:#d8d0c9;font-size:.86rem}.booking-page .summary-section ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.booking-page .summary-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.38)}.booking-page .summary-total span{color:#d8d0c9;font-size:.8rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.booking-page .summary-total strong{color:#fff;font-size:1.85rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.booking-page .summary-note{margin:.7rem 0 0;color:#c9c0b9;font-size:.73rem;line-height:1.5}.booking-page .summary-service{display:flex;align-items:center;gap:.7rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16)}.booking-page .summary-service>span{display:grid;width:1.65rem;height:1.65rem;flex:0 0 1.65rem;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#e8c8b5;font-size:.75rem}.booking-page .summary-service p{display:flex;flex-direction:column;margin:0}.booking-page .summary-service strong{font-size:.8rem}.booking-page .summary-service small{color:#c9c0b9;font-size:.7rem}.booking-page .message,.booking-page .result{margin:0 0 1.5rem;padding:1.1rem 1.25rem;border:1px solid currentColor;border-left-width:4px;border-radius:3px}.booking-page .message{background:#f9e9ea;color:#67151c}.booking-page .pending-message{border-color:#8f6718;background:#fff4d8;color:#4f3a0d}.booking-page .pending-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}.booking-page .message h2,.booking-page .result h2{margin:0 0 .4rem;font-size:1.2rem}.booking-page .message p,.booking-page .result p{margin:.3rem 0}.booking-page .result.ok{background:#e8f3e8;color:#214d27}.booking-page .result.warn{background:#fff4d8;color:#4f3a0d}.booking-page .result.err{background:#f9e9ea;color:#67151c}.booking-page .mobile-bar{display:none}.booking-page .booking-help{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-top:clamp(4rem,8vw,7rem);padding-top:2rem;border-top:1px solid var(--booking-line)}.booking-page .booking-help h2{margin:.6rem 0 .45rem;font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:610;letter-spacing:-.05em;line-height:1}.booking-page .booking-help>div>p:last-child{max-width:52ch;margin:0;color:var(--booking-muted)}.booking-page .booking-help-actions{display:flex;flex-direction:column;align-items:flex-end}.booking-page .booking-help-actions a{display:inline-flex;min-height:44px;align-items:center;color:var(--booking-wine);font-weight:720}.booking-page .booking-help-actions a:hover{color:var(--booking-wine-dark)}.booking-page .booking-help-actions a:active{color:#310a0f}@media(min-width:761px)and (max-width:1180px){.booking-page .progress{top:70px}}@media(max-width:1080px){.booking-page .booking-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr)}.booking-page .booking-layout{grid-template-columns:1fr}.booking-page .booking-summary{display:none}.booking-page .mobile-bar{position:fixed;z-index:80;right:0;bottom:0;left:0;display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem max(1rem,env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.18);background:#1e1c1afa;color:#fff;box-shadow:0 -12px 34px #19181738}.booking-page .mobile-bar>div{display:flex;min-width:0;flex-direction:column}.booking-page .mobile-bar span{color:#c9c0b9;font-size:.74rem;overflow-wrap:anywhere}.booking-page .mobile-bar strong{color:#fff;font-size:1.1rem;font-variant-numeric:tabular-nums}.booking-page .mobile-bar .button{min-width:9.5rem;flex:0 0 auto;border-color:#fff}.booking-page .stage-actions .button-primary{display:none}}@media(max-width:760px){.booking-page .booking-hero{grid-template-columns:1fr;min-height:0}.booking-page .booking-hero-copy{padding:2.15rem 1rem 2.45rem}.booking-page .booking-hero .hotel-breadcrumb{margin-bottom:1.5rem}.booking-page .booking-hero h1{font-size:clamp(2.9rem,12vw,3.9rem)}.booking-page .booking-hero-lead{margin-top:1.2rem}.booking-page .booking-hero-facts{display:none}.booking-page .booking-hero-media{min-height:0;height:clamp(180px,48vw,260px);aspect-ratio:auto}.booking-page .booking-hero-media:after{background:linear-gradient(0deg,rgba(20,18,17,.58),transparent 42%)}.booking-page .booking-assurance{grid-template-columns:repeat(3,1fr)}.booking-page .booking-assurance p{display:flex;align-items:center;flex-direction:column;gap:.2rem;padding:.85rem .35rem;text-align:center}.booking-page .booking-assurance p+p{border-left:1px solid var(--booking-line)}.booking-page .booking-assurance>p>span{align-self:center}.booking-page .booking-assurance strong{font-size:.72rem;line-height:1.25}.booking-page .booking-assurance small{display:none}.booking-page .booking-section{padding-top:2rem}.booking-page .pet-policy-banner{grid-template-columns:1fr}.booking-page .pet-policy-rate{align-items:baseline;justify-content:flex-start;flex-direction:row;gap:.65rem;padding:1rem 1.2rem;text-align:left}.booking-page .pet-policy-paw{align-self:center;width:1.55rem;height:1.55rem;margin:0 .1rem 0 0}.booking-page .pet-policy-rate strong{font-size:1.8rem}.booking-page .pet-policy-rate span{margin-top:0}.booking-page .progress{position:static;margin-bottom:2.5rem;backdrop-filter:none}.booking-page .progress button{min-height:62px;justify-content:center;gap:.4rem;padding:.55rem .3rem;text-align:center}.booking-page .progress-copy small{display:none}.booking-page .progress-copy strong{max-width:8.5rem;font-size:.72rem;white-space:normal}.booking-page .progress-number{flex-basis:1.7rem;width:1.7rem;height:1.7rem}.booking-page .stage-heading h2{scroll-margin-top:6rem}.booking-page .date-grid,.booking-page .form-grid,.booking-page .guest-grid,.booking-page .companion-grid,.booking-page .extras-row,.booking-page .choice-grid{grid-template-columns:1fr}.booking-page .form-grid .full,.booking-page .guest-grid .full{grid-column:auto}.booking-page .search-card-heading{grid-template-columns:1fr;gap:.6rem}.booking-page .occupancy-row{grid-template-columns:1fr 1fr}.booking-page .occupancy-row h3{grid-column:1/-1}.booking-page .catalog-actions{align-items:stretch;flex-direction:column}.booking-page .catalog-actions .button{width:100%}.booking-page .catalog-grid{grid-template-columns:1fr}.booking-page .stage-heading{align-items:flex-start}.booking-page .stage-heading .edit-button{flex:0 0 auto}.booking-page .split-actions{flex-direction:column-reverse}.booking-page .split-actions .button{width:100%}.booking-page .booking-help{grid-template-columns:1fr;align-items:start}.booking-page .booking-help-actions{align-items:flex-start}}@media(max-width:460px){.booking-page .booking-hero-media{display:none}.booking-page .booking-hero-facts{display:grid}.booking-page .booking-hero-media figcaption{align-items:flex-start;flex-direction:column;gap:.2rem}.booking-page .booking-hero-media figcaption span{text-align:left}.booking-page .progress button{flex-direction:column}.booking-page .progress-copy strong{font-size:.66rem}.booking-page .surface,.booking-page .guest-room{padding:1.1rem}.booking-page .occupancy-row{grid-template-columns:1fr}.booking-page .occupancy-row h3{grid-column:auto}.booking-page .stage-heading{flex-direction:column;gap:.35rem}.booking-page .stage-heading .edit-button{align-self:flex-start}.booking-page .mobile-bar .button{min-width:8rem;padding-inline:.75rem}}@media(prefers-reduced-motion:reduce){.booking-page *,.booking-page *:before,.booking-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
