:root{
  --oa-ink:#0f1112;
  --oa-warm:#f3f0e9;
  --oa-paper:#fff;
  --oa-deep:#07394c;
  --oa-sea:#008da4;
  --oa-sand:#d8cdbf;
  --oa-sunset:#e7844d;
  --oa-muted:#6b6b67;
  --oa-line:rgba(15,17,18,.16);
  --oa-header:92px;
  --oa-shell:1360px;
  --oa-gutter:clamp(20px,4vw,54px);
  --oa-display:"Inter Tight",Inter,Arial,sans-serif;
  --oa-body:Manrope,Inter,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.oa-site{margin:0;overflow-x:hidden;background:var(--oa-warm);color:var(--oa-ink);font-family:var(--oa-body);font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}
body.oa-menu-open{overflow:hidden}
body.oa-site img{display:block;max-width:100%;height:auto}
body.oa-site a{color:inherit;text-decoration:none}
body.oa-site button,body.oa-site input,body.oa-site select,body.oa-site textarea{font:inherit}
body.oa-site ::selection{background:var(--oa-sunset);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;left:12px;top:12px;padding:12px 16px;background:#fff;color:#111;z-index:99999}
.oa-shell{width:min(calc(100% - (var(--oa-gutter) * 2)),var(--oa-shell));margin-inline:auto}
.oa-shell--text{max-width:930px}
.oa-main{min-height:60vh}
.oa-section{padding-block:clamp(90px,10vw,170px)}
.oa-section--white{background:var(--oa-paper)}
.oa-display{margin:0;font-family:var(--oa-display);font-weight:500;letter-spacing:-.055em;line-height:.94}
.oa-eyebrow{margin:0 0 25px;color:var(--oa-ink);font:600 11px/1.4 var(--oa-body);letter-spacing:.18em;text-transform:uppercase}
.oa-eyebrow--light{color:#fff}
.oa-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.oa-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:16px 22px;border:1px solid var(--oa-ink);background:var(--oa-ink);color:#fff!important;font:600 11px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase;transition:.25s ease}
.oa-cta:hover,.oa-cta:focus-visible{background:var(--oa-sunset);border-color:var(--oa-sunset)}
.oa-cta--light{background:#fff;border-color:#fff;color:var(--oa-ink)!important}
.oa-cta--light:hover,.oa-cta--light:focus-visible{background:var(--oa-sunset);border-color:var(--oa-sunset);color:#fff!important}
.oa-link{display:inline-flex;align-items:center;gap:15px;padding-bottom:5px;border-bottom:1px solid currentColor;font:600 11px/1.35 var(--oa-body);letter-spacing:.15em;text-transform:uppercase;transition:gap .25s ease,color .25s ease}
.oa-link:hover,.oa-link:focus-visible{gap:23px;color:var(--oa-sunset)}
.oa-link--light{color:#fff!important}
[data-oa-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.72,.2,1),transform .8s cubic-bezier(.2,.72,.2,1)}
[data-oa-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}[data-oa-reveal]{opacity:1;transform:none}}

/* Header */
.oa-header{position:fixed;z-index:1000;inset:0 0 auto;height:var(--oa-header);color:#fff;transition:background .3s ease,color .3s ease,height .3s ease,box-shadow .3s ease}
.oa-header:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent);pointer-events:none;transition:opacity .3s ease}
.oa-header__inner{position:relative;z-index:1;height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.oa-brand{display:flex;align-items:center;width:min(260px,32vw)}
.oa-brand img,.oa-brand .custom-logo{width:auto;max-width:100%;max-height:68px;object-fit:contain;transition:filter .3s ease,max-height .3s ease}
.oa-has-overlay-header .oa-header:not(.is-scrolled) .oa-brand img,.oa-has-overlay-header .oa-header:not(.is-scrolled) .oa-brand .custom-logo{filter:brightness(0) invert(1) drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.oa-header__controls{display:flex;align-items:center;gap:26px}
.oa-header__text-link{font:600 10px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-header__book{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 20px;border:1px solid currentColor;font:600 10px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase;transition:.25s ease}
.oa-header__book:hover,.oa-header__book:focus-visible{background:#fff;border-color:#fff;color:var(--oa-ink)!important}
.oa-menu-toggle{display:flex;align-items:center;gap:12px;padding:10px 0;border:0;background:none;color:inherit;cursor:pointer}
.oa-menu-toggle__label{font:600 10px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-menu-toggle__icon{position:relative;display:block;width:29px;height:16px}
.oa-menu-toggle__icon i{position:absolute;left:0;width:100%;height:1px;background:currentColor}
.oa-menu-toggle__icon i:first-child{top:3px}.oa-menu-toggle__icon i:last-child{bottom:3px}
.oa-header.is-scrolled,body:not(.oa-has-overlay-header) .oa-header{height:76px;background:rgba(243,240,233,.95);color:var(--oa-ink);box-shadow:0 1px 0 rgba(15,17,18,.1);backdrop-filter:blur(14px)}
.oa-header.is-scrolled:after,body:not(.oa-has-overlay-header) .oa-header:after{opacity:0}
.oa-header.is-scrolled .oa-brand img,.oa-header.is-scrolled .oa-brand .custom-logo,body:not(.oa-has-overlay-header) .oa-header .oa-brand img,body:not(.oa-has-overlay-header) .oa-header .custom-logo{filter:none;max-height:56px}
.oa-header.is-scrolled .oa-header__book,body:not(.oa-has-overlay-header) .oa-header .oa-header__book{border-color:var(--oa-ink)}
.oa-header.is-scrolled .oa-header__book:hover,body:not(.oa-has-overlay-header) .oa-header .oa-header__book:hover{background:var(--oa-ink);color:#fff!important}

/* Full-screen menu */
.oa-menu-panel{position:fixed;z-index:1200;inset:0;background:var(--oa-ink);color:#fff;visibility:hidden;opacity:0;transform:translateY(-16px);transition:opacity .35s ease,transform .35s ease,visibility .35s ease}
.oa-menu-panel.is-open{visibility:visible;opacity:1;transform:none}
.oa-menu-backdrop{display:none}
.oa-menu-panel__top{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18)}
.oa-menu-panel__brand{font:600 11px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-menu-close{display:flex;align-items:center;gap:14px;padding:0;border:0;background:none;color:#fff;cursor:pointer}
.oa-menu-close span{font:600 10px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-menu-close b{font:300 38px/1 var(--oa-body)}
.oa-menu-panel__body{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(50px,9vw,150px);align-items:center;padding-block:60px}
.oa-overlay-nav__list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.oa-overlay-nav__list a{display:inline-flex;align-items:baseline;gap:20px;font:500 clamp(46px,6vw,92px)/.96 var(--oa-display);letter-spacing:-.055em;transition:opacity .2s ease,transform .2s ease}
.oa-overlay-nav__list a:after{content:"↗";font:400 .22em/1 var(--oa-body);letter-spacing:0;opacity:0;transform:translate(-8px,-10px);transition:.2s ease}
.oa-overlay-nav__list a:hover{transform:translateX(12px)}
.oa-overlay-nav__list a:hover:after{opacity:1;transform:translate(0,-10px)}
.oa-menu-panel__aside{align-self:end;padding-bottom:12px;font-size:14px;color:rgba(255,255,255,.72)}
.oa-menu-panel__aside .oa-cta{margin-bottom:45px}
.oa-menu-panel__aside p{margin:0 0 20px}

/* Hero video */
.oa-home-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--oa-deep);color:#fff;isolation:isolate}
.oa-home-hero__media{position:absolute;z-index:-3;inset:0;background-image:var(--oa-poster);background-position:center;background-size:cover}
.oa-home-hero__video{width:100%;height:100%;object-fit:cover;object-position:center}
.oa-home-hero__shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.14) 65%,rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}
.oa-home-hero__content{padding-top:calc(var(--oa-header) + 70px);padding-bottom:clamp(86px,11vh,135px)}
.oa-home-hero__title{max-width:920px;color:#fff;font-size:clamp(62px,8.5vw,132px)}
.oa-home-hero__lead{max-width:610px;margin:32px 0 38px;font-size:clamp(18px,1.7vw,24px);line-height:1.45}
.oa-home-hero__scroll{position:absolute;left:50%;bottom:24px;width:28px;height:46px;border:1px solid rgba(255,255,255,.62);border-radius:99px;transform:translateX(-50%)}
.oa-home-hero__scroll span{position:absolute;left:50%;top:10px;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateX(-50%);animation:oaScroll 1.8s ease infinite}
@keyframes oaScroll{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,18px)}}

/* Intro and facts */
.oa-intro-block{background:var(--oa-warm)}
.oa-intro-block__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:clamp(60px,9vw,150px);align-items:end}
.oa-intro-block__title{max-width:850px;font-size:clamp(54px,7.4vw,112px)}
.oa-intro-block__copy{max-width:510px;font-size:20px;line-height:1.55}
.oa-intro-block__copy p{margin:0 0 36px}
.oa-facts{background:var(--oa-paper);border-top:1px solid var(--oa-line);border-bottom:1px solid var(--oa-line)}
.oa-facts__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.oa-fact{min-height:260px;padding:45px clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--oa-line)}
.oa-fact:last-child{border-right:0}
.oa-fact__icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.oa-fact__value{margin:40px 0 5px;font:500 clamp(24px,2.4vw,36px)/1.15 var(--oa-display);letter-spacing:-.025em}
.oa-fact__label{margin:0;color:var(--oa-muted);font:600 10px/1.3 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-fact--booking{background:var(--oa-deep);color:#fff}.oa-fact--booking .oa-fact__label{color:rgba(255,255,255,.72)}

/* Experience cards */
.oa-experience-list{display:grid;gap:clamp(120px,13vw,210px)}
.oa-experience-card{display:grid;grid-template-columns:minmax(330px,.65fr) minmax(0,1.35fr);gap:clamp(65px,9vw,145px);align-items:center}
.oa-experience-card--reverse{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}
.oa-experience-card--reverse .oa-experience-card__copy{order:2}.oa-experience-card--reverse .oa-experience-card__media{order:1}
.oa-experience-card__copy h2{font-size:clamp(50px,6.2vw,92px)}
.oa-experience-card__copy>p:not(.oa-eyebrow){margin:30px 0 34px;max-width:510px;font-size:19px;line-height:1.58}
.oa-experience-card__media{position:relative;overflow:hidden;aspect-ratio:1.45/1;background:#d8d8d8}
.oa-experience-card__media--portrait{aspect-ratio:.92/1}
.oa-experience-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.72,.2,1)}
.oa-experience-card__media:hover img{transform:scale(1.025)}
.oa-media__badge{position:absolute;right:18px;bottom:18px;padding:13px 16px;background:#fff;color:var(--oa-ink);font:600 10px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}

/* Booking takeover */
.oa-booking-takeover{padding-block:clamp(95px,10vw,165px);background:var(--oa-deep);color:#fff}
.oa-booking-takeover__head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:70px}
.oa-booking-takeover__head h2{max-width:930px;font-size:clamp(58px,8vw,122px);color:#fff}
.oa-booking-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 58px;padding:0;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);list-style:none}
.oa-booking-steps li{min-height:235px;padding:28px 26px;border-right:1px solid rgba(255,255,255,.24)}
.oa-booking-steps li:last-child{border-right:0}
.oa-booking-steps span{display:block;margin-bottom:42px;color:rgba(255,255,255,.55);font:600 10px/1 var(--oa-body);letter-spacing:.15em}
.oa-booking-steps strong{display:block;font:500 clamp(22px,2vw,31px)/1.1 var(--oa-display);letter-spacing:-.025em}
.oa-booking-steps p{margin:16px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.5}
.oa-booking-takeover__map{position:relative;display:block;overflow:hidden;aspect-ratio:2.25/1;background:#0a2e3b}
.oa-booking-takeover__map img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.oa-booking-takeover__map:hover img{transform:scale(1.018)}
.oa-booking-takeover__map>span{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#fff;color:var(--oa-ink);font:600 11px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase}
.oa-booking-takeover__map b{font-size:18px;font-weight:400}

/* Story and contact */
.oa-brand-story{position:relative;min-height:92svh;display:flex;align-items:flex-end;background-image:var(--oa-story-image);background-position:center;background-size:cover;color:#fff;isolation:isolate}
.oa-brand-story__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,.08) 70%)}
.oa-brand-story__content{padding-block:clamp(90px,11vh,145px)}
.oa-brand-story h2{max-width:980px;font-size:clamp(58px,8vw,124px);color:#fff}
.oa-brand-story__content>p:not(.oa-eyebrow){max-width:620px;margin:30px 0 38px;font-size:21px}
.oa-contact-band{background:var(--oa-warm)}
.oa-contact-band__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:clamp(60px,9vw,150px);align-items:end}
.oa-contact-band h2{font-size:clamp(52px,7vw,105px)}
.oa-contact-band__details{font-size:19px}.oa-contact-band__details p{margin:0 0 26px}

/* Inner pages */
.oa-inner-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;background-image:var(--oa-inner-image);background-position:center;background-size:cover;color:#fff;isolation:isolate}
.oa-inner-hero__overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.05) 70%)}
.oa-inner-hero>.oa-shell{padding-top:calc(var(--oa-header) + 70px);padding-bottom:clamp(80px,10vh,130px)}
.oa-inner-hero h1{margin:0;color:#fff;font:500 clamp(62px,9vw,132px)/.9 var(--oa-display);letter-spacing:-.055em}
.oa-kicker{margin:0 0 24px;color:#fff;font:600 11px/1.4 var(--oa-body);letter-spacing:.18em;text-transform:uppercase}
.oa-kicker--dark{color:var(--oa-ink)}
.oa-editorial-layout,.oa-contact-page__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.68fr);gap:clamp(60px,9vw,150px)}
.oa-editorial-layout h2,.oa-contact-page h2{margin:0;font:500 clamp(48px,6vw,88px)/.96 var(--oa-display);letter-spacing:-.05em}
.oa-prose{font-size:18px;line-height:1.75}.oa-prose>*:first-child{margin-top:0}.oa-prose>*:last-child{margin-bottom:0}.oa-prose a{text-decoration:underline;text-underline-offset:3px}
.oa-cinematic{position:relative;min-height:84svh;display:flex;align-items:flex-end;background-image:var(--oa-cinematic-image);background-position:center;background-size:cover;color:#fff;isolation:isolate}
.oa-cinematic--short{min-height:67svh}.oa-cinematic__overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.05) 70%)}
.oa-cinematic__content{padding-block:clamp(80px,10vh,130px)}.oa-cinematic__content h2{max-width:950px;margin:0 0 38px;font:500 clamp(54px,7vw,108px)/.95 var(--oa-display);letter-spacing:-.05em}
.oa-map-showcase{padding:0 0 clamp(90px,10vw,160px)}.oa-map-showcase img{width:100%}
.oa-page-hero{padding:calc(var(--oa-header) + 95px) 0 90px;background:var(--oa-warm)}
.oa-page-hero h1{margin:0;color:var(--oa-ink);font:500 clamp(62px,8vw,118px)/.92 var(--oa-display);letter-spacing:-.055em}
.oa-page-content{padding-block:70px 130px}
.oa-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(90px,7vw);gap:16px}
.oa-gallery-grid__item{margin:0;overflow:hidden}.oa-gallery-grid__item img{width:100%;height:100%;object-fit:cover}.oa-gallery-grid__item--1{grid-column:1/8;grid-row:span 5}.oa-gallery-grid__item--2{grid-column:8/13;grid-row:span 3}.oa-gallery-grid__item--3{grid-column:8/13;grid-row:span 5}.oa-gallery-grid__item--4{grid-column:1/5;grid-row:span 4}.oa-gallery-grid__item--5{grid-column:5/8;grid-row:span 4}
.oa-accordion details{border-top:1px solid var(--oa-line)}.oa-accordion details:last-of-type{border-bottom:1px solid var(--oa-line)}
.oa-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;cursor:pointer;list-style:none;font:500 clamp(22px,2.6vw,34px)/1.2 var(--oa-display)}
.oa-accordion summary::-webkit-details-marker{display:none}.oa-accordion summary:after{content:"+";font:300 32px/1 var(--oa-body)}.oa-accordion details[open] summary:after{content:"−"}.oa-accordion details>div{padding:0 0 30px;max-width:760px}
.oa-error-page{padding:calc(var(--oa-header) + 110px) 0 140px}.oa-error-page h1{margin:0 0 30px;font:500 clamp(58px,8vw,112px)/.92 var(--oa-display);letter-spacing:-.055em}

/* Booking page: intentionally compact and independent from Elementor styles */
.oa-booking-intro{padding:calc(var(--oa-header) + 72px) 0 72px;background:var(--oa-deep);color:#fff}
.oa-booking-intro__grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr)!important;gap:clamp(50px,8vw,120px)!important;align-items:end!important}
.oa-booking-intro__grid>*{min-width:0!important}
.oa-booking-intro .oa-eyebrow{color:#fff!important;text-align:left!important}
.oa-booking-intro h1{margin:0!important;max-width:900px!important;color:#fff!important;font-size:clamp(62px,8vw,118px)!important;line-height:.92!important;letter-spacing:-.055em!important;text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
.oa-booking-intro__copy{max-width:510px;font-size:19px;line-height:1.55;text-align:left!important}
.oa-booking-intro__copy p{margin:0 0 16px!important;text-align:left!important;text-align-last:auto!important;word-spacing:normal!important}
.oa-booking-intro__note{color:rgba(255,255,255,.68);font-size:14px!important}
.oa-booking-shell{padding:62px 0 clamp(100px,10vw,160px);background:#fff}
.oa-booking-shell__inner{max-width:1480px}
.oa-booking-content{width:100%;min-width:0;margin:0}
.oa-booking-content .qvbb-booking{width:100%!important;max-width:none!important;margin:0!important;color:#18323d!important;font-family:var(--oa-body)!important;text-align:left!important}
.oa-booking-content .qvbb-brand-lockup{display:none!important}
.oa-booking-content .qvbb-booking-header{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(330px,450px)!important;gap:42px!important;align-items:end!important;margin-bottom:30px!important}
.oa-booking-content .qvbb-booking-header>*{min-width:0!important}
.oa-booking-content .qvbb-kicker{display:block!important;color:var(--oa-sea)!important;font:700 11px/1.4 var(--oa-body)!important;letter-spacing:.15em!important;text-transform:uppercase!important;text-align:left!important}
.oa-booking-content .qvbb-booking h2{margin:8px 0 13px!important;color:var(--oa-deep)!important;font:500 clamp(38px,4.3vw,64px)/.98 var(--oa-display)!important;letter-spacing:-.045em!important;text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
.oa-booking-content .qvbb-booking-header p{max-width:700px!important;margin:0!important;color:#58707b!important;font-size:16px!important;line-height:1.55!important;text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;word-break:normal!important}
.oa-booking-content .qvbb-date-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:18px!important;border:1px solid #d7e0e3!important;border-radius:0!important;background:#f5f1e9!important}
.oa-booking-content .qvbb-date-form label{display:grid!important;gap:7px!important;font-size:12px!important;font-weight:700!important}
.oa-booking-content .qvbb-date-form input,.oa-booking-content .qvbb-date-form button{width:100%!important;min-height:48px!important;border-radius:0!important}
.oa-booking-content .qvbb-date-form button{background:var(--oa-deep)!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:12px!important}
.oa-booking-content .qvbb-public-map-shell,.oa-booking-content .qvbb-map-toolbar,.oa-booking-content .qvbb-spot-sheet,.oa-booking-content .qvbb-sheet-selection,.oa-booking-content .qvbb-spot-sheet dl div,.oa-booking-content button,.oa-booking-content input,.oa-booking-content select,.oa-booking-content textarea{border-radius:0!important}
.oa-booking-content .qvbb-map-toolbar{background:#f5f1e9!important}
.oa-booking-content .qvbb-public-map-shell{box-shadow:none!important}

/* WooCommerce shell */
.oa-woocommerce main,.woocommerce-cart main,.woocommerce-checkout main{padding-top:calc(var(--oa-header) + 50px)}
.oa-woocommerce .woocommerce,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{width:min(calc(100% - (var(--oa-gutter) * 2)),1180px);margin-inline:auto;padding-block:50px 120px}
.oa-woocommerce .button,.woocommerce-cart .button,.woocommerce-checkout .button{border-radius:0!important}

/* Footer */
.oa-footer{padding:clamp(80px,9vw,140px) 0 30px;background:var(--oa-ink);color:#fff}
.oa-footer__grid{display:grid;grid-template-columns:1.25fr .7fr .9fr 1fr;gap:clamp(40px,6vw,90px)}
.oa-footer__brand p{margin:22px 0 0;color:rgba(255,255,255,.58);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.oa-footer__logo{display:block;width:min(290px,100%)}.oa-footer__logo img{filter:brightness(0) invert(1)}
.oa-footer__eyebrow{margin:0 0 22px;color:rgba(255,255,255,.5);font:600 10px/1 var(--oa-body);letter-spacing:.16em;text-transform:uppercase}
.oa-footer__links{display:grid;gap:9px;margin:0;padding:0;list-style:none;font-size:14px}.oa-footer__links a:hover{color:var(--oa-sunset)}
.oa-footer__contact{font-style:normal;font-size:14px;line-height:1.75;color:rgba(255,255,255,.75)}
.oa-footer__social{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;font:600 10px/1 var(--oa-body);letter-spacing:.12em;text-transform:uppercase}
.oa-footer__legal{display:flex;justify-content:space-between;gap:30px;margin-top:clamp(65px,8vw,110px);padding-top:22px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.48);font-size:11px}.oa-footer__legal p{margin:0}
.oa-mobile-booking-bar{display:none}

/* Tablet */
@media(max-width:1024px){
  :root{--oa-header:82px}
  .oa-header__contact{display:none}
  .oa-brand{width:min(230px,35vw)}
  .oa-menu-panel__body{grid-template-columns:1fr minmax(220px,.45fr)}
  .oa-intro-block__grid,.oa-contact-band__grid,.oa-editorial-layout,.oa-contact-page__grid{grid-template-columns:1fr;gap:45px}
  .oa-intro-block__copy{max-width:650px}
  .oa-experience-card,.oa-experience-card--reverse{grid-template-columns:1fr;gap:45px}
  .oa-experience-card--reverse .oa-experience-card__copy,.oa-experience-card--reverse .oa-experience-card__media{order:initial}
  .oa-experience-card__media,.oa-experience-card__media--portrait{aspect-ratio:1.45/1}
  .oa-booking-steps{grid-template-columns:1fr 1fr}.oa-booking-steps li:nth-child(2){border-right:0}.oa-booking-steps li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.24)}
  .oa-footer__grid{grid-template-columns:1fr 1fr}.oa-footer__brand{grid-column:1/3}
}

/* Mobile */
@media(max-width:767px){
  :root{--oa-header:72px;--oa-gutter:20px}
  body.oa-site{font-size:16px;padding-bottom:64px}
  .oa-section{padding-block:84px}
  .oa-header{height:var(--oa-header)}
  .oa-brand{width:150px}.oa-brand img,.oa-brand .custom-logo{max-height:52px}
  .oa-header__controls{gap:18px}.oa-header__book{display:none}.oa-menu-toggle__label{display:none}.oa-menu-toggle{padding:10px 0}.oa-menu-toggle__icon{width:31px;height:18px}
  .oa-header.is-scrolled,body:not(.oa-has-overlay-header) .oa-header{height:68px}.oa-header.is-scrolled .oa-brand img,.oa-header.is-scrolled .oa-brand .custom-logo,body:not(.oa-has-overlay-header) .oa-header .oa-brand img,body:not(.oa-has-overlay-header) .oa-header .custom-logo{max-height:48px}
  .oa-menu-panel__top{height:72px}.oa-menu-panel__body{min-height:calc(100svh - 72px);grid-template-columns:1fr;gap:42px;align-content:center;padding-block:38px}
  .oa-overlay-nav__list{gap:7px}.oa-overlay-nav__list a{font-size:clamp(42px,12vw,64px)}
  .oa-menu-panel__aside{align-self:auto;padding:0}.oa-menu-panel__aside .oa-cta{width:100%;margin-bottom:28px}
  .oa-home-hero{min-height:100svh}.oa-home-hero__video{object-position:center}.oa-home-hero__shade{background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.06) 76%)}
  .oa-home-hero__content{padding-top:calc(var(--oa-header) + 55px);padding-bottom:95px}
  .oa-home-hero__title{max-width:100%;font-size:clamp(54px,16vw,76px);line-height:.92;letter-spacing:-.058em}
  .oa-home-hero__lead{max-width:31rem;margin:24px 0 30px;font-size:18px}
  .oa-actions{align-items:flex-start;flex-direction:column;gap:22px}.oa-cta{width:100%;padding-inline:18px}.oa-home-hero__scroll{display:none}
  .oa-intro-block__grid{grid-template-columns:1fr;gap:40px}.oa-intro-block__title{font-size:clamp(48px,14vw,68px)}.oa-intro-block__copy{font-size:18px}
  .oa-facts__grid{grid-template-columns:1fr}.oa-fact{min-height:190px;padding:32px 20px;border-right:0;border-bottom:1px solid var(--oa-line)}.oa-fact:last-child{border-bottom:0}.oa-fact__value{margin-top:25px;font-size:29px}
  .oa-experience-list{gap:105px}.oa-experience-card{grid-template-columns:1fr;gap:36px}.oa-experience-card__copy h2{font-size:clamp(44px,12vw,58px)}.oa-experience-card__copy>p:not(.oa-eyebrow){margin:24px 0 28px;font-size:17px}.oa-experience-card__media,.oa-experience-card__media--portrait{aspect-ratio:4/5}.oa-media__badge{right:12px;bottom:12px}
  .oa-booking-takeover{padding-block:86px}.oa-booking-takeover__head{align-items:flex-start;flex-direction:column;margin-bottom:50px}.oa-booking-takeover__head h2{font-size:clamp(50px,14vw,70px)}.oa-booking-takeover__head .oa-cta{width:100%}
  .oa-booking-steps{grid-template-columns:1fr;margin-bottom:40px}.oa-booking-steps li{min-height:auto;padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.24)!important}.oa-booking-steps li:last-child{border-bottom:0!important}.oa-booking-steps span{margin-bottom:18px}.oa-booking-steps p{max-width:30rem}.oa-booking-takeover__map{aspect-ratio:1/1}.oa-booking-takeover__map>span{left:12px;right:12px;bottom:12px;padding:15px 14px;font-size:9px}
  .oa-brand-story{min-height:82svh}.oa-brand-story__content{padding-block:82px}.oa-brand-story h2{font-size:clamp(50px,14vw,72px)}.oa-brand-story__content>p:not(.oa-eyebrow){font-size:18px}
  .oa-contact-band__grid{grid-template-columns:1fr;gap:42px}.oa-contact-band h2{font-size:clamp(48px,13vw,66px)}.oa-contact-band__details{font-size:17px}
  .oa-inner-hero{min-height:70svh}.oa-inner-hero>.oa-shell{padding-top:calc(var(--oa-header) + 55px);padding-bottom:75px}.oa-inner-hero h1{font-size:clamp(52px,15vw,75px)}
  .oa-editorial-layout,.oa-contact-page__grid{grid-template-columns:1fr;gap:42px}.oa-editorial-layout h2,.oa-contact-page h2{font-size:clamp(44px,12vw,60px)}
  .oa-page-hero{padding:calc(var(--oa-header) + 60px) 0 65px}.oa-page-hero h1{font-size:clamp(52px,15vw,72px)}
  .oa-gallery-grid{grid-template-columns:1fr;grid-auto-rows:78vw;gap:12px}.oa-gallery-grid__item{grid-column:auto!important;grid-row:auto!important}
  .oa-footer{padding-top:76px}.oa-footer__grid{grid-template-columns:1fr;gap:42px}.oa-footer__brand{grid-column:auto}.oa-footer__logo{width:245px}.oa-footer__legal{flex-direction:column;gap:9px}
  .oa-mobile-booking-bar{position:fixed;z-index:1050;display:flex;align-items:center;justify-content:space-between;left:0;right:0;bottom:0;height:64px;padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right));background:var(--oa-sunset);color:#fff!important;font:600 11px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase;box-shadow:0 -8px 25px rgba(0,0,0,.16)}

  /* Booking mobile hardening. No text justification, no side-by-side columns. */
  .oa-booking-intro{padding:calc(var(--oa-header) + 48px) 0 52px}
  .oa-booking-intro__grid{display:block!important;width:min(calc(100% - 40px),100%)!important}
  .oa-booking-intro__grid>div{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .oa-booking-intro__grid>div+div{margin-top:28px!important}
  .oa-booking-intro h1{display:block!important;width:100%!important;max-width:none!important;font-size:clamp(48px,13.5vw,62px)!important;line-height:.94!important;letter-spacing:-.055em!important;text-align:left!important;text-align-last:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .oa-booking-intro__copy,.oa-booking-intro__copy p{display:block!important;width:100%!important;max-width:none!important;text-align:left!important;text-align-last:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .oa-booking-shell{padding-top:34px}
  .oa-booking-content .qvbb-booking-header{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important;margin-bottom:22px!important}
  .oa-booking-content .qvbb-booking-header>div,.oa-booking-content .qvbb-date-form{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
  .oa-booking-content .qvbb-kicker,.oa-booking-content .qvbb-booking h2,.oa-booking-content .qvbb-booking-header p{display:block!important;width:100%!important;max-width:none!important;text-align:left!important;text-align-last:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .oa-booking-content .qvbb-booking h2{font-size:34px!important;line-height:1!important;letter-spacing:-.04em!important}
  .oa-booking-content .qvbb-date-form{display:grid!important;grid-template-columns:1fr!important;padding:15px!important}
  .oa-booking-content .qvbb-legend{gap:10px 14px!important;font-size:12px!important}
  .oa-booking-content .qvbb-map-toolbar{align-items:stretch!important}.oa-booking-content .qvbb-map-controls{width:100%!important;justify-content:flex-start!important}
}
@media(max-width:600px){
  .qvbb-pwa-launcher{bottom:calc(76px + env(safe-area-inset-bottom))!important}
}
/* Compatibility aliases for the existing internal page templates. */
.oa-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:16px 22px;border:1px solid var(--oa-ink);border-radius:0;background:var(--oa-ink);color:#fff!important;font:600 11px/1 var(--oa-body);letter-spacing:.15em;text-transform:uppercase;transition:.25s ease}
.oa-button:hover,.oa-button:focus-visible{background:var(--oa-sunset);border-color:var(--oa-sunset)}
.oa-button--light{background:#fff;border-color:#fff;color:var(--oa-ink)!important}
.oa-button--outline-dark{background:transparent;color:var(--oa-ink)!important;border-color:var(--oa-ink)}
.oa-inline-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
@media(max-width:767px){.oa-inline-actions{align-items:stretch;flex-direction:column}.oa-inline-actions .oa-button{width:100%}}
