/* BUTIGAL OCEAN V1.7.11 V5 - premium visual composition; scoped to Ocean pages only. */
body:has(.oc-ocean-site-header){background:#eff5f2!important;overflow-x:clip}
/* Actual full-viewport banner, not a 1240px-wide floating card. */
.oc-shell .oc-ocean-site-header{position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:100vw!important;max-width:100vw!important;margin:0!important;overflow:visible!important;background:linear-gradient(90deg,#fff8dd 0%,#fffdf1 55%,#fffdf8 100%)!important;border-top:6px solid #f4c420!important;border-bottom:2px solid #dbe7da!important;border-radius:0!important;box-shadow:0 14px 28px rgba(10,62,44,.1)!important}
.oc-shell .oc-ocean-site-header__inner{max-width:1820px!important;min-height:108px!important;padding:12px clamp(24px,3.4vw,70px)!important}
.oc-shell .oc-ocean-site-header__brand{flex-basis:320px!important;max-width:320px!important;min-width:230px!important}
.oc-shell .oc-ocean-site-header__brand img{max-height:87px!important}
.oc-shell .oc-ocean-site-header__menu{gap:clamp(5px,.9vw,16px)!important}
.oc-shell .oc-ocean-site-header__menu a{font-size:clamp(12px,.91vw,15px)!important;padding-inline:clamp(6px,.75vw,14px)!important}
.oc-shell .oc-ocean-site-header__quote{background:#075d45!important;padding:13px 21px!important;border-radius:8px!important;font-size:13px!important}
.oc-shell .oc-ocean-site-header__quote:hover{background:#064530!important}
/* Scenic color-blocked opening section, deliberately no vast white voids. */
.oc-shell.oc-premium-v5{max-width:1560px!important;padding-inline:clamp(18px,4vw,62px)!important;color:#153c32}
.oc-premium-v5 .oc-hero{position:relative;isolation:isolate;min-height:560px;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding:65px max(28px,calc((100vw - 1480px)/2 + 65px)) 68px!important;gap:clamp(30px,5vw,95px)!important;background:radial-gradient(circle at 14% 11%,rgba(246,198,52,.20) 0%,transparent 36%),linear-gradient(110deg,#e5f2ec 0%,#f5f8f1 51%,#d6e9dc 100%);border-bottom:1px solid #cfdfd5}
.oc-premium-v5 .oc-hero:before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(120deg,rgba(5,89,61,.035) 0 1px,transparent 1px 19px);pointer-events:none;z-index:-1}
.oc-premium-v5 .oc-hero-copy{max-width:740px}
.oc-premium-v5 .oc-hero h1{font-size:clamp(39px,4.6vw,70px)!important;color:#0b3c2c!important;line-height:1.06!important;max-width:700px!important}
.oc-premium-v5 .oc-hero-kicker{color:#2d6856;font-size:11px;letter-spacing:.13em;margin-bottom:18px}
.oc-premium-v5 .oc-hero .oc-eyebrow{color:#086a4e}
.oc-premium-v5 .oc-hero p{color:#3e6257!important;font-size:clamp(14px,1.3vw,17px)!important}
.oc-premium-v5 .oc-hero .oc-actions{margin-top:30px}
.oc-premium-v5 .oc-visual{border:5px solid #ffffffbf;border-radius:22px!important;min-height:445px!important;box-shadow:0 24px 52px rgba(4,55,40,.23)!important}
.oc-premium-v5 .oc-hero-proof{margin-top:27px}
.oc-premium-v5 .oc-hero-proof>span{color:#235543!important;font-size:12px}
.oc-premium-v5 .oc-trust-row{margin-block:32px 4px!important;padding:18px 26px!important;background:#ffffff;border:1px solid #dce8e1!important;border-radius:16px;box-shadow:0 12px 26px rgba(13,57,44,.045)}
.oc-premium-v5 .oc-trust-symbol{background:#d7ecdd;border-radius:10px}
.oc-premium-v5 .oc-home-v5-admin-link{padding-top:16px;text-align:right}
.oc-premium-v5 .oc-home-v5-admin-link a{color:#0a6547;text-decoration:underline;font-weight:800;font-size:13px}
/* Service cards become photographic editorial features. */
.oc-premium-v5 .oc-services{padding:72px 0 76px!important}
.oc-premium-v5 .oc-section-top h2{font-size:clamp(31px,3.1vw,47px)!important}
.oc-premium-v5 .oc-services .oc-section-top{margin-bottom:32px!important}
.oc-premium-v5 .oc-cards{gap:24px!important}
.oc-premium-v5 .oc-service-card{overflow:hidden;padding:0 0 0!important;min-height:450px;border-radius:19px!important;border:1px solid #d9e7dc!important;background:#fff!important;box-shadow:0 18px 38px rgba(4,55,37,.10)!important}
.oc-premium-v5 .oc-service-card:hover{box-shadow:0 24px 52px rgba(4,55,37,.20)!important}
.oc-premium-v5 .oc-service-photo{height:210px;width:100%;min-height:210px;overflow:hidden!important;display:block!important;position:relative;margin:0!important;background:linear-gradient(125deg,#317c65,#d4bf76)}
.oc-premium-v5 .oc-service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,34,24,.22),transparent 45%);pointer-events:none}
.oc-premium-v5 .oc-service-photo img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;transition:transform .2s ease}
.oc-premium-v5 .oc-service-card:hover .oc-service-photo img{transform:scale(1.025)}
.oc-premium-v5 .oc-service-card .oc-card-icon{position:absolute;top:188px;left:24px;width:48px;height:48px;z-index:2;background:#fff!important;box-shadow:0 4px 15px #0d493244;border:3px solid #fff;border-radius:10px}
.oc-premium-v5 .oc-service-number{top:223px;right:24px;font-size:11px!important;color:#0c7956!important}
.oc-premium-v5 .oc-service-card h3{font-size:21px!important;margin:44px 24px 9px!important}
.oc-premium-v5 .oc-service-card p{font-size:14px!important;line-height:1.67!important;margin:0 24px!important;color:#4e6a5d!important}
.oc-premium-v5 .oc-service-foot{margin:19px 24px 20px!important;padding-top:15px!important;font-size:12px!important}
/* Dramatic journey feature: port photography + operational steps. */
.oc-premium-v5 .oc-journey{padding:48px clamp(25px,4vw,62px) 53px!important;background:linear-gradient(120deg,#063d31,#0a654a)!important;border:1px solid #0a5744!important;border-radius:24px!important;color:#fff!important;box-shadow:0 23px 50px rgba(8,51,38,.15)}
.oc-premium-v5 .oc-journey .oc-eyebrow{color:#f3cd58!important}
.oc-premium-v5 .oc-journey .oc-section-top h2{color:#fff!important}
.oc-premium-v5 .oc-journey .oc-section-top>p{color:#c8e5da!important}
.oc-premium-v5 .oc-journey-v5-layout{display:grid;grid-template-columns:minmax(0,.90fr) minmax(0,1.1fr);gap:37px;align-items:stretch;min-height:320px;margin-top:25px}
.oc-premium-v5 .oc-journey-v5-visual{position:relative;overflow:hidden;border-radius:15px;margin:0;min-height:310px;background:#123d32}
.oc-premium-v5 .oc-journey-v5-visual img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.oc-premium-v5 .oc-journey-v5-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(3,30,24,.93) 0%,transparent 62%)}
.oc-premium-v5 .oc-journey-v5-visual figcaption{position:absolute;z-index:2;bottom:25px;left:26px;right:26px;color:#fff;display:grid;gap:9px}
.oc-premium-v5 .oc-journey-v5-visual figcaption span{font-weight:900;letter-spacing:.13em;color:#f4d66e;font-size:10px}
.oc-premium-v5 .oc-journey-v5-visual figcaption strong{font-size:clamp(18px,2.1vw,28px);line-height:1.2;letter-spacing:-.025em}
.oc-premium-v5 .oc-journey-steps{padding:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-content:center!important}
.oc-premium-v5 .oc-journey-steps li{border:1px solid #ffffff30!important;border-radius:13px!important;padding:17px 16px!important;background:rgba(255,255,255,.085);backdrop-filter:blur(2px)}
.oc-premium-v5 .oc-journey-steps li:before{display:none!important}
.oc-premium-v5 .oc-journey-steps li>span{font-size:12px!important;color:#f3cd58!important}
.oc-premium-v5 .oc-journey-steps h3{color:#fff!important;font-size:15px!important;margin-top:8px!important}
.oc-premium-v5 .oc-journey-steps p{color:#d7ede3!important;font-size:12px!important;line-height:1.65!important}
.oc-premium-v5 .oc-bottom-cta{margin-top:64px!important;padding:48px 52px!important;border-radius:19px!important;background:linear-gradient(100deg,#093b30 0%,#07543d 60%,#07573e 100%)!important}
.oc-premium-v5 .oc-bottom-cta .oc-btn-bright{font-size:13px}
.oc-premium-v5 .oc-footer{padding-bottom:12px}
@media(max-width:1200px){
 .oc-shell .oc-ocean-site-header__inner{min-height:96px!important}
 .oc-shell .oc-ocean-site-header__brand{max-width:260px!important;flex-basis:260px!important;min-width:195px!important}
 .oc-premium-v5 .oc-hero{padding-inline:clamp(25px,4vw,50px)!important;gap:32px!important}
 .oc-premium-v5 .oc-journey-v5-layout{grid-template-columns:1fr;gap:22px}
 .oc-premium-v5 .oc-journey-v5-visual{min-height:310px}
}
@media(max-width:900px){
 .oc-premium-v5 .oc-hero{grid-template-columns:1fr!important;padding:53px 28px!important;gap:36px!important}
 .oc-premium-v5 .oc-hero-copy{max-width:710px}
 .oc-premium-v5 .oc-visual{max-width:750px;min-height:420px!important}
 .oc-premium-v5 .oc-trust-row{margin-top:22px!important}
 .oc-premium-v5 .oc-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .oc-premium-v5 .oc-service-card{min-height:465px}
}
@media(max-width:700px){
 .oc-premium-v5 .oc-cards{grid-template-columns:1fr!important}
 .oc-premium-v5 .oc-service-card{min-height:auto;padding-bottom:8px!important}
 .oc-premium-v5 .oc-service-photo{height:225px;min-height:225px}
 .oc-premium-v5 .oc-journey{padding:30px 21px!important}
 .oc-premium-v5 .oc-journey-steps{grid-template-columns:1fr!important}
 .oc-premium-v5 .oc-journey-v5-visual{min-height:245px}
 .oc-premium-v5 .oc-trust-row{padding:15px!important}
 .oc-premium-v5 .oc-bottom-cta{padding:30px 24px!important}
}
@media(max-width:540px){
 .oc-shell .oc-ocean-site-header__inner{min-height:79px!important;padding-inline:15px!important}
 .oc-shell .oc-ocean-site-header__brand{flex-basis:183px!important;min-width:0!important;max-width:183px!important}
 .oc-premium-v5 .oc-hero{padding:43px 19px!important}
 .oc-premium-v5 .oc-hero h1{font-size:clamp(36px,10vw,48px)!important}
 .oc-premium-v5 .oc-hero p{font-size:14px!important}
 .oc-premium-v5 .oc-trust-row{grid-template-columns:1fr!important}
 .oc-premium-v5 .oc-services{padding-block:55px!important}
 .oc-premium-v5 .oc-service-photo{height:200px;min-height:200px}
}
@media(prefers-reduced-motion:reduce){.oc-premium-v5 .oc-service-photo img{transition:none!important}}
@media print{.oc-premium-v5 .oc-journey,.oc-premium-v5 .oc-hero{background:#fff!important;color:#000!important}}
