:root{--navy:#071e32;--ink:#122c40;--muted:#526573;--blue:#086a98;--silver:#eaf0f3;--line:#d6e0e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #df971d;outline-offset:4px}button{cursor:pointer}.topbar{background:var(--navy);color:#c0d0d9;display:flex;justify-content:space-between;padding:9px 5%;font-size:11px;letter-spacing:1.5px}.topbar a{color:white}header{padding:18px 5%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fffffffa;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-size:19px;font-weight:800;letter-spacing:1.2px}.brand img{width:57px;border-radius:50%}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:2.5px}.menu{display:none}nav{display:flex;align-items:center;gap:28px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;background:var(--blue);color:white;font-weight:700;font-size:14px;border:1px solid var(--blue);border-radius:3px}.button:hover{background:#064d70}.small{padding:11px 17px}.secondary{background:white;color:var(--ink);border:1px solid #a3b8c5;padding:11px 15px;border-radius:3px}.button.secondary:hover{background:#e4edf2}.hero{padding:80px 5% 60px;background:var(--navy);color:white;display:grid;grid-template-columns:1.25fr 1fr;overflow:hidden;position:relative}.hero-copy{z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--blue);margin:0 0 18px}.hero .eyebrow,.contact .eyebrow,.service-cta .eyebrow{color:#72c5e4}h1{font-size:clamp(50px,5.7vw,84px);line-height:1.04;letter-spacing:-3px;margin:0 0 28px}h1 em{font-family:Georgia,serif;font-weight:400;color:#a9d7e9}h2{font-size:clamp(32px,3.3vw,49px);line-height:1.13;letter-spacing:-1.7px;margin:0 0 20px}h3{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:20px 0 12px}p{margin:0 0 20px;color:var(--muted)}.lead{font-size:18px;color:#b7cbd7}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-note{display:flex;gap:26px;padding-top:48px;font-size:9px;letter-spacing:1.7px;color:#90afc1}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px}.hero-art img{width:80%;max-width:355px;border-radius:50%;position:relative;box-shadow:0 20px 70px #0008}.rings{position:absolute;width:490px;height:490px;border:1px solid #31556a;border-radius:50%;box-shadow:0 0 0 45px #ffffff03,0 0 0 90px #ffffff02}.art-label{font-size:10px;letter-spacing:3px;margin-top:30px;z-index:1;color:#a1c5d7}.brand-strip{display:flex;gap:35px;align-items:center;justify-content:center;padding:28px 5%;background:var(--silver);flex-wrap:wrap;font-size:13px}.brand-strip span{font-size:9px;letter-spacing:1.4px;color:#6c7f8c}.section{padding:85px 5%;scroll-margin-top:0}.section-head{display:flex;justify-content:space-between;gap:50px;margin-bottom:35px}.section-head>p{max-width:380px;padding-top:36px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.num{color:#8da7b6;font-size:12px}.service-grid p{font-size:14px;min-height:68px}.service-grid a{font-size:13px;font-weight:700;color:var(--blue)}.service-cta{background:var(--navy);color:white}.service-cta p{color:#b9cbd6}.service-cta a{color:white}.booking{background:#edf3f6;display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.booking-intro>p{max-width:360px}.steps{padding:20px 0;border-top:1px solid var(--line);margin:25px 0}.steps b{color:var(--blue);margin-right:20px}.steps p{margin-bottom:16px;color:var(--ink)}form{background:white;padding:32px;border:1px solid var(--line);border-radius:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;font-weight:700}.wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;border:1px solid #bacbd5;border-radius:3px;background:#fcfdfe;padding:11px;margin-top:7px;font-size:14px;color:var(--ink)}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-weight:400}.check input{width:17px;margin:3px 0 0;flex-shrink:0}.fine{font-size:12px;color:#657a87;margin-top:15px}.result{padding-top:25px;border-top:1px solid var(--line);margin-top:20px}.result p{font-size:13px}.result .secondary{margin:8px 0 14px}.gallery{display:grid;grid-template-columns:1fr 1fr .8fr;gap:22px}.gallery-item{text-align:left;padding:0;border:1px solid var(--line);background:#f0f4f6;overflow:hidden;border-radius:3px}.gallery-item img{width:100%;height:330px;object-fit:cover;object-position:top;display:block;transition:transform .3s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item.emblem img{object-fit:contain;padding:30px;background:white}.gallery-item span{display:flex;justify-content:space-between;background:white;padding:19px;font-size:13px;font-weight:700}.customer{background:#f5f7f8}.customer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.customer-grid article{padding:30px;background:white;border:1px solid var(--line)}.customer-grid p{font-size:14px}.download{display:block;font-size:12px;margin-top:16px;color:var(--blue)}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact p{color:#b2c7d3}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-details>a,.contact-details>div{font-size:17px;overflow-wrap:anywhere;border-top:1px solid #345062;padding-top:18px}.contact-details small{display:block;font-size:9px;letter-spacing:2px;color:#7bbad3;margin-bottom:12px}.contact-details p{font-size:13px}.contact .fine{color:#9db5c4}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 5%;font-size:12px}footer>span{font-weight:700;letter-spacing:1px}footer small{display:block;font-size:9px;letter-spacing:2px;font-weight:400}footer p{margin:0}dialog{border:0;border-radius:6px;padding:20px;max-width:min(92vw,900px);max-height:94vh}dialog::backdrop{background:#031525d9}dialog img{display:block;max-width:100%;max-height:73vh;object-fit:contain;margin:15px auto}dialog p{margin:0;font-size:13px}.skip{position:fixed;top:-100px;left:15px;background:white;z-index:50;padding:10px}.skip:focus{top:10px}@media(min-width:1500px){.section,.hero{padding-left:calc((100vw - 1300px)/2);padding-right:calc((100vw - 1300px)/2)}}@media(max-width:1000px){nav{gap:14px}.brand{font-size:15px}.hero{grid-template-columns:1.3fr 1fr}.hero-note{gap:14px;flex-wrap:wrap}.booking{gap:30px}.contact{gap:35px}.contact-details{grid-template-columns:1fr}.gallery-item img{height:260px}}@media(max-width:760px){.topbar{font-size:8px;letter-spacing:1px}header{padding:14px 5%}.brand img{width:44px}.menu{display:block;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:3px;font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 5%;background:white;box-shadow:0 10px 20px #0001}nav.open{display:flex;flex-direction:column;align-items:stretch}.hero{padding-top:55px;grid-template-columns:1fr}.hero-art{padding:45px 20px 15px}.hero-art img{width:220px}.rings{width:300px;height:300px}.hero-note{padding-top:30px}.lead{font-size:16px}.section{padding:55px 5%}.section-head{display:block}.section-head>p{padding-top:0;max-width:100%}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:22px}h3{font-size:20px}.service-grid p{min-height:0}.booking,.contact{grid-template-columns:1fr}.booking-intro>p{max-width:none}form{padding:23px}.gallery,.customer-grid{grid-template-columns:1fr}.gallery-item img{height:360px;object-fit:contain;background:#e8eef3}.contact-details{grid-template-columns:1fr 1fr}footer{gap:20px;flex-wrap:wrap}.brand-strip{gap:20px}.brand-strip span{width:100%;text-align:center}}@media(max-width:420px){.service-grid,.form-grid,.contact-details{grid-template-columns:1fr}.hero-note{font-size:8px}.topbar span{max-width:52%}.actions{gap:18px}.button{font-size:13px}.wide{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.support-brands{display:block;padding-top:30px;padding-bottom:30px}.support-brands>h2{font:700 10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:2px;color:#526573;margin:0 0 22px}.support-row{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline}.support-row+.support-row{border-top:1px solid #d0dce3;margin-top:18px;padding-top:18px}.support-row h3{font-size:12px;letter-spacing:0;margin:0;color:#526573}.support-row>div{display:flex;gap:15px 28px;flex-wrap:wrap}.support-row b{font-size:13px;letter-spacing:.4px}@media(max-width:760px){.support-row{grid-template-columns:1fr;gap:12px}.support-row>div{gap:12px 22px}}

.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-gallery .gallery-item img{height:320px;object-fit:contain;object-position:center;background:#0c2538}.photo-gallery .gallery-item:hover img{transform:none}.photo-gallery .gallery-item:hover{border-color:var(--blue)}@media(max-width:760px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery .gallery-item img{height:260px}.photo-gallery .gallery-item span{padding:14px;font-size:12px}}@media(max-width:480px){.photo-gallery{grid-template-columns:1fr}.photo-gallery .gallery-item img{height:360px}}

.support-row{align-items:start}.support-row h3{padding-top:18px}.support-row>div.manufacturer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.manufacturer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;border:1px solid #d6e0e6;border-radius:4px;min-width:0;padding:17px 14px 13px;gap:13px}.manufacturer-card img{display:block;width:100%;height:60px;object-fit:contain}.manufacturer-card span{width:auto;font-size:10px;text-align:center;letter-spacing:.3px;color:#526573;line-height:1.4}.manufacturer-card.dark-logo{background:#102638;border-color:#102638}.manufacturer-card.dark-logo span{color:#dce7ee}@media(max-width:760px){.support-row>div.manufacturer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.support-row h3{padding-top:0}}@media(max-width:480px){.support-row>div.manufacturer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manufacturer-card img{height:55px}}
.hero{gap:6%;padding-top:58px;padding-bottom:72px;background:radial-gradient(ellipse at 0 100%,#0b4a6b 0,transparent 56%),linear-gradient(135deg,#061928,#082d47);align-items:center;min-height:660px}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b1dbef08 1px,transparent 1px),linear-gradient(90deg,#b1dbef08 1px,transparent 1px);background-size:70px 70px;pointer-events:none}
.hero:after{content:"";position:absolute;width:650px;height:650px;left:-420px;bottom:-350px;border:1px solid #8ccbe344;border-radius:50%;box-shadow:0 0 0 55px #8ccbe310,0 0 0 110px #8ccbe308;pointer-events:none}
.hero-copy{position:relative}.hero h1{font-size:clamp(48px,5.6vw,84px)}.hero .lead{max-width:560px}.hero-art{padding:0;align-self:stretch;min-width:0;min-height:510px;justify-content:stretch;z-index:1}
.hero-art .hero-photo{width:100%;max-width:none;height:100%;min-height:510px;max-height:610px;object-fit:cover;object-position:50% 63%;border-radius:100px 8px 8px 8px;box-shadow:0 30px 70px #0006;border:1px solid #74b6d04d}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#031c30e8);border-radius:100px 8px 8px 8px;pointer-events:none}
.hero-art .hero-crest{position:absolute;top:22px;right:22px;max-width:none;width:94px;height:94px;border-radius:50%;box-shadow:0 8px 30px #0006;z-index:2}
.photo-tag{position:absolute;bottom:55px;left:26px;right:20px;display:flex;gap:12px;align-items:center;color:white;font-size:11px;letter-spacing:1.7px;font-weight:700;z-index:2}.photo-tag small{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:#c4deea;margin-top:7px}.live-dot{width:10px;height:10px;background:#5bc3e5;box-shadow:0 0 0 5px #5bc3e520;border-radius:50%;flex-shrink:0}.hero-art .art-label{position:absolute;bottom:15px;left:48px;margin:0;font-size:9px;z-index:2}
.button{border-radius:5px;box-shadow:0 6px 18px #072f4915;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.hero .button{background:#1994c2;border-color:#1994c2}.hero .button:hover{background:#14759b}
.support-brands{background:#f0f5f8;padding-top:40px;padding-bottom:40px}.manufacturer-card{border-radius:8px;box-shadow:0 4px 12px #072a4005}.manufacturer-card img{height:50px}.support-row>div.manufacturer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-grid{gap:24px;border:0}.service-grid article{border:1px solid #dbe6ed;border-radius:10px;overflow:hidden;background:#fff;padding:0 26px 26px;box-shadow:0 12px 30px #0b304509;transition:transform .2s,box-shadow .2s}.service-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0b304515}.service-photo{position:relative;margin:0 -26px 24px;height:220px;background:#08263c;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s}.visual-service:hover .service-photo img{transform:scale(1.04)}.service-photo .num{position:absolute;top:16px;left:16px;background:#ffffffef;color:#103a54;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700}.service-grid h3{font-size:23px;min-height:57px}.service-grid p{min-height:85px}.service-grid article.service-cta{padding:40px 30px;background:radial-gradient(circle at 100% 0,#167fa6 0,transparent 55%),#071e32;border-color:#071e32;display:flex;flex-direction:column;justify-content:center;position:relative}.service-cta:after{content:"";width:160px;height:160px;border:1px solid #8fc5db36;border-radius:50%;position:absolute;right:-70px;bottom:-50px;box-shadow:0 0 0 30px #8fc5db0a;pointer-events:none}.service-grid .service-cta h3{font-size:34px}.service-grid .service-cta p{min-height:auto}
.booking{background:linear-gradient(120deg,#e8f2f8,#f5f8fa)}.booking form{box-shadow:0 18px 55px #0a355210;border-radius:12px}.booking .steps b{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #b5d4e4;background:white;border-radius:50%}
#gallery{background:#071e32;color:white}#gallery .eyebrow{color:#72c5e4}#gallery .section-head>p{color:#b7cbd7}.photo-gallery{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.photo-gallery .gallery-item{position:relative;border:1px solid #ffffff1c;border-radius:8px;background:#0e3048}.photo-gallery .gallery-item img{height:350px;object-fit:cover;background:#0e3048;transition:transform .4s}.photo-gallery .gallery-item:hover img{transform:scale(1.035)}.photo-gallery .gallery-item span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#031726f2);color:white;padding:45px 22px 22px}.photo-gallery .gallery-item:first-child{grid-column:span 2}.photo-gallery .gallery-item:first-child img{height:350px;object-position:50% 45%}.photo-gallery .gallery-item:last-child{grid-column:span 2}.customer-grid article{border-radius:10px;border-top:4px solid #1781ae;box-shadow:0 8px 25px #0b304506}
.waterfront-banner{position:relative;overflow:hidden;background:#0a2d44;min-height:420px;padding:70px 8%;color:white}.waterfront-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%}.waterfront-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#041b2ff2 10%,#041b2faa 55%,#041b2f25)}.waterfront-banner>div{position:relative;z-index:1;max-width:650px}.waterfront-banner .eyebrow{color:#8dd7f0}.waterfront-banner p{color:#d2e6ee}.horizon-lines{position:absolute;right:-60px;top:70px;width:310px;height:310px;border:1px solid #c4e4f07a;border-radius:50%;box-shadow:0 0 0 45px #c4e4f013,0 0 0 90px #c4e4f00a;z-index:1;pointer-events:none}
@media(max-width:1000px){.hero{gap:4%;min-height:590px}.hero-art,.hero-art .hero-photo{min-height:450px}.service-photo{height:180px}.service-grid h3{font-size:21px}.service-grid article{padding-left:20px;padding-right:20px}.service-photo{margin-left:-20px;margin-right:-20px}.hero-note{letter-spacing:1px}.photo-gallery .gallery-item img{height:300px}.photo-gallery .gallery-item:first-child img{height:300px}}
@media(max-width:760px){.hero{padding-top:45px;padding-bottom:45px;gap:35px}.hero-art{min-height:390px;width:100%;max-width:580px;justify-self:center}.hero-art .hero-photo{height:430px;min-height:390px;object-position:center 65%;border-radius:65px 8px 8px 8px}.hero-art:after{border-radius:65px 8px 8px 8px}.hero-art .hero-crest{width:76px;height:76px}.hero-note{padding-top:30px}.service-grid{gap:16px}.service-grid h3{min-height:52px;font-size:21px}.service-grid p{min-height:100px}.service-photo{height:190px}.support-row>div.manufacturer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery .gallery-item img{height:310px}.photo-gallery .gallery-item:first-child img{height:360px}.photo-gallery .gallery-item:last-child{grid-column:span 2}.waterfront-banner{padding:55px 6%;min-height:400px}.horizon-lines{right:-190px}.customer-grid article{padding:25px}}
@media(max-width:480px){.hero h1{font-size:52px;letter-spacing:-2px}.hero-art .hero-photo{height:390px}.hero-note{font-size:8px}.service-grid{grid-template-columns:1fr}.service-grid h3{min-height:auto}.service-grid p{min-height:auto}.service-photo{height:240px}.support-row>div.manufacturer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery{grid-template-columns:1fr}.photo-gallery .gallery-item:first-child,.photo-gallery .gallery-item:last-child{grid-column:auto}.photo-gallery .gallery-item img,.photo-gallery .gallery-item:first-child img{height:390px}.photo-tag{font-size:10px;letter-spacing:1px}.service-grid article.service-cta{min-height:300px}.waterfront-banner h2{font-size:39px}}

/* Social profiles */
.social-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;white-space:nowrap}.social-link svg{width:19px;height:19px;flex:none}.social-link:hover{color:#237edb}.social-link:focus-visible{outline:3px solid #237edb;outline-offset:5px}.social-contact .social-link{margin-top:10px}nav .social-link{font-size:13px}footer .social-link{font-size:14px}

.social-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.social-contact .social-links{margin-top:10px}.social-contact .social-links .social-link{margin-top:0}@media(min-width:1000px){nav .social-links{gap:12px}nav .social-links .social-link span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav .social-links .social-link{padding:8px}}

.whatsapp-link{color:#137c45}.whatsapp-float{position:fixed;right:22px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;background:#147d46;color:#fff;padding:14px 19px;border-radius:40px;box-shadow:0 5px 22px #0003;font-size:14px}.whatsapp-float:hover{background:#0e6136;color:#fff}.whatsapp-float svg{width:25px;height:25px}body:has(dialog[open]) .whatsapp-float{visibility:hidden}footer{padding-bottom:100px}@media(max-width:600px){.whatsapp-float{right:14px;padding:12px}.whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}

.parts-quote{background:#f5f8fa;border-top:1px solid var(--line)}.quote-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.quote-tags span{font-size:11px;padding:7px 11px;border:1px solid #b7d0dd;border-radius:20px;color:var(--blue);background:#fff}.quote-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}@media(min-width:1000px){nav{gap:17px}}@media(min-width:1000px) and (max-width:1250px){.brand{font-size:15px;gap:9px}.brand img{width:45px}header{padding-left:3%;padding-right:3%}nav{gap:11px;font-size:12px}nav .small{padding:10px}}
