:root{--book-ink:#092f2b;--book-green:#0e493e;--book-green-2:#195d50;--book-coral:#e4664f;--book-gold:#f4bf6a;--book-cream:#f6f0e4;--book-paper:#fffdf8;--book-line:rgba(9,47,43,.14);--book-muted:#68756f}
.booking-modern{background:var(--book-paper);color:var(--book-ink);font-family:"DM Sans",sans-serif}.booking-modern h1,.booking-modern h2,.booking-modern h3{font-family:"Playfair Display",serif;color:var(--book-ink);letter-spacing:-.035em}.booking-modern p,.booking-modern input,.booking-modern button{font-family:"DM Sans",sans-serif}.booking-modern main{overflow:hidden}.book-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.book-eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 20px;color:var(--book-gold);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.book-eyebrow>span{width:34px;height:1px;background:currentColor}.book-eyebrow-dark{color:var(--book-coral)}
.booking-modern main>section.book-hero{padding:0;background:#082f2a}.booking-modern main>section.book-options{background:var(--book-paper)}.booking-modern main>section.book-direct{background:var(--book-green)}.booking-modern main>section.book-faq{background:var(--book-cream)}.booking-modern main>section.book-final{padding:0;background:#082f2a}
.book-hero{position:relative;min-height:930px;display:flex;color:#fff}.book-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.book-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,29,26,.95),rgba(4,40,35,.76) 54%,rgba(4,35,31,.56)),linear-gradient(0deg,rgba(3,26,23,.38),transparent 50%)}.book-hero-inner{position:relative;z-index:1;padding:162px 0 70px}.book-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:58px;color:rgba(255,255,255,.7);font-size:13px}.book-breadcrumb a{color:#fff}.book-breadcrumb a:hover{color:var(--book-gold)}.book-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:82px;align-items:center}.book-hero-copy{max-width:640px}.book-hero h1{margin:0 0 25px;color:#fff;font-size:clamp(55px,5.7vw,84px);line-height:.97}.book-hero-copy>p:not(.book-eyebrow){margin:0;color:rgba(255,255,255,.8);font-size:18px;line-height:1.7}.book-trust{display:flex;flex-wrap:wrap;gap:12px 20px;list-style:none;margin:30px 0 0;padding:0}.book-trust li{color:rgba(255,255,255,.76);font-size:11px}.book-trust i{margin-right:6px;color:var(--book-gold)}.book-help{display:flex;align-items:center;gap:13px;margin-top:45px;padding-top:25px;border-top:1px solid rgba(255,255,255,.2)}.book-help>span{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--book-gold)}.book-help p{display:flex;flex-direction:column;margin:0}.book-help small{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.book-help a{margin-top:3px;color:#fff;font-size:14px;font-weight:700}
.book-card{padding:30px;border-radius:18px;background:rgba(252,250,246,.97);box-shadow:0 32px 85px rgba(0,0,0,.28);transition:max-width .3s ease}.book-progress{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;margin-bottom:27px}.book-progress>span{display:flex;align-items:center;gap:7px;color:#87918d}.book-progress span b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #ccd5d1;border-radius:50%;font-size:10px}.book-progress span small{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.book-progress span.is-active{color:var(--book-green)}.book-progress span.is-active b{border-color:var(--book-green);background:var(--book-green);color:#fff}.book-progress>i{height:1px;background:#dce3df;position:relative}.book-progress>i em{position:absolute;inset:0 auto 0 0;width:0;background:var(--book-green);transition:width .3s ease}.book-card.is-availability .book-progress>i em{width:100%}.book-step[hidden],.home-booking-message[hidden]{display:none!important}.book-card-kicker{margin:0 0 8px;color:var(--book-coral);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.book-step h2{margin:0 0 9px;font-size:34px;line-height:1.12}.book-step>p:not(.book-card-kicker){margin:0;color:var(--book-muted);font-size:12px;line-height:1.55}.book-lead-form{margin-top:24px}.book-lead-form>label{display:block;margin:0 0 7px;color:#4b5b55;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.book-field{position:relative}.book-field>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#85918d}.book-field input{width:100%;height:49px;padding:0 14px 0 42px;border:1px solid rgba(9,47,43,.16);border-radius:7px;background:#fcfdfa;color:var(--book-ink);font-size:13px;outline:0;transition:border .2s ease,box-shadow .2s ease,background .2s ease}.book-field input:focus{border-color:var(--book-green-2);background:#fff;box-shadow:0 0 0 4px rgba(25,93,80,.09)}.book-field.is-invalid input{border-color:#c95547;background:#fff9f7}.book-field.is-valid input{border-color:rgba(27,111,87,.48)}.book-field-error{display:block;min-height:17px;margin:4px 0 6px;color:#b4493d;font-size:9px;font-weight:600}.book-continue{width:100%;height:52px;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:0 17px;border:0;border-radius:8px;background:var(--book-green);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 12px 26px rgba(14,73,62,.18);transition:background .2s ease,transform .2s ease}.book-continue:hover{background:var(--book-green-2);transform:translateY(-2px)}.book-continue:disabled{opacity:.7;cursor:wait;transform:none}.book-consent{margin:12px 0 0!important;color:#83908b!important;font-size:9px!important;line-height:1.5!important}.book-consent i{margin-right:5px;color:var(--book-green)}.book-consent a{color:var(--book-green);text-decoration:underline}.home-booking-message,.home-booking-load-error{margin:11px 0 0;padding:10px 12px;border-radius:7px;background:#fff0ed;color:#9b3f34;font-size:10px;line-height:1.45}.book-card-help{display:flex;align-items:center;gap:10px;margin-top:21px;padding-top:17px;border-top:1px solid var(--book-line)}.book-card-help>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eaf2ed;color:var(--book-green)}.book-card-help span{display:flex;flex-direction:column}.book-card-help strong{font-size:10px}.book-card-help small{color:#89938f;font-size:8px}.book-step-availability #spiderBooking{min-height:260px;margin-top:18px;max-width:100%;overflow-x:auto;overflow-y:hidden}.book-step-availability #spiderBooking svg{max-width:100%}.book-back{margin-top:12px;padding:0;border:0;background:none;color:var(--book-green);font-size:10px;font-weight:700;cursor:pointer}.book-back i{margin-right:7px}
.book-options{padding:120px 0}.book-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.68fr);gap:70px;align-items:end;margin-bottom:48px}.book-heading h2{margin:0;font-size:clamp(43px,5vw,66px);line-height:1.04}.book-heading>p{margin:0 0 6px;color:var(--book-muted);font-size:15px;line-height:1.7}.book-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.book-option-grid article{overflow:hidden;border:1px solid var(--book-line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(9,47,43,.07);transition:transform .3s ease,box-shadow .3s ease}.book-option-grid article:hover{transform:translateY(-6px);box-shadow:0 25px 60px rgba(9,47,43,.12)}.book-option-grid figure{position:relative;height:285px;margin:0;overflow:hidden}.book-option-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,35,31,.43),transparent 50%)}.book-option-grid figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.book-option-grid article:hover img{transform:scale(1.05)}.book-option-grid figure>span{position:absolute;z-index:1;left:17px;top:17px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(4,35,31,.38);color:#fff;font-size:10px}.book-option-grid figure>b{position:absolute;z-index:1;right:15px;bottom:15px;padding:8px 11px;border-radius:99px;background:rgba(255,253,248,.94);color:var(--book-green);font:700 9px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.07em}.book-option-grid figure>b i{color:var(--book-coral)}.book-option-grid article>div{padding:27px 26px 25px}.book-option-kicker{margin:0 0 8px;color:var(--book-coral);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.book-option-grid h3{margin:0 0 12px;font-size:29px}.book-option-grid article>div>p:not(.book-option-kicker){min-height:69px;margin:0;color:var(--book-muted);font-size:13px;line-height:1.65}.book-option-grid ul{list-style:none;margin:19px 0;padding:16px 0;border-top:1px solid var(--book-line);border-bottom:1px solid var(--book-line)}.book-option-grid li{padding:5px 0;color:#50605a;font-size:11px}.book-option-grid li i{margin-right:7px;color:var(--book-coral)}.book-option-grid article a{display:flex;align-items:center;justify-content:space-between;color:var(--book-green);font-size:12px;font-weight:700}.book-options-note{display:flex;gap:12px;align-items:flex-start;margin:25px 0 0;padding:17px 20px;border:1px solid rgba(228,102,79,.23);border-radius:9px;background:#fff8f1;color:#69756f;font-size:11px;line-height:1.6}.book-options-note i{margin-top:3px;color:var(--book-coral)}.book-options-note strong{color:var(--book-ink)}
.book-direct{padding:120px 0;color:#fff}.book-direct-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px;align-items:center}.book-direct-visual{position:relative;padding:0 45px 55px 0}.book-direct-visual figure{height:590px;margin:0;overflow:hidden;border-radius:17px}.book-direct-visual figure img{width:100%;height:100%;object-fit:cover}.book-direct-visual>div{position:absolute;right:0;bottom:15px;display:flex;align-items:center;gap:12px;min-width:280px;padding:18px;border-radius:10px;background:#fff;color:var(--book-green);box-shadow:0 18px 40px rgba(0,0,0,.2)}.book-direct-visual>div>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f8eee5;color:var(--book-coral)}.book-direct-visual>div span{display:flex;flex-direction:column}.book-direct-visual>div small{color:#84908b;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.book-direct-visual>div strong{font-size:12px}.book-direct-copy h2{margin:0 0 22px;color:#fff;font-size:clamp(44px,5vw,65px);line-height:1.04}.book-direct-copy>p:not(.book-eyebrow){margin:0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.72}.book-direct-copy ol{list-style:none;margin:32px 0 0;padding:0}.book-direct-copy li{display:grid;grid-template-columns:34px 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.16)}.book-direct-copy li b{padding-top:4px;color:var(--book-gold);font:700 14px "Playfair Display",serif}.book-direct-copy li span{display:flex;flex-direction:column}.book-direct-copy li strong{color:#fff;font-size:14px}.book-direct-copy li small{margin-top:4px;color:rgba(255,255,255,.57);font-size:11px;line-height:1.55}
.book-faq{padding:115px 0}.book-faq-grid{display:grid;grid-template-columns:.66fr 1.34fr;gap:100px}.book-faq header{align-self:start;position:sticky;top:130px}.book-faq h2{margin:0 0 16px;font-size:48px;line-height:1.05}.book-faq header>p:not(.book-eyebrow){margin:0;color:var(--book-muted);font-size:14px;line-height:1.65}.book-faq header>a{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:var(--book-green);font-size:12px;font-weight:700}.book-faq-list details{border-top:1px solid var(--book-line)}.book-faq-list details:last-child{border-bottom:1px solid var(--book-line)}.book-faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;color:var(--book-ink);font-size:15px;font-weight:700;cursor:pointer}.book-faq-list summary::-webkit-details-marker{display:none}.book-faq-list summary i{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:50%;background:#fff;color:var(--book-coral);transition:transform .25s ease}.book-faq-list details[open] summary i{transform:rotate(45deg)}.book-faq-list details p{max-width:690px;margin:-5px 50px 25px 0;color:var(--book-muted);font-size:13px;line-height:1.7}
.book-final{position:relative;min-height:650px;display:flex;align-items:center;text-align:center;color:#fff}.book-final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.book-final-shade{position:absolute;inset:0;background:rgba(3,34,30,.8)}.book-final-inner{position:relative;z-index:1;max-width:790px}.book-final .book-eyebrow{justify-content:center}.book-final h2{margin:0 0 22px;color:#fff;font-size:clamp(52px,6vw,78px);line-height:1}.book-final-inner>p:not(.book-eyebrow){max-width:660px;margin:0 auto;color:rgba(255,255,255,.76);font-size:16px;line-height:1.7}.book-final-inner>div{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;margin-top:31px}.book-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 22px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease}.book-button:hover{transform:translateY(-2px)}.book-button-primary{background:var(--book-coral);color:#fff}.book-button-primary:hover{background:#d95842;color:#fff}.book-button-ghost{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);color:#fff}.book-button-ghost:hover{background:#fff;color:var(--book-green)}
@media(max-width:991px){.book-hero{min-height:auto}.book-hero-inner{padding:150px 0 70px}.book-breadcrumb{margin-bottom:48px}.book-hero-grid{grid-template-columns:1fr;gap:50px}.book-card{max-width:600px}.book-heading{grid-template-columns:1fr;gap:20px}.book-option-grid{grid-template-columns:repeat(2,1fr)}.book-option-grid article:last-child{grid-column:1/3;max-width:calc(50% - 11px)}.book-direct-grid{grid-template-columns:1fr;gap:65px}.book-direct-visual{max-width:600px}.book-faq-grid{grid-template-columns:1fr;gap:45px}.book-faq header{position:static;max-width:580px}}
@media(max-width:767px){.book-shell{width:min(100% - 32px,1180px)}.book-hero-inner{padding:125px 0 55px}.book-breadcrumb{margin-bottom:37px}.book-hero h1{font-size:48px}.book-hero-copy>p:not(.book-eyebrow){font-size:16px}.book-trust{display:grid;gap:9px}.book-card{padding:24px 19px}.book-progress span small{font-size:8px}.book-options,.book-direct,.book-faq{padding:78px 0}.book-heading h2,.book-direct-copy h2{font-size:41px}.book-option-grid{grid-template-columns:1fr}.book-option-grid article:last-child{grid-column:auto;max-width:none}.book-option-grid figure{height:260px}.book-option-grid article>div>p:not(.book-option-kicker){min-height:0}.book-direct-visual{padding:0 20px 52px 0}.book-direct-visual figure{height:470px}.book-direct-visual>div{right:0;min-width:250px}.book-faq h2{font-size:42px}.book-final{min-height:590px}.book-final h2{font-size:47px}}
@media(prefers-reduced-motion:reduce){.booking-modern *{scroll-behavior:auto!important}.book-option-grid article,.book-option-grid img,.book-button,.book-continue{transition:none!important}}

/* Keep the privacy reassurance readable inside the light booking card. */
.booking-modern .book-card-help strong{color:var(--book-ink)}
.booking-modern .book-card-help small{color:#68756f}

.book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.book-guest-grid{grid-template-columns:repeat(3,1fr)}.book-form-group label{display:block;margin:0 0 7px;color:#4b5b55;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.book-form-group .book-field input{padding-right:10px}.book-form-group .book-field-error{margin-bottom:6px}

@media(max-width:991px){.book-hero-grid .book-card{order:-1;width:100%;max-width:640px;margin:0 auto}.book-hero-copy{max-width:640px;margin:0 auto}.book-hero-inner{padding-top:110px}.book-hero-grid{gap:46px}}
@media(max-width:767px){.booking-modern{padding-bottom:0}.booking-modern .mobile-action-bar{display:none}.book-breadcrumb,.book-progress{display:none}.book-hero-inner{padding-top:132px}.book-card{padding:18px;border-radius:14px}.book-card-kicker{margin-bottom:4px;font-size:9px}.book-step h2{margin-bottom:5px;font-size:28px}.book-step>p:not(.book-card-kicker){font-size:10.5px;line-height:1.45}.book-lead-form{margin-top:15px}.book-lead-form>label{margin:11px 0 4px}.book-lead-form>label:first-child{margin-top:0}.book-form-grid{gap:0 8px;margin-top:10px}.book-form-group label{margin-bottom:4px;font-size:8px}.book-field input{height:43px}.book-field-error:empty{display:none}.book-field-error:not(:empty){min-height:0;margin:4px 0 6px}.book-continue{height:47px;margin-top:12px;font-size:11.5px}.book-consent{margin-top:8px!important}.book-card-help{margin-top:14px;padding-top:12px}.book-card-help>i{width:31px;height:31px}.book-card-help strong{font-size:10px}.book-card-help small{font-size:8px}.book-hero-copy{padding-top:8px}.book-hero h1{font-size:43px}}
@media(max-width:480px){.book-date-grid{grid-template-columns:1fr 1fr}.book-guest-grid{grid-template-columns:repeat(3,1fr);gap:0 7px}.book-field input{padding-left:36px;font-size:11px}.book-date-grid .book-field>i,.book-guest-grid .book-field>i{left:10px}.book-date-grid .book-field input,.book-guest-grid .book-field input{padding-left:29px;padding-right:3px}.book-continue{font-size:11px}}
@media(max-width:350px){.book-date-grid{grid-template-columns:1fr}}

/* Compact the Hotel-Spider step after the guest request is saved. */
.book-card .spiderBooking-form_template-vertical .spiderBooking-input-block{margin-bottom:12px}.book-card .spiderBooking-input-block__label{margin-bottom:4px}.book-card .spiderBooking-input-block__label .label{padding:0 4px}.book-card .spiderBooking-input-block__input .input,.book-card .spiderBooking-input-block__input .spiderDatepicker-input,.book-card .spiderBooking-input-block__input .spiderSelect-single{height:48px;padding-right:34px;padding-left:34px}.book-card .spiderBooking-form_template-vertical .spiderBooking-form__actions-toolbar{margin-top:8px}.book-card .spiderBooking-form__actions-toolbar button.spiderBooking-form__button{height:48px}
