/* Ocean Horizon v1.14: shared page alignment. */
:root{--page-gutter:24px}
.shell{width:min(1320px,calc(100% - var(--page-gutter)*2))}
.header.shell{padding-inline:max(var(--page-gutter),calc((100% - 1320px)/2))!important}
.header{grid-template-columns:auto minmax(0,1fr)!important;gap:24px!important}
.header-actions{display:none!important}
.old-logo-header{width:320px!important;height:76px!important;max-width:100%}
.nav{justify-content:flex-end!important;gap:8px!important;min-width:0}
.nav a{white-space:nowrap;padding:12px 11px!important}
.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px!important;align-items:center}
.hero-grid>*,.section-head>*,.contact-layout>*,.about-layout>*{min-width:0}
.section-head{align-items:start}
.section-intro{margin-left:0}
.hero-copy h1{font-size:clamp(3.1rem,5.2vw,5.5rem);line-height:1.02}
.panel-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.panel-cta .btn{min-width:0;width:100%}
#home,#services,#why,#about,#policies,#contact{scroll-margin-top:110px}
.contact-line,.footer-contact{overflow-wrap:anywhere}

/* Hidden by default: a failed or disabled script must never hide the website. */
#introLoader[hidden]{display:none!important}
#introLoader{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:24px;transition:opacity .3s ease,visibility .3s ease}
#introLoader .intro-brand{width:min(620px,100%)!important;transform:none!important;gap:0!important}
#introLoader .intro-logo{display:block!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;animation:none!important;filter:none!important}
#introLoader .intro-progress{width:60%!important;height:2px;margin:28px auto 0!important;overflow:hidden;background:#174264}
#introLoader .intro-progress i{display:block;width:100%;height:100%;background:#50d6ff;transform-origin:left;animation:ohc-intro-progress 1.4s linear both!important}
#introLoader .intro-skip{position:relative!important;inset:auto!important;z-index:3;min-height:44px;padding:12px 24px;font-size:12px;letter-spacing:.1em;border:1px solid #176797;border-radius:999px;background:#041426;color:#b9ebff;cursor:pointer}
#introLoader .intro-skip:focus-visible{outline:2px solid #50d6ff;outline-offset:5px}
@keyframes ohc-intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1400px){.old-logo-header{width:340px!important}}
@media(min-width:1121px) and (max-width:1250px){.old-logo-header{width:270px!important}.header{gap:16px!important}.nav a{padding:12px 9px!important;font-size:13px}}
@media(max-width:1120px){
 .header{grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important}
 .old-logo-header{width:min(300px,100%)!important;height:72px!important}
 .nav{justify-content:flex-start!important}
 .nav a{width:100%}
}
@media(max-width:1020px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px!important}
 .hero-copy h1{font-size:clamp(3rem,7.5vw,5rem)}
 .booking-panel{width:100%;max-width:none}
}
@media(max-width:760px){
 :root{--page-gutter:16px}
 .hero-grid{gap:28px!important}
 .booking-panel{padding:22px!important}
 #introLoader{gap:24px;padding:24px}
 #introLoader .intro-progress{margin-top:20px!important}
 .hero-copy h1{font-size:clamp(2.6rem,8.4vw,4rem)}
}
@media(max-width:540px){
 .panel-cta{grid-template-columns:minmax(0,1fr)}
 .section-head{gap:18px}
}
@media(prefers-reduced-motion:reduce){#introLoader{display:none!important}}