@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#082b50;--blue:#078bd0;--paper:#f5f7f7;--muted:#596976}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}p{line-height:1.75}button{cursor:pointer}h1,h2,h3{font-family:Manrope,sans-serif}h2{font-size:clamp(32px,3.5vw,53px);line-height:1.13;letter-spacing:-2px;margin:16px 0 24px}h3{font-size:24px;letter-spacing:-.7px}em{font-style:normal;color:#38b7ef}.topline{background:var(--navy);color:white;padding:11px 5%;font-size:10px;font-weight:700;letter-spacing:1.7px}.topline span{margin-left:26px;color:#b0c4d4}.topline a{float:right;letter-spacing:1px}header{height:103px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font:800 19px/1.05 Manrope,sans-serif;letter-spacing:-.4px}.brand b{display:block;color:var(--blue);font-size:25px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:6px}nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--blue);color:white;padding:19px 24px;font-size:13px;font-weight:700;border:none;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#076fa8;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.small{padding:14px 20px}.menu{display:none}.hero{min-height:640px;height:min(720px,80vh);position:relative;overflow:hidden;background:var(--navy);color:white}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,45,.94),rgba(3,24,45,.7) 40%,rgba(3,24,45,.04) 80%)}.hero-copy{position:relative;padding:85px 7% 100px;z-index:2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;line-height:1.6}.blue{color:#087fb8}h1{font-size:clamp(46px,5.4vw,82px);letter-spacing:-3px;line-height:1.06;margin:24px 0}.hero-copy>p:not(.eyebrow){font-size:16px;color:#dce6ed;margin-bottom:29px}.textlink{font-size:13px;font-weight:600;border-bottom:1px solid #8197a9;padding-bottom:7px}.hero .textlink{display:inline-block;margin-left:28px}.hero-caption{position:absolute;right:4%;bottom:105px;font-size:9px;letter-spacing:2px;writing-mode:vertical-rl}.wave{position:absolute;width:100%;height:85px;bottom:-1px;z-index:3}.service-strip{display:flex;justify-content:space-between;gap:20px;padding:26px 7%;font-size:10px;letter-spacing:1.4px;font-weight:700;border-bottom:1px solid #dbe3e7}.service-strip i{color:var(--blue)}.section{padding:90px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-heading>p{max-width:370px;font-size:14px;color:var(--muted);margin-bottom:26px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.services article{border-top:2px solid #148ac0;padding:28px 8px 10px}.number{font-size:10px;letter-spacing:1.8px;color:#477083}.services p,.services li{font-size:14px;color:var(--muted);line-height:1.75}.services ul{padding:15px 0 22px;list-style:none}.services li{padding:7px 0;border-bottom:1px solid #dce3e7}.services li:before{content:'✓';color:var(--blue);margin-right:10px}.services a{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.approach{display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy);color:white}.approach-image{position:relative;min-height:480px}.approach-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:42% center}.approach-image small{position:absolute;bottom:18px;left:24px;background:rgba(0,25,49,.8);padding:8px 12px;font-size:8px;letter-spacing:2px}.approach-copy{padding:70px 13%}.approach-copy p:not(.eyebrow){font-size:14px;color:#c0d1df}.approach-copy .textlink{display:inline-block;margin-top:15px}.coverage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%}.coverage>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:450px}.coverage .button{margin-top:18px}.coverage-panel{background:#e8eef0;min-height:400px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;border-radius:50% 50% 5px 5px}.coverage-panel:before{content:'';position:absolute;width:500px;height:500px;background:repeating-radial-gradient(ellipse at center,transparent 0,transparent 42px,#cbdce3 43px,transparent 44px);transform:rotate(-25deg)}.compass{position:absolute;right:30px;top:40px;font-size:12px;text-align:center}.pin{background:var(--blue);color:white;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:32px;box-shadow:0 0 0 15px #078bd015}.coverage-panel p{z-index:1;text-align:center;letter-spacing:3px;font-size:13px!important;color:var(--navy)!important}.coverage-panel strong{font-size:30px;letter-spacing:0}.coverage-note{position:absolute;bottom:30px;font-size:9px;letter-spacing:1.5px}.steps{padding-top:25px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step-grid b{font-size:13px;color:var(--blue);border-bottom:1px solid #c8d6de;display:block;padding-bottom:20px}.step-grid h3{font-size:19px}.step-grid p{font-size:14px;color:var(--muted)}.quote{max-width:none;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.quote h2{font-size:clamp(43px,4.6vw,67px)}.quote>div>p{font-size:14px;color:#bdcedb}.quote>div>a{display:block;margin:17px 0;font-size:14px}.quote .contact{font-size:25px;font-weight:600;margin-top:35px}.quote form{background:white;color:var(--navy);padding:32px;border-radius:5px}.quote form h3{font-size:21px;margin:0 0 25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{font-size:11px;font-weight:700;display:block;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #d3dfe5;background:#f9fbfb;padding:13px 11px;margin-top:8px;border-radius:2px;color:var(--navy);font-size:12px}textarea{resize:vertical}.quote button{width:100%}.form-note,#form-status{font-size:10px;line-height:1.6;color:var(--muted)}.faq{max-width:1060px}.faq h2{margin-bottom:35px}details{border-bottom:1px solid #cddae1;padding:22px 0}summary{cursor:pointer;font-weight:600;font-size:15px}details p{font-size:14px;color:var(--muted);max-width:750px}footer{padding:45px 7% 22px;background:#e8eef1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}footer>p{font-size:16px}footer>a:not(.brand){font-size:13px}.footer-bottom{width:100%;border-top:1px solid #c9d5dc;padding-top:22px;margin-top:24px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}@media(max-width:800px){header{height:82px}.brand{font-size:14px;gap:5px}.brand b{font-size:20px}.brand img{width:51px}.brand small{font-size:7px;letter-spacing:2px}.menu{display:block;border:0;background:none;color:var(--navy);font-size:13px}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:24px;background:white;box-shadow:0 12px 20px #082b501a}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:24px}.topline{font-size:8px}.topline span{display:none}.hero{min-height:640px;height:auto}.hero-copy{padding:80px 7% 110px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#03182ded,#03182d60)}h1{font-size:57px;letter-spacing:-2.5px}.hero .textlink{display:block;width:max-content;margin:24px 0 0}.hero-caption{display:none}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:8px}.service-strip i{display:none}.section{padding:60px 7%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.services{grid-template-columns:1fr}.services article{padding-top:25px}.services h3{margin-top:15px}.services ul{padding-top:0}.approach{grid-template-columns:1fr}.approach-image{min-height:330px}.approach-copy{padding:50px 7%}.coverage{grid-template-columns:1fr;gap:40px}.coverage-panel{min-height:340px}.step-grid{grid-template-columns:1fr;gap:25px}.step-grid h3{margin-bottom:8px}.quote{grid-template-columns:1fr;gap:30px}.quote form{padding:25px 20px}.fields{grid-template-columns:1fr}.quote h2 br:nth-of-type(2){display:none}.faq summary{font-size:14px}footer{align-items:start;flex-direction:column}.footer-bottom{gap:15px;flex-direction:column}h2{letter-spacing:-1.3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Marine motion system */
.loader{display:none;position:fixed;inset:0;background:#061e37;z-index:1000;color:white;overflow:hidden}.loader.active{display:grid;place-items:center;animation:loader-out .65s 1.9s forwards}.loader-center{display:flex;align-items:center;flex-direction:column;position:relative;z-index:2;animation:loader-rise 1s both}.loader-center img{filter:brightness(0) invert(1);animation:boat-float 1.5s ease-in-out infinite}.loader-name{font:800 clamp(25px,5vw,48px)/1.2 Manrope,sans-serif;letter-spacing:-1px;margin-top:22px}.loader-name b{color:#36bafa}.loader-tag{font-size:9px;letter-spacing:3px;margin-top:15px}.loader-track{width:160px;height:2px;background:#ffffff25;margin-top:36px;overflow:hidden}.loader-track i{display:block;height:100%;background:#39bfff;transform-origin:left;animation:load-line 2s ease-in-out both}.loader-glow{position:absolute;width:90vw;height:90vw;background:radial-gradient(circle,#007fc735,transparent 65%);top:-35vw;left:5vw}.loader-water{position:absolute;width:160%;height:55%;left:-30%;bottom:-35%;border-radius:45%;background:#078bd033;animation:water-turn 7s linear infinite}.loader-skip{position:absolute;right:6%;bottom:7%;z-index:3;background:transparent;border:0;border-bottom:1px solid #ffffff60;padding:10px;color:white;font-size:11px}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:#21b6f3;transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}.hero-photo{height:110%;top:-5%;will-change:transform}.hero .wave{width:110%;left:-5%;animation:wave-drift 7s ease-in-out infinite alternate}.hero-copy{animation:hero-in 1s .15s both}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--delay,0ms),transform .8s var(--delay,0ms)}.revealed{opacity:1;transform:none}.services article{transition:background .3s,transform .4s,opacity .8s}.services article:hover{background:#e9f1f4;transform:translateY(-7px)}.services a span{transition:transform .3s}.services article:hover a span{transform:translate(3px,-3px)}.approach-image,.car-visual{overflow:hidden}.car-section{display:grid;grid-template-columns:1fr 1fr;background:#e8eef1;margin:0 7% 90px;max-width:1400px;overflow:hidden;border-radius:4px}.car-visual{position:relative;min-height:480px}.car-visual img{position:absolute;width:100%;height:100%;object-fit:cover}.car-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#031b36b3)}.car-visual>span{position:absolute;bottom:30px;left:30px;z-index:1;color:white;font-size:10px;letter-spacing:2px}.car-copy{padding:60px 12%}.car-copy h2{font-size:clamp(30px,3vw,45px)}.car-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.car-services{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.car-services span{border:1px solid #b9cdd8;padding:8px 10px;border-radius:30px;font-size:10px}.car-note{font-size:10px!important}.pin{animation:pin-pulse 3s infinite}.coverage-panel:before{animation:chart-drift 18s ease-in-out infinite alternate}@keyframes loader-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes loader-out{to{opacity:0;visibility:hidden;transform:translateY(-5%)}}@keyframes load-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes boat-float{50%{transform:translateY(-9px) rotate(-2deg)}}@keyframes water-turn{to{transform:rotate(360deg)}}@keyframes hero-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes wave-drift{to{transform:translateX(3%) scaleY(.8)}}@keyframes pin-pulse{50%{box-shadow:0 0 0 24px #078bd006}}@keyframes chart-drift{to{transform:rotate(-10deg) scale(1.08)}}@media(min-width:1600px){.car-section{margin-left:auto;margin-right:auto}}@media(max-width:800px){.car-section{grid-template-columns:1fr;margin-bottom:60px}.car-visual{min-height:300px}.car-copy{padding:35px 7%}.hero-photo{height:120%;top:-10%}.loader-tag{font-size:8px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){.loader{display:none!important}*,*:before,*:after{animation:none!important}.reveal{opacity:1;transform:none}.hero-photo,.approach-image img,.car-visual img{transform:none!important;will-change:auto}.scroll-progress{display:none}}
/* Word-by-word entrances, with natural document scrolling retained. */
.motion-word{display:inline-block;opacity:0;transform:translate3d(0,32px,0) rotate(2deg);filter:blur(5px);transition:opacity .8s var(--word-delay),transform .95s cubic-bezier(.16,1,.3,1) var(--word-delay),filter .85s var(--word-delay)}.text-entered .motion-word{opacity:1;transform:none;filter:none}.motion-caption{opacity:0;transform:translateX(-22px);transition:opacity .8s .12s,transform .9s cubic-bezier(.16,1,.3,1) .12s}.caption-entered{opacity:1;transform:none}.tiktok-section{position:relative;isolation:isolate;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8%;padding:75px 10%;background:#061725;color:white;overflow:hidden}.tiktok-section:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 50%,#057d9530,transparent 55%)}.tiktok-copy h2{font-size:clamp(32px,4vw,56px)}.tiktok-copy>p:not(.eyebrow){color:#c1cfda;font-size:15px;max-width:490px}.tiktok-copy .button{margin-top:17px}.social-handle{display:block;font-size:11px;letter-spacing:1px;color:#9eb4c6;margin-top:16px}.social-orbit{position:relative;min-height:300px;display:grid;place-items:center}.social-orbit>span{font-size:160px;font-weight:800;text-shadow:-5px -3px #25f4ee,5px 4px #fe2c55;transform:rotate(-12deg);animation:social-float 5s ease-in-out infinite}.social-orbit i{position:absolute;width:260px;height:260px;border:1px solid #3cb7d330;border-radius:50%;transform:rotateX(50deg) rotate(-30deg)}.social-orbit i:last-child{width:330px;height:330px;transform:rotateX(30deg) rotate(30deg);border-style:dashed;animation:orbit-turn 40s linear infinite}@keyframes social-float{50%{transform:translateY(-12px) rotate(4deg)}}@keyframes orbit-turn{to{transform:rotateX(30deg) rotate(390deg)}}@media(max-width:800px){.tiktok-section{grid-template-columns:1fr;gap:10px;padding:35px 7% 55px}.social-orbit{min-height:200px}.social-orbit>span{font-size:105px}.social-orbit i{width:170px;height:170px}.social-orbit i:last-child{width:220px;height:220px}}@media(prefers-reduced-motion:reduce){.motion-word,.motion-caption{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}

.social-proof{display:inline-flex;gap:30px;border:1px solid #42b9dc55;background:#ffffff07;border-radius:8px;padding:19px 25px;margin:12px 0 7px;box-shadow:0 0 35px #078bd00c}.social-proof>div{display:flex;flex-direction:column;gap:5px}.social-proof>div+div{border-left:1px solid #ffffff25;padding-left:30px}.social-proof strong{font:800 clamp(27px,3vw,39px)/1.1 Manrope,sans-serif;color:#fff;letter-spacing:-1px}.social-proof span{font-size:9px;letter-spacing:2px;color:#66cffa}.social-date{display:block;margin-top:10px;font-size:9px;color:#9eb4c6}@media(max-width:400px){.social-proof{gap:20px;padding:17px 20px}.social-proof>div+div{padding-left:20px}}

/* Draw the same plain arrow on every device, without emoji font substitution. */
.diagonal-arrow{display:inline-flex;vertical-align:middle;width:1em;height:1em;flex:none}.diagonal-arrow svg{display:block;width:100%;height:100%}

/* Continuous marine transition from hero waves into the TikTok section. */
.hero .wave{bottom:-2px;height:90px;animation:wave-drift-horizontal 7s ease-in-out infinite alternate}.tiktok-section{margin-top:-1px}.tiktok-section:before{background:radial-gradient(ellipse at 20% 70%,#057d9530,transparent 55%);mask-image:linear-gradient(transparent,#000 30%);-webkit-mask-image:linear-gradient(transparent,#000 30%)}
@keyframes wave-drift-horizontal{to{transform:translateX(3%)}}
