:root{--navy:#041f3d;--navy2:#06355e;--blue:#0a5fa6;--cyan:#18d5d7;--aqua:#63eee3;--ink:#0b1d2c;--muted:#617080;--line:#d9e2e8;--ice:#eef8fa;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #e7edf0}.brand img{width:205px}.nav{display:flex;gap:30px;font-size:.83rem;font-weight:700}.nav a:hover{color:var(--blue)}.header-actions{display:flex;align-items:center;gap:14px}.lang{border:0;background:none;font:700 .78rem Manrope;cursor:pointer;color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--cyan);color:var(--navy);padding:15px 22px;border:0;font:800 .82rem Manrope;letter-spacing:.01em;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);background:var(--aqua)}.button-small{padding:11px 17px}.hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy)}.hero-media{position:absolute;inset:0;background:url('assets/image5.jpg') center/cover no-repeat;transform:scale(1.03)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,48,.97) 0%,rgba(3,30,58,.82) 52%,rgba(3,28,52,.18) 100%),linear-gradient(0deg,rgba(1,20,40,.55),transparent 48%)}.hero-content{position:relative;width:min(var(--max),calc(100% - 48px));margin:auto;color:white;padding:74px 0 110px;max-width:1180px}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:800;color:var(--aqua);margin:0 0 20px}.eyebrow.dark{color:var(--blue)}h1{font-size:clamp(3.1rem,6.2vw,5.6rem);line-height:.98;letter-spacing:-.055em;max-width:850px;margin:0 0 18px;font-weight:800}.hero-line{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;color:var(--aqua);margin:0 0 18px}.hero-copy{font-size:1.04rem;max-width:690px;color:#dae8ef;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-weight:700;font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}.hero-marker{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:35px;color:white;border-left:2px solid var(--cyan);padding-left:14px;display:flex;flex-direction:column}.hero-marker span{font-size:.72rem;color:var(--aqua)}.hero-marker strong{font-size:.75rem;letter-spacing:.13em}.trust-strip{background:var(--cyan);display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(24px,calc((100vw - var(--max))/2))}.trust-strip div{padding:25px 23px;border-right:1px solid rgba(4,31,61,.18)}.trust-strip div:first-child{border-left:1px solid rgba(4,31,61,.18)}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-size:.94rem}.trust-strip span{font-size:.7rem;color:#17415c;margin-top:2px}.section{width:min(var(--max),calc(100% - 48px));margin:auto;padding:112px 0;position:relative}.section-label{position:absolute;top:48px;right:0;font-size:.72rem;color:#91a0a8;border-top:1px solid var(--line);padding-top:8px;width:50px;text-align:right}.section-label.light{color:#86a9c4;border-color:#2f5372}.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:72px}.intro-title h2,.section-heading h2,.process-head h2,.evidence-title h2,.technology h2,.coverage h2,.contact h2{font-size:clamp(2rem,4.2vw,3.65rem);letter-spacing:-.045em;line-height:1.08;margin:0}.intro-copy{align-self:end;color:var(--muted);font-size:1rem}.scenario-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scenario-grid article{padding:33px 34px;border-right:1px solid var(--line)}.scenario-grid article:last-child{border-right:0}.scenario-grid span,.service-card span,.steps span{font-size:.72rem;color:var(--blue);font-weight:800}.scenario-grid h3,.service-card h3,.steps h3{font-size:1.25rem;margin:28px 0 9px}.scenario-grid p,.service-card p,.steps p{color:var(--muted);font-size:.85rem}.services{width:100%;max-width:none;background:var(--navy);color:white;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.services .section-label{right:max(24px,calc((100vw - var(--max))/2))}.section-heading{display:grid;grid-template-columns:1.4fr .7fr;gap:80px;margin-bottom:50px}.light-heading>p{color:#aac0d0;align-self:end}.service-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);border:1px solid #244665}.service-card{min-height:310px;border-right:1px solid #244665;display:flex;flex-direction:column}.service-card:last-child{border:0}.service-card .card-content{padding:28px}.service-card h3{margin-top:42px}.service-card p{color:#aec1d0}.service-card.feature{position:relative;min-height:410px}.card-img{height:185px;background:center/cover}.card-inspection{background-image:linear-gradient(rgba(2,22,42,.05),rgba(2,22,42,.35)),url('assets/image11.png')}.capabilities{margin-top:44px;display:grid;grid-template-columns:1fr 2fr;gap:0;border-top:1px solid #244665}.capabilities>p{font-size:.68rem;color:var(--aqua);letter-spacing:.16em;font-weight:800;padding:24px 0}.capabilities details{grid-column:2;padding:20px 0;border-bottom:1px solid #244665}.capabilities summary{cursor:pointer;font-size:1.05rem;font-weight:700;list-style:none}.capabilities summary:after{content:'+';float:right;color:var(--aqua)}.capabilities details[open] summary:after{content:'−'}.capabilities details span{display:block;color:#acc1cf;font-size:.85rem;max-width:650px;padding-top:10px}.process-head{max-width:780px}.steps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:65px;border-top:1px solid var(--line)}.steps article{padding:30px 22px 10px 0;position:relative}.steps article:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--cyan);border-radius:50%}.steps article:not(:last-child):after{content:'→';position:absolute;right:20px;top:24px;color:#9aabb5}.technology{display:grid;grid-template-columns:1fr 1fr;background:#0879b7;color:white}.technology-copy{padding:90px max(42px,calc((100vw - var(--max))/2));padding-right:72px}.technology-copy h2{max-width:590px}.technology-copy>p:not(.eyebrow){max-width:570px;color:#d8eef5}.technology-media{background:linear-gradient(135deg,#dcffff,#fff);display:flex;align-items:center;justify-content:center;padding:55px}.technology-media img{width:min(90%,620px);filter:drop-shadow(0 20px 30px rgba(0,32,53,.15))}.cavi-logo{width:190px;margin-top:34px;filter:brightness(0) invert(1)}.evidence{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px}.evidence-title p:not(.eyebrow){color:var(--muted);max-width:520px}.evidence-grid{display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:1fr 1fr;gap:12px;height:560px}.evidence-grid figure{position:relative;margin:0;overflow:hidden;background:#dbe9ec}.evidence-grid figure.tall{grid-row:1/3;grid-column:2}.evidence-grid img{width:100%;height:100%;object-fit:cover;transition:.45s}.evidence-grid figure:hover img{transform:scale(1.04)}.evidence-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 22px 17px;color:#fff;background:linear-gradient(transparent,rgba(0,20,36,.82));display:flex;gap:12px;align-items:center}.evidence-grid figcaption span{font-size:.66rem;color:var(--aqua)}.coverage{background:var(--navy);color:#fff;min-height:500px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.coastline{height:100%;display:grid;place-items:center;font-size:clamp(7rem,17vw,15rem);font-weight:800;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #176088;background:radial-gradient(circle at 50% 55%,#0d5277,transparent 55%)}.coverage-content{padding:70px max(24px,calc((100vw - var(--max))/2)) 70px 55px}.coverage-content p:not(.eyebrow){color:#b9ceda;max-width:540px}.outline{background:transparent;color:#fff;border:1px solid #48d9df;margin-top:16px}.contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.contact-copy>p:not(.eyebrow){color:var(--muted)}.direct-contact{margin-top:50px;padding-top:25px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.direct-contact span{font-size:.66rem;letter-spacing:.16em;color:var(--blue);font-weight:800}.direct-contact a{font-weight:700}.request-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--ice);padding:35px}.request-form label{display:flex;flex-direction:column;gap:7px}.request-form label span{font-size:.72rem;font-weight:700;color:#405564}.request-form input,.request-form select,.request-form textarea{width:100%;border:0;border-bottom:1px solid #a8bdc8;background:transparent;padding:10px 2px;font:500 .9rem Manrope;color:var(--ink);outline:none;border-radius:0}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--blue)}.wide{grid-column:1/-1}.form-status{font-size:.8rem;color:var(--blue);font-weight:700;margin:0}footer{background:#03192f;color:#bcd0dc;padding:45px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center;font-size:.78rem}footer img{width:190px;filter:brightness(0) invert(1)}footer div{display:flex;gap:8px}footer small{grid-column:1/-1;color:#688497;border-top:1px solid #183751;padding-top:20px}.menu-toggle{display:none}@media(max-width:920px){.nav{display:none}.hero{min-height:650px}.hero-overlay{background:linear-gradient(90deg,rgba(2,24,48,.95),rgba(3,30,58,.62))}.trust-strip{grid-template-columns:1fr 1fr}.intro,.section-heading,.evidence,.contact{grid-template-columns:1fr;gap:35px}.intro-copy{max-width:650px}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card{border-bottom:1px solid #244665}.steps{grid-template-columns:1fr 1fr}.technology{grid-template-columns:1fr}.technology-copy{padding:70px 38px}.coverage{grid-template-columns:1fr}.coastline{min-height:280px}.coverage-content{padding:65px 38px}.evidence-grid{height:500px}footer{grid-template-columns:1fr}.capabilities{grid-template-columns:1fr}.capabilities details{grid-column:1}.contact{padding-top:95px}}
@media(max-width:620px){.site-header{height:68px;padding:0 18px}.brand img{width:164px}.button-small{display:none}.hero{min-height:670px}.hero-content{width:calc(100% - 36px);padding:78px 0 120px}.hero-overlay{background:linear-gradient(180deg,rgba(2,24,48,.86),rgba(3,30,58,.95))}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-marker{right:18px}.trust-strip{grid-template-columns:1fr 1fr;padding:0}.trust-strip div{padding:18px}.section{width:calc(100% - 36px);padding:90px 0}.intro{gap:24px}.scenario-grid{grid-template-columns:1fr;margin-top:15px}.scenario-grid article{border-right:0;border-bottom:1px solid var(--line);padding:25px 4px}.services{width:100%;padding-left:18px;padding-right:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;border-right:0}.service-card.feature{min-height:0}.section-heading{gap:22px}.steps{grid-template-columns:1fr;margin-top:45px}.steps article{padding:25px 0 18px 30px;border-bottom:1px solid var(--line)}.steps article:before{top:32px}.steps article:not(:last-child):after{content:'↓';right:5px;top:28px}.technology-copy,.technology-media{padding:60px 22px}.evidence-grid{grid-template-columns:1fr;height:auto}.evidence-grid figure,.evidence-grid figure.tall{grid-column:1;grid-row:auto;height:260px}.coverage-content{padding:55px 22px}.request-form{grid-template-columns:1fr;padding:24px 18px}.request-form label,.wide{grid-column:1}.contact{gap:32px}.nav{display:none}footer{padding:40px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Visual service cards: one operation-specific image per numbered capability. */
.service-grid{grid-template-columns:repeat(4,1fr)}
.service-card,.service-card.feature{min-height:390px}
.service-card .card-content{padding:26px 24px}
.service-card h3{margin-top:22px}
.card-img{height:190px;flex:0 0 190px;background:center/cover no-repeat;border-bottom:1px solid #244665}
.card-cleaning{background-image:linear-gradient(rgba(2,22,42,.05),rgba(2,22,42,.28)),url('assets/cavitation-hull-cleaning.png')}
.card-inspection{background-image:linear-gradient(rgba(2,22,42,.05),rgba(2,22,42,.28)),url('assets/image12.jpg')}
.card-propeller{background-image:linear-gradient(rgba(2,22,42,.02),rgba(2,22,42,.24)),url('assets/propeller-polishing.png')}
.card-repairs{background-image:linear-gradient(rgba(2,22,42,.05),rgba(2,22,42,.28)),url('assets/image6.jpg')}
@media(max-width:920px){.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.service-grid{grid-template-columns:1fr}.service-card,.service-card.feature{min-height:0}.card-img{height:210px;flex-basis:210px}}

/* CB01 commercial-route update */
.route-grid{grid-template-columns:1.15fr .85fr}.route-grid article{padding:42px}.route-grid h3{font-size:1.55rem;margin-top:18px}.route-grid p{max-width:470px;font-size:.92rem}.route-grid a{display:inline-block;margin-top:14px;color:var(--blue);font-size:.82rem;font-weight:800;border-bottom:1px solid #9cc5dc}.route-grid .route-emergency{background:#f4f8fa;border-top:3px solid #ef6548}.route-grid .route-emergency span,.route-grid .route-emergency a{color:#a83b2b}
.emergency{display:grid;grid-template-columns:.9fr 1.1fr;background:#071b2c;color:#fff}.emergency-copy{padding:96px max(44px,calc((100vw - var(--max))/2));padding-right:70px;background:linear-gradient(145deg,#173448,#071b2c)}.emergency-copy .eyebrow{color:#ff9a83}.emergency-copy h2{font-size:clamp(2.2rem,4.2vw,3.65rem);letter-spacing:-.045em;line-height:1.08;margin:0}.emergency-copy>p:not(.eyebrow){color:#c2d0d8;max-width:580px}.emergency-copy .emergency-note{font-size:.78rem;color:#90a7b5;border-left:2px solid #ef6548;padding-left:14px;margin-top:25px}.emergency-button,.emergency-submit{background:#ef6548;color:#fff;margin-top:20px}.emergency-button:hover,.emergency-submit:hover{background:#ff8068}.response-grid{display:grid;grid-template-columns:1fr 1fr}.response-grid article{padding:48px 40px;border-left:1px solid #294153;border-bottom:1px solid #294153}.response-grid span{color:#ff9a83;font-size:.72rem;font-weight:800}.response-grid h3{font-size:1.18rem;margin:25px 0 10px}.response-grid p{font-size:.84rem;color:#aebfc9;margin:0}
.form-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:38px}.form-tab{border:1px solid var(--line);background:#fff;padding:15px 12px;font:800 .76rem Manrope;color:var(--navy);cursor:pointer}.form-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.form-tab.emergency-tab.active{background:#a83b2b;border-color:#a83b2b}.form-stack{min-width:0}.request-form[hidden]{display:none}.form-title{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #bfd0d8;padding-bottom:15px;margin-bottom:5px}.form-title strong{font-size:1.05rem}.form-title span{font-size:.68rem!important;color:var(--blue)!important;letter-spacing:.08em;text-transform:uppercase}.emergency-form{background:#fff4f1}.emergency-form .form-title span{color:#a83b2b!important}
@media(max-width:920px){.emergency{grid-template-columns:1fr}.emergency-copy{padding:75px 38px}.response-grid article{padding:38px}}
@media(max-width:620px){.hero{min-height:740px}.route-grid{grid-template-columns:1fr}.route-grid article{padding:28px 4px}.route-grid .route-emergency{padding:28px 18px}.response-grid{grid-template-columns:1fr}.response-grid article{border-left:0;padding:32px 22px}.emergency-copy{padding:65px 22px}.form-tabs{grid-template-columns:1fr}.form-title{align-items:flex-start;flex-direction:column;gap:4px}}

.impact-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.impact-heading h2{font-size:clamp(2rem,4.2vw,3.65rem);letter-spacing:-.045em;line-height:1.08;margin:0}.impact-heading>p{color:var(--muted);margin:0}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-grid article{padding:30px 25px;border-right:1px solid var(--line)}.impact-grid article:last-child{border-right:0}.impact-grid span{font-size:.7rem;color:var(--blue);font-weight:800}.impact-grid h3{font-size:1.05rem;line-height:1.25;margin:25px 0 10px}.impact-grid p{font-size:.82rem;color:var(--muted);margin:0}.imo-source{margin-top:30px;background:var(--ice);border-left:4px solid var(--blue);padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:35px}.imo-source>div:first-child{display:flex;align-items:center;gap:18px}.imo-source strong{background:var(--navy);color:#fff;font-size:.77rem;letter-spacing:.08em;padding:11px 10px}.imo-source span{font-size:.8rem;color:#3d5361;max-width:620px}.imo-links{display:flex;gap:20px;flex-shrink:0}.imo-links a{font-size:.75rem;color:var(--blue);font-weight:800;border-bottom:1px solid #9bbfD4}
@media(max-width:920px){.impact-heading{grid-template-columns:1fr;gap:28px}.impact-grid{grid-template-columns:1fr 1fr}.impact-grid article:nth-child(2){border-right:0}.impact-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.imo-source{align-items:flex-start;flex-direction:column}.imo-links{flex-wrap:wrap}}
@media(max-width:620px){.impact-grid{grid-template-columns:1fr}.impact-grid article{border-right:0!important;border-bottom:1px solid var(--line)}.impact-grid article:last-child{border-bottom:0}.imo-source>div:first-child{align-items:flex-start}.imo-links{flex-direction:column;gap:12px}}
.footer-contact{align-items:center;flex-wrap:wrap}.linkedin-pending{width:34px;height:34px;border:1px solid #35516a;display:inline-flex;align-items:center;justify-content:center;color:#8ca4b5;border-radius:50%}.linkedin-pending svg{width:16px;fill:currentColor}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:10px;background:#25d366;color:#082b19;padding:13px 18px;border-radius:999px;box-shadow:0 12px 32px rgba(0,0,0,.24);font-size:.82rem;font-weight:800;transition:transform .2s,box-shadow .2s}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.3)}.whatsapp-float svg{width:23px;height:23px;fill:currentColor}@media(max-width:620px){.whatsapp-float{right:16px;bottom:16px;width:56px;height:56px;padding:0;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float svg{width:27px;height:27px}}

/* Responsive hardening: prevent grid and long-label overflow at narrow widths. */
html,body{max-width:100%;overflow-x:clip}
main,header,footer,section,article,figure,form,nav,div{min-width:0}
h1,h2,h3,p,a,strong,span,summary,figcaption{overflow-wrap:anywhere}
.button,.form-tab{max-width:100%;white-space:normal;text-align:center;line-height:1.3}
.lang{min-width:44px;min-height:44px}
.request-form input,.request-form select,.request-form textarea{min-width:0}

@media(max-width:620px){
  h1{font-size:clamp(2.55rem,13vw,3.15rem);line-height:1.02}
  .hero-content{padding-top:64px}
  .hero-actions{width:100%}
  .hero-actions .button{width:100%}
  .hero-marker{left:18px;right:18px;bottom:26px}
  .emergency-button{display:flex;width:100%;padding-left:16px;padding-right:16px}
  .trust-strip div{min-height:86px}
  .section-label{top:34px}
  .technology-media{padding:0}
  .direct-contact a,.footer-contact a{word-break:break-word}
  footer p{margin:0}
}

@media(max-width:380px){
  .site-header{padding-left:14px;padding-right:10px}
  .brand img{width:145px}
  .header-actions{gap:4px}
  .hero-content,.section{width:calc(100% - 28px)}
  .services{padding-left:14px;padding-right:14px}
  .trust-strip{grid-template-columns:1fr}
  .trust-strip div{min-height:0;border-right:0;border-bottom:1px solid rgba(4,31,61,.18)}
  .trust-strip div:first-child{border-left:0}
  .route-grid .route-emergency,.request-form{padding-left:14px;padding-right:14px}
  .emergency-copy,.coverage-content,.technology-copy{padding-left:18px;padding-right:18px}
  .response-grid article{padding-left:18px;padding-right:18px}
}
