: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:18px;overflow:hidden;background:#fff;transition:.25s ease}.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)}.about-photo img{height:410px;width:100%;object-fit:cover}.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/equipment/catamaran-echogram.jpg')}.project-image.two{background-image:linear-gradient(180deg,transparent,rgba(6,24,70,.72)),url('../assets/bg-hero.png')}.project-image.three{background-image:linear-gradient(180deg,transparent,rgba(6,24,70,.72)),url('../assets/bg-footer.png')}.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}}

/* === V4: poziome logo + intro ładowania + skanowanie dna === */
.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}
}


/* === V5: brak animacji na zdjęciu hero + pełnoekranowe skanowanie dna w loaderze + mniejsze logo === */

/* mniejsze logo w nagłówku */
.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;
}

/* usuń animacje i nakładki ze zdjęcia startowego */
.hero-visual img{
  transition:none !important;
}
.hero-visual:hover img{
  transform:none !important;
}
.scan-line,
.scan-mesh,
.scan-radar{
  display:none !important;
}

/* nowy fullscreen loader */
.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}
}


/* === V6: sprzęt jako ładny grid 4 kafle + dane podstawowe po najechaniu === */
.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:190px;
  overflow:hidden;
  background:#eef6ff;
}
.equipment-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.equipment-card:hover .equipment-photo img{
  transform:scale(1.08);
  filter:saturate(1.08) contrast(1.02);
}
.equipment-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 45%,rgba(6,24,70,.28));
  opacity:.75;
  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,.10),rgba(6,24,70,.88)),
    radial-gradient(circle at 50% 26%,rgba(88,196,246,.34),transparent 36%);
  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}
}


/* === V7: LinkedIn w stopce === */
.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;
}


/* === V8: intro jak skan batymetryczny, bez napisu, logo wyżej i czyściej === */
.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}
}


/* === V9: rozbudowane opisy projektów === */
.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,.04),rgba(6,24,70,.66)),
    url('../assets/hero-scan.png');
  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{
    min-height:320px;
  }
  .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;
  }
}


/* === V10: simpler intro, better logo, restore lang switch === */
.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}}


/* === V11: fullscreen scanning intro, brighter hero, menu spacing, notification email === */
.main-nav{gap:30px !important}
@media(max-width:1180px){.main-nav{gap:22px !important}}

/* header logo remains modest */
.brand img{height:49px !important;max-width:234px !important}

/* brighter main visual */
.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}

/* richer fullscreen intro */
.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}}


/* === V12: poprawione tylko intro loading fullscreen z logo Echogram === */
.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}
}


/* === V13: loader bez zdjęcia, czyste skanowanie dna, kolorystyka logo === */
.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;
  }
}


/* === V14: maksymalnie uproszczone fullscreen intro + logo nagłówka -15% === */

/* logo w nagłówku jeszcze 15% mniejsze */
.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;
  }
}

/* proste intro full screen */
.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;
  }
}
