:root{--ink:#112e3a;--navy:#092733;--teal:#17766e;--paper:#f6f6ef;--line:#d2ddd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #db9c45;outline-offset:5px}.skip{position:fixed;left:20px;top:-70px;background:white;padding:12px;z-index:30}.skip:focus{top:10px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brandmark{font-size:35px;font-weight:900;letter-spacing:-2px}.brandmark span{color:var(--teal);font-size:14px;margin-left:5px}.brand small{display:block;font-size:10px;letter-spacing:1.1px;margin-top:3px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--teal)}.languages{display:flex;gap:8px;align-items:center;font-size:12px}.languages button{border:0;background:transparent;color:#667b7f;cursor:pointer;padding:10px 5px}.languages button[aria-pressed=true]{color:var(--ink);font-weight:bold;border-bottom:2px solid var(--teal)}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:640px}.hero-copy{padding:65px 8% 30px 9%}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:1.8px;line-height:1.7;margin:0 0 30px;color:var(--teal)}h1{font-size:clamp(42px,4.5vw,70px);line-height:1.06;font-weight:500;letter-spacing:-3px;margin:0 0 30px;max-width:650px}h1 span{color:var(--teal)}.lead{font-size:18px;line-height:1.65;max-width:430px;color:#51676d}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--teal);color:white;padding:18px 22px;margin-top:20px;font-size:14px}.button:hover{background:#0e5e57}.hero-foot{margin-top:60px;border-top:1px solid var(--line);padding-top:20px;font-size:10px;display:flex;justify-content:space-between;gap:20px;color:#657a7f}.visual{position:relative;background:#123f4d;overflow:hidden}.visual svg{width:100%;height:100%;position:absolute;object-fit:cover}.visual-top,.visual-caption{position:absolute;color:#d5e8df;left:32px;right:32px}.visual-top{top:30px;font-size:9px;letter-spacing:2px;display:flex;justify-content:space-between}.visual-caption{bottom:35px;font-size:16px}.section{padding:85px 6%}.about{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--line)}h2{font-weight:400;font-size:clamp(30px,3.1vw,46px);letter-spacing:-1.6px;line-height:1.15;margin:0 0 28px}p{line-height:1.75}.about>div{max-width:680px}.about p:not(.eyebrow){font-size:17px;color:#51676d;max-width:610px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--teal);padding:8px 0;margin-top:10px}.services{background:#eaf0eb}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:45px}.section-head>p{max-width:330px;color:#51676d;font-size:14px}.section-head h2{margin:0}.service{border-top:1px solid #baccc3}.service:last-child{border-bottom:1px solid #baccc3}.service summary{list-style:none;display:grid;grid-template-columns:75px 1fr 30px;align-items:center;padding:28px 0;cursor:pointer;gap:15px}.service summary::-webkit-details-marker{display:none}.service .number{font-size:12px;color:var(--teal)}.service h3{font-size:24px;font-weight:400;margin:0;letter-spacing:-.6px}.plus{font-size:27px;font-weight:300}.service[open] .plus{transform:rotate(45deg)}.service-body{padding:0 65px 30px 90px;max-width:900px}.service-body p{margin:0;color:#405d63;font-size:16px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{font-size:11px;padding:7px 11px;border:1px solid #b9ccc3}.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.project-note{border-left:2px solid #93b9a6;padding-left:28px}.status{font-size:10px;letter-spacing:1.5px;color:var(--teal)}.project-note p{font-size:16px}.muted{color:#6a7c7e;font-size:13px!important}.contact{background:var(--navy);color:#eff4ec}.contact .eyebrow{color:#9dc9b4}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.label{font-size:10px;letter-spacing:1.5px;color:#9dbbb8}.email{display:block;font-size:clamp(22px,3vw,42px);letter-spacing:-1px;border-bottom:1px solid #506a70;padding:15px 0 25px}.email:hover{color:#a5d9c1}.contact-bottom{display:flex;justify-content:space-between;gap:30px;font-size:13px;padding-top:15px}.contact-bottom p:last-child{max-width:230px;color:#b3c4c4}footer{padding:30px 6%;display:flex;align-items:center;gap:25px;font-size:11px;color:#62777b}.footer-brand{font-size:24px;font-weight:900;color:var(--ink)}footer>a:nth-of-type(2){margin-left:auto}.preview{border-left:1px solid var(--line);padding-left:20px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:800px){header{height:auto;min-height:90px;flex-wrap:wrap;gap:12px;padding:18px 6%}nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:12px}.brandmark{font-size:28px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 30px}h1{font-size:48px;letter-spacing:-2px;max-width:600px}.hero-foot{margin-top:35px}.visual{height:390px}.visual svg{object-position:center}.section{padding:55px 6%}.about{grid-template-columns:1fr}.about .eyebrow{margin-bottom:22px}.section-head{display:block}.section-head>p{max-width:100%;margin-top:25px}.service summary{grid-template-columns:30px 1fr 22px;gap:8px}.service h3{font-size:21px}.service-body{padding:0 15px 26px 38px}.project-layout,.contact-grid{grid-template-columns:1fr;gap:25px}.project-note{padding-left:20px}.contact-bottom{gap:20px}.contact h2{margin-bottom:10px}footer{flex-wrap:wrap;gap:15px}footer>a:nth-of-type(2){margin-left:auto}.preview{width:100%;border:0;padding:10px 0 0;border-top:1px solid var(--line)}}

.about p.collaboration{border-left:2px solid var(--teal);padding:12px 18px;margin:26px 0 10px;color:var(--ink);font-weight:600;background:#eaf0eb;overflow-wrap:anywhere}

.brand{display:flex;align-items:center;gap:14px}.brand-logo{display:block;width:auto;height:70px;object-fit:contain}.brand small{max-width:100px;line-height:1.5}.footer-logo{display:block;width:auto;height:48px;object-fit:contain}@media(max-width:800px){.brand-logo{height:52px}.brand small{font-size:9px;max-width:90px}}

.brand-logo,.footer-logo{filter:brightness(0) saturate(100%) invert(14%) sepia(25%) saturate(1068%) hue-rotate(151deg) brightness(92%) contrast(94%)}

.project-note h3{font-size:25px;font-weight:400;line-height:1.4;letter-spacing:-.5px;margin:18px 0 0}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;margin-top:45px}.photo-gallery figure{margin:0;min-width:0}.photo-gallery a{display:block;background:#dfe7e2;overflow:hidden}.photo-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .2s}.photo-gallery a:hover img{transform:scale(1.025)}.photo-gallery figcaption{font-size:13px;line-height:1.5;padding-top:12px;color:#51676d}@media(max-width:800px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}}@media(max-width:480px){.photo-gallery{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.photo-gallery img{transition:none}}

.photo-gallery img[src="photos/lavori-coperta.jpg"]{object-position:50% 30%}

.photo-gallery img.photo-full{object-fit:contain;background:#092733}

footer{flex-wrap:wrap}.company-details{flex-basis:100%;border-top:1px solid var(--line);padding-top:18px;line-height:1.6}

.history-title{font-size:23px;font-weight:400;letter-spacing:-.5px;margin:30px 0 12px}.founder{border-top:1px solid var(--line);margin-top:36px;padding-top:30px}.founder .eyebrow{font-size:11px;margin-bottom:15px}.founder h3{font-size:32px;letter-spacing:-1px;font-weight:400;margin:0 0 8px}.founder-role{font-size:13px;color:var(--teal)}

.office-phone{padding-top:25px}.office-phone a{display:block;font-size:25px;padding:12px 0;letter-spacing:-.5px}.office-phone a:hover{color:#a5d9c1}

.fog{background:#123f4d;color:#f2f5ee}.fog .eyebrow{color:#a5d9c1}.fog-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:70px}.fog-layout>div>p{max-width:650px;color:#d2e0db}.fog-features{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.fog-features li{font-size:12px;border:1px solid #5a807f;padding:10px 12px}.fog .text-link{border-color:#9dc9b4}.fog .text-link:hover{color:#a5d9c1}.fog-project{align-self:center;border:1px solid #63867f;padding:30px;background:#0c303d}.fog-project h3{font-size:34px;font-weight:400;letter-spacing:-1px;margin:0 0 20px}.fog-project .eyebrow{font-size:10px;margin-bottom:18px}@media(max-width:800px){.fog-layout{grid-template-columns:1fr;gap:30px}.fog-project{padding:24px}}

.service-photo{margin:28px 0 0;max-width:340px}.service-photo img{display:block;width:100%;height:auto}.service-photo figcaption{font-size:12px;color:#51676d;margin-top:10px;line-height:1.5}

.tv-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.tv-photos .service-photo{margin:0;max-width:none}.tv-photos img{height:390px;object-fit:contain;background:#dce5df}@media(max-width:600px){.tv-photos{grid-template-columns:1fr}.tv-photos img{height:auto;max-height:520px}}

.partners{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.partners h3{font-size:25px;font-weight:400;letter-spacing:-.5px}.partner-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.partner-link{padding:20px 15px;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.partner-link strong{font-size:15px;overflow-wrap:anywhere}.partner-link span{font-size:12px;line-height:1.5;color:#51676d}.partner-link small{margin-top:auto;padding-top:12px;font-size:11px;color:var(--teal)}.partner-link:hover{border-color:var(--teal);background:#eaf0eb}@media(max-width:600px){.partner-list{grid-template-columns:1fr}}
/* Restrained marine instrumentation details */
.visual:before{content:"";position:absolute;z-index:1;width:74%;aspect-ratio:1;left:13%;top:17%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 310deg,rgba(165,217,193,.03) 325deg,rgba(165,217,193,.22) 359deg,transparent 360deg);animation:radar-sweep 22s linear infinite;pointer-events:none}.visual-top,.visual-caption{z-index:2}.visual-top:before{content:"";width:5px;height:5px;border-radius:50%;background:#a5d9c1;box-shadow:0 0 9px #a5d9c177;align-self:center;margin-right:9px}.visual-top span{margin-left:auto}.eyebrow,.hero-foot,.label,.number,.status{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.button{transition:background .2s,box-shadow .2s}.button:hover{box-shadow:0 5px 18px #09273320}.button>span:last-child{transition:transform .2s}.button:hover>span:last-child{transform:translate(3px,-3px)}.service summary{transition:color .2s}.service summary:hover{color:var(--teal)}.plus{transition:transform .2s}.partner-link{position:relative;transition:border-color .2s,background .2s,transform .2s}.partner-link:before,.fog-project:before{content:"";position:absolute;left:-1px;top:-1px;width:14px;height:14px;border-top:2px solid #7cad9b;border-left:2px solid #7cad9b;pointer-events:none}.partner-link:hover{transform:translateY(-3px)}.fog{position:relative;background-image:linear-gradient(#a5d9c106 1px,transparent 1px),linear-gradient(90deg,#a5d9c106 1px,transparent 1px);background-size:44px 44px}.fog-project{position:relative}.fog-project:after{content:"";position:absolute;right:-1px;bottom:-1px;width:14px;height:14px;border-right:2px solid #7cad9b;border-bottom:2px solid #7cad9b;pointer-events:none}.history-title:before{content:"";display:inline-block;width:7px;height:7px;background:var(--teal);margin-right:12px;vertical-align:middle}.text-link{transition:color .2s,border-color .2s}@keyframes radar-sweep{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.visual:before{animation:none;transform:rotate(25deg)}.button,.button>span:last-child,.service summary,.plus,.partner-link,.text-link{transition:none}.partner-link:hover{transform:none}}

/* Scan geometry is aligned in the SVG with the vessel centreline. */
.visual:before{display:none}.radar-scan{transform-origin:325px 280px;animation:radar-sweep 22s linear infinite}@media(prefers-reduced-motion:reduce){.radar-scan{animation:none}}

.vessel-motion{transform-origin:305px 310px;animation:vessel-swell 11s ease-in-out infinite}@keyframes vessel-swell{0%,100%{transform:translate(0,0) rotate(-.55deg) scaleY(1)}25%{transform:translate(.6px,-1.2px) rotate(.2deg) scaleY(.996)}50%{transform:translate(0,.7px) rotate(.55deg) scaleY(1)}75%{transform:translate(-.6px,1.2px) rotate(-.15deg) scaleY(1.004)}}@media(prefers-reduced-motion:reduce){.vessel-motion{animation:none}}
/* Compact photo gallery with an on-demand viewer. */
.photo-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px;margin-top:32px}.photo-gallery a{border-radius:3px}.photo-gallery img{height:112px;aspect-ratio:auto;object-fit:cover;opacity:.9}.photo-gallery a:hover img{opacity:1}.photo-gallery figcaption{font-size:11px;padding-top:9px;line-height:1.45}.photo-gallery figcaption small{font-size:9px}.tv-photos{max-width:430px;gap:16px}.tv-photos img{height:145px;object-fit:cover}.tv-photos figcaption{font-size:11px}.photo-viewer{width:min(1050px,94vw);max-width:94vw;max-height:94vh;padding:0;border:1px solid #54736e;background:#092733;color:#eff4ec;box-shadow:0 20px 80px #0007}.photo-viewer::backdrop{background:#04131ce8}.viewer-tools{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid #39535a}.viewer-tools span{font:11px ui-monospace,monospace;letter-spacing:1px}.photo-viewer button{border:1px solid #5a777b;background:transparent;color:#eff4ec;cursor:pointer;padding:8px 14px;font-size:18px}.photo-viewer button:hover{background:#1d4d56}.viewer-image{display:block;width:100%;height:min(68vh,720px);object-fit:contain;background:#071e2a}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px}.viewer-caption{font-size:13px;line-height:1.5;margin:0}.viewer-arrows{display:flex;gap:8px;flex-shrink:0}@media(max-width:800px){.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-gallery img{height:100px}}@media(max-width:480px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.photo-gallery img{height:95px}.tv-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-photos img{height:120px}.viewer-image{height:60vh}.viewer-bottom{gap:10px}.viewer-caption{font-size:11px}}

.inner-page main{min-height:65vh}.inner-page .section{padding-top:65px}.inner-page .about{border-bottom:0}.inner-page .projects{min-height:65vh}.inner-page .contact{min-height:65vh}nav a[aria-current="page"]{color:var(--teal);text-decoration:underline;text-underline-offset:8px}
