:root{--navy:#061846;--blue:#1267d8;--blue2:#58c4f6;--bg:#f6f9fd;--text:#5f6f89;--border:#dce8f6;--shadow:0 20px 55px rgba(6,24,70,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:#fff;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.language-dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 18px 40px rgba(6,24,70,.15);border-radius:999px;padding:8px;backdrop-filter:blur(10px)}.lang-switch{border:0;background:transparent;color:var(--navy);border-radius:50%;width:42px;height:42px;font-weight:900;cursor:pointer;transition:.25s ease}.lang-switch.active{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(18,103,216,.28)}.language-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(255,255,255,.76);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.3s ease}.language-overlay.show{opacity:1}.language-overlay span{position:relative;font-family:'Manrope';font-weight:900;font-size:56px;color:var(--blue);z-index:2}.language-pulse{position:absolute;width:160px;height:160px;border-radius:50%;border:2px solid rgba(18,103,216,.16);animation:pulseLang .8s ease}@keyframes pulseLang{0%{transform:scale(.45);opacity:0}50%{opacity:1}100%{transform:scale(1.5);opacity:0}}.page-content.lang-changing{animation:langFade .45s ease}@keyframes langFade{0%{opacity:.35;transform:translateY(8px)}100%{opacity:1;transform:none}}.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(6,24,70,.07)}.header-inner{min-height:102px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;min-width:315px;align-self:stretch}.brand img{height:82px;width:auto;max-width:300px;object-fit:contain;margin:auto 0}.main-nav{margin-left:auto;display:flex;align-items:center;gap:22px}.main-nav a{font-size:15px;font-weight:700;color:var(--navy);transition:.25s ease;position:relative}.main-nav a:hover,.main-nav a.active{color:var(--blue)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;border-radius:999px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:11px;font-weight:800;font-size:15px;transition:.25s ease;cursor:pointer}.btn:after{content:"›";font-size:22px;line-height:1}.btn-primary{background:var(--blue);color:#fff;border:1px solid var(--blue);box-shadow:0 12px 28px rgba(18,103,216,.24)}.btn-primary:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px);box-shadow:0 16px 34px rgba(6,24,70,.28)}.btn-secondary{background:#fff;color:var(--blue);border:1px solid #bcd7f6}.btn-secondary:hover{background:#f0f7ff;border-color:var(--blue);color:var(--navy)}.nav-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto}.nav-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:6px 0;border-radius:10px}.hero{position:relative;overflow:hidden;min-height:680px;display:flex;align-items:stretch}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 38%,rgba(255,255,255,.12) 72%),url('../assets/bg-hero.png') center/cover no-repeat;animation:bgDrift 15s ease-in-out infinite alternate}@keyframes bgDrift{from{transform:scale(1) translateX(0)}to{transform:scale(1.04) translateX(-12px)}}.hero-grid{position:relative;display:grid;grid-template-columns:.95fr 1.25fr;align-items:center;gap:40px;padding:96px 0 74px}.hero-content{max-width:540px}.eyebrow{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:1.9px;color:var(--blue);font-weight:800}h1,h2,h3,h4{font-family:'Manrope','Inter',sans-serif;color:var(--navy);margin:0;letter-spacing:-.7px}h1{font-size:clamp(42px,5vw,68px);line-height:1.05;letter-spacing:-2px}h2{font-size:clamp(30px,3.1vw,44px);line-height:1.13}h3{font-size:20px;line-height:1.2}.lead{font-size:18px;line-height:1.75;margin:24px 0 30px;max-width:520px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-visual{position:relative;border-radius:28px;overflow:hidden;min-height:450px;box-shadow:0 30px 80px rgba(6,24,70,.16);transform-style:preserve-3d}.hero-visual img{width:100%;height:100%;min-height:450px;object-fit:cover;transition:transform .7s ease}.hero-visual:hover img{transform:scale(1.04)}.hero-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 62% 48%,rgba(88,196,246,.24),transparent 34%),linear-gradient(180deg,transparent 50%,rgba(6,24,70,.14));pointer-events:none}.scan-line{position:absolute;left:-20%;right:-20%;top:-10%;height:90px;background:linear-gradient(180deg,transparent,rgba(88,196,246,.38),transparent);filter:blur(2px);animation:scanMove 4.2s ease-in-out infinite;z-index:2;mix-blend-mode:screen}@keyframes scanMove{0%{transform:translateY(-140px) rotate(-8deg)}100%{transform:translateY(650px) rotate(-8deg)}}.depth-scale{position:absolute;right:18px;top:28px;display:flex;flex-direction:column;gap:18px;font-size:12px;font-weight:700;color:rgba(255,255,255,.8);z-index:2}.section{padding:92px 0}.section-head{margin-bottom:44px}.section-head.center{text-align:center;max-width:760px;margin-inline:auto;margin-bottom:44px}.section-head.split{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-note{max-width:260px;font-size:14px;font-weight:700;color:var(--text)}.services{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px 18px;text-align:center;box-shadow:var(--shadow);transition:.25s ease}.service-card:hover{transform:translateY(-7px) scale(1.015);border-color:#bcd7f6;box-shadow:0 26px 65px rgba(6,24,70,.14)}.service-card img{width:76px;height:76px;object-fit:contain;margin:0 auto 18px;transition:.35s ease}.service-card:hover img{transform:translateY(-6px) rotate(-3deg)}.service-card h3{font-size:17px;margin-bottom:12px}.service-card p{font-size:13px;line-height:1.55;margin:0}.equipment{background:var(--bg)}.equipment-accordion{display:grid;gap:16px}.equipment-group{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.equipment-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border:0;background:#fff;color:var(--navy);font-family:'Manrope';font-size:22px;font-weight:900;cursor:pointer;text-align:left}.equipment-group-toggle small{min-width:38px;height:38px;border-radius:50%;background:#eef6ff;color:var(--blue);display:grid;place-items:center;font-family:'Inter';font-size:14px}.equipment-group-toggle:after{content:"+";font-size:28px;color:var(--blue);margin-left:auto}.equipment-group.open .equipment-group-toggle:after{content:"−"}.equipment-panel{max-height:0;overflow:hidden;transition:max-height .5s ease}.equipment-group.open .equipment-panel{max-height:1400px}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 22px 24px}.equipment-card{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff;transition:.25s ease;box-shadow:0 8px 24px rgba(6,24,70,.07)}.equipment-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(6,24,70,.12)}.equipment-card img{height:210px;width:100%;object-fit:cover;background:#fff}.equipment-card-body{padding:18px}.equipment-card h3{font-size:18px}.technology{background:linear-gradient(90deg,rgba(246,249,253,.98),rgba(246,249,253,.92)),url('../assets/bg-light.png') center/cover no-repeat}.technology-grid{display:grid;grid-template-columns:.78fr 1.4fr;gap:44px;align-items:start}.tech-copy{position:sticky;top:130px}.tech-copy p:not(.eyebrow),.about-copy p:not(.eyebrow){font-size:17px;line-height:1.75}.tech-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tech-card{min-height:170px;border-radius:18px;padding:24px;color:#d9ecff;overflow:hidden;position:relative;background:linear-gradient(135deg,rgba(6,24,70,.96),rgba(10,55,112,.86)),url('../assets/bg-footer.png') center/cover no-repeat;box-shadow:0 20px 45px rgba(6,24,70,.18);transition:.3s ease}.tech-card:hover{transform:translateY(-6px)}.tech-card:after{content:"";position:absolute;inset:auto -30px -45px auto;width:150px;height:150px;border:1px solid rgba(88,196,246,.25);border-radius:50%;animation:radarPulse 3s infinite}@keyframes radarPulse{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.14);opacity:.9}}.tech-card span{display:block;color:#fff;font-weight:800;font-size:18px;margin-bottom:10px}.tech-card p{margin:0;line-height:1.55;font-size:14px;color:#c9dcf1}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.stats div{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);transition:.25s}.stats div:hover{transform:translateY(-5px)}.stats strong{display:block;color:var(--blue);font-size:30px;line-height:1;font-family:'Manrope',sans-serif}.stats span{font-size:13px;font-weight:700;color:var(--text)}.about-photo{border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(6,24,70,.14);background:linear-gradient(180deg,#f6fbff,#eaf3ff);display:flex;align-items:center;justify-content:center;padding:0}.about-photo img{height:430px;width:100%;object-fit:contain;object-position:center center}.projects{background:var(--bg)}.text-link{color:var(--blue);font-weight:800}.text-link:after{content:" ›";font-size:22px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 22px 50px rgba(6,24,70,.12);transition:.25s ease}.project-card:hover{transform:translateY(-7px)}.project-image{height:230px;background-size:cover;background-position:center;transition:.5s ease}.project-card:hover .project-image{transform:scale(1.04)}.project-image.one{background-image:linear-gradient(180deg,transparent,rgba(6,24,70,.72)),url('../assets/gallery/project-lift.webp')}.project-image.two{background-image:linear-gradient(180deg,transparent,rgba(6,24,70,.72)),url('../assets/gallery/project-structure.webp');background-position:center center}.project-image.three{background-image:linear-gradient(180deg,transparent,rgba(6,24,70,.72)),url('../assets/gallery/project-datafusion.webp');background-position:center center}.project-info{margin-top:-88px;position:relative;z-index:2;padding:0 22px 22px}.project-info h3{color:#fff;margin-bottom:10px}.project-info span{display:inline-flex;color:#dcecff;font-size:13px;font-weight:700;background:rgba(6,24,70,.55);border:1px solid rgba(255,255,255,.20);padding:8px 10px;border-radius:999px}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:.75fr 1.35fr .85fr;gap:24px}.contact-card,.contact-form,.map-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:28px}.contact-card h3,.map-card h3{margin-bottom:18px}.contact-card p{line-height:1.65}.contact-card a{color:var(--blue);font-weight:700}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:15px 16px;font:inherit;outline:none;transition:.2s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,103,216,.08)}.contact-form textarea{grid-column:1/-1;min-height:130px;resize:vertical}.check{grid-column:1/-1;font-size:13px}.contact-form .btn{grid-column:1/-1;border:none}.map-card{padding:0;overflow:hidden;min-height:360px}#osm-map{width:100%;height:100%;min-height:360px;z-index:1}.site-footer{background:linear-gradient(90deg,rgba(3,15,45,.96),rgba(3,15,45,.88)),url('../assets/bg-footer.png') center/cover no-repeat;color:#d7e8ff;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr 1fr;gap:36px}.footer-logo{width:260px;background:white;border-radius:12px;padding:8px;margin-bottom:16px}.site-footer h4{color:#fff;margin-bottom:18px}.site-footer a{display:block;color:#c7daf5;margin:8px 0;font-size:14px}.site-footer p{line-height:1.7;margin:0}.footer-bottom{margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:18px;color:#9fb9d8;font-size:13px}.footer-modal-link{border:0;background:transparent;color:#c7daf5;font:inherit;cursor:pointer;padding:0}.footer-modal-link:hover{color:#fff}.modal{position:fixed;inset:0;z-index:200;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(3,15,45,.66);backdrop-filter:blur(7px)}.modal-dialog{position:relative;width:min(720px,calc(100% - 32px));max-height:82vh;overflow:auto;margin:8vh auto;background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 100px rgba(0,0,0,.24);animation:modalIn .25s ease}@keyframes modalIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}.modal-dialog h2{margin-bottom:18px}.modal-dialog p{line-height:1.75}.modal-close{position:absolute;right:18px;top:16px;border:0;background:#eef5ff;color:var(--navy);width:38px;height:38px;border-radius:50%;font-size:26px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1220px){.main-nav{gap:14px}.brand{min-width:270px}.brand img{height:72px}.header-cta{display:none}}@media(max-width:1100px){.services-grid{grid-template-columns:repeat(3,1fr)}.hero-grid,.technology-grid,.about-grid{grid-template-columns:1fr}.tech-copy{position:static}.contact-grid{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1}.equipment-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:880px){.language-dock{right:12px;top:auto;bottom:16px;transform:none;flex-direction:row}.container{width:min(100% - 28px,1180px)}.header-inner{min-height:84px}.brand{min-width:auto}.brand img{height:62px;max-width:230px}.nav-toggle{display:block}.main-nav{position:absolute;top:84px;left:0;right:0;background:#fff;display:none;flex-direction:column;gap:0;padding:14px;border-top:1px solid var(--border);box-shadow:0 20px 30px rgba(6,24,70,.08)}.main-nav.open{display:flex}.main-nav a{width:100%;padding:14px 8px}.main-nav a.active:after{display:none}.hero{min-height:auto}.hero-grid{padding:54px 0 44px}.hero-visual,.hero-visual img{min-height:310px}.section{padding:64px 0}.services-grid,.tech-cards,.project-grid,.contact-grid,.equipment-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.section-head.split{display:block}.equipment-group-toggle{font-size:18px;padding:18px}.equipment-card img{height:210px}}

.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 35%, rgba(88,196,246,.16), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#eef8ff 45%,#ffffff 100%);
  transition:opacity .65s ease, visibility .65s ease;
}
.site-loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-card{
  width:min(720px, calc(100% - 34px));
  background:rgba(255,255,255,.82);
  border:1px solid rgba(220,232,246,.95);
  border-radius:30px;
  padding:34px 34px 26px;
  box-shadow:0 34px 90px rgba(6,24,70,.14);
  text-align:center;
  overflow:hidden;
  position:relative;
}
.loader-card img{
  width:min(360px, 82%);
  margin:0 auto 24px;
}
.loader-card p{
  margin:18px 0 0;
  font-weight:900;
  color:var(--navy);
  letter-spacing:.4px;
}
.loader-scan{
  height:190px;
  border-radius:22px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(235,248,255,.94), rgba(209,236,255,.76)),
    radial-gradient(circle at 50% 60%, rgba(18,103,216,.14), transparent 46%);
  border:1px solid #dce8f6;
}
.loader-scan svg{
  position:absolute;
  inset:28px 0 0;
  width:100%;
  height:150px;
  z-index:2;
}
.loader-scan path{
  fill:none;
  stroke:#1267d8;
  stroke-width:3;
  stroke-linecap:round;
  opacity:.72;
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:drawSeabed 2.4s ease-in-out infinite;
}
.loader-scan path:nth-child(2){animation-delay:.18s;opacity:.52}
.loader-scan path:nth-child(3){animation-delay:.34s;opacity:.38}
.loader-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(18,103,216,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,103,216,.11) 1px, transparent 1px);
  background-size:38px 38px;
  transform:perspective(420px) rotateX(56deg) translateY(32px) scale(1.28);
  transform-origin:center bottom;
  animation:gridMove 1.6s linear infinite;
}
.loader-beam{
  position:absolute;
  left:-20%;
  right:-20%;
  top:-40px;
  height:70px;
  z-index:3;
  background:linear-gradient(180deg, transparent, rgba(88,196,246,.55), transparent);
  filter:blur(1px);
  animation:loaderBeam 1.8s ease-in-out infinite;
}
@keyframes drawSeabed{
  0%{stroke-dashoffset:900}
  55%{stroke-dashoffset:0}
  100%{stroke-dashoffset:-900}
}
@keyframes gridMove{
  from{background-position:0 0}
  to{background-position:38px 38px}
}
@keyframes loaderBeam{
  from{transform:translateY(-80px) rotate(-7deg)}
  to{transform:translateY(260px) rotate(-7deg)}
}

.brand{min-width:340px}
.brand img{
  height:74px !important;
  max-width:330px !important;
  width:auto !important;
  object-fit:contain;
  background:#fff;
}
.site-header.scrolled .brand img{
  height:62px !important;
}
.site-header.scrolled .header-inner{
  min-height:84px;
}

.hero-visual{
  isolation:isolate;
}
.scan-mesh{
  position:absolute;
  inset:48% -8% -12% -8%;
  z-index:2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(88,196,246,.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88,196,246,.22) 1px, transparent 1px),
    radial-gradient(circle at 50% 8%, rgba(88,196,246,.28), transparent 45%);
  background-size:34px 34px,34px 34px,100% 100%;
  transform:perspective(520px) rotateX(62deg) scale(1.18);
  transform-origin:center top;
  animation:seabedGridScan 3.8s linear infinite;
  mix-blend-mode:screen;
  opacity:.95;
}
.scan-radar{
  position:absolute;
  right:8%;
  bottom:12%;
  width:220px;
  height:220px;
  z-index:3;
  border-radius:50%;
  pointer-events:none;
  background:
    repeating-radial-gradient(circle, rgba(88,196,246,.0) 0 17px, rgba(88,196,246,.20) 18px 19px),
    conic-gradient(from 0deg, rgba(88,196,246,.0), rgba(88,196,246,.48), rgba(88,196,246,.0) 62deg);
  mix-blend-mode:screen;
  opacity:.72;
  animation:radarRotate 4s linear infinite;
}
.scan-radar:after{
  content:"";
  position:absolute;
  inset:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#58c4f6;
  box-shadow:0 0 18px rgba(88,196,246,.9);
  transform:translate(-50%,-50%);
}
.scan-line{
  height:120px !important;
  background:linear-gradient(180deg, transparent, rgba(88,196,246,.72), rgba(18,103,216,.24), transparent) !important;
  animation:scanMove 3.2s ease-in-out infinite !important;
}
@keyframes seabedGridScan{
  from{background-position:0 0, 0 0, center}
  to{background-position:0 68px, 68px 0, center}
}
@keyframes radarRotate{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

.equipment-card{
  position:relative;
}
.equipment-card:after{
  content:"";
  position:absolute;
  left:-30%;
  right:-30%;
  top:-20%;
  height:55px;
  background:linear-gradient(180deg, transparent, rgba(88,196,246,.35), transparent);
  transform:translateY(-80px) rotate(-8deg);
  opacity:0;
  pointer-events:none;
}
.equipment-card:hover:after{
  opacity:1;
  animation:smallScan .9s ease forwards;
}
@keyframes smallScan{
  to{transform:translateY(360px) rotate(-8deg)}
}

@media(max-width:1220px){
  .brand{min-width:290px}
  .brand img{height:66px !important;max-width:285px !important}
}
@media(max-width:880px){
  .brand img{height:56px !important;max-width:230px !important}
  .brand{min-width:auto}
  .loader-card{padding:24px 20px}
  .loader-scan{height:160px}
}

.brand{
  min-width:280px !important;
}
.brand img{
  height:58px !important;
  max-width:275px !important;
  width:auto !important;
}
.site-header.scrolled .brand img{
  height:50px !important;
}
.header-inner{
  min-height:86px !important;
}
.site-header.scrolled .header-inner{
  min-height:76px !important;
}

.hero-visual img{
  transition:none !important;
}
.hero-visual:hover img{
  transform:none !important;
}
.scan-line,
.scan-mesh,
.scan-radar{
  display:none !important;
}

.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  overflow:hidden;
  display:block;
  background:
    radial-gradient(circle at 50% 18%, rgba(88,196,246,.16), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#eaf7ff 34%,#b7dff9 62%,#0d4c93 100%);
  transition:opacity .75s ease, visibility .75s ease;
}
.site-loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.fullscreen-seabed{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
}
.loader-logo{
  position:absolute;
  top:7vh;
  left:50%;
  transform:translateX(-50%);
  z-index:12;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}
.loader-logo img{
  width:min(390px, 76vw);
  background:#fff;
  border-radius:18px;
  padding:10px 16px;
  box-shadow:0 18px 60px rgba(6,24,70,.14);
}
.loader-logo span{
  font-family:'Manrope','Inter',sans-serif;
  font-weight:900;
  letter-spacing:.5px;
  color:var(--navy);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(220,232,246,.95);
  border-radius:999px;
  padding:10px 18px;
  box-shadow:0 12px 38px rgba(6,24,70,.10);
}
.ocean-surface{
  position:absolute;
  left:-8%;
  right:-8%;
  top:31%;
  height:120px;
  z-index:2;
  opacity:.65;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(255,255,255,.75), transparent 28%),
    radial-gradient(ellipse at 55% 55%, rgba(255,255,255,.48), transparent 32%),
    radial-gradient(ellipse at 85% 45%, rgba(255,255,255,.55), transparent 30%);
  filter:blur(14px);
  animation:surfaceMove 5.5s ease-in-out infinite alternate;
}
.bathymetry-grid{
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:-10%;
  height:70%;
  z-index:4;
  background-image:
    linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px),
    linear-gradient(rgba(88,196,246,.23) 2px, transparent 2px),
    linear-gradient(90deg, rgba(88,196,246,.23) 2px, transparent 2px);
  background-size:42px 42px,42px 42px,168px 168px,168px 168px;
  transform:perspective(640px) rotateX(61deg) scale(1.35);
  transform-origin:center top;
  opacity:.72;
  animation:gridFullScan 2.2s linear infinite;
  mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 100%);
}
.bathymetry-contours{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
}
.bathymetry-contours svg{
  width:100%;
  height:100%;
}
.bathymetry-contours path{
  fill:none;
  stroke:rgba(255,255,255,.78);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1800;
  stroke-dashoffset:1800;
  filter:drop-shadow(0 0 8px rgba(88,196,246,.65));
  animation:drawFullContours 3.4s ease-in-out infinite;
}
.bathymetry-contours path:nth-child(2){animation-delay:.18s;opacity:.82}
.bathymetry-contours path:nth-child(3){animation-delay:.34s;opacity:.72}
.bathymetry-contours path:nth-child(4){animation-delay:.50s;opacity:.58}
.bathymetry-contours path:nth-child(5){animation-delay:.66s;opacity:.62}
.sonar-source{
  position:absolute;
  top:32%;
  left:50%;
  width:18px;
  height:18px;
  z-index:10;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 10px rgba(88,196,246,.18),0 0 55px rgba(88,196,246,.95);
  transform:translate(-50%,-50%);
}
.sonar-fan{
  position:absolute;
  top:32%;
  left:50%;
  width:92vw;
  height:62vh;
  z-index:3;
  transform-origin:top center;
  transform:translateX(-50%);
  clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  background:
    repeating-radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.0) 0 28px, rgba(255,255,255,.19) 29px 31px),
    linear-gradient(90deg, transparent, rgba(88,196,246,.28), transparent);
  opacity:.82;
  mix-blend-mode:screen;
  animation:fanPulse 2.6s ease-in-out infinite;
}
.fan-two{
  width:56vw;
  height:58vh;
  opacity:.48;
  animation-delay:.7s;
}
.horizontal-scan{
  position:absolute;
  left:-18%;
  right:-18%;
  top:30%;
  height:140px;
  z-index:11;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.95), rgba(88,196,246,.55), transparent);
  filter:blur(2px);
  transform:rotate(-5deg);
  animation:fullScreenBeam 2.5s ease-in-out infinite;
  mix-blend-mode:screen;
}
.depth-readout{
  position:absolute;
  right:5vw;
  top:34%;
  bottom:8%;
  z-index:13;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:rgba(255,255,255,.92);
  font-weight:900;
  font-size:13px;
  text-shadow:0 2px 12px rgba(6,24,70,.42);
}
.depth-readout span{
  position:relative;
}
.depth-readout span:before{
  content:"";
  position:absolute;
  right:48px;
  top:50%;
  width:46px;
  height:1px;
  background:rgba(255,255,255,.55);
}
.loader-progress{
  position:absolute;
  left:50%;
  bottom:7vh;
  transform:translateX(-50%);
  width:min(420px, 78vw);
  height:6px;
  z-index:14;
  border-radius:999px;
  background:rgba(255,255,255,.38);
  overflow:hidden;
  box-shadow:0 12px 34px rgba(6,24,70,.16);
}
.loader-progress span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#1267d8,#58c4f6,#ffffff);
  border-radius:999px;
  animation:loaderProgress 1.65s ease-in-out forwards;
}
@keyframes surfaceMove{
  from{transform:translateX(-2%) translateY(0)}
  to{transform:translateX(2%) translateY(10px)}
}
@keyframes gridFullScan{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:42px 84px,84px 42px,168px 168px,168px 168px}
}
@keyframes drawFullContours{
  0%{stroke-dashoffset:1800;opacity:.1}
  45%{stroke-dashoffset:0;opacity:.95}
  100%{stroke-dashoffset:-1800;opacity:.28}
}
@keyframes fanPulse{
  0%,100%{opacity:.42;filter:blur(0)}
  50%{opacity:.95;filter:blur(1px)}
}
@keyframes fullScreenBeam{
  0%{transform:translateY(-220px) rotate(-5deg);opacity:0}
  18%{opacity:1}
  82%{opacity:1}
  100%{transform:translateY(76vh) rotate(-5deg);opacity:0}
}
@keyframes loaderProgress{
  from{width:0%}
  to{width:100%}
}
@media(max-width:880px){
  .brand img{height:50px !important;max-width:220px !important}
  .header-inner{min-height:76px !important}
  .loader-logo{top:8vh}
  .loader-logo img{width:min(300px,76vw)}
  .sonar-fan{width:118vw}
  .depth-readout{right:18px;font-size:12px}
}

.equipment .section-head{
  margin-bottom:32px;
}
.equipment-accordion{
  gap:18px;
}
.equipment-group{
  border-radius:26px !important;
  overflow:hidden;
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
}
.equipment-group-toggle{
  padding:24px 28px !important;
  border-bottom:1px solid transparent !important;
}
.equipment-group.open .equipment-group-toggle{
  border-bottom-color:#e7f0fb !important;
}
.equipment-panel{
  transition:max-height .65s ease, opacity .45s ease !important;
  opacity:.2;
}
.equipment-group.open .equipment-panel{
  opacity:1;
  max-height:2200px !important;
}
.equipment-grid{
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
  padding:0 24px 28px !important;
}
.equipment-card{
  border-radius:22px !important;
  overflow:hidden;
  border:1px solid #dce8f6 !important;
  background:#fff !important;
  box-shadow:0 14px 36px rgba(6,24,70,.08) !important;
}
.equipment-card:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 26px 58px rgba(6,24,70,.16) !important;
  border-color:#bcd7f6 !important;
}
.equipment-photo{position:relative;height:220px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7fbff);padding:0;display:flex;align-items:center;justify-content:center}
.equipment-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s ease, filter .35s ease;transform:scale(1.18)}
.equipment-card:hover .equipment-photo img{
  transform:scale(1.24);
  filter:saturate(1.04) contrast(1.01);
}
.equipment-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:radial-gradient(circle at 50% 24%,rgba(88,196,246,.16),transparent 42%);
  opacity:1;
  pointer-events:none;
}
.equipment-hover{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px;
  color:#fff;
  background:linear-gradient(180deg,rgba(6,24,70,.06),rgba(6,24,70,.86));
  opacity:0;
  transform:translateY(12px);
  transition:.32s ease;
}
.equipment-card:hover .equipment-hover{
  opacity:1;
  transform:none;
}
.equipment-hover:after{
  content:"";
  position:absolute;
  left:-25%;
  right:-25%;
  top:-30%;
  height:58px;
  background:linear-gradient(180deg,transparent,rgba(88,196,246,.62),transparent);
  transform:rotate(-8deg);
  animation:hoverEquipmentScan 1.15s ease forwards;
  opacity:.9;
}
.equipment-hover strong{
  position:relative;
  z-index:2;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:#8ee2ff;
  margin-bottom:10px;
}
.equipment-hover ul{
  position:relative;
  z-index:2;
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.equipment-hover li{
  font-size:13px;
  line-height:1.3;
  padding-left:18px;
  position:relative;
}
.equipment-hover li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#58c4f6;
  box-shadow:0 0 12px rgba(88,196,246,.95);
}
.equipment-card-body{
  padding:17px 16px 18px !important;
}
.equipment-card-body span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-weight:900;
  color:var(--blue);
  margin-bottom:8px;
}
.equipment-card-body h3{
  font-size:16px !important;
  line-height:1.22;
  letter-spacing:-.25px;
}
@keyframes hoverEquipmentScan{
  from{transform:translateY(-90px) rotate(-8deg)}
  to{transform:translateY(310px) rotate(-8deg)}
}
@media(max-width:1180px){
  .equipment-grid{grid-template-columns:repeat(3,1fr) !important;}
}
@media(max-width:880px){
  .equipment-grid{grid-template-columns:repeat(2,1fr) !important;}
  .equipment-photo{height:170px}
}
@media(max-width:560px){
  .equipment-grid{grid-template-columns:1fr !important;}
  .equipment-photo{height:210px}
}

.footer-social{
  margin-top:22px;
}
.footer-social a{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  color:#ffffff !important;
  font-weight:800;
  margin:0 !important;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  transition:.25s ease;
}
.footer-social a:hover{
  background:#1267d8;
  border-color:#1267d8;
  transform:translateY(-2px);
}
.linkedin-icon{
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:6px;
  background:#ffffff;
  color:#1267d8;
  font-weight:900;
  font-family:Arial, sans-serif;
  line-height:1;
}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.95), rgba(235,248,255,.72) 25%, transparent 42%),
    linear-gradient(180deg,#ffffff 0%,#e8f7ff 24%,#9bd5f6 48%,#1267d8 72%,#061846 100%) !important;
  transition:opacity .85s ease, visibility .85s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
}
.loader-logo-float{
  position:absolute;
  top:5.6vh;
  left:50%;
  transform:translateX(-50%);
  z-index:30;
  width:min(420px,76vw);
  padding:11px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 22px 70px rgba(6,24,70,.15);
  animation:logoFloat 2.8s ease-in-out infinite;
}
.loader-logo-float img{
  width:100%;
  height:auto;
  display:block;
}
.water-layer{
  position:absolute;
  left:-12%;
  right:-12%;
  top:23%;
  height:170px;
  z-index:2;
  opacity:.75;
  filter:blur(12px);
}
.water-one{
  background:
    radial-gradient(ellipse at 18% 52%, rgba(255,255,255,.85), transparent 27%),
    radial-gradient(ellipse at 46% 45%, rgba(255,255,255,.52), transparent 30%),
    radial-gradient(ellipse at 78% 58%, rgba(255,255,255,.70), transparent 29%);
  animation:waterDriftA 6.2s ease-in-out infinite alternate;
}
.water-two{
  top:29%;
  height:115px;
  opacity:.42;
  background:
    repeating-linear-gradient(0deg, transparent 0 16px, rgba(255,255,255,.35) 17px 18px);
  transform:skewY(-2deg);
  animation:waterDriftB 4.8s ease-in-out infinite alternate;
}
.sonar-head{
  position:absolute;
  top:28%;
  left:50%;
  z-index:16;
  width:86px;
  height:36px;
  transform:translateX(-50%);
  border-radius:0 0 44px 44px;
  background:linear-gradient(180deg,#ffffff,#d9f2ff);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 0 45px rgba(88,196,246,.7);
}
.sonar-head span{
  position:absolute;
  left:50%;
  bottom:-8px;
  width:14px;
  height:14px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#58c4f6;
  box-shadow:0 0 0 10px rgba(88,196,246,.16), 0 0 38px rgba(88,196,246,.95);
}
.sonar-cone{
  position:absolute;
  top:30.5%;
  left:50%;
  z-index:5;
  transform:translateX(-50%);
  transform-origin:top center;
  clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  mix-blend-mode:screen;
}
.cone-a{
  width:94vw;
  height:60vh;
  opacity:.78;
  background:
    repeating-radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0) 0 30px, rgba(255,255,255,.23) 31px 33px),
    linear-gradient(90deg, transparent 0%, rgba(88,196,246,.20) 35%, rgba(255,255,255,.42) 50%, rgba(88,196,246,.20) 65%, transparent 100%);
  animation:conePulse 2.6s ease-in-out infinite;
}
.cone-b{
  width:54vw;
  height:57vh;
  opacity:.36;
  background:
    repeating-radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0) 0 20px, rgba(255,255,255,.30) 21px 22px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  animation:conePulse 2.6s ease-in-out infinite .35s;
}
.loader-sweep{
  position:absolute;
  left:-20%;
  right:-20%;
  top:18%;
  height:140px;
  z-index:22;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.95), rgba(88,196,246,.58), transparent);
  filter:blur(1px);
  transform:rotate(-5deg);
  mix-blend-mode:screen;
  animation:loaderSweepV8 2.6s ease-in-out infinite;
}
.seabed-depth{
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
}
.seabed-depth svg{
  width:100%;
  height:100%;
}
.depth-mass{
  fill:url(#depthFill);
  filter:drop-shadow(0 -8px 30px rgba(88,196,246,.34));
}
.ridge{
  fill:none;
  stroke:rgba(255,255,255,.83);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1850;
  stroke-dashoffset:1850;
  filter:drop-shadow(0 0 9px rgba(88,196,246,.88));
  animation:ridgeDraw 3.15s ease-in-out infinite;
}
.ridge-2{animation-delay:.16s;opacity:.76}
.ridge-3{animation-delay:.32s;opacity:.62}
.ridge-4{animation-delay:.48s;opacity:.50}
.seabed-grid-full{
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:-17%;
  height:76%;
  z-index:8;
  background-image:
    linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px),
    linear-gradient(rgba(88,196,246,.25) 2px, transparent 2px),
    linear-gradient(90deg, rgba(88,196,246,.25) 2px, transparent 2px);
  background-size:42px 42px,42px 42px,168px 168px,168px 168px;
  transform:perspective(720px) rotateX(63deg) scale(1.42);
  transform-origin:center top;
  opacity:.72;
  mix-blend-mode:screen;
  mask-image:linear-gradient(180deg, transparent 0%, #000 16%, #000 100%);
  animation:gridV8 2s linear infinite;
}
.depth-scale-loader{
  position:absolute;
  right:4.5vw;
  top:30%;
  bottom:7%;
  z-index:25;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:rgba(255,255,255,.92);
  font-weight:900;
  font-size:13px;
  text-shadow:0 2px 12px rgba(6,24,70,.50);
}
.depth-scale-loader span{
  position:relative;
}
.depth-scale-loader span:before{
  content:"";
  position:absolute;
  right:48px;
  top:50%;
  width:48px;
  height:1px;
  background:rgba(255,255,255,.58);
}
.loader-progress-line{
  position:absolute;
  left:50%;
  bottom:5.5vh;
  transform:translateX(-50%);
  z-index:28;
  width:min(520px,80vw);
  height:5px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.34);
  box-shadow:0 14px 38px rgba(6,24,70,.22);
}
.loader-progress-line span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#ffffff,#58c4f6,#1267d8,#ffffff);
  animation:progressV8 2.45s ease-in-out forwards;
}
@keyframes logoFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-5px)}
}
@keyframes waterDriftA{
  from{transform:translateX(-2%) translateY(0)}
  to{transform:translateX(2%) translateY(8px)}
}
@keyframes waterDriftB{
  from{transform:translateX(2%) skewY(-2deg)}
  to{transform:translateX(-2%) skewY(-2deg)}
}
@keyframes conePulse{
  0%,100%{opacity:.42;filter:blur(0)}
  50%{opacity:.88;filter:blur(1px)}
}
@keyframes loaderSweepV8{
  0%{transform:translateY(-220px) rotate(-5deg);opacity:0}
  14%{opacity:1}
  76%{opacity:1}
  100%{transform:translateY(82vh) rotate(-5deg);opacity:0}
}
@keyframes ridgeDraw{
  0%{stroke-dashoffset:1850;opacity:.10}
  46%{stroke-dashoffset:0;opacity:.98}
  100%{stroke-dashoffset:-1850;opacity:.25}
}
@keyframes gridV8{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:42px 84px,84px 42px,168px 168px,168px 168px}
}
@keyframes progressV8{
  0%{width:0}
  82%{width:92%}
  100%{width:100%}
}
@media(max-width:880px){
  .loader-logo-float{
    top:7vh;
    width:min(310px,78vw);
    padding:9px 12px;
  }
  .sonar-head{top:31%}
  .sonar-cone{top:33.5%}
  .cone-a{width:122vw}
  .cone-b{width:78vw}
  .depth-scale-loader{right:16px;font-size:11px}
  .loader-progress-line{bottom:5vh}
}

.project-feature{
  display:grid;
  grid-template-columns:0.92fr 1.08fr;
  gap:28px;
  align-items:stretch;
  background:#fff;
  border:1px solid var(--border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(6,24,70,.11);
  margin-bottom:28px;
}
.project-feature-visual{
  min-height:430px;
}
.project-image.main{width:100%;height:100%;min-height:430px;background-image:linear-gradient(180deg,rgba(6,24,70,.08),rgba(6,24,70,.70)),url('../assets/gallery/project-main.webp');background-size:cover;background-position:center}
.project-feature-content{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.project-feature-content h3{
  font-size:30px;
  line-height:1.12;
  margin:12px 0 16px;
}
.project-feature-content p{
  font-size:16px;
  line-height:1.75;
  margin:0 0 18px;
}
.project-tag{
  display:inline-flex;
  width:max-content;
  align-items:center;
  color:var(--blue);
  background:#eef6ff;
  border:1px solid #d7eaff;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.project-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:8px 0 18px;
}
.project-points div{
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  background:#fbfdff;
}
.project-points strong{
  display:block;
  font-family:'Manrope';
  color:var(--navy);
  font-size:22px;
  margin-bottom:4px;
}
.project-points span{
  font-size:12px;
  font-weight:800;
  color:var(--text);
}
.project-more{
  width:max-content;
  border:0;
  background:var(--blue);
  color:#fff;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(18,103,216,.24);
  transition:.25s ease;
}
.project-more:hover{
  background:var(--navy);
  transform:translateY(-2px);
}
.project-expanded{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s ease, opacity .35s ease, margin .35s ease;
  opacity:0;
}
.project-feature.expanded .project-expanded{
  max-height:260px;
  opacity:1;
  margin-top:18px;
}
.project-grid-rich{
  grid-template-columns:repeat(3,1fr);
}
.project-card-rich{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(6,24,70,.10);
  transition:.25s ease;
}
.project-card-rich:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 70px rgba(6,24,70,.15);
}
.project-card-rich .project-image{
  height:230px;
}
.project-rich-body{
  padding:24px;
}
.project-rich-body h3{
  margin:12px 0 14px;
  font-size:22px;
}
.project-rich-body p{
  line-height:1.7;
  margin:0 0 16px;
}
.project-rich-body ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.project-rich-body li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  font-weight:700;
  color:var(--navy);
}
.project-rich-body li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--blue2);
  box-shadow:0 0 12px rgba(88,196,246,.75);
}
@media(max-width:980px){
  .project-feature{
    grid-template-columns:1fr;
  }
  .project-feature-visual,
  .project-image.main{width:100%;height:100%;min-height:430px;background-image:linear-gradient(180deg,rgba(6,24,70,.08),rgba(6,24,70,.70)),url('../assets/gallery/project-main.webp');background-size:cover;background-position:center}
  .project-grid-rich{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .project-feature-content{
    padding:24px;
  }
  .project-points{
    grid-template-columns:1fr;
  }
  .project-feature-content h3{
    font-size:24px;
  }
}

.brand{min-width:260px !important;align-self:center !important}
.brand img{height:49px !important;max-width:234px !important;width:auto !important;object-fit:contain;margin:0 !important}
.header-inner{min-height:88px !important}
.site-header.scrolled .brand img{height:42px !important}
.site-header.scrolled .header-inner{min-height:74px !important}
@media(max-width:880px){.brand img{height:43px !important;max-width:200px !important}.header-inner{min-height:74px !important}}

.language-dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 18px 40px rgba(6,24,70,.15);border-radius:999px;padding:8px;backdrop-filter:blur(10px)}
.lang-switch{border:0;background:transparent;color:var(--navy);border-radius:50%;width:42px;height:42px;font-weight:900;cursor:pointer;transition:.25s ease}
.lang-switch.active{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(18,103,216,.28)}
.language-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(255,255,255,.76);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.3s ease}
.language-overlay.show{opacity:1}.language-overlay span{position:relative;font-family:'Manrope';font-weight:900;font-size:56px;color:var(--blue);z-index:2}.language-pulse{position:absolute;width:160px;height:160px;border-radius:50%;border:2px solid rgba(18,103,216,.16);animation:pulseLang .8s ease}.page-content.lang-changing{animation:langFade .45s ease}
@media(max-width:880px){.language-dock{right:12px;top:auto;bottom:18px;transform:none;flex-direction:row}}

.site-loader{position:fixed !important;inset:0 !important;z-index:9999 !important;display:grid !important;place-items:center !important;overflow:hidden !important;background:linear-gradient(180deg,#fbfeff 0%,#eef8ff 28%,#c8e9fb 58%,#88c7ee 100%) !important;transition:opacity .7s ease,visibility .7s ease !important}
.site-loader.hide{opacity:0 !important;visibility:hidden !important;pointer-events:none !important}
.loader-minimal{width:min(900px,calc(100% - 40px));display:flex;flex-direction:column;align-items:center;gap:22px;position:relative}
.loader-logo-wrap{background:rgba(255,255,255,.95);border:1px solid rgba(220,232,246,.95);border-radius:18px;padding:14px 20px;box-shadow:0 18px 50px rgba(6,24,70,.12);position:relative;z-index:4}
.loader-logo-wrap img{width:min(340px,70vw);height:auto;display:block}
.loader-water-line{width:min(540px,88vw);height:16px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);opacity:.9;filter:blur(1px)}
.loader-scan-field{position:relative;width:min(980px,100%);height:min(360px,42vh);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(88,196,246,.15) 26%,rgba(18,103,216,.28) 58%,rgba(6,24,70,.76) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 22px 60px rgba(6,24,70,.14)}
.loader-depth-grid{position:absolute;left:-10%;right:-10%;bottom:-8%;height:65%;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:34px 34px;transform:perspective(550px) rotateX(68deg) scale(1.25);transform-origin:center top;opacity:.7;animation:loaderGridMove 1.8s linear infinite}
.loader-depth-lines{position:absolute;inset:auto 0 0;width:100%;height:70%;z-index:2}.loader-depth-lines path{fill:none;stroke:rgba(255,255,255,.88);stroke-width:3;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;filter:drop-shadow(0 0 8px rgba(88,196,246,.85));animation:loaderDepthDraw 2.4s ease-in-out infinite}.loader-depth-lines path:nth-child(2){animation-delay:.18s;opacity:.72}.loader-depth-lines path:nth-child(3){animation-delay:.34s;opacity:.56}
.loader-scan-beam{position:absolute;left:-25%;right:-25%;top:-20px;height:90px;z-index:3;background:linear-gradient(180deg,transparent,rgba(255,255,255,.92),rgba(88,196,246,.50),transparent);transform:rotate(-5deg);mix-blend-mode:screen;animation:loaderBeamSweep 2.3s ease-in-out infinite}
.loader-sonar-dot{position:absolute;top:18%;left:50%;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 10px rgba(88,196,246,.18),0 0 32px rgba(88,196,246,.95);transform:translateX(-50%);z-index:4}
.loader-progress-line{position:relative;z-index:5;width:min(420px,72vw);height:5px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.36);box-shadow:0 10px 28px rgba(6,24,70,.12)}
.loader-progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffffff,#58c4f6,#1267d8,#ffffff);animation:progressV10 1.8s ease forwards}
@keyframes loaderGridMove{from{background-position:0 0,0 0}to{background-position:34px 68px,68px 34px}}
@keyframes loaderDepthDraw{0%{stroke-dashoffset:1400;opacity:.12}45%{stroke-dashoffset:0;opacity:.96}100%{stroke-dashoffset:-1400;opacity:.26}}
@keyframes loaderBeamSweep{0%{transform:translateY(-120px) rotate(-5deg);opacity:0}15%{opacity:1}82%{opacity:1}100%{transform:translateY(330px) rotate(-5deg);opacity:0}}
@keyframes progressV10{from{width:0}to{width:100%}}
@media(max-width:880px){.loader-minimal{gap:18px}.loader-logo-wrap{padding:12px 16px}.loader-scan-field{height:300px;border-radius:22px}}

.main-nav{gap:30px !important}
@media(max-width:1180px){.main-nav{gap:22px !important}}

.brand img{height:49px !important;max-width:234px !important}

.hero-visual img{filter:brightness(1.16) saturate(1.04) contrast(1.01) !important}
.hero-visual:after{background:radial-gradient(circle at 62% 48%,rgba(88,196,246,.18),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(6,24,70,.06) 100%) !important}

.form-note{grid-column:1/-1;background:#eef6ff;border:1px solid #d6e9ff;color:var(--navy);border-radius:14px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.45}

.site-loader{background:linear-gradient(180deg,#fafdff 0%,#eef8ff 18%,#c9ebfb 35%,#7fc2ea 53%,#2f82c7 71%,#0f4e97 85%,#072e65 100%) !important}
.loader-fullscan{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}
.loader-top-glow{position:absolute;inset:-10% -10% auto -10%;height:34%;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.96),rgba(255,255,255,.46) 28%,transparent 58%);z-index:1;pointer-events:none}
.loader-logo-wrap-v11{position:absolute !important;top:4.5vh !important;left:50%;transform:translateX(-50%);z-index:10;padding:14px 22px !important;border-radius:20px !important;background:rgba(255,255,255,.94) !important;box-shadow:0 22px 60px rgba(6,24,70,.14) !important}
.loader-logo-wrap-v11 img{width:min(340px,72vw)}
.loader-ocean-haze{position:absolute;left:-10%;right:-10%;top:16%;height:120px;background:radial-gradient(ellipse at 20% 52%,rgba(255,255,255,.75),transparent 30%),radial-gradient(ellipse at 55% 44%,rgba(255,255,255,.42),transparent 33%),radial-gradient(ellipse at 84% 58%,rgba(255,255,255,.60),transparent 28%);opacity:.8;filter:blur(15px);z-index:2;animation:loaderHazeMove 5.5s ease-in-out infinite alternate}
.loader-scan-stage{position:absolute;left:50%;top:24%;transform:translateX(-50%);width:min(1180px,92vw);height:min(63vh,520px);border-radius:34px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(88,196,246,.10) 18%,rgba(18,103,216,.18) 42%,rgba(15,78,151,.45) 64%,rgba(7,46,101,.92) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 28px 85px rgba(6,24,70,.18)}
.loader-scan-grid{position:absolute;left:-12%;right:-12%;bottom:-8%;height:72%;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:34px 34px;transform:perspective(620px) rotateX(70deg) scale(1.28);transform-origin:center top;opacity:.76;mix-blend-mode:screen;animation:loaderGridSweep 1.9s linear infinite}
.loader-scan-grid.grid-2{background-size:136px 136px;opacity:.22;animation-duration:3.2s}
.loader-bathy-lines{position:absolute;left:0;right:0;bottom:0;width:100%;height:82%;z-index:3}
.loader-bathy-lines path{fill:none;stroke:rgba(255,255,255,.88);stroke-width:3;stroke-linecap:round;stroke-dasharray:1900;stroke-dashoffset:1900;filter:drop-shadow(0 0 9px rgba(88,196,246,.92));animation:loaderContourDraw 3s ease-in-out infinite}
.loader-bathy-lines path:nth-child(2){animation-delay:.16s;opacity:.76}.loader-bathy-lines path:nth-child(3){animation-delay:.32s;opacity:.62}.loader-bathy-lines path:nth-child(4){animation-delay:.48s;opacity:.48}
.loader-scan-beam{position:absolute;left:-24%;right:-24%;height:130px;z-index:5;background:linear-gradient(180deg,transparent,rgba(255,255,255,.94),rgba(88,196,246,.55),transparent);filter:blur(2px);mix-blend-mode:screen;transform:rotate(-6deg)}
.loader-scan-beam.beam-a{top:-40px;animation:loaderBeamRun 2.2s ease-in-out infinite}
.loader-scan-beam.beam-b{top:-80px;opacity:.4;animation:loaderBeamRun 2.2s ease-in-out infinite .6s}
.loader-sonar-head{position:absolute;top:10%;left:50%;width:22px;height:22px;border-radius:50%;transform:translateX(-50%);background:#fff;box-shadow:0 0 0 12px rgba(88,196,246,.18),0 0 44px rgba(88,196,246,.95);z-index:6}
.loader-sonar-pulse{position:absolute;top:10.5%;left:50%;border-radius:50%;border:2px solid rgba(255,255,255,.32);transform:translateX(-50%);z-index:4}
.loader-sonar-pulse.pulse-a{width:180px;height:180px;animation:sonarPulseV11 2.2s ease-out infinite}
.loader-sonar-pulse.pulse-b{width:300px;height:300px;animation:sonarPulseV11 2.2s ease-out infinite .4s}
.loader-depth-labels{position:absolute;right:3.4vw;top:10%;bottom:8%;z-index:7;display:flex;flex-direction:column;justify-content:space-between;color:rgba(255,255,255,.92);font-weight:900;font-size:13px;text-shadow:0 2px 12px rgba(6,24,70,.5)}
.loader-depth-labels span{position:relative}.loader-depth-labels span:before{content:"";position:absolute;right:48px;top:50%;width:46px;height:1px;background:rgba(255,255,255,.55)}
.loader-progress-line{position:absolute !important;left:50%;bottom:6vh;transform:translateX(-50%);z-index:8;width:min(460px,74vw);height:5px;background:rgba(255,255,255,.36);border-radius:999px;overflow:hidden;box-shadow:0 12px 30px rgba(6,24,70,.14)}
.loader-progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffffff,#58c4f6,#1267d8,#ffffff);animation:progressV11 2.1s ease forwards}
@keyframes loaderHazeMove{from{transform:translateX(-2%) translateY(0)}to{transform:translateX(2%) translateY(12px)}}
@keyframes loaderGridSweep{from{background-position:0 0,0 0}to{background-position:34px 68px,136px 136px}}
@keyframes loaderContourDraw{0%{stroke-dashoffset:1900;opacity:.10}44%{stroke-dashoffset:0;opacity:.96}100%{stroke-dashoffset:-1900;opacity:.24}}
@keyframes loaderBeamRun{0%{transform:translateY(-180px) rotate(-6deg);opacity:0}14%{opacity:1}82%{opacity:1}100%{transform:translateY(510px) rotate(-6deg);opacity:0}}
@keyframes sonarPulseV11{0%{transform:translateX(-50%) scale(.2);opacity:0}30%{opacity:.8}100%{transform:translateX(-50%) scale(1);opacity:0}}
@keyframes progressV11{0%{width:0}80%{width:94%}100%{width:100%}}
@media(max-width:880px){.loader-logo-wrap-v11{top:5.5vh !important;padding:12px 14px !important}.loader-logo-wrap-v11 img{width:min(290px,76vw)}.loader-scan-stage{top:26%;height:min(58vh,430px);border-radius:24px}.loader-depth-labels{right:16px;font-size:11px}.loader-progress-line{bottom:5vh}.loader-sonar-pulse.pulse-a{width:120px;height:120px}.loader-sonar-pulse.pulse-b{width:220px;height:220px}}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:#061846 !important;
  transition:opacity .75s ease, visibility .75s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-aerial{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 48% 25%, rgba(255,255,255,.32), transparent 36%),
    linear-gradient(180deg,#effbff 0%,#7ac8ef 34%,#1267d8 64%,#061846 100%);
}
.loader-aerial-bg{
  position:absolute;
  inset:-2%;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.04) 34%, rgba(6,24,70,.28) 100%),
    url('../assets/intro-aerial-scan.png') center/cover no-repeat;
  animation:introAerialZoom 4.2s ease-in-out infinite alternate;
  filter:saturate(1.05) brightness(1.04);
}
.loader-aerial-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    radial-gradient(circle at 45% 30%, rgba(255,255,255,.44), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(88,196,246,.08), rgba(6,24,70,.18));
  pointer-events:none;
}
.loader-aerial-logo{
  position:absolute;
  left:50%;
  top:7vh;
  transform:translateX(-50%);
  z-index:20;
  width:min(390px,76vw);
  padding:12px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 24px 70px rgba(6,24,70,.18);
  animation:introLogoFloat 3s ease-in-out infinite;
}
.loader-aerial-logo img{
  width:100%;
  height:auto;
  display:block;
}
.loader-aerial-grid{
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-18%;
  height:78%;
  z-index:5;
  background-image:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(rgba(88,196,246,.22) 2px, transparent 2px),
    linear-gradient(90deg, rgba(88,196,246,.22) 2px, transparent 2px);
  background-size:38px 38px,38px 38px,152px 152px,152px 152px;
  transform:perspective(720px) rotateX(60deg) scale(1.28);
  transform-origin:center top;
  mix-blend-mode:screen;
  opacity:.72;
  mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 100%);
  animation:introGridMove 2.1s linear infinite;
}
.loader-aerial-contours{
  position:absolute;
  inset:0;
  z-index:6;
  opacity:.66;
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 56% 62%, transparent 0 18%, rgba(255,255,255,.22) 18.3% 18.8%, transparent 19.1% 23%, rgba(255,255,255,.18) 23.3% 23.8%, transparent 24.1%),
    radial-gradient(ellipse at 70% 78%, transparent 0 12%, rgba(88,196,246,.24) 12.3% 12.8%, transparent 13.1% 18%, rgba(88,196,246,.16) 18.3% 18.8%, transparent 19.1%),
    radial-gradient(ellipse at 36% 72%, transparent 0 15%, rgba(255,255,255,.18) 15.3% 15.8%, transparent 16.1% 21%, rgba(255,255,255,.14) 21.3% 21.8%, transparent 22.1%);
  animation:introContoursPulse 2.8s ease-in-out infinite;
}
.loader-aerial-sonar{
  position:absolute;
  left:50%;
  top:43%;
  width:18px;
  height:18px;
  z-index:12;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 10px rgba(88,196,246,.18),0 0 42px rgba(88,196,246,.95);
}
.loader-aerial-sonar span{
  position:absolute;
  inset:-80px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.32);
  animation:introSonarPulse 1.7s ease-out infinite;
}
.loader-aerial-beam{
  position:absolute;
  left:50%;
  top:43%;
  transform-origin:left center;
  z-index:9;
  pointer-events:none;
  mix-blend-mode:screen;
}
.beam-main{
  width:62vw;
  height:32vh;
  clip-path:polygon(0 50%, 100% 8%, 100% 92%);
  background:linear-gradient(90deg, rgba(255,255,255,.88), rgba(88,196,246,.42), transparent);
  transform:translateY(-50%) rotate(8deg);
  animation:introBeamSweep 2.6s ease-in-out infinite;
}
.beam-soft{
  width:48vw;
  height:26vh;
  clip-path:polygon(0 50%, 100% 18%, 100% 82%);
  background:linear-gradient(90deg, rgba(255,255,255,.42), rgba(88,196,246,.22), transparent);
  transform:translateY(-50%) rotate(-18deg);
  animation:introBeamSweepSoft 3.1s ease-in-out infinite;
}
.loader-aerial-depth{
  position:absolute;
  right:4.5vw;
  top:24%;
  bottom:9%;
  z-index:16;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:900;
  text-shadow:0 2px 12px rgba(6,24,70,.58);
}
.loader-aerial-depth span{
  position:relative;
}
.loader-aerial-depth span:before{
  content:"";
  position:absolute;
  right:48px;
  top:50%;
  width:48px;
  height:1px;
  background:rgba(255,255,255,.58);
}
.loader-aerial-progress{
  position:absolute;
  left:50%;
  bottom:6vh;
  transform:translateX(-50%);
  z-index:18;
  width:min(470px,76vw);
  height:5px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
  box-shadow:0 14px 36px rgba(6,24,70,.22);
}
.loader-aerial-progress span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#ffffff,#58c4f6,#1267d8,#ffffff);
  animation:introProgress 2.2s ease forwards;
}
@keyframes introAerialZoom{
  from{transform:scale(1)}
  to{transform:scale(1.045) translateY(-8px)}
}
@keyframes introLogoFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-5px)}
}
@keyframes introGridMove{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:38px 76px,76px 38px,152px 152px,152px 152px}
}
@keyframes introContoursPulse{
  0%,100%{opacity:.45;filter:blur(0)}
  50%{opacity:.82;filter:blur(.3px)}
}
@keyframes introSonarPulse{
  0%{transform:scale(.2);opacity:0}
  35%{opacity:.78}
  100%{transform:scale(2.2);opacity:0}
}
@keyframes introBeamSweep{
  0%{transform:translateY(-50%) rotate(-24deg);opacity:.35}
  45%{opacity:.95}
  100%{transform:translateY(-50%) rotate(18deg);opacity:.38}
}
@keyframes introBeamSweepSoft{
  0%{transform:translateY(-50%) rotate(24deg);opacity:.18}
  45%{opacity:.56}
  100%{transform:translateY(-50%) rotate(-12deg);opacity:.18}
}
@keyframes introProgress{
  0%{width:0}
  85%{width:95%}
  100%{width:100%}
}
@media(max-width:880px){
  .loader-aerial-logo{top:6vh;width:min(310px,78vw);padding:10px 13px}
  .loader-aerial-sonar{top:45%}
  .beam-main{width:86vw;height:30vh}
  .beam-soft{width:72vw}
  .loader-aerial-depth{right:16px;font-size:11px}
}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(88,196,246,.22), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#eaf7ff 24%,#b7e4fb 45%,#1267d8 72%,#061846 100%) !important;
  transition:opacity .72s ease, visibility .72s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-sonar-fullscreen{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
}
.loader-logo-clean{
  position:absolute;
  left:50%;
  top:6.5vh;
  transform:translateX(-50%);
  z-index:30;
  width:min(390px,76vw);
  padding:12px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 24px 70px rgba(6,24,70,.16);
  animation:loaderLogoFloatClean 3s ease-in-out infinite;
}
.loader-logo-clean img{
  width:100%;
  height:auto;
  display:block;
}
.loader-water-glow{
  position:absolute;
  left:-10%;
  right:-10%;
  top:22%;
  height:120px;
  z-index:2;
  opacity:.68;
  filter:blur(15px);
  background:
    radial-gradient(ellipse at 18% 52%, rgba(255,255,255,.92), transparent 28%),
    radial-gradient(ellipse at 52% 44%, rgba(255,255,255,.54), transparent 31%),
    radial-gradient(ellipse at 82% 58%, rgba(255,255,255,.72), transparent 28%);
  animation:loaderWaterMoveClean 5s ease-in-out infinite alternate;
}
.sonar-source-loader{
  position:absolute;
  top:32%;
  left:50%;
  width:18px;
  height:18px;
  z-index:18;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 10px rgba(88,196,246,.18),0 0 48px rgba(88,196,246,.98);
}
.sonar-source-loader:before,
.sonar-source-loader:after{
  content:"";
  position:absolute;
  inset:-44px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.34);
  animation:loaderPingClean 1.8s ease-out infinite;
}
.sonar-source-loader:after{
  animation-delay:.45s;
}
.sonar-fan-loader{
  position:absolute;
  top:32%;
  left:50%;
  z-index:5;
  transform:translateX(-50%);
  transform-origin:top center;
  clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  mix-blend-mode:screen;
  pointer-events:none;
}
.sonar-fan-loader.fan-wide{
  width:92vw;
  height:64vh;
  opacity:.72;
  background:
    repeating-radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0) 0 30px, rgba(255,255,255,.18) 31px 32px),
    linear-gradient(90deg, transparent 0%, rgba(88,196,246,.20) 34%, rgba(255,255,255,.44) 50%, rgba(88,196,246,.20) 66%, transparent 100%);
  animation:loaderFanPulseClean 2.8s ease-in-out infinite;
}
.sonar-fan-loader.fan-narrow{
  width:54vw;
  height:60vh;
  opacity:.36;
  background:
    repeating-radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0) 0 20px, rgba(255,255,255,.28) 21px 22px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  animation:loaderFanPulseClean 2.8s ease-in-out infinite .38s;
}
.loader-scan-plane{
  position:absolute;
  left:50%;
  bottom:-8%;
  transform:translateX(-50%);
  width:min(1220px,94vw);
  height:68vh;
  z-index:8;
  overflow:hidden;
  border-radius:38px 38px 0 0;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(88,196,246,.18), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(18,103,216,.22) 34%, rgba(6,24,70,.70) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.loader-depth-grid-clean{
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:-10%;
  height:82%;
  z-index:2;
  background-image:
    linear-gradient(rgba(255,255,255,.20) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.20) 1px, transparent 1px),
    linear-gradient(rgba(88,196,246,.22) 2px, transparent 2px),
    linear-gradient(90deg, rgba(88,196,246,.22) 2px, transparent 2px);
  background-size:38px 38px,38px 38px,152px 152px,152px 152px;
  transform:perspective(720px) rotateX(63deg) scale(1.30);
  transform-origin:center top;
  opacity:.78;
  mix-blend-mode:screen;
  animation:loaderGridMoveClean 2s linear infinite;
}
.loader-seabed-lines{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
}
.loader-seabed-lines path{
  fill:none;
  stroke:rgba(255,255,255,.88);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1900;
  stroke-dashoffset:1900;
  filter:drop-shadow(0 0 9px rgba(88,196,246,.9));
  animation:loaderSeabedDrawClean 3s ease-in-out infinite;
}
.loader-seabed-lines path:nth-child(2){animation-delay:.16s;opacity:.78}
.loader-seabed-lines path:nth-child(3){animation-delay:.32s;opacity:.62}
.loader-seabed-lines path:nth-child(4){animation-delay:.48s;opacity:.48}
.loader-moving-scan{
  position:absolute;
  left:-25%;
  right:-25%;
  top:-130px;
  height:130px;
  z-index:6;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.94), rgba(88,196,246,.58), transparent);
  filter:blur(2px);
  transform:rotate(-5deg);
  mix-blend-mode:screen;
  animation:loaderBeamClean 2.35s ease-in-out infinite;
}
.loader-scan-points{
  position:absolute;
  inset:0;
  z-index:5;
  opacity:.62;
  mix-blend-mode:screen;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.72) 0 1.5px, transparent 2px),
    radial-gradient(circle, rgba(88,196,246,.72) 0 1px, transparent 2px);
  background-size:74px 74px,116px 116px;
  background-position:18px 24px,58px 76px;
  animation:loaderPointsClean 3.2s ease-in-out infinite alternate;
}
.loader-depth-scale-clean{
  position:absolute;
  right:4.5vw;
  top:30%;
  bottom:7%;
  z-index:20;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:900;
  text-shadow:0 2px 12px rgba(6,24,70,.58);
}
.loader-depth-scale-clean span{
  position:relative;
}
.loader-depth-scale-clean span:before{
  content:"";
  position:absolute;
  right:48px;
  top:50%;
  width:48px;
  height:1px;
  background:rgba(255,255,255,.58);
}
.loader-progress-clean{
  position:absolute;
  left:50%;
  bottom:5.4vh;
  transform:translateX(-50%);
  z-index:22;
  width:min(470px,76vw);
  height:5px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
  box-shadow:0 14px 36px rgba(6,24,70,.22);
}
.loader-progress-clean span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#ffffff,#58c4f6,#1267d8,#ffffff);
  animation:loaderProgressClean 2.2s ease forwards;
}
@keyframes loaderLogoFloatClean{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-5px)}
}
@keyframes loaderWaterMoveClean{
  from{transform:translateX(-2%) translateY(0)}
  to{transform:translateX(2%) translateY(10px)}
}
@keyframes loaderPingClean{
  0%{transform:scale(.20);opacity:0}
  35%{opacity:.78}
  100%{transform:scale(2.15);opacity:0}
}
@keyframes loaderFanPulseClean{
  0%,100%{opacity:.38;filter:blur(0)}
  50%{opacity:.86;filter:blur(1px)}
}
@keyframes loaderGridMoveClean{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:38px 76px,76px 38px,152px 152px,152px 152px}
}
@keyframes loaderSeabedDrawClean{
  0%{stroke-dashoffset:1900;opacity:.10}
  44%{stroke-dashoffset:0;opacity:.96}
  100%{stroke-dashoffset:-1900;opacity:.24}
}
@keyframes loaderBeamClean{
  0%{transform:translateY(-120px) rotate(-5deg);opacity:0}
  14%{opacity:1}
  82%{opacity:1}
  100%{transform:translateY(72vh) rotate(-5deg);opacity:0}
}
@keyframes loaderPointsClean{
  from{opacity:.38;transform:translateY(0)}
  to{opacity:.75;transform:translateY(18px)}
}
@keyframes loaderProgressClean{
  0%{width:0}
  85%{width:95%}
  100%{width:100%}
}
@media(max-width:880px){
  .loader-logo-clean{
    top:6vh;
    width:min(310px,78vw);
    padding:10px 13px;
  }
  .sonar-source-loader{top:35%}
  .sonar-fan-loader{top:35%}
  .sonar-fan-loader.fan-wide{width:122vw}
  .sonar-fan-loader.fan-narrow{width:78vw}
  .loader-scan-plane{
    width:100vw;
    height:64vh;
    border-radius:26px 26px 0 0;
  }
  .loader-depth-scale-clean{
    right:16px;
    font-size:11px;
  }
}

.brand{
  min-width:225px !important;
}
.brand img{
  height:42px !important;
  max-width:199px !important;
}
.site-header.scrolled .brand img{
  height:36px !important;
}
.header-inner{
  min-height:78px !important;
}
.site-header.scrolled .header-inner{
  min-height:68px !important;
}
@media(max-width:880px){
  .brand img{
    height:37px !important;
    max-width:170px !important;
  }
  .header-inner{
    min-height:68px !important;
  }
}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(88,196,246,.20), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#eaf7ff 30%,#1267d8 70%,#061846 100%) !important;
  transition:opacity .65s ease, visibility .65s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-simple-full{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.loader-simple-logo{
  position:absolute;
  left:50%;
  top:9vh;
  transform:translateX(-50%);
  z-index:10;
  width:min(360px,76vw);
  padding:12px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,232,246,.9);
  box-shadow:0 22px 60px rgba(6,24,70,.14);
}
.loader-simple-logo img{
  width:100%;
  display:block;
}
.loader-simple-sonar{
  position:absolute;
  left:50%;
  top:42%;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 12px rgba(88,196,246,.18),0 0 44px rgba(88,196,246,.92);
  z-index:8;
}
.loader-simple-sonar:before,
.loader-simple-sonar:after{
  content:"";
  position:absolute;
  inset:-70px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.34);
  animation:simplePing 1.7s ease-out infinite;
}
.loader-simple-sonar:after{
  animation-delay:.45s;
}
.loader-simple-beam{
  position:absolute;
  left:50%;
  top:42%;
  width:76vw;
  height:44vh;
  transform:translateX(-50%);
  transform-origin:top center;
  clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  background:
    linear-gradient(90deg, transparent, rgba(88,196,246,.22), rgba(255,255,255,.40), rgba(88,196,246,.22), transparent),
    repeating-radial-gradient(ellipse at 50% 0%, transparent 0 28px, rgba(255,255,255,.20) 29px 30px);
  mix-blend-mode:screen;
  opacity:.70;
  animation:simpleBeam 2s ease-in-out infinite;
  z-index:4;
}
.loader-simple-bottom{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38vh;
  z-index:5;
  background:
    linear-gradient(180deg, transparent 0%, rgba(6,24,70,.24) 35%, rgba(6,24,70,.74) 100%),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:auto, 44px 44px, 44px 44px;
}
.loader-simple-bottom svg{
  width:100%;
  height:100%;
}
.loader-simple-bottom path{
  fill:none;
  stroke:rgba(255,255,255,.82);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
  filter:drop-shadow(0 0 8px rgba(88,196,246,.85));
  animation:simpleLine 2.2s ease-in-out infinite;
}
.loader-simple-bottom path:nth-child(2){
  animation-delay:.25s;
  opacity:.60;
}
.loader-simple-progress{
  position:absolute;
  left:50%;
  bottom:6vh;
  transform:translateX(-50%);
  width:min(420px,74vw);
  height:5px;
  z-index:12;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
  box-shadow:0 12px 30px rgba(6,24,70,.18);
}
.loader-simple-progress span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#fff,#58c4f6,#1267d8,#fff);
  animation:simpleProgress 1.9s ease forwards;
}
@keyframes simplePing{
  0%{transform:scale(.2);opacity:0}
  35%{opacity:.78}
  100%{transform:scale(1.9);opacity:0}
}
@keyframes simpleBeam{
  0%,100%{opacity:.42}
  50%{opacity:.82}
}
@keyframes simpleLine{
  0%{stroke-dashoffset:1400;opacity:.10}
  45%{stroke-dashoffset:0;opacity:.95}
  100%{stroke-dashoffset:-1400;opacity:.28}
}
@keyframes simpleProgress{
  from{width:0}
  to{width:100%}
}
@media(max-width:880px){
  .loader-simple-logo{
    top:8vh;
    width:min(300px,78vw);
    padding:10px 14px;
  }
  .loader-simple-beam{
    width:110vw;
  }
}

.equipment .section-note{
  max-width:430px !important;
  font-size:15px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
}
.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,255,255,.78), rgba(234,247,255,.45) 26%, transparent 45%),
    linear-gradient(180deg,#ffffff 0%,#eaf7ff 27%,#b7e4fb 45%,#1267d8 74%,#061846 100%) !important;
  transition:opacity .68s ease, visibility .68s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-premium-simple{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.loader-premium-logo{
  position:absolute;
  left:50%;
  top:8vh;
  z-index:20;
  width:min(360px,76vw);
  transform:translateX(-50%);
  padding:12px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 22px 62px rgba(6,24,70,.14);
  animation:premiumLogoFloat 3.2s ease-in-out infinite;
}
.loader-premium-logo img{
  width:100%;
  height:auto;
  display:block;
}
.loader-premium-water{
  position:absolute;
  left:-10%;
  right:-10%;
  top:24%;
  height:120px;
  z-index:2;
  opacity:.62;
  filter:blur(15px);
  background:
    radial-gradient(ellipse at 24% 52%, rgba(255,255,255,.78), transparent 30%),
    radial-gradient(ellipse at 52% 46%, rgba(255,255,255,.44), transparent 32%),
    radial-gradient(ellipse at 78% 58%, rgba(255,255,255,.62), transparent 28%);
  animation:premiumWaterMove 5.5s ease-in-out infinite alternate;
}
.loader-premium-scan{
  position:absolute;
  left:50%;
  bottom:-2%;
  width:min(1120px,92vw);
  height:60vh;
  transform:translateX(-50%);
  z-index:5;
  overflow:hidden;
  border-radius:34px 34px 0 0;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(88,196,246,.18), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(18,103,216,.20) 42%, rgba(6,24,70,.72) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), 0 -10px 42px rgba(88,196,246,.10);
}
.loader-premium-grid{
  position:absolute;
  left:-16%;
  right:-16%;
  bottom:-14%;
  height:82%;
  z-index:1;
  background-image:
    linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:42px 42px;
  transform:perspective(680px) rotateX(64deg) scale(1.25);
  transform-origin:center top;
  opacity:.62;
  mix-blend-mode:screen;
  animation:premiumGrid 2.2s linear infinite;
}
.loader-premium-lines{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
}
.loader-premium-lines path{
  fill:none;
  stroke:rgba(255,255,255,.84);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1600;
  stroke-dashoffset:1600;
  filter:drop-shadow(0 0 8px rgba(88,196,246,.85));
  animation:premiumLineDraw 2.55s ease-in-out infinite;
}
.loader-premium-lines path:nth-child(2){animation-delay:.16s;opacity:.70}
.loader-premium-lines path:nth-child(3){animation-delay:.32s;opacity:.52}
.loader-premium-dot{
  position:absolute;
  left:50%;
  top:17%;
  width:17px;
  height:17px;
  z-index:6;
  transform:translateX(-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 10px rgba(88,196,246,.18), 0 0 42px rgba(88,196,246,.92);
}
.loader-premium-dot:before{
  content:"";
  position:absolute;
  inset:-56px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.32);
  animation:premiumPing 1.65s ease-out infinite;
}
.loader-premium-beam{
  position:absolute;
  left:-22%;
  right:-22%;
  top:-96px;
  height:110px;
  z-index:5;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.92), rgba(88,196,246,.52), transparent);
  transform:rotate(-5deg);
  filter:blur(1px);
  mix-blend-mode:screen;
  animation:premiumBeam 2.2s ease-in-out infinite;
}
.loader-premium-progress{
  position:absolute;
  left:50%;
  bottom:5.8vh;
  z-index:12;
  width:min(430px,74vw);
  height:5px;
  transform:translateX(-50%);
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
  box-shadow:0 12px 30px rgba(6,24,70,.18);
}
.loader-premium-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#fff,#58c4f6,#1267d8,#fff);
  animation:premiumProgress 2s ease forwards;
}
@keyframes premiumLogoFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-4px)}
}
@keyframes premiumWaterMove{
  from{transform:translateX(-2%)}
  to{transform:translateX(2%) translateY(8px)}
}
@keyframes premiumGrid{
  from{background-position:0 0}
  to{background-position:42px 84px}
}
@keyframes premiumLineDraw{
  0%{stroke-dashoffset:1600;opacity:.12}
  45%{stroke-dashoffset:0;opacity:.95}
  100%{stroke-dashoffset:-1600;opacity:.24}
}
@keyframes premiumPing{
  0%{transform:scale(.20);opacity:0}
  35%{opacity:.76}
  100%{transform:scale(1.95);opacity:0}
}
@keyframes premiumBeam{
  0%{transform:translateY(-80px) rotate(-5deg);opacity:0}
  15%{opacity:1}
  85%{opacity:1}
  100%{transform:translateY(56vh) rotate(-5deg);opacity:0}
}
@keyframes premiumProgress{
  from{width:0}
  to{width:100%}
}
@media(max-width:880px){
  .loader-premium-logo{
    top:7vh;
    width:min(300px,78vw);
    padding:10px 14px;
  }
  .loader-premium-scan{
    width:100vw;
    height:58vh;
    border-radius:26px 26px 0 0;
  }
}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:#061846 !important;
  transition:opacity .75s ease, visibility .75s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-visual-scan{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.70), rgba(234,247,255,.34) 22%, transparent 42%),
    linear-gradient(180deg,#f7fdff 0%,#d8f0fd 22%,#50b7ee 45%,#1267d8 66%,#061846 100%);
}
.loader-bg-water{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(ellipse at 20% 58%, rgba(78,220,180,.22), transparent 24%),
    radial-gradient(ellipse at 78% 68%, rgba(185,230,70,.18), transparent 20%),
    radial-gradient(ellipse at 52% 56%, rgba(0,225,255,.18), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(6,24,70,.14));
  animation:waterPulseV16 4s ease-in-out infinite alternate;
}
.loader-logo-center{
  position:absolute;
  left:50%;
  top:44%;
  transform:translate(-50%,-50%);
  z-index:30;
  width:min(430px,78vw);
  padding:14px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 28px 90px rgba(6,24,70,.28), 0 0 0 10px rgba(255,255,255,.06);
  animation:logoCenterFloatV16 3s ease-in-out infinite;
}
.loader-logo-center img{
  width:100%;
  height:auto;
  display:block;
}
.loader-seabed-area{
  position:absolute;
  left:-3%;
  right:-3%;
  bottom:-7%;
  height:72%;
  z-index:8;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 18% 82%, rgba(188,235,64,.34), transparent 17%),
    radial-gradient(ellipse at 70% 74%, rgba(88,196,246,.32), transparent 18%),
    radial-gradient(ellipse at 82% 90%, rgba(85,230,165,.24), transparent 15%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(18,103,216,.26) 34%, rgba(6,24,70,.80) 100%);
  mask-image:linear-gradient(180deg, transparent 0%, #000 10%, #000 100%);
}
.loader-grid-3d{
  position:absolute;
  left:-16%;
  right:-16%;
  bottom:-13%;
  height:94%;
  z-index:3;
  background-image:
    linear-gradient(rgba(0,220,255,.33) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,220,255,.33) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.11) 2px, transparent 2px),
    linear-gradient(90deg, rgba(255,255,255,.11) 2px, transparent 2px);
  background-size:34px 34px,34px 34px,136px 136px,136px 136px;
  transform:perspective(760px) rotateX(62deg) scale(1.33);
  transform-origin:center top;
  opacity:.82;
  mix-blend-mode:screen;
  animation:grid3dV16 2.4s linear infinite;
}
.loader-relief{
  position:absolute;
  z-index:2;
  border-radius:50%;
  filter:blur(10px);
  opacity:.72;
  mix-blend-mode:screen;
  animation:reliefMoveV16 4.5s ease-in-out infinite alternate;
}
.relief-a{
  width:360px;
  height:130px;
  left:5%;
  bottom:18%;
  background:radial-gradient(ellipse, rgba(195,230,56,.68), rgba(0,220,255,.22) 55%, transparent 70%);
  transform:rotate(-7deg);
}
.relief-b{
  width:460px;
  height:170px;
  right:8%;
  bottom:28%;
  background:radial-gradient(ellipse, rgba(0,220,255,.60), rgba(69,225,160,.20) 55%, transparent 72%);
  transform:rotate(8deg);
  animation-delay:.5s;
}
.relief-c{
  width:520px;
  height:145px;
  left:36%;
  bottom:6%;
  background:radial-gradient(ellipse, rgba(95,235,160,.48), rgba(0,180,255,.25) 55%, transparent 74%);
  animation-delay:1s;
}
.loader-contour-svg{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  mix-blend-mode:screen;
}
.loader-contour-svg path{
  fill:none;
  stroke:rgba(0,222,255,.70);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-dasharray:1900;
  stroke-dashoffset:1900;
  filter:drop-shadow(0 0 8px rgba(0,220,255,.80));
  animation:contoursV16 3.1s ease-in-out infinite;
}
.loader-contour-svg path:nth-child(2){animation-delay:.18s;stroke:rgba(105,240,210,.65)}
.loader-contour-svg path:nth-child(3){animation-delay:.34s;opacity:.70}
.loader-contour-svg path:nth-child(4){animation-delay:.52s;opacity:.55}
.loader-contour-svg path:nth-child(5){animation-delay:.70s;opacity:.45}
.loader-scan-source{
  position:absolute;
  left:50%;
  top:15%;
  width:18px;
  height:18px;
  z-index:11;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 12px rgba(88,196,246,.20),0 0 50px rgba(88,196,246,.98);
}
.loader-scan-source:after{
  content:"";
  position:absolute;
  inset:-80px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.34);
  animation:sonarRingV16 1.8s ease-out infinite;
}
.loader-scan-fan{
  position:absolute;
  top:15%;
  left:50%;
  width:76vw;
  height:52vh;
  z-index:6;
  transform:translateX(-50%);
  transform-origin:top center;
  clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  background:
    repeating-radial-gradient(ellipse at 50% 0%, transparent 0 28px, rgba(255,255,255,.20) 29px 30px),
    linear-gradient(90deg, transparent 0%, rgba(88,196,246,.24) 34%, rgba(255,255,255,.44) 50%, rgba(88,196,246,.24) 66%, transparent 100%);
  mix-blend-mode:screen;
  opacity:.72;
  animation:fanV16 2.5s ease-in-out infinite;
}
.loader-scan-light{
  position:absolute;
  left:-20%;
  right:-20%;
  top:-120px;
  height:115px;
  z-index:10;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.86), rgba(0,220,255,.55), transparent);
  transform:rotate(-5deg);
  filter:blur(1.5px);
  mix-blend-mode:screen;
  animation:lightSweepV16 2.4s ease-in-out infinite;
}
@keyframes waterPulseV16{
  from{opacity:.75;transform:scale(1)}
  to{opacity:1;transform:scale(1.03)}
}
@keyframes logoCenterFloatV16{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(-5px)}
}
@keyframes grid3dV16{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:34px 68px,68px 34px,136px 136px,136px 136px}
}
@keyframes reliefMoveV16{
  from{transform:translateY(0) scale(1) rotate(-4deg)}
  to{transform:translateY(-10px) scale(1.04) rotate(3deg)}
}
@keyframes contoursV16{
  0%{stroke-dashoffset:1900;opacity:.08}
  45%{stroke-dashoffset:0;opacity:.95}
  100%{stroke-dashoffset:-1900;opacity:.22}
}
@keyframes sonarRingV16{
  0%{transform:scale(.2);opacity:0}
  35%{opacity:.76}
  100%{transform:scale(2.1);opacity:0}
}
@keyframes fanV16{
  0%,100%{opacity:.46}
  50%{opacity:.86}
}
@keyframes lightSweepV16{
  0%{transform:translateY(-110px) rotate(-5deg);opacity:0}
  15%{opacity:1}
  86%{opacity:1}
  100%{transform:translateY(72vh) rotate(-5deg);opacity:0}
}
@media(max-width:880px){
  .loader-logo-center{
    top:42%;
    width:min(310px,78vw);
    padding:11px 14px;
  }
  .loader-scan-fan{
    width:120vw;
  }
  .loader-seabed-area{
    height:74%;
  }
}

.contact-status{
  display:none;
  margin:-18px 0 24px;
  padding:14px 18px;
  border-radius:16px;
  font-weight:800;
  line-height:1.45;
}
.contact-status.show{
  display:block;
}
.contact-status.sent{
  color:#075b37;
  background:#e8fff3;
  border:1px solid #b9f1d2;
}
.contact-status.error{
  color:#8b1d1d;
  background:#fff1f1;
  border:1px solid #ffd1d1;
}
.contact-form{
  grid-template-columns:1fr 1fr !important;
}
.contact-form .form-note,
.contact-form textarea,
.contact-form .check,
.contact-form .btn{
  grid-column:1/-1 !important;
}
@media(max-width:720px){
  .contact-form{
    grid-template-columns:1fr !important;
  }
}

.contact-form .form-note{
  display:none !important;
}
.form-status{
  grid-column:1/-1;
  display:none;
  padding:14px 16px;
  border-radius:14px;
  font-weight:800;
  line-height:1.45;
}
.form-status.show{
  display:block;
}
.form-status.sent{
  background:#e8fff3;
  color:#075b37;
  border:1px solid #b9f1d2;
}
.form-status.error{
  background:#fff1f1;
  color:#8b1d1d;
  border:1px solid #ffd1d1;
}
.contact-form.sending button[type="submit"]{
  opacity:.72;
  pointer-events:none;
}

.contact-form{
  grid-template-columns:1fr 1fr !important;
}
.contact-form input[name="email"],
.contact-form textarea,
.contact-form .form-status,
.contact-form .btn{
  grid-column:1/-1 !important;
}
.contact-form .check{
  grid-column:1/-1 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  text-align:left !important;
  gap:10px !important;
  margin:2px 0 4px !important;
  color:var(--text);
  line-height:1.45;
}
.contact-form .check input{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  accent-color:var(--blue);
}
.contact-form .check span{
  display:block;
  flex:1;
}
.loader-logo-center,
.loader-premium-logo,
.loader-simple-logo,
.loader-logo-clean,
.loader-aerial-logo,
.loader-premium-logo,
.loader-logo-wrap,
.loader-aerial-logo,
.loader-logo-float{
  animation-duration:2s !important;
}
@media(max-width:720px){
  .contact-form{
    grid-template-columns:1fr !important;
  }
}

.contact-form.contact-form-simple{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}
.contact-form.contact-form-simple input,
.contact-form.contact-form-simple textarea,
.contact-form.contact-form-simple .form-status,
.contact-form.contact-form-simple .btn,
.contact-form.contact-form-simple .check{
  grid-column:1/-1 !important;
}
.contact-form.contact-form-simple input[name="name"],
.contact-form.contact-form-simple input[name="phone"],
.contact-form.contact-form-simple input[name="email"]{
  width:100% !important;
}
.contact-form.contact-form-simple .check-inline{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:left !important;
  margin:4px 0 2px !important;
  width:100% !important;
}
.contact-form.contact-form-simple .check-inline input[type="checkbox"]{
  display:inline-block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;
  margin:0 !important;
  padding:0 !important;
  accent-color:var(--blue);
}
.contact-form.contact-form-simple .check-inline span{
  display:inline !important;
  flex:1 1 auto !important;
  line-height:1.45 !important;
  margin:0 !important;
}

.hero-technical-visual{
  background:
    radial-gradient(circle at 54% 55%, rgba(88,196,246,.20), transparent 38%),
    linear-gradient(180deg,#f8fdff 0%,#eaf7ff 100%) !important;
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 28px 72px rgba(6,24,70,.13) !important;
}
.hero-technical-visual img{
  width:100%;
  height:100%;
  min-height:450px;
  object-fit:cover;
  object-position:center;
  filter:brightness(1.04) saturate(1.04) contrast(1.02);
  transform:none !important;
  transition:none !important;
}
.hero-technical-visual:hover img{
  transform:none !important;
}
.hero-technical-visual:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 52% 55%, rgba(255,255,255,.26), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(6,24,70,.04));
}
.hero-pulse{
  position:absolute;
  left:50%;
  top:56%;
  width:16px;
  height:16px;
  z-index:5;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 10px rgba(88,196,246,.18),0 0 42px rgba(88,196,246,.92);
  pointer-events:none;
}
.hero-pulse:before,
.hero-pulse:after{
  content:"";
  position:absolute;
  inset:-58px;
  border-radius:50%;
  border:2px solid rgba(88,196,246,.34);
  animation:heroSonarPulse 2.2s ease-out infinite;
}
.hero-pulse:after{
  animation-delay:.7s;
}
.hero-scan-sweep{
  position:absolute;
  left:-22%;
  right:-22%;
  top:-110px;
  height:110px;
  z-index:4;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.88), rgba(88,196,246,.50), transparent);
  transform:rotate(-5deg);
  filter:blur(1.5px);
  mix-blend-mode:screen;
  animation:heroScanSweep 3.2s ease-in-out infinite;
  pointer-events:none;
}
.hero-scan-rings{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  opacity:.55;
  mix-blend-mode:screen;
  background:
    repeating-radial-gradient(circle at 50% 56%, transparent 0 38px, rgba(88,196,246,.20) 39px 41px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  animation:heroRingsGlow 2.8s ease-in-out infinite;
}
@keyframes heroSonarPulse{
  0%{transform:scale(.18);opacity:0}
  35%{opacity:.75}
  100%{transform:scale(2.15);opacity:0}
}
@keyframes heroScanSweep{
  0%{transform:translateY(-120px) rotate(-5deg);opacity:0}
  18%{opacity:1}
  82%{opacity:1}
  100%{transform:translateY(620px) rotate(-5deg);opacity:0}
}
@keyframes heroRingsGlow{
  0%,100%{opacity:.32}
  50%{opacity:.68}
}
@media(max-width:880px){
  .hero-technical-visual,
  .hero-technical-visual img{
    min-height:310px !important;
  }
  .hero-pulse{
    top:58%;
  }
}

.hero{
  min-height:720px !important;
  background:
    radial-gradient(circle at 78% 44%, rgba(88,196,246,.16), transparent 38%),
    linear-gradient(90deg,#ffffff 0%,#ffffff 34%,#f6fbff 62%,#eef8ff 100%);
}
.hero-bg{
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 36%,rgba(255,255,255,.66) 58%,rgba(255,255,255,.22) 100%),
    url('../assets/bg-hero.png') center/cover no-repeat !important;
  opacity:.95;
}
.hero-grid{
  grid-template-columns:minmax(360px, 560px) 1fr !important;
  position:relative;
  z-index:8;
}
.hero-content{
  position:relative;
  z-index:10;
  padding:38px 0;
}
.hero-bg-scan{
  position:absolute;
  z-index:3;
  right:-7%;
  top:10%;
  width:min(1040px,72vw);
  height:82%;
  pointer-events:none;
  overflow:hidden;
  opacity:.92;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 13%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 10%, #000 84%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 13%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 10%, #000 84%, transparent 100%);
  mask-composite: intersect;
}
.hero-bg-scan img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.03);
  filter:
    brightness(1.13)
    contrast(.96)
    saturate(.90)
    hue-rotate(-8deg);
}
.hero-bg-scan:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.30) 27%, rgba(255,255,255,.06) 58%, rgba(255,255,255,.36) 100%),
    radial-gradient(circle at 48% 56%, rgba(88,196,246,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(18,103,216,.03) 52%, rgba(6,24,70,.06) 100%);
  mix-blend-mode:normal;
}
.hero-bg-scan:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  background:
    radial-gradient(circle at 51% 56%, rgba(255,255,255,.34), transparent 19%),
    linear-gradient(90deg, transparent, rgba(88,196,246,.10), transparent);
  opacity:.75;
}
.hero-bg-pulse{
  position:absolute;
  left:50%;
  top:56%;
  width:15px;
  height:15px;
  z-index:6;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 9px rgba(88,196,246,.17),0 0 38px rgba(88,196,246,.85);
}
.hero-bg-pulse:before,
.hero-bg-pulse:after{
  content:"";
  position:absolute;
  inset:-52px;
  border-radius:50%;
  border:2px solid rgba(88,196,246,.30);
  animation:heroBgPulseV22 2.4s ease-out infinite;
}
.hero-bg-pulse:after{
  animation-delay:.8s;
}
.hero-bg-sweep{
  position:absolute;
  left:-22%;
  right:-22%;
  top:-120px;
  height:105px;
  z-index:5;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.80), rgba(88,196,246,.38), transparent);
  transform:rotate(-5deg);
  filter:blur(1.5px);
  mix-blend-mode:screen;
  animation:heroBgSweepV22 3.4s ease-in-out infinite;
}
.hero-bg-rings{
  position:absolute;
  inset:0;
  z-index:4;
  opacity:.42;
  mix-blend-mode:screen;
  background:
    repeating-radial-gradient(circle at 50% 56%, transparent 0 42px, rgba(88,196,246,.18) 43px 45px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
  animation:heroBgRingsV22 3s ease-in-out infinite;
}
@keyframes heroBgPulseV22{
  0%{transform:scale(.18);opacity:0}
  35%{opacity:.72}
  100%{transform:scale(2.1);opacity:0}
}
@keyframes heroBgSweepV22{
  0%{transform:translateY(-130px) rotate(-5deg);opacity:0}
  18%{opacity:1}
  80%{opacity:.9}
  100%{transform:translateY(680px) rotate(-5deg);opacity:0}
}
@keyframes heroBgRingsV22{
  0%,100%{opacity:.25}
  50%{opacity:.55}
}

.hero-technical-visual,
.hero-visual.hero-technical-visual{
  box-shadow:none !important;
  border:none !important;
  background:transparent !important;
}
@media(max-width:1100px){
  .hero-bg-scan{
    right:-18%;
    width:86vw;
    opacity:.72;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:880px){
  .hero{
    min-height:auto !important;
  }
  .hero-bg-scan{
    position:relative;
    right:auto;
    top:auto;
    width:100%;
    height:310px;
    margin-top:-12px;
    opacity:.95;
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
    mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  }
  .hero-bg-scan img{
    object-position:center;
  }
}

.hero-bg-scan:before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.34) 28%, rgba(255,255,255,.08) 62%, rgba(255,255,255,.38) 100%),
    linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(18,103,216,.02) 58%, rgba(6,24,70,.03) 100%) !important;
  mix-blend-mode:normal !important;
}
.hero-bg-scan:after{
  display:none !important;
}
.hero-bg-rings{
  display:none !important;
}
.hero-bg-sweep{
  display:none !important;
}

.hero-bg-pulse{
  top:50% !important;
  background:#ffffff !important;
  box-shadow:0 0 0 6px rgba(88,196,246,.12),0 0 18px rgba(88,196,246,.45) !important;
}

.hero-bg-pulse:before,
.hero-bg-pulse:after{
  inset:-10px -88px -100px -88px !important;
  border:2px solid rgba(88,196,246,.34) !important;
  border-top:0 !important;
  border-left-color:rgba(88,196,246,.18) !important;
  border-right-color:rgba(88,196,246,.18) !important;
  border-radius:0 0 180px 180px !important;
  transform-origin:50% 0% !important;
  animation:heroDownPulseV23 2.35s ease-out infinite !important;
}
.hero-bg-pulse:after{
  animation-delay:.78s !important;
}
@keyframes heroDownPulseV23{
  0%{
    transform:scale(.25);
    opacity:0;
  }
  28%{
    opacity:.72;
  }
  100%{
    transform:scale(2.25);
    opacity:0;
  }
}

.site-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow:hidden !important;
  background:#f6fbff !important;
  transition:opacity .68s ease, visibility .68s ease !important;
}
.site-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.loader-hero-based{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 40%, rgba(88,196,246,.12), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#eef8ff 48%,#d8eefb 100%);
}
.loader-hero-bg-img{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:118vw;
  height:118vh;
  transform:translate(-50%,-50%) scale(1.02);
  object-fit:cover;
  object-position:center;
  filter:brightness(1.14) saturate(.88) contrast(.96) hue-rotate(-8deg);
  opacity:.86;
  animation:loaderHeroDriftV24 3.2s ease-in-out infinite alternate;
}
.loader-hero-mask{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.46) 28%, rgba(255,255,255,.18) 56%, rgba(255,255,255,.78) 100%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.20) 38%, rgba(6,24,70,.10) 100%);
}
.loader-hero-logo{
  position:absolute;
  left:50%;
  top:38%;
  transform:translate(-50%,-50%);
  z-index:10;
  width:min(420px,78vw);
  padding:14px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 28px 82px rgba(6,24,70,.20), 0 0 0 10px rgba(255,255,255,.08);
  animation:loaderHeroLogoV24 2.4s ease-in-out infinite;
}
.loader-hero-logo img{
  display:block;
  width:100%;
  height:auto;
}
.loader-hero-pulse{
  position:absolute;
  left:50%;
  top:53%;
  width:16px;
  height:16px;
  z-index:9;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 7px rgba(88,196,246,.12),0 0 22px rgba(88,196,246,.52);
}
.loader-hero-pulse:before,
.loader-hero-pulse:after{
  content:"";
  position:absolute;
  inset:-10px -92px -112px -92px;
  border:2px solid rgba(18,103,216,.25);
  border-top:0;
  border-left-color:rgba(88,196,246,.18);
  border-right-color:rgba(88,196,246,.18);
  border-radius:0 0 190px 190px;
  transform-origin:50% 0%;
  animation:loaderHalfPulseV24 2.1s ease-out infinite;
}
.loader-hero-pulse:after{
  animation-delay:.7s;
}
.loader-hero-wave{
  position:absolute;
  left:-20%;
  right:-20%;
  z-index:7;
  height:90px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.72), rgba(88,196,246,.34), transparent);
  transform:rotate(-5deg);
  filter:blur(1.5px);
  mix-blend-mode:screen;
  pointer-events:none;
}
.loader-hero-wave.wave-one{
  top:-110px;
  animation:loaderHeroSweepV24 2.2s ease-in-out infinite;
}
.loader-hero-wave.wave-two{
  top:-150px;
  opacity:.45;
  animation:loaderHeroSweepV24 2.2s ease-in-out infinite .55s;
}
@keyframes loaderHeroDriftV24{
  from{transform:translate(-50%,-50%) scale(1.02)}
  to{transform:translate(-50%,-51%) scale(1.055)}
}
@keyframes loaderHeroLogoV24{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(-4px)}
}
@keyframes loaderHalfPulseV24{
  0%{transform:scale(.22);opacity:0}
  32%{opacity:.72}
  100%{transform:scale(2.15);opacity:0}
}
@keyframes loaderHeroSweepV24{
  0%{transform:translateY(-100px) rotate(-5deg);opacity:0}
  18%{opacity:.9}
  80%{opacity:.72}
  100%{transform:translateY(112vh) rotate(-5deg);opacity:0}
}
@media(max-width:880px){
  .loader-hero-bg-img{
    width:160vw;
    height:112vh;
  }
  .loader-hero-logo{
    top:37%;
    width:min(310px,78vw);
    padding:11px 15px;
  }
  .loader-hero-pulse{
    top:54%;
  }
}

.hero-bg-pulse.hero-bg-pulse-only{
  width:1px !important;
  height:1px !important;
  background:transparent !important;
  box-shadow:none !important;
  top:50% !important;
}
.hero-bg-pulse.hero-bg-pulse-only:before,
.hero-bg-pulse.hero-bg-pulse-only:after{
  border-width:3px !important;
  border-color:rgba(18,103,216,.36) !important;
  border-top:0 !important;
  border-left-color:rgba(88,196,246,.26) !important;
  border-right-color:rgba(88,196,246,.26) !important;
  filter:drop-shadow(0 0 8px rgba(88,196,246,.45));
  animation:heroDownPulseV25 2.25s ease-out infinite !important;
}
.hero-bg-pulse.hero-bg-pulse-only:after{
  animation-delay:.72s !important;
}

.loader-hero-pulse.loader-hero-pulse-only{
  width:1px !important;
  height:1px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.loader-hero-pulse.loader-hero-pulse-only:before,
.loader-hero-pulse.loader-hero-pulse-only:after{
  border-width:3px !important;
  border-color:rgba(18,103,216,.34) !important;
  border-top:0 !important;
  border-left-color:rgba(88,196,246,.26) !important;
  border-right-color:rgba(88,196,246,.26) !important;
  filter:drop-shadow(0 0 9px rgba(88,196,246,.48));
  animation:loaderHalfPulseV25 2.0s ease-out infinite !important;
}
.loader-hero-pulse.loader-hero-pulse-only:after{
  animation-delay:.64s !important;
}

@keyframes heroDownPulseV25{
  0%{
    transform:scale(.20);
    opacity:0;
  }
  24%{
    opacity:.92;
  }
  100%{
    transform:scale(2.35);
    opacity:0;
  }
}
@keyframes loaderHalfPulseV25{
  0%{
    transform:scale(.20);
    opacity:0;
  }
  28%{
    opacity:.95;
  }
  100%{
    transform:scale(2.35);
    opacity:0;
  }
}

.loader-hero-bg-img{
  will-change:transform;
  backface-visibility:hidden;
}

.site-loader{
  background:#f7fbff !important;
}
.loader-split{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 30% 48%, rgba(88,196,246,.11), transparent 35%),
    linear-gradient(90deg,#eef8ff 0%,#ffffff 48%,#ffffff 100%);
}
.loader-split-art{
  position:relative;
  height:100%;
  min-height:100vh;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, #000 0%, #000 72%, transparent 100%);
  mask-image:linear-gradient(90deg, #000 0%, #000 72%, transparent 100%);
}
.loader-split-art .loader-hero-bg-img{
  position:absolute;
  left:50%;
  top:50%;
  width:105%;
  height:auto;
  min-height:auto;
  max-height:82vh;
  transform:translate(-50%,-50%);
  object-fit:contain;
  object-position:center;
  filter:brightness(1.10) saturate(.88) contrast(.97) hue-rotate(-8deg);
  opacity:.95;
  animation:none !important;
}
.loader-split-mask{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.08) 52%, rgba(255,255,255,.82) 100%),
    linear-gradient(180deg, rgba(255,255,255,.44) 0%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.38) 100%);
}
.loader-split-brand{
  position:relative;
  z-index:10;
  justify-self:center;
  width:min(430px,72%);
  padding:18px 24px;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(220,232,246,.95);
  box-shadow:0 28px 82px rgba(6,24,70,.16);
  animation:loaderBrandSoftV26 2.3s ease-in-out infinite;
}
.loader-split-brand img{
  display:block;
  width:100%;
  height:auto;
}
.loader-split .loader-hero-pulse{
  left:52% !important;
  top:56% !important;
  z-index:8 !important;
}
.loader-half-wave{
  position:absolute;
  left:-20%;
  right:-10%;
  z-index:6;
  height:76px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.58), rgba(88,196,246,.24), transparent);
  transform:rotate(-5deg);
  filter:blur(1.2px);
  mix-blend-mode:screen;
  pointer-events:none;
}
.loader-half-wave.wave-one{
  top:-100px;
  animation:loaderSplitSweepV26 2.05s ease-in-out infinite;
}
.loader-half-wave.wave-two{
  top:-140px;
  opacity:.35;
  animation:loaderSplitSweepV26 2.05s ease-in-out infinite .48s;
}
@keyframes loaderBrandSoftV26{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes loaderSplitSweepV26{
  0%{transform:translateY(-90px) rotate(-5deg);opacity:0}
  18%{opacity:.7}
  80%{opacity:.52}
  100%{transform:translateY(105vh) rotate(-5deg);opacity:0}
}

.hero-bg-scan img{
  content:url('../assets/hero-boat-technical-scan-hero.webp');
}

@media(max-width:880px){
  .loader-split{
    grid-template-columns:1fr;
    grid-template-rows:1fr auto;
    background:linear-gradient(180deg,#eef8ff 0%,#ffffff 70%);
  }
  .loader-split-art{
    min-height:58vh;
    height:58vh;
    -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
    mask-image:linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
  }
  .loader-split-art .loader-hero-bg-img{
    width:118%;
    max-height:58vh;
  }
  .loader-split-brand{
    width:min(310px,78vw);
    margin:0 auto 12vh;
    padding:12px 16px;
  }
}

.site-loader{
  background:#f7fbff !important;
}
.loader-logo-only{
  position:absolute;
  inset:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 44%, rgba(88,196,246,.18), transparent 34%),
    radial-gradient(circle at 18% 80%, rgba(18,103,216,.08), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#eef8ff 58%,#e3f3fb 100%);
}
.loader-soft-grid{
  position:absolute;
  inset:-20%;
  z-index:1;
  opacity:.34;
  background-image:
    linear-gradient(rgba(18,103,216,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,103,216,.12) 1px, transparent 1px);
  background-size:46px 46px;
  transform:perspective(850px) rotateX(58deg) translateY(14%);
  transform-origin:center bottom;
  animation:loaderGridMoveV27 3.2s linear infinite;
}
.loader-logo-card{
  position:relative;
  z-index:8;
  width:min(430px,78vw);
  padding:18px 26px;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(220,232,246,.96);
  box-shadow:0 28px 82px rgba(6,24,70,.16),0 0 0 10px rgba(255,255,255,.09);
  animation:loaderLogoV27 2.1s ease-in-out infinite;
}
.loader-logo-card img{
  display:block;
  width:100%;
  height:auto;
}
.loader-logo-pulse{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  width:220px;
  height:220px;
  border-radius:999px;
  border:2px solid rgba(88,196,246,.24);
  transform:translate(-50%,-50%) scale(.6);
  opacity:0;
  animation:loaderLogoPulseV27 2.2s ease-out infinite;
}
.loader-logo-pulse.pulse-b{
  animation-delay:.72s;
}
@keyframes loaderGridMoveV27{
  from{background-position:0 0,0 0}
  to{background-position:46px 46px,46px 46px}
}
@keyframes loaderLogoV27{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes loaderLogoPulseV27{
  0%{transform:translate(-50%,-50%) scale(.55);opacity:0}
  25%{opacity:.72}
  100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}
}

.contact-form .internal-captcha{
  grid-column:1/-1 !important;
  padding:14px 16px;
  border-radius:16px;
  background:#f6fbff;
  border:1px solid rgba(220,232,246,.95);
}
.contact-form .internal-captcha label{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.contact-form .captcha-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5f6f89;
}
.contact-form .captcha-question{
  color:#061846;
  font-size:15px;
}
.contact-form .internal-captcha input[type="text"]{
  width:100%;
  min-height:48px;
}

.loader-logo-card{
  opacity:0;
  transform:translateY(8px) scale(.985);
  animation:loaderLogoFadeV28 1s ease forwards, loaderLogoFloatV28 2.2s ease-in-out 1s infinite !important;
}
.loader-logo-card img{
  opacity:0;
  animation:loaderLogoImgFadeV28 .7s ease .12s forwards;
}
@keyframes loaderLogoFadeV28{
  0%{opacity:0;transform:translateY(8px) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes loaderLogoImgFadeV28{
  0%{opacity:0}
  100%{opacity:1}
}
@keyframes loaderLogoFloatV28{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

.equipment-photo img[src*='catamaran-echogram'],
.equipment-photo img[src*='rib-echogram'],
.equipment-photo img[src*='sl20-asv']{transform:scale(1.06)}

.equipment-photo img[src*='catamaran-echogram'],
.equipment-photo img[src*='rib-echogram'],
.equipment-photo img[src*='sl20-asv']{transform:scale(1.10)}
.equipment-photo img[src*='edgetech-4125p'],
.equipment-photo img[src*='tritech-seaking'],
.equipment-photo img[src*='kongsberg-em3002'],
.equipment-photo img[src*='odom-cv100'],
.equipment-photo img[src*='odom-es3'],
.equipment-photo img[src*='reson-seabat-8125h']{transform:scale(1.30)}
.equipment-photo img[src*='aml-svp'],
.equipment-photo img[src*='reson-svp'],
.equipment-photo img[src*='trimble-r8'],
.equipment-photo img[src*='trimble-dgps']{transform:scale(1.24)}
.equipment-card:hover .equipment-photo img[src*='catamaran-echogram'],
.equipment-card:hover .equipment-photo img[src*='rib-echogram'],
.equipment-card:hover .equipment-photo img[src*='sl20-asv']{transform:scale(1.14)}
.equipment-card:hover .equipment-photo img[src*='edgetech-4125p'],
.equipment-card:hover .equipment-photo img[src*='tritech-seaking'],
.equipment-card:hover .equipment-photo img[src*='kongsberg-em3002'],
.equipment-card:hover .equipment-photo img[src*='odom-cv100'],
.equipment-card:hover .equipment-photo img[src*='odom-es3'],
.equipment-card:hover .equipment-photo img[src*='reson-seabat-8125h']{transform:scale(1.36)}
.equipment-card:hover .equipment-photo img[src*='aml-svp'],
.equipment-card:hover .equipment-photo img[src*='reson-svp'],
.equipment-card:hover .equipment-photo img[src*='trimble-r8'],
.equipment-card:hover .equipment-photo img[src*='trimble-dgps']{transform:scale(1.28)}

.equipment-group-toggle{
  font-size:24px !important;
  padding:24px 30px !important;
}
.equipment-group-toggle small{
  min-width:42px !important;
  height:42px !important;
  font-size:15px !important;
}

.equipment-card-body span{
  font-size:12px !important;
  letter-spacing:1.35px !important;
  margin-bottom:10px !important;
}
.equipment-card-body h3{
  font-size:18px !important;
  line-height:1.24 !important;
}

.equipment-accordion > .equipment-group:first-child .equipment-grid{
  grid-template-columns:repeat(3,1fr) !important;
}
.equipment-accordion > .equipment-group:first-child .equipment-photo{
  height:240px !important;
  background:#eef5ff !important;
}
.equipment-accordion > .equipment-group:first-child .equipment-photo img{
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.0) !important;
  width:100% !important;
  height:100% !important;
}
.equipment-accordion > .equipment-group:first-child .equipment-card:hover .equipment-photo img{
  transform:scale(1.05) !important;
}
.equipment-accordion > .equipment-group:first-child .equipment-card-body span{
  font-size:13px !important;
}
.equipment-accordion > .equipment-group:first-child .equipment-card-body h3{
  font-size:21px !important;
  line-height:1.18 !important;
}

.equipment-card-body{
  padding:20px !important;
}

.equipment-photo img[src*='edgetech-4125p'],
.equipment-photo img[src*='sl20-asv']{
  object-fit:contain !important;
  transform:scale(1.14) !important;
  background:transparent !important;
}
.equipment-card:hover .equipment-photo img[src*='edgetech-4125p'],
.equipment-card:hover .equipment-photo img[src*='sl20-asv']{
  transform:scale(1.18) !important;
}
@media(max-width:980px){
  .equipment-group-toggle{font-size:21px !important;}
  .equipment-accordion > .equipment-group:first-child .equipment-card-body h3{font-size:19px !important;}
}
@media(max-width:640px){
  .equipment-group-toggle{padding:20px 22px !important;font-size:18px !important;}
  .equipment-accordion > .equipment-group:first-child .equipment-photo{height:210px !important;}
  .equipment-card-body h3{font-size:16px !important;}
}

html,body{overflow-x:hidden}
img{max-width:100%;height:auto}

@media(max-width:1100px){
  .section-head.split{align-items:flex-start;gap:16px;flex-direction:column}
  .section-note{max-width:100%}
  .project-feature{grid-template-columns:1fr;gap:0}
  .project-feature-visual,
  .project-image.main{min-height:340px}
  .project-grid-rich{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-rich-body{padding:24px}
}

@media(max-width:880px){
  .container{width:min(100% - 28px,1180px)}

  .site-header{backdrop-filter:blur(14px)}
  .header-inner{
    min-height:78px !important;
    gap:12px;
    position:relative;
  }
  .brand{min-width:auto !important;flex:1 1 auto}
  .brand img{
    height:54px !important;
    max-width:210px !important;
  }
  .nav-toggle{
    display:block !important;
    margin-left:0 !important;
    padding:8px 6px !important;
    flex:0 0 auto;
  }
  .header-cta{display:none !important}

  .main-nav{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    display:none;
    flex-direction:column !important;
    gap:6px !important;
    padding:12px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid rgba(220,232,246,.95);
    border-radius:0 0 22px 22px;
    box-shadow:0 22px 45px rgba(6,24,70,.12) !important;
  }
  .main-nav.open{display:flex !important}
  .main-nav a{
    width:100%;
    padding:13px 14px !important;
    border-radius:14px;
    font-size:15px !important;
  }
  .main-nav a.active,
  .main-nav a:hover{background:#eff6ff}
  .main-nav a.active:after{display:none !important}

  .language-dock{
    right:50% !important;
    left:auto !important;
    top:auto !important;
    bottom:12px !important;
    transform:translateX(50%) !important;
    flex-direction:row !important;
    padding:6px !important;
    gap:6px !important;
    z-index:140;
  }

  .hero{
    min-height:auto !important;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:56px 0 48px !important;
  }
  .hero-content{
    max-width:100% !important;
    position:relative;
    z-index:5;
    padding-right:0 !important;
  }
  h1{font-size:clamp(36px,8.8vw,52px)}
  .lead,
  .tech-copy p:not(.eyebrow),
  .about-copy p:not(.eyebrow){font-size:16px !important;line-height:1.72 !important}
  .hero-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    max-width:360px;
  }
  .hero-actions .btn{width:100%}
  .hero-bg-scan{
    right:50% !important;
    transform:translateX(50%) !important;
    top:43% !important;
    width:min(860px,126vw) !important;
    height:56% !important;
    opacity:.30 !important;
  }
  .hero-bg-sweep{opacity:.8}
  .hero-bg-rings{opacity:.65}

  .section{padding:68px 0 !important}
  .section-head.center,
  .section-head.split{text-align:left}

  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .service-card{padding:24px 14px !important}
  .service-card img{width:64px !important;height:64px !important}

  .technology-grid,
  .about-grid,
  .contact-grid{grid-template-columns:1fr !important;gap:26px !important}
  .tech-copy{position:static !important}
  .tech-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}
  .tech-card{min-height:150px !important;padding:20px !important}

  .about-photo{
    order:-1;
    min-height:330px;
  }
  .about-photo img{
    width:100% !important;
    height:100% !important;
    min-height:330px;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important}
  .stats div{padding:18px !important}
  .stats strong{font-size:26px !important}

  .project-grid,
  .project-grid-rich{grid-template-columns:1fr !important;gap:18px !important}
  .project-feature-content{padding:24px !important}
  .project-feature-content h3{font-size:26px !important}
  .project-image.main,
  .project-feature-visual{min-height:300px !important}
  .project-points{grid-template-columns:repeat(3,minmax(0,1fr)) !important}

  .equipment-group-toggle{
    padding:18px 20px !important;
    font-size:20px !important;
    align-items:center !important;
  }
  .equipment-group-toggle span{line-height:1.25}
  .equipment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    padding:0 18px 20px !important;
  }
  .equipment-accordion > .equipment-group:first-child .equipment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .equipment-photo,
  .equipment-card img,
  .equipment-accordion > .equipment-group:first-child .equipment-photo{height:220px !important}
  .equipment-card-body{padding:18px !important}
  .equipment-card-body h3,
  .equipment-accordion > .equipment-group:first-child .equipment-card-body h3{font-size:18px !important;line-height:1.22 !important}
  .equipment-card-body span,
  .equipment-accordion > .equipment-group:first-child .equipment-card-body span{font-size:12px !important}
  .equipment-hover{padding:18px !important}
  .equipment-hover ul{font-size:14px !important;line-height:1.45 !important}

  .contact-card,
  .contact-form,
  .map-card{padding:22px !important}
  .contact-form{grid-template-columns:1fr !important}
  .contact-form .btn{width:100%}
  #osm-map{height:320px !important}

  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
  .footer-bottom{flex-direction:column !important;gap:8px;text-align:center}

  .loader-logo-card{width:min(360px,84vw) !important;padding:26px 24px !important}
  .loader-logo-card img{width:min(250px,78vw) !important}
}

@media(max-width:640px){
  .container{width:min(100% - 22px,1180px) !important}

  .header-inner{min-height:70px !important}
  .brand img{height:46px !important;max-width:182px !important}
  .main-nav{top:calc(100% + 6px) !important;padding:10px !important}
  .main-nav a{font-size:16px !important;padding:13px 12px !important}

  .lang-switch{width:38px !important;height:38px !important;font-size:14px !important}
  .language-dock{bottom:10px !important}

  .hero-grid{padding:40px 0 34px !important}
  h1{font-size:clamp(30px,10vw,42px)}
  h2{font-size:clamp(28px,8vw,36px)}
  .eyebrow{font-size:11px !important;letter-spacing:1.5px !important}
  .hero-bg-scan{
    width:132vw !important;
    height:50% !important;
    top:47% !important;
    opacity:.25 !important;
  }
  .hero-bg-sweep{opacity:.7}
  .hero-bg-rings{opacity:.55}
  .btn{width:100%;min-height:50px}

  .section{padding:56px 0 !important}
  .services-grid,
  .tech-cards,
  .equipment-grid,
  .equipment-accordion > .equipment-group:first-child .equipment-grid{grid-template-columns:1fr !important}

  .stats,
  .project-points{grid-template-columns:1fr !important}

  .project-feature-content,
  .project-rich-body{padding:20px !important}
  .project-feature-content h3{font-size:23px !important}
  .project-image.main,
  .project-feature-visual{min-height:240px !important}

  .equipment-group-toggle{
    padding:18px 16px !important;
    font-size:18px !important;
  }
  .equipment-group-toggle small{
    min-width:34px !important;
    height:34px !important;
    font-size:14px !important;
  }
  .equipment-photo,
  .equipment-card img,
  .equipment-accordion > .equipment-group:first-child .equipment-photo{height:230px !important}
  .equipment-card-body h3,
  .equipment-accordion > .equipment-group:first-child .equipment-card-body h3{font-size:17px !important}

  .about-photo,
  .about-photo img{min-height:260px !important}

  .contact-card,
  .contact-form,
  .map-card{padding:18px !important}
  .check-inline{align-items:flex-start !important;gap:10px !important}
  .check-inline input[type="checkbox"]{margin-top:2px !important}
  .internal-captcha{padding:14px !important}
  #osm-map{height:260px !important}

  .footer-grid{grid-template-columns:1fr !important}
  .footer-logo{width:210px !important}
  .footer-social a{justify-content:flex-start !important}

  .site-loader{padding:16px}
  .loader-logo-only{border-radius:24px}
  .loader-soft-grid{inset:-30% -28% -18% !important}
  .loader-logo-card{width:min(320px,86vw) !important;padding:22px 18px !important}
  .loader-logo-card img{width:min(220px,76vw) !important}
}

@media(max-width:420px){
  .header-inner{gap:8px !important}
  .brand img{height:42px !important;max-width:168px !important}
  .hero-grid{padding:34px 0 28px !important}
  .service-card,
  .tech-card{padding:18px 14px !important}
  .equipment-photo,
  .equipment-card img{height:210px !important}
  .equipment-hover strong{font-size:15px !important}
  .equipment-hover ul{font-size:13px !important}
  .project-tag{font-size:11px !important}
}

.about-photo{min-height:460px;aspect-ratio:4/3;padding:0;background:linear-gradient(180deg,#f7fbff,#edf4ff)}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.projects .section-head{align-items:flex-end}
.projects .project-feature{max-width:1180px;margin:0 auto}
.projects .project-feature-content{padding:38px}
.projects .project-feature-content h3{font-size:clamp(28px,3vw,38px)}
.projects .project-feature-content p{max-width:62ch}
.projects .project-feature ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;padding:0;list-style:none;margin:22px 0 0}
.projects .project-feature li{position:relative;padding-left:18px;font-weight:600;color:var(--navy)}
.projects .project-feature li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.equipment-group-toggle{font-size:24px}
.equipment-card h3{font-size:22px;line-height:1.2}
.equipment-card-body{padding:20px 20px 22px}
.equipment-photo{height:238px}
.equipment-photo img{transform:scale(1.28)}
.equipment-card:hover .equipment-photo img{transform:scale(1.34)}

.equipment-grid .equipment-card:nth-child(1) .equipment-photo img,
.equipment-grid .equipment-card:nth-child(2) .equipment-photo img,
.equipment-grid .equipment-card:nth-child(3) .equipment-photo img,
.equipment-grid .equipment-card:nth-child(4) .equipment-photo img{object-fit:contain}
@media (max-width: 1024px){
  .projects .project-feature ul{grid-template-columns:1fr}
  .about-photo{min-height:380px}
}
@media (max-width: 860px){
  .site-header .container.header-inner{position:relative;justify-content:center;min-height:86px;padding:10px 56px 10px 56px;gap:0}
  .site-header .brand{min-width:0;justify-content:center;align-self:center;width:auto;margin:0 auto}
  .site-header .brand img{height:48px;max-width:min(64vw,230px);display:block}
  .site-header .nav-toggle{display:block;position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;padding:10px}
  .site-header .header-cta{display:none}
  .site-header .main-nav{position:fixed;left:16px;right:16px;top:84px;margin:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 28px 60px rgba(6,24,70,.18);padding:14px}
  .site-header .main-nav.open{display:flex}
  .site-header .main-nav a{padding:14px 12px;border-radius:12px}
  .site-header .main-nav a.active:after{display:none}
  .site-header .main-nav a.active{background:#eef6ff}
  .about-photo{min-height:320px;aspect-ratio:auto}
  .about-photo img{object-position:center 68%}
  .projects .project-feature-content{padding:26px 20px 28px}
  .projects .project-feature-content h3{font-size:26px}
  .projects .project-feature-visual,.project-image.main{min-height:300px}
}
@media (max-width: 640px){
  .equipment-group-toggle{font-size:20px;padding:18px 18px}
  .equipment-grid{grid-template-columns:1fr;padding:0 16px 18px}
  .equipment-card h3{font-size:20px}
  .equipment-photo{height:220px}
  .about-photo{min-height:280px}
}


.form-website-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:118px;
}

.page-content{
  padding-top:102px;
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1200;
  border-bottom:1px solid rgba(207,221,239,.72);
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(12px);
  transition:background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}

.site-header.is-scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 36px rgba(6,24,70,.10);
}

.site-header .container.header-inner{
  transition:min-height .25s ease, padding .25s ease;
}

.site-header.is-scrolled .container.header-inner{
  min-height:88px;
}

.site-header .brand img{
  transition:height .25s ease, transform .25s ease;
}

.site-header.is-scrolled .brand img{
  transform:scale(.96);
}

.hero-bg-scan{
  pointer-events:none;
}

@media (max-width: 860px){
  html{
    scroll-padding-top:98px;
  }

  .page-content{
    padding-top:86px;
  }

  .site-header .container.header-inner{
    position:relative;
    justify-content:center;
    align-items:center;
    text-align:center;
    min-height:86px;
    padding:12px 56px !important;
    gap:0;
  }

  .site-header .brand{
    min-width:0;
    width:auto;
    margin:0 auto;
    justify-content:center;
    align-items:center;
    align-self:center;
  }

  .site-header .brand img{
    height:42px;
    max-width:min(70vw,240px);
    display:block;
  }

  .site-header .nav-toggle{
    display:block;
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    margin:0;
    padding:10px;
  }

  .site-header .header-cta{
    display:none;
  }

  .site-header .main-nav{
    position:fixed;
    left:16px;
    right:16px;
    top:84px;
    margin:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:0 28px 60px rgba(6,24,70,.18);
    padding:14px;
    z-index:1250;
  }

  .site-header .main-nav.open{
    display:flex;
  }

  .site-header .main-nav a{
    padding:14px 12px;
    border-radius:12px;
  }

  .site-header .main-nav a.active:after{
    display:none;
  }

  .site-header .main-nav a.active{
    background:#eef6ff;
  }

  .hero{
    min-height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    padding-bottom:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 72%,#eef7ff 100%) !important;
  }

  .hero-bg{
    opacity:.72;
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 42%,rgba(255,255,255,.82) 100%),url('../assets/bg-hero.png') center/cover no-repeat !important;
  }

  .hero-grid{
    display:block !important;
    padding:28px 0 0 !important;
  }

  .hero-content{
    max-width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
    padding:0 2px !important;
  }

  .hero-content .eyebrow,
  .hero-content h1,
  .hero-content .lead{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero-content h1{
    font-size:clamp(34px,10vw,48px);
    line-height:1.06;
    max-width:11ch;
  }

  .hero-content .lead{
    font-size:16px;
    line-height:1.65;
    margin:18px auto 24px;
    max-width:34ch;
  }

  .hero-actions{
    justify-content:center;
    gap:12px;
  }

  .hero-actions .btn{
    flex:1 1 100%;
    width:100%;
    justify-content:center;
  }

  section.hero > .hero-bg-scan,
  .hero-bg-scan{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    left:auto !important;
    display:block !important;
    width:min(92vw,420px) !important;
    height:252px !important;
    margin:18px auto 0 !important;
    opacity:1 !important;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 20px 48px rgba(20,61,132,.14);
    -webkit-mask-image:none !important;
    mask-image:none !important;
    -webkit-mask-composite:initial !important;
    mask-composite:initial !important;
  }

  .hero-bg-scan img{
    object-fit:cover;
    object-position:center center;
    transform:none !important;
    filter:brightness(1.04) contrast(.98) saturate(.92) hue-rotate(-6deg);
  }

  .hero-bg-scan:before{
    background:linear-gradient(180deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.04) 36%,rgba(255,255,255,.18) 100%),radial-gradient(circle at 50% 64%,rgba(55,143,255,.18),transparent 34%);
  }

  .hero-bg-pulse-only{
    width:86%;
    height:86%;
    left:50%;
    top:70%;
    transform:translate(-50%,-50%);
  }

  .hero-bg-rings{
    inset:-8% -4% auto -4%;
    height:108%;
  }

  .hero-bg-sweep{
    top:55%;
    height:82px;
  }
}

@media (max-width: 560px){
  .hero-grid{
    padding-top:22px !important;
  }

  .hero-content h1{
    font-size:clamp(30px,10.6vw,42px);
  }

  section.hero > .hero-bg-scan,
  .hero-bg-scan{
    width:min(92vw,380px) !important;
    height:224px !important;
    margin-top:16px !important;
  }
}


@media (max-width: 860px){
  .site-header .brand img{
    height: 50px !important;
    max-width: min(78vw, 290px) !important;
  }

  .site-header .container.header-inner{
    min-height: 92px !important;
    padding: 12px 60px !important;
  }

  .site-header .main-nav{
    top: 90px !important;
  }

  .hero-grid{
    padding-top: 24px !important;
  }

  .hero{
    padding-bottom: 28px !important;
  }

  .hero-content{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .hero-content .eyebrow,
  .hero-content h1,
  .hero-content .lead{
    max-width: 100% !important;
  }

  .hero-content .lead{
    max-width: 32ch !important;
  }

  .hero-bg-scan,
  section.hero > .hero-bg-scan{
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: min(92vw, 390px) !important;
    max-width: calc(100vw - 28px) !important;
    height: 238px !important;
    margin: 18px auto 0 !important;
    display: block !important;
  }

  .hero-bg-scan img,
  section.hero > .hero-bg-scan img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
}

@media (max-width: 560px){
  .site-header .brand img{
    height: 54px !important;
    max-width: min(80vw, 300px) !important;
  }

  .site-header .container.header-inner{
    min-height: 94px !important;
    padding: 12px 58px !important;
  }

  .hero-bg-scan,
  section.hero > .hero-bg-scan{
    width: min(92vw, 360px) !important;
    height: 220px !important;
    margin-top: 16px !important;
  }
}


@media (max-width: 860px){
  section.hero{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .hero-grid{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px 0 0 !important;
  }

  .hero-content{
    width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  section.hero > .hero-bg-scan,
  .hero-bg-scan{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    align-self:center !important;
    margin:20px auto 0 !important;
    display:block !important;
  }

  .hero-bg-scan img,
  section.hero > .hero-bg-scan img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

@media (max-width: 560px){
  .hero-grid{
    padding-top:20px !important;
  }

  section.hero > .hero-bg-scan,
  .hero-bg-scan{
    width:min(90vw, 350px) !important;
    height:214px !important;
    margin:18px auto 0 !important;
  }
}
