.booking-page{--search-ink:#103e48;--search-teal:#084b55;--search-teal-hover:#136573;--search-sea:#dcebe8;--search-ivory:#f8f6f1;--search-paper:#fff;--search-line:#dce4e1;--search-muted:#5b7074;background:var(--search-ivory);min-height:100vh;color:var(--search-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;selection-color:#fff}.booking-page *{box-sizing:border-box}.booking-page ::selection{color:#fff;background:#176773}.booking-page :is(a,button,input,select,summary):focus-visible{outline-offset:3px;outline:3px solid #57aab4}.booking-page .landing-nav{z-index:30;color:#fff;background:linear-gradient(#062f3ccc,#0000);border:0;justify-content:space-between;align-items:center;gap:24px;height:86px;padding:0 max(3.3%,50vw - 720px);display:flex;position:absolute;inset:0 0 auto}.booking-page .landing-nav.is-scrolled{color:var(--search-ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf9f5f3;position:fixed;box-shadow:0 1px #103e4818}.booking-page .brand{color:inherit;letter-spacing:4px;align-items:center;gap:13px;font-size:25px;font-weight:600;display:flex}.booking-page .brand small{letter-spacing:2px;color:currentColor;opacity:.68;margin-top:4px;font-size:6px;display:block}.booking-page .brand-mark{color:#b7dadc;border:0;border-radius:0;flex:0 0 46px;place-items:center;width:46px;height:32px;display:grid}.booking-page .brand-mark svg{width:46px}.booking-page .landing-nav.is-scrolled .brand-mark{color:#4e8790}.booking-page .nav-links{gap:28px;display:flex}.booking-page .nav-links a{min-height:40px;color:inherit;align-items:center;padding:5px 2px;font-size:12px;display:inline-flex;position:relative}.booking-page .nav-links a:after{content:"";background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:3px;left:2px;right:2px;transform:scaleX(0)}.booking-page .nav-links a:hover:after,.booking-page .nav-links a[aria-current=page]:after{transform:scaleX(1)}.booking-page .nav-links a[aria-current=page]{font-weight:700}.booking-page .landing-actions{align-items:center;gap:10px;display:flex}.booking-page .sign-in-link{min-height:40px;color:inherit;background:#ffffff12;border:1px solid #ffffff70;border-radius:99px;align-items:center;padding:9px 18px;font-size:12px;display:inline-flex}.booking-page .landing-nav.is-scrolled .sign-in-link{border-color:var(--search-line);background:#fff}.booking-page .btn-nav-cta{min-height:42px;color:var(--search-ink);background:#f7f5ef;border-radius:99px;padding:10px 20px}.booking-page .btn-nav-cta:hover{color:var(--search-ink);background:#e4efec}.booking-page .landing-nav.is-scrolled .btn-nav-cta{background:var(--search-teal);color:#fff}.booking-page .landing-nav.is-scrolled .btn-nav-cta:hover{background:var(--search-teal-hover);color:#fff}.booking-page .landing-menu-btn{width:44px;height:44px;color:inherit;background:#ffffff12;border:1px solid #ffffff70;border-radius:50%;place-items:center;display:none}.booking-page .landing-nav.is-scrolled .landing-menu-btn{border-color:var(--search-line);background:#fff}.booking-page .landing-drawer{z-index:100;position:fixed;inset:0}.booking-page .landing-drawer-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#062f3c80;border:0;width:100%;height:100%;position:absolute;inset:0}.booking-page .landing-drawer-panel{z-index:1;background:var(--search-ivory);width:min(360px,90vw);color:var(--search-ink);padding:24px;position:absolute;top:0;bottom:0;right:0;overflow:auto}.booking-page .landing-drawer-head{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.booking-page .landing-drawer-close{border:1px solid var(--search-line);width:44px;height:44px;color:var(--search-ink);background:#fff;border-radius:50%;place-items:center;display:grid}.booking-page .landing-drawer-links{display:grid}.booking-page .landing-drawer-links a{border-bottom:1px solid var(--search-line);color:var(--search-ink);padding:16px 0}.booking-page .landing-drawer-links a[aria-current=page]{font-weight:800}.booking-page .landing-drawer-actions{gap:10px;margin-top:24px;display:flex}.booking-page .landing-drawer-foot{color:var(--search-muted);font-size:11px}.booking-hero--search{isolation:isolate;color:#fff;min-height:475px;padding:122px max(6vw,50vw - 610px) 145px;position:relative}.booking-search-hero-image{object-fit:cover;object-position:center 54%;z-index:-3}.booking-search-hero-shade{z-index:-2;background:linear-gradient(90deg,#062f3ceb 0%,#073845bc 48%,#08344052 100%),linear-gradient(#0000 45%,#062b36a8);position:absolute;inset:0}.booking-search-hero-inner{max-width:1220px;margin:auto}.booking-breadcrumbs{color:#d8e9e8;align-items:center;gap:7px;margin-bottom:14px;font-size:11px;display:flex}.booking-back{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:99px;align-items:center;gap:7px;margin-bottom:30px;padding:8px 14px;font-size:11px;font-weight:700;transition:background-color .2s;display:inline-flex}.booking-back:hover{background:#ffffff26}.booking-back:focus-visible{outline-offset:2px;outline:2px solid #fff}.booking-breadcrumbs a{color:inherit;text-underline-offset:4px}.booking-breadcrumbs a:hover{text-decoration:underline}.booking-breadcrumbs span{color:#fff;font-weight:700}.booking-search-heading{justify-content:space-between;align-items:end;gap:48px;display:flex}.booking-search-heading>div{max-width:680px}.booking-search-heading h1{font:500 clamp(39px,4.4vw,62px)/1.04 var(--font-display),Georgia,serif;letter-spacing:-.03em;text-wrap:balance;margin:0}.booking-search-heading p{color:#c6dcdb;max-width:560px;margin:16px 0 0;font-size:15px;line-height:1.65}.booking-progress{align-items:start;gap:0;min-width:360px;margin:0 0 7px;padding:0;list-style:none;display:flex}.booking-progress li{color:#aac6c6;justify-items:center;gap:7px;min-width:120px;font-size:10px;display:grid;position:relative}.booking-progress li:not(:last-child):after{content:"";background:#9ababb78;width:calc(100% - 36px);height:1px;position:absolute;top:14px;left:calc(50% + 18px)}.booking-progress b{z-index:1;background:#0a3f4a;border:1px solid #9ababb;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;display:grid;position:relative}.booking-progress li[aria-current=step]{color:#fff;font-weight:700}.booking-progress li[aria-current=step] b{color:var(--search-teal);background:#e8f1ed;border-color:#e8f1ed}.booking-search-summary{z-index:3;gap:10px;width:min(1220px,100% - 48px);display:grid;position:absolute;bottom:0;left:50%;transform:translate(-50%,54%)}.booking-page .booking-search.compact{background:#fff;border:0;border-radius:16px;grid-template-columns:1fr 1fr .75fr auto;gap:0;margin:0;padding:12px;display:grid;box-shadow:0 18px 45px #062f3c2b}.booking-page .booking-search.compact label{border-right:1px solid var(--search-line);min-width:0;color:var(--search-muted);letter-spacing:.65px;text-transform:uppercase;flex-direction:column;justify-content:center;gap:6px;padding:3px 20px;font-size:9px;font-weight:800;display:flex}.booking-page .booking-search.compact input,.booking-page .booking-search.compact select{width:100%;min-width:0;min-height:30px;color:var(--search-ink);box-shadow:none;text-transform:none;background:#fff;border:0;border-radius:0;margin:0;padding:0;font-size:13px;font-weight:650;display:block}.booking-page .booking-search.compact .btn{background:var(--search-teal);color:#fff;opacity:1;visibility:visible;border-radius:12px;min-height:54px;margin:1px 0 1px 12px;padding:12px 22px}.booking-page .booking-search.compact .btn:hover:not(:disabled){background:var(--search-teal-hover)}.booking-page .booking-search.compact .btn:disabled{color:#fff;cursor:wait;background:#4d7177}.booking-active-filters{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.booking-filter-chip{min-height:32px;color:var(--search-ink);background:#fffffff2;border:1px solid #cfdcd8;border-radius:99px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:650;display:inline-flex;box-shadow:0 8px 18px #062f3c13}.booking-filter-chip svg{color:var(--search-teal);flex:none}.booking-content--premium{gap:22px;max-width:1220px;margin:0 auto;padding:104px 24px 84px;display:grid}.booking-notice{color:#164f58;background:#e9f3f0;border:1px solid #b9d7d5;border-radius:12px;margin:0;padding:13px 16px;font-size:12px}.booking-layout{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:28px;display:grid}.booking-results__head{justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px;display:flex}.booking-results__head h2{font:500 clamp(26px,2.6vw,36px)/1.1 var(--font-display),Georgia,serif;letter-spacing:-.025em;margin:0}.booking-results__count{border:1px solid var(--search-line);color:var(--search-muted);white-space:nowrap;background:#fff;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:750}.availability-grid{gap:24px;display:grid}.booking-page .available-room{background:#fff;border:0;border-radius:16px;grid-template-columns:minmax(270px,41%) minmax(0,59%);min-height:390px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;display:grid;overflow:hidden;box-shadow:0 14px 38px #123f4514}.booking-page .available-room:hover{transform:translateY(-3px);box-shadow:0 22px 45px #123f4521}.booking-page .available-room.is-focused{box-shadow:0 0 0 2px #4d959d,0 18px 42px #123f451c}.booking-page .available-room-image{background:linear-gradient(135deg,#769aa0,#164b55);min-height:100%;position:relative;overflow:hidden}.booking-page .available-room-image:after{display:none}.booking-page .available-room-image>img{object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.booking-page .available-room:is(:hover,:focus-within) .available-room-image>img{transform:scale(1.035)}.booking-page .room-availability-chip,.booking-page .room-photo-count{z-index:2;max-width:calc(100% - 32px);color:var(--search-teal);background:#fffffff0;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800;line-height:1.3;position:absolute;top:16px;left:16px;box-shadow:0 5px 14px #062f3c1c}.booking-page .room-availability-chip{text-align:center;border-radius:50%;place-items:center;width:58px;height:58px;padding:7px;transition:transform .25s cubic-bezier(.22,1,.36,1),background .2s,color .2s;display:grid}.booking-page .room-photo-count{color:#fff;background:#092f3cbb;font-weight:650;inset:auto 16px 16px auto}.booking-page .available-room:is(:hover,:focus-within) .room-availability-chip{background:var(--search-teal);color:#fff;transform:scale(1.06)}.booking-page .room-availability-chip.is-off{color:#8a948e;background:#e9edea}.booking-page .available-room:is(:hover,:focus-within) .room-availability-chip.is-off{color:#8a948e;background:#e9edea;transform:none}.booking-page .available-room-copy{flex-direction:column;padding:30px 32px;display:flex}.booking-page .room-focus-chip{color:#0b5561;text-transform:uppercase;letter-spacing:.6px;background:#e1eeeb;border:1px solid #b9d6d3;border-radius:99px;align-self:flex-start;margin:0 0 12px;padding:5px 9px;font-size:9px;font-weight:800}.booking-page .available-room-copy h2{font:500 clamp(30px,3vw,40px)/1.05 var(--font-display),Georgia,serif;letter-spacing:-.025em;margin:0}.booking-page .available-room-copy>p:not(.room-focus-chip){max-width:58ch;color:var(--search-muted);margin:13px 0 0;font-size:13px;line-height:1.7}.booking-page .room-facts{flex-wrap:wrap;gap:8px;margin:18px 0 0;display:flex}.booking-page .room-facts span{border:1px solid var(--search-line);color:#294e55;background:#f4f5f0;border-radius:99px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:inline-flex}.booking-page .available-room-copy ul{color:var(--search-muted);grid-template-columns:1fr 1fr;gap:8px 18px;margin:18px 0 0;padding:0;font-size:10px;list-style:none;display:grid}.booking-page .available-room-copy li{align-items:center;gap:7px;display:flex}.booking-page .available-room-copy li svg{color:var(--search-teal);flex:none}.booking-page .room-rate{border-top:1px solid var(--search-line);justify-content:space-between;align-items:end;gap:18px;margin-top:auto;padding-top:20px;display:flex}.booking-page .room-rate>span{line-height:1.35}.booking-page .room-rate small,.booking-page .room-rate em{color:var(--search-muted);font-size:9px;font-style:normal;display:block}.booking-page .room-rate strong{font:600 25px var(--font-display),Georgia,serif}.booking-page .room-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.booking-page .room-actions .btn{white-space:nowrap;border-radius:9px;min-height:42px;padding:10px 14px;font-size:10px}.booking-page .room-actions .btn-soft{border:1px solid var(--search-line);color:var(--search-ink);background:#fff}.booking-page .room-actions .btn-soft:hover{background:#edf3ef}.booking-page .room-actions .btn-accent{background:var(--search-teal);color:#fff}.booking-page .room-actions .btn-accent:hover{background:var(--search-teal-hover)}.booking-page .available-room:is(:hover,:focus-within) .room-actions .btn-accent{background:var(--search-teal-hover);box-shadow:0 7px 18px #062f3c24}.booking-page .booking-empty{text-align:center;background:#fff;border:1px dashed #bfcfcb;border-radius:16px;max-width:none;margin:0;padding:52px 30px}.booking-page .booking-empty>svg{color:var(--search-teal)}.booking-page .booking-empty h2{font:500 30px var(--font-display),Georgia,serif;margin:12px 0 7px}.booking-page .booking-empty p{color:var(--search-muted);margin:0}.booking-sidebar{gap:14px;display:grid;position:sticky;top:106px}.booking-sidebar__card{border:1px solid var(--search-line);background:#fff;border-radius:14px;padding:21px}.booking-sidebar__card>svg{color:var(--search-teal);margin-bottom:14px}.booking-sidebar__card h3{font:500 21px var(--font-display),Georgia,serif;letter-spacing:-.02em;margin:0 0 9px}.booking-sidebar__card p{color:var(--search-muted);margin:0;font-size:11px;line-height:1.65}.booking-sidebar__list{gap:12px;margin:13px 0 0;padding:0;list-style:none;display:grid}.booking-sidebar__list li{color:#31545a;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;display:flex}.booking-sidebar__list svg{color:var(--search-teal);flex:none;margin-top:1px}.booking-sidebar__link{border-top:1px solid var(--search-line);color:var(--search-teal);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;font-size:11px;font-weight:750;display:flex}.booking-sidebar__link svg{transition:transform .2s}.booking-sidebar__link:hover svg{transform:translate(3px)}@media (max-width:1000px){.booking-page .nav-links{gap:18px}.booking-layout{grid-template-columns:1fr}.booking-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.booking-sidebar__card:first-child{grid-row:span 2}.booking-page .available-room{grid-template-columns:38% 62%}.booking-progress{min-width:300px}.booking-progress li{min-width:100px}}@media (max-width:820px){.booking-page .nav-links{display:none}.booking-page .landing-menu-btn{display:grid}.booking-search-heading{flex-direction:column;align-items:start;gap:30px}.booking-progress{align-self:flex-start}.booking-hero--search{min-height:540px;padding-left:24px;padding-right:24px}.booking-page .booking-search.compact label{padding:3px 12px}.booking-page .available-room{grid-template-columns:1fr;min-height:0}.booking-page .available-room-image{min-height:300px}.booking-page .available-room-copy{padding:27px}}@media (max-width:600px){.booking-page .landing-nav{gap:8px;height:76px;padding:0 18px}.booking-page .brand{letter-spacing:3px;gap:8px;font-size:19px}.booking-page .brand-mark,.booking-page .brand-mark svg{width:34px}.booking-page .brand small{letter-spacing:1px;font-size:5px}.booking-page .sign-in-link{display:none}.booking-page .btn-nav-cta{min-height:40px;padding:9px 14px;font-size:11px}.booking-breadcrumbs{white-space:nowrap;margin-bottom:10px;overflow:hidden}.booking-back{margin-bottom:22px}.booking-hero--search{min-height:auto;padding:108px 20px 12px}.booking-search-heading h1{font-size:39px}.booking-search-heading p{font-size:13px}.booking-progress{width:100%;min-width:0;margin-bottom:0}.booking-progress li{flex:1;min-width:0;font-size:9px}.booking-search-summary{width:100%;margin:34px 0 -42px;position:relative;bottom:auto;left:auto;transform:none}.booking-page .booking-search.compact{border-radius:15px;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.booking-page .booking-search.compact label{background:#f2f5f1;border:0;border-radius:9px;padding:9px 10px}.booking-page .booking-search.compact label:last-of-type{grid-column:1/-1}.booking-page .booking-search.compact input,.booking-page .booking-search.compact select{background:0 0;min-height:31px;font-size:12px}.booking-page .booking-search.compact .btn{grid-column:1/-1;min-height:48px;margin:0}.booking-active-filters{justify-content:flex-start}.booking-filter-chip{box-shadow:none;font-size:9px}.booking-content--premium{padding:70px 16px 56px}.booking-results__head{align-items:start}.booking-results__head h2{font-size:29px}.booking-page .available-room-image{min-height:235px}.booking-page .available-room-copy{padding:23px 20px}.booking-page .available-room-copy h2{font-size:32px}.booking-page .available-room-copy ul{grid-template-columns:1fr}.booking-page .room-rate{flex-direction:column;align-items:stretch}.booking-page .room-actions{justify-content:stretch}.booking-page .room-actions .btn{flex:1;min-height:46px}.booking-sidebar{grid-template-columns:1fr}.booking-sidebar__card:first-child{grid-row:auto}}@media (max-width:380px){.booking-page .btn-nav-cta{display:none}.booking-page .landing-drawer-actions,.booking-page .room-actions{flex-direction:column}.booking-page .room-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.booking-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.booking-page .room-title{text-wrap:balance}.booking-page .room-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.booking-page .room-facts span svg{flex:none}.booking-page .room-amenities-more{color:var(--search-teal);font-weight:750;list-style:none}.booking-page .room-price-nightly{font-variant-numeric:tabular-nums}.booking-page .room-price-total{font-variant-numeric:tabular-nums;margin-top:2px}
