/* =========================================================================
   SSH — style.css (arkusz główny)
   Uporządkowany: usunięto 428 nieużywanych reguł (~64 KB).
   Kopia sprzed sprzątania: _archive/style.css.bak

   SPIS SEKCJI (kolejność w pliku):
     01. INTRO (ekran powitalny)
     02. MODEL 3D (scena / loader)
     03. HEADER + NAWIGACJA
     04. NAWIGACJA / MEGA-MENU USŁUG
     05. HERO (strona główna)
     06. PRZYCISKI
     07. MISJA / PROCES 01-03
     08. MAPA / OBSZAR DZIAŁANIA
     09. STOPKA
     10. USŁUGI — układ wspólny
     11. OKRUSZKI (breadcrumb)
     12. USŁUGI — opinia techniczna
     13. USŁUGI — szkoda AC
     14. USŁUGI — maszyny i urządzenia
     15. USŁUGI — szkoda OC
     16. USŁUGI — sprzęt pływający
     17. USŁUGI — majątek przemysłowy
     18. KONTAKT (formularz B2B)
     19. PARTNERZY
   ========================================================================= */

:root {
  --ssh-red: #e30613;
  --ssh-red-soft: rgba(227, 6, 19, 0.18);
  --ssh-bg: #070a0f;
  --ssh-panel: rgba(13, 18, 25, 0.76);
  --ssh-line: rgba(255, 255, 255, 0.11);
  --ssh-text: #f6f8fb;
  --ssh-muted: rgba(246, 248, 251, 0.68);
  --ssh-faint: rgba(246, 248, 251, 0.42);
  --ssh-max: 1320px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  background: var(--ssh-bg);
  color: var(--ssh-text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: geometricPrecision;
}
html {
  scroll-behavior: smooth;
}
body:not(.is-site-visible) {
  overflow: hidden;
}
/* INTRO */
/* ==========================================================================
   INTRO (ekran powitalny)
   ========================================================================== */
.ssh-intro {
  position: fixed;
  inset: 0;
  z-index: 50;
  width: 100vw;
  height: 100vh;
  min-height: 720px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.065), transparent 30%),
    radial-gradient(circle at 72% 60%, rgba(227, 6, 19, 0.10), transparent 34%),
    #070a0f;
  overflow: hidden;
  isolation: isolate;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.9s ease, transform 0.9s ease, visibility 0.9s ease;
}
body.is-site-visible .ssh-intro {
  opacity: 0;
  transform: scale(1.035);
  visibility: hidden;
  pointer-events: none;
}
/* ==========================================================================
   MODEL 3D (scena / loader)
   ========================================================================== */
.ssh-model-stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  background: transparent;
  isolation: isolate;
}
.ssh-model-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 58px 58px;
  opacity: 0.24;
  mask-image: radial-gradient(circle at 50% 48%, black 0%, transparent 70%);
}
.ssh-model-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  cursor: grab;
}
.ssh-model-canvas:active {
  cursor: grabbing;
}
.ssh-model-loader {
  position: absolute;
  left: 50%;
  bottom: clamp(30px, 7vh, 76px);
  z-index: 5;
  width: min(340px, calc(100% - 48px));
  transform: translateX(-50%);
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.ssh-model-stage.is-ready .ssh-model-loader {
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
}
.ssh-loader-copy {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 10px;
  color: rgba(238, 244, 248, 0.72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ssh-loader-copy strong { color: #fff; font-variant-numeric: tabular-nums; }
.ssh-loader-bar {
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  overflow: hidden;
}
.ssh-loader-bar span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,255,255,0.28), rgba(255,255,255,0.9), rgba(227,6,19,0.8));
  box-shadow: 0 0 22px rgba(227, 6, 19, 0.45);
  transition: width 0.18s linear;
}
.ssh-model-actions {
  position: absolute;
  left: 50%;
  bottom: clamp(42px, 8vh, 92px);
  z-index: 6;
  transform: translateX(-50%) translateY(18px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.75s ease, transform 0.75s ease;
}
.ssh-model-stage.is-ready .ssh-model-actions {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.ssh-model-stage.is-exploding .ssh-model-actions,
.ssh-model-stage.is-analysis-done .ssh-model-actions {
  opacity: 0;
  transform: translateX(-50%) translateY(18px);
  pointer-events: none;
}
.ssh-analyze-btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  outline: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  padding: 16px 30px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f10918, #bc0610);
  color: #fff;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 18px 52px rgba(227, 6, 19, 0.34), inset 0 1px 0 rgba(255,255,255,0.24);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ssh-analyze-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -42%;
  width: 38%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.42), transparent);
  transform: skewX(-18deg);
  transition: left 0.7s ease;
}
.ssh-analyze-btn:hover { transform: translateY(-2px); }
.ssh-analyze-btn:hover::before { left: 112%; }
/* Pominięcie intro — subtelny link w rogu, widoczny od startu. */
.ssh-intro-skip {
  appearance: none;
  position: absolute;
  right: clamp(18px, 3vw, 42px);
  bottom: clamp(18px, 3.4vh, 38px);
  z-index: 7;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.62);
  font-family: inherit;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.ssh-intro-skip:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.08);
}
.ssh-model-stage.is-exploding .ssh-intro-skip,
.ssh-model-stage.is-analysis-done .ssh-intro-skip {
  opacity: 0;
  pointer-events: none;
}
/* SITE */
.ssh-site {
  min-height: 100vh;
  background: var(--ssh-bg);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s ease 0.25s, transform 0.9s ease 0.25s;
}
body.is-site-visible .ssh-site {
  opacity: 1;
  transform: translateY(0);
}
/* ==========================================================================
   HEADER + NAWIGACJA
   ========================================================================== */
.ssh-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 76px;
  background: rgba(9, 13, 18, 0.88);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(22px);
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.24);
}
.ssh-header-inner {
  position: relative;
  width: min(var(--ssh-max), calc(100% - 56px));
  height: 76px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr minmax(280px, auto);
  align-items: center;
  gap: 24px;
}
.ssh-logo {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 154px;
  height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background: rgba(255,255,255,0.97);
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 0 0 14px 14px;
  box-shadow: 0 18px 42px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.8);
}
.ssh-logo strong {
  color: var(--ssh-red);
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.075em;
}
.ssh-logo span {
  margin-top: 10px;
  color: rgba(16,16,16,0.68);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
/* ==========================================================================
   NAWIGACJA / MEGA-MENU USŁUG
   ========================================================================== */
.ssh-nav {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 3vw, 48px);
}
.ssh-nav a,
.ssh-header-contact a {
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.ssh-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  font-size: 0.9rem;
  font-weight: 800;
}
.ssh-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--ssh-red);
  transform: translateX(-50%);
  transition: width 0.22s ease;
}
.ssh-nav a:hover,
.ssh-nav a.is-active,
.ssh-header-contact a:hover {
  color: #fff;
}
.ssh-nav a:hover::after,
.ssh-nav a.is-active::after { width: 46px; }
.ssh-header-contact {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  color: rgba(255,255,255,0.72);
  font-size: 0.78rem;
  white-space: nowrap;
}
.ssh-header-contact a {
  position: relative;
  color: rgba(255,255,255,0.84);
}
.ssh-header-contact a + a {
  padding-left: 18px;
}
.ssh-header-contact a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 15px;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.18);
}
.ssh-phone::before,
.ssh-mail::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 12px rgba(227, 6, 19, 0.62);
}
/* HERO */
/* ==========================================================================
   HERO (strona główna)
   ========================================================================== */
.ssh-hero {
  --mx: 72%;
  --my: 38%;
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: calc(100vh - 76px);
  padding: clamp(52px, 6vw, 86px) 0 clamp(44px, 5vw, 74px);
  background:
    radial-gradient(circle at 78% 38%, rgba(227, 6, 19, 0.16), transparent 30%),
    linear-gradient(135deg, #070a0f 0%, #09101a 46%, #070a0f 100%);
}
.ssh-hero-grid,
.ssh-hero-noise,
.ssh-hero-glow,
.ssh-radar,
.ssh-hud,
.ssh-cursor-aura,
.ssh-cursor-ring,
.ssh-floating-points { pointer-events: none; position: absolute; }
.ssh-hero-grid {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.038) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: 0.34;
  mask-image: linear-gradient(to bottom, black 0%, rgba(0,0,0,0.94) 68%, transparent 100%);
}
.ssh-hero-noise {
  inset: 0;
  opacity: 0.08;
  background-image:
    radial-gradient(rgba(255,255,255,0.38) 0.4px, transparent 0.4px),
    radial-gradient(rgba(255,255,255,0.16) 0.4px, transparent 0.4px);
  background-position: 0 0, 15px 15px;
  background-size: 30px 30px;
}
.ssh-hero-glow {
  right: -180px;
  top: 12%;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227, 6, 19, 0.28), rgba(227, 6, 19, 0) 62%);
  filter: blur(44px);
  opacity: 0.72;
}
.ssh-radar {
  right: -18px;
  top: 118px;
  width: 540px;
  height: 540px;
  border-radius: 50%;
  opacity: 0.32;
  background:
    radial-gradient(circle at center, transparent 0 56px, rgba(227, 6, 19, 0.22) 57px 58px, transparent 59px 108px, rgba(227, 6, 19, 0.20) 109px 110px, transparent 111px 164px, rgba(227, 6, 19, 0.18) 165px 166px, transparent 167px 220px, rgba(227, 6, 19, 0.15) 221px 222px, transparent 223px);
}
.ssh-hud {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: rgba(255,255,255,0.42);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.ssh-hud-a { top: 92px; right: 112px; }
.ssh-hud-b { right: 112px; bottom: 36px; align-items: flex-end; color: rgba(255,255,255,0.34); }
.ssh-hero-inner {
  position: relative;
  z-index: 2;
  width: min(var(--ssh-max), calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(430px, 0.9fr);
  align-items: center;
  gap: clamp(28px, 3.5vw, 48px);
}
.ssh-hero-copy {
  max-width: 560px;
  padding-top: 28px;
}
.ssh-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-bottom: 24px;
  padding: 0 18px;
  color: var(--ssh-red);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.ssh-kicker::before,
.ssh-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid var(--ssh-red);
  transform: translateY(-50%);
}
.ssh-kicker::before { left: 0; border-left: 2px solid var(--ssh-red); }
.ssh-kicker::after { right: 0; border-right: 2px solid var(--ssh-red); }
.ssh-hero-copy h1 {
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(3rem, 4.7vw, 4.95rem);
  line-height: 0.95;
  letter-spacing: -0.085em;
}
.ssh-hero-copy h1 span { color: #ff3945; }
.ssh-title-line {
  width: min(340px, 64%);
  height: 1px;
  margin-bottom: 22px;
  background: linear-gradient(90deg, var(--ssh-red) 0 86px, rgba(255,255,255,0.18) 86px 100%);
}
.ssh-hero-copy p {
  max-width: 560px;
  margin-bottom: 24px;
  color: var(--ssh-muted);
  font-size: 0.92rem;
  line-height: 1.72;
}
.ssh-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
}
/* ==========================================================================
   PRZYCISKI
   ========================================================================== */
.ssh-btn {
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 800;
  transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}
.ssh-btn:hover { transform: translateY(-2px); }
.ssh-btn-red {
  background: linear-gradient(135deg, #ff1625, #d50713);
  color: #fff;
  box-shadow: 0 16px 44px rgba(227, 6, 19, 0.24);
}
.ssh-btn-ghost {
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.16);
}
.ssh-btn-ghost:hover { border-color: rgba(255,255,255,0.48); }
.ssh-hero-stats {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 540px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.02));
  box-shadow: 0 20px 60px rgba(0,0,0,0.22);
  overflow: hidden;
}
.ssh-hero-stats div {
  min-height: 84px;
  padding: 15px 16px 14px;
  position: relative;
}
.ssh-hero-stats div + div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: rgba(255,255,255,0.10);
}
.ssh-hero-stats i {
  display: inline-flex;
  width: 26px;
  height: 26px;
  margin-bottom: 10px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(227, 6, 19, 0.5);
  color: var(--ssh-red);
  font-style: normal;
  font-size: 0.78rem;
}
.ssh-hero-stats strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: -0.06em;
}
.ssh-hero-stats span {
  display: block;
  color: rgba(255,255,255,0.62);
  font-size: 0.78rem;
  line-height: 1.35;
}
body.is-site-visible .ssh-hero-copy > *,
body.is-site-visible .ssh-analysis-panel {
  animation: sshHeroEnter 0.9s cubic-bezier(.2,.8,.2,1) both;
}
body.is-site-visible .ssh-hero-copy > *:nth-child(1) { animation-delay: 0.08s; }
body.is-site-visible .ssh-hero-copy > *:nth-child(2) { animation-delay: 0.14s; }
body.is-site-visible .ssh-hero-copy > *:nth-child(3) { animation-delay: 0.20s; }
body.is-site-visible .ssh-hero-copy > *:nth-child(4) { animation-delay: 0.26s; }
body.is-site-visible .ssh-hero-copy > *:nth-child(5) { animation-delay: 0.32s; }
body.is-site-visible .ssh-analysis-panel { animation-delay: 0.20s; }
@keyframes sshHeroEnter {
  from {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@media (max-width: 1180px) {
.ssh-header-inner,
  .ssh-hero-inner {
    width: min(var(--ssh-max), calc(100% - 40px));
  }
.ssh-hero-inner {
    grid-template-columns: 1fr;
    gap: 26px;
  }
.ssh-radar,
  .ssh-hud-a,
  .ssh-hud-b {
    opacity: 0.45;
  }
}
@media (max-width: 980px) {
.ssh-header {
    position: relative;
  }
.ssh-header-inner {
    height: auto;
    min-height: 76px;
    grid-template-columns: 1fr;
    padding: 88px 0 16px;
    gap: 14px;
  }
.ssh-logo {
    left: 50%;
    transform: translateX(-50%);
  }
.ssh-nav {
    grid-column: auto;
    gap: 26px;
  }
.ssh-nav a {
    min-height: 32px;
  }
.ssh-header-contact {
    justify-content: center;
    flex-wrap: wrap;
  }
.ssh-hero {
    min-height: auto;
    padding-top: 36px;
  }
.ssh-hero-copy {
    max-width: 100%;
    padding-top: 4px;
  }
}
@media (max-width: 720px) {
.ssh-hero-copy h1 {
    font-size: clamp(2.5rem, 13vw, 4.1rem);
  }
.ssh-kicker {
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    padding: 0 14px;
  }
.ssh-hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }
.ssh-btn {
    width: 100%;
    justify-content: center;
  }
.ssh-hero-stats {
    grid-template-columns: 1fr;
  }
.ssh-hero-stats div + div::before {
    top: 0;
    bottom: auto;
    left: 18px;
    right: 18px;
    width: auto;
    height: 1px;
  }
.ssh-radar,
  .ssh-hud {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
.ssh-intro,
  .ssh-site,
  .ssh-model-actions,
  .ssh-model-loader,
  .ssh-analyze-btn,
  .ssh-btn {
    transition: none;
    animation: none;
  }
}
/* FIX: panel jako grafika bez szarego/checkerboardowego marginesu */
--bg: #070a0e;
      --panel: #11161d;
      --panel-2: #0c1117;
      --line: rgba(255,255,255,.09);
      --line-2: rgba(255,255,255,.15);
      --text: #f4f7fb;
      --muted: #858c97;
      --muted-2: #5d6570;
      --red: #ff1d24;
      --red-soft: rgba(255,29,36,.18);
    }


      min-height: 100vh;
      margin: 0;
      display: grid;
      place-items: center;
      background:
        radial-gradient(circle at 50% 0%, rgba(92, 116, 152, .22), transparent 38%),
        radial-gradient(circle at 0% 100%, rgba(255, 29, 36, .08), transparent 34%),
        var(--bg);
      color: var(--text);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

.ssh-analysis-panel .report-card {
      width: min(545px, calc(100vw - 28px));
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.045), transparent 16%),
        linear-gradient(135deg, rgba(255,255,255,.025), transparent 36%),
        var(--panel-2);
      box-shadow:
        0 24px 70px rgba(0,0,0,.62),
        inset 0 1px 0 rgba(255,255,255,.06);
    }
.ssh-analysis-panel .status {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 8px 13px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 7px;
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      color: #d9dde5;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      box-shadow: inset 0 0 18px rgba(255,29,36,.06);
    }
.ssh-analysis-panel .dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--red);
      box-shadow: 0 0 12px rgba(255,29,36,.85);
    }
.ssh-analysis-panel .step {
      position: relative;
      min-height: 64px;
      display: grid;
      grid-template-columns: 40px 1fr auto;
      column-gap: 25px;
      align-items: start;
    }
.ssh-analysis-panel .step:not(:last-child)::after {
      content: "";
      position: absolute;
      left: 20px;
      top: 39px;
      bottom: -8px;
      width: 1px;
      background: linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,.04));
    }
.ssh-analysis-panel .step:not(:last-child) .content {
      border-bottom: 1px solid rgba(255,255,255,.055);
    }
.ssh-analysis-panel .circle {
      position: relative;
      z-index: 2;
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.18);
      background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
      color: var(--red);
    }
.ssh-analysis-panel .check {
      width: 16px;
      height: 10px;
      border-left: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: rotate(-45deg) translate(1px, -1px);
    }
.ssh-analysis-panel .time {
      min-width: 70px;
      padding-top: 7px;
      color: #a2a8b2;
      font-size: 13px;
      text-align: right;
    }
.ssh-analysis-panel .c2 { right: 14px; top: 25px; border-top: 1px solid; border-right: 1px solid; }
.ssh-analysis-panel .c4 { right: 14px; bottom: 28px; border-bottom: 1px solid; border-right: 1px solid; }
.ssh-analysis-panel .label { fill: #f2454a; font-size: 7px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.ssh-analysis-panel .params {
      height: 203px;
      padding: 18px 22px 12px 15px;
      border-left: 1px solid rgba(255,255,255,.14);
      background: linear-gradient(90deg, rgba(255,255,255,.035), transparent);
    }
.ssh-analysis-panel .params h2 {
      margin: 0 0 15px;
      color: var(--red);
      font-size: 10px;
      line-height: 1;
      letter-spacing: .26em;
      text-transform: uppercase;
    }
@media (max-width: 560px) {
.ssh-analysis-panel .params { height: auto; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
.ssh-analysis-panel .step { grid-template-columns: 40px 1fr 55px; column-gap: 16px; }
}
/* Inline report fragment injected into hero */
.ssh-analysis-panel .status { font-size: 9px; }
.ssh-analysis-panel .time { font-size: 12px; }
.ssh-analysis-panel .params { height: 196px; }
/* =========================
   SUBTELNE EFEKTY TŁA + MYSZKA
   ========================= */
.ssh-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.72;
  background:
    radial-gradient(
      420px circle at var(--mx) var(--my),
      rgba(255, 255, 255, 0.075),
      rgba(227, 6, 19, 0.075) 18%,
      rgba(227, 6, 19, 0.025) 34%,
      transparent 64%
    );
  transition: opacity 0.25s ease;
  mix-blend-mode: screen;
}
.ssh-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.18;
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 7px,
      rgba(255, 255, 255, 0.035) 8px
    );
  mask-image: linear-gradient(to bottom, transparent, black 18%, black 82%, transparent);
}
.ssh-cursor-aura {
  z-index: 1;
  left: var(--mx);
  top: var(--my);
  width: 390px;
  height: 390px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, rgba(227, 6, 19, 0.16), rgba(227, 6, 19, 0.05) 35%, transparent 66%);
  filter: blur(26px);
  opacity: 0.62;
  mix-blend-mode: screen;
}
.ssh-cursor-ring {
  z-index: 1;
  left: var(--mx);
  top: var(--my);
  width: 156px;
  height: 156px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.35;
  background:
    radial-gradient(circle, transparent 0 44%, rgba(227, 6, 19, 0.34) 45% 46%, transparent 47% 61%, rgba(255, 255, 255, 0.16) 62% 63%, transparent 64%);
  filter: drop-shadow(0 0 18px rgba(227, 6, 19, 0.22));
}
.ssh-floating-points {
  z-index: 1;
  inset: 90px 0 0;
  overflow: hidden;
  opacity: 0.74;
}
.ssh-floating-points i {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255, 52, 64, 0.72);
  box-shadow: 0 0 16px rgba(227, 6, 19, 0.72);
  animation: sshPointFloat 7s ease-in-out infinite;
}
.ssh-floating-points i:nth-child(1) { left: 12%; top: 22%; animation-delay: -1s; }
.ssh-floating-points i:nth-child(2) { left: 34%; top: 16%; animation-delay: -4s; }
.ssh-floating-points i:nth-child(3) { left: 58%; top: 28%; animation-delay: -2.5s; }
.ssh-floating-points i:nth-child(4) { left: 83%; top: 18%; animation-delay: -5.5s; }
.ssh-floating-points i:nth-child(5) { left: 72%; top: 74%; animation-delay: -3s; }
.ssh-floating-points i:nth-child(6) { left: 26%; top: 68%; animation-delay: -6.5s; }
@keyframes sshPointFloat {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(0.72);
    opacity: 0.16;
  }

  45% {
    transform: translate3d(18px, -24px, 0) scale(1);
    opacity: 0.84;
  }
}
.ssh-analysis-panel .report-card,
.ssh-hero-stats,
.ssh-btn {
  will-change: transform;
}
@media (max-width: 720px) {
.ssh-cursor-aura,
  .ssh-cursor-ring,
  .ssh-floating-points {
    display: none;
  }
.ssh-hero::before {
    opacity: 0.32;
    background:
      radial-gradient(circle at 78% 26%, rgba(227, 6, 19, 0.10), transparent 44%);
  }
}
/* =========================
   RADAR + KURSOR V2
   ========================= */
/* brak czerwonej przelatującej linii — celowo usunięte */
.ssh-radar {
  right: -48px;
  top: 132px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  opacity: 0.48;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(227, 6, 19, 0.10) 0 3px, transparent 4px),
    radial-gradient(circle at center, transparent 0 52px, rgba(227, 6, 19, 0.28) 53px 54px, transparent 55px 104px, rgba(227, 6, 19, 0.22) 105px 106px, transparent 107px 158px, rgba(227, 6, 19, 0.18) 159px 160px, transparent 161px 212px, rgba(227, 6, 19, 0.15) 213px 214px, transparent 215px 266px, rgba(227, 6, 19, 0.10) 267px 268px, transparent 269px),
    conic-gradient(from 130deg, transparent 0deg, rgba(227, 6, 19, 0.08) 22deg, transparent 48deg, transparent 180deg, rgba(255,255,255,0.045) 181deg, transparent 182deg, transparent 270deg, rgba(255,255,255,0.04) 271deg, transparent 272deg);
  filter: drop-shadow(0 0 30px rgba(227, 6, 19, 0.16));
}
.ssh-radar::before {
  content: "";
  position: absolute;
  inset: 50%;
  width: 1px;
  height: 47%;
  transform-origin: 0 0;
  background: linear-gradient(to bottom, rgba(227, 6, 19, 0.64), rgba(227, 6, 19, 0));
  animation: sshRadarRotate 8s linear infinite;
}
.ssh-radar::after {
  content: "";
  position: absolute;
  inset: 17%;
  border-radius: 50%;
  border: 1px dashed rgba(227, 6, 19, 0.16);
  animation: sshRadarPulse 3.8s ease-in-out infinite;
}
.ssh-radar-sweep {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 46%;
  height: 46%;
  transform-origin: left top;
  background: conic-gradient(from -16deg at 0 0, rgba(227, 6, 19, 0.24), rgba(227, 6, 19, 0.08) 24deg, transparent 55deg);
  mix-blend-mode: screen;
  animation: sshRadarRotate 8s linear infinite;
}
.ssh-radar-line {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(227, 6, 19, 0.28), transparent);
}
.ssh-radar-line-a { transform: rotate(0deg); }
.ssh-radar-line-b { transform: rotate(90deg); }
.ssh-radar-blip {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 55, 68, 0.88);
  box-shadow: 0 0 16px rgba(227, 6, 19, 0.95);
  animation: sshBlip 2.8s ease-in-out infinite;
}
.ssh-radar-blip-a { left: 61%; top: 32%; animation-delay: -0.4s; }
.ssh-radar-blip-b { left: 42%; top: 58%; animation-delay: -1.4s; }
.ssh-radar-blip-c { left: 72%; top: 67%; animation-delay: -2.1s; }
@keyframes sshRadarRotate {
  to { transform: rotate(360deg); }
}
@keyframes sshRadarPulse {
  0%, 100% {
    transform: scale(0.96);
    opacity: 0.24;
  }
  50% {
    transform: scale(1.04);
    opacity: 0.58;
  }
}
@keyframes sshBlip {
  0%, 100% {
    opacity: 0.22;
    transform: scale(0.75);
  }
  46% {
    opacity: 1;
    transform: scale(1.28);
  }
}
/* kursor — mocniejszy, ale dalej premium/subtelny */
.ssh-hero::before {
  z-index: 2;
  opacity: 0.2;
  background:
    radial-gradient(
      520px circle at var(--mx) var(--my),
      rgba(255, 255, 255, 0.13),
      rgba(227, 6, 19, 0.12) 17%,
      rgba(227, 6, 19, 0.045) 35%,
      transparent 68%
    );
  transition: opacity 0.2s ease;
}
.ssh-hero.is-pointer-active::before {
  opacity: 0.86;
}
.ssh-cursor-aura {
  z-index: 2;
  left: var(--mx);
  top: var(--my);
  width: 520px;
  height: 520px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, rgba(255,255,255,0.10), transparent 11%),
    radial-gradient(circle, rgba(227, 6, 19, 0.22), rgba(227, 6, 19, 0.07) 36%, transparent 67%);
  filter: blur(20px);
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity 0.22s ease;
}
.ssh-hero.is-pointer-active .ssh-cursor-aura {
  opacity: 0.78;
}
.ssh-cursor-ring {
  z-index: 2;
  left: var(--mx);
  top: var(--my);
  width: 210px;
  height: 210px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  background:
    radial-gradient(circle, transparent 0 39%, rgba(227, 6, 19, 0.44) 40% 41%, transparent 42% 58%, rgba(255, 255, 255, 0.19) 59% 60%, transparent 61%),
    conic-gradient(from 0deg, transparent, rgba(227, 6, 19, 0.26), transparent 24%, transparent);
  filter: drop-shadow(0 0 24px rgba(227, 6, 19, 0.30));
  transition: opacity 0.22s ease;
  animation: sshCursorRingRotate 7.5s linear infinite;
}
.ssh-hero.is-pointer-active .ssh-cursor-ring {
  opacity: 0.5;
}
.ssh-cursor-cross {
  z-index: 2;
  left: var(--mx);
  top: var(--my);
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.ssh-cursor-cross::before,
.ssh-cursor-cross::after {
  content: "";
  position: absolute;
  background: rgba(227, 6, 19, 0.42);
  box-shadow: 0 0 14px rgba(227, 6, 19, 0.26);
}
.ssh-cursor-cross::before {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
}
.ssh-cursor-cross::after {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}
.ssh-hero.is-pointer-active .ssh-cursor-cross {
  opacity: 0.22;
}
@keyframes sshCursorRingRotate {
  to { rotate: 360deg; }
}
.ssh-hero-inner {
  z-index: 3;
}
@media (max-width: 720px) {
.ssh-radar {
    opacity: 0.22;
    right: -230px;
  }
.ssh-cursor-cross {
    display: none;
  }
}
/* =========================
   MODEL TRANSFER — DUŻY MODEL -> RAPORT
   ========================= */
.ssh-intro.is-transferring {
  background:
    radial-gradient(circle at 73% 54%, rgba(227, 6, 19, 0.13), transparent 22%),
    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.045), transparent 32%),
    #070a0f;
}
.ssh-intro.is-transferring .ssh-model-canvas {
  animation: sshCanvasTransfer 1.2s cubic-bezier(.2,.85,.2,1) forwards;
  transform-origin: 73% 54%;
  filter:
    drop-shadow(0 0 34px rgba(227, 6, 19, 0.26))
    blur(0);
}
@keyframes sshCanvasTransfer {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: drop-shadow(0 0 28px rgba(227, 6, 19, 0.18)) blur(0);
  }

  58% {
    transform: translate3d(13vw, 1.8vh, 0) scale(0.52);
    opacity: 0.86;
    filter: drop-shadow(0 0 42px rgba(227, 6, 19, 0.30)) blur(0.2px);
  }

  100% {
    transform: translate3d(23vw, 3.6vh, 0) scale(0.22);
    opacity: 0;
    filter: drop-shadow(0 0 38px rgba(227, 6, 19, 0.26)) blur(2px);
  }
}
.ssh-model-transfer-label {
  position: absolute;
  left: 50%;
  bottom: clamp(42px, 8vh, 92px);
  z-index: 7;
  transform: translateX(-50%) translateY(18px);
  opacity: 0;
  pointer-events: none;
  color: rgba(255,255,255,0.74);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: opacity 0.28s ease, transform 0.28s ease;
}
.ssh-intro.is-transferring .ssh-model-transfer-label {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.ssh-intro.is-transferring .ssh-model-actions {
  opacity: 0;
  pointer-events: none;
}
.ssh-intro.is-transferring::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: 36vw;
  max-width: 520px;
  height: 1px;
  transform: translate(-8%, -50%) rotate(3deg);
  background: linear-gradient(90deg, transparent, rgba(227, 6, 19, 0.64), transparent);
  opacity: 0;
  animation: sshTransferTrace 1.05s ease forwards;
}
@keyframes sshTransferTrace {
  0%, 12% {
    opacity: 0;
    transform: translate(-22%, -50%) rotate(3deg) scaleX(0.2);
  }

  42% {
    opacity: 0.72;
  }

  100% {
    opacity: 0;
    transform: translate(26%, -50%) rotate(3deg) scaleX(1);
  }
}
/* =========================
   MINI MODEL W RAPORCIE
   ========================= */
body.is-site-visible .report-model-canvas {
  opacity: 1;
  transform: scale(1);
}
.report-model-scan {
  position: absolute;
  top: -18%;
  bottom: -18%;
  left: 18%;
  z-index: 3;
  width: 2px;
  background: linear-gradient(to bottom, transparent, rgba(227, 6, 19, 0.94), transparent);
  box-shadow: 0 0 24px rgba(227, 6, 19, 0.68);
  animation: sshReportMiniScan 3.2s ease-in-out infinite;
}
@keyframes sshReportMiniScan {
  0%, 100% {
    transform: translateX(-48px);
    opacity: 0;
  }

  18%, 76% {
    opacity: 1;
  }

  88% {
    transform: translateX(255px);
    opacity: 0;
  }
}
body.is-site-visible .ssh-analysis-panel .report-card {
  animation: sshReportMaterialize 0.82s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: 0.16s;
}
@keyframes sshReportMaterialize {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(20px);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: scale(0.96) translateY(0);
    filter: blur(0);
  }
}
@media (max-width: 1180px) {
@keyframes sshReportMaterialize {
    from {
      opacity: 0;
      transform: translateY(20px);
      filter: blur(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
.ssh-intro.is-transferring .ssh-model-canvas,
  .ssh-intro.is-transferring::after,
  .report-model-scan,
  body.is-site-visible .ssh-analysis-panel .report-card {
    animation: none;
  }
}
/* =========================
   POPRAWKI V2 — RAPORT CZYTELNIEJSZY + WIĘKSZY MODEL
   ========================= */
.ssh-hero-inner {
  grid-template-columns: minmax(0, 0.82fr) minmax(620px, 1.05fr);
  gap: clamp(34px, 4vw, 62px);
}
.ssh-hero-copy {
  max-width: 560px;
}
.ssh-hero-copy h1 {
  font-size: clamp(2.85rem, 4.25vw, 4.65rem);
}
.ssh-analysis-panel .status {
  padding: 9px 14px;
  font-size: 9px;
  letter-spacing: .09em;
  background:
    radial-gradient(circle at 12% 50%, rgba(227, 6, 19, .22), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}
.ssh-analysis-panel .step {
  min-height: 76px;
  grid-template-columns: 46px minmax(0, 1fr) 96px;
  column-gap: 22px;
}
.ssh-analysis-panel .step:not(:last-child)::after {
  left: 23px;
  top: 45px;
  bottom: -10px;
}
.ssh-analysis-panel .circle {
  width: 46px;
  height: 46px;
}
.ssh-analysis-panel .check {
  width: 17px;
  height: 11px;
}
.ssh-analysis-panel .time {
  min-width: 96px;
  padding-top: 9px;
  font-size: 12.5px;
  color: rgba(232,238,247,.70);
}
.ssh-analysis-panel .report-model-panel,
.ssh-analysis-panel .params {
  height: 248px;
}
.ssh-analysis-panel .params {
  padding: 22px 24px 16px 20px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045), transparent),
    rgba(7, 11, 16, .34);
}
.ssh-analysis-panel .params h2 {
  margin-bottom: 18px;
  font-size: 10px;
  letter-spacing: .28em;
}
body.is-site-visible .report-model-canvas {
  transform: scale(1.16);
}
.report-model-scan {
  left: 0;
  top: -20%;
  bottom: -20%;
  z-index: 4;
  width: 2px;
  opacity: 0;
  background:
    linear-gradient(to bottom, transparent, rgba(255,255,255,.12), rgba(227, 6, 19, .98), rgba(255,255,255,.12), transparent);
  box-shadow:
    0 0 18px rgba(227, 6, 19, .85),
    0 0 42px rgba(227, 6, 19, .34);
  animation: sshReportMiniScanV2 2.7s cubic-bezier(.55,0,.25,1) infinite;
}
.report-model-scan::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -34px;
  width: 68px;
  background: linear-gradient(90deg, transparent, rgba(227,6,19,.12), transparent);
}
@keyframes sshReportMiniScanV2 {
  0%, 8% {
    transform: translateX(16px);
    opacity: 0;
  }

  18% {
    opacity: 1;
  }

  78% {
    opacity: 1;
  }

  92%, 100% {
    transform: translateX(430px);
    opacity: 0;
  }
}
body.is-site-visible .ssh-analysis-panel .report-card {
  animation: sshReportMaterializeV2 0.82s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: 0.16s;
}
@keyframes sshReportMaterializeV2 {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.98);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@media (max-width: 1280px) {
.ssh-hero-inner {
    grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1fr);
  }
.ssh-analysis-panel .report-model-panel,
  .ssh-analysis-panel .params {
    height: 230px;
  }
@keyframes sshReportMiniScanV2 {
    0%, 8% { transform: translateX(16px); opacity: 0; }
    18% { opacity: 1; }
    78% { opacity: 1; }
    92%, 100% { transform: translateX(370px); opacity: 0; }
  }
}
@media (max-width: 1180px) {
.ssh-hero-inner {
    grid-template-columns: 1fr;
  }
body.is-site-visible .ssh-analysis-panel .report-card {
    animation: sshReportMaterializeMobileV2 .82s cubic-bezier(.2,.8,.2,1) both;
    animation-delay: .16s;
  }
@keyframes sshReportMaterializeMobileV2 {
    from {
      opacity: 0;
      transform: translateY(18px);
      filter: blur(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }
  }
}
@media (max-width: 680px) {
.ssh-analysis-panel .step {
    grid-template-columns: 42px minmax(0, 1fr) 72px;
    column-gap: 16px;
  }
.ssh-analysis-panel .params {
    height: auto;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.12);
  }
}
/* =========================
   POPRAWKI V3 — MNIEJ KROPEK, SKAN JS, HERO WYŻEJ
   ========================= */
/* Podciągnięcie głównego bloku tekstowego do góry */
.ssh-hero {
  padding-top: clamp(24px, 3.4vw, 46px);
}
.ssh-hero-inner {
  align-items: start;
}
.ssh-hero-copy {
  padding-top: clamp(26px, 4.4vw, 62px);
  transform: translateY(-26px);
}
/* Mini model: mniej „śniegu”, większy model, lepszy kontrast */
body.is-site-visible .report-model-canvas {
  opacity: .92;
  transform: scale(1.28);
}
/* Wyłączamy CSS-owe przesuwanie, bo scan line prowadzi teraz JS w każdej klatce */
.report-model-scan {
  left: 0;
  top: -24%;
  bottom: -24%;
  z-index: 5;
  width: 2px;
  opacity: 0;
  animation: none !important;
  will-change: transform, opacity;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(255,255,255,.16),
      rgba(255, 37, 48, 1),
      rgba(255,255,255,.16),
      transparent
    );
  box-shadow:
    0 0 18px rgba(227, 6, 19, .95),
    0 0 46px rgba(227, 6, 19, .42);
}
.report-model-scan::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -46px;
  width: 92px;
  background:
    linear-gradient(90deg, transparent, rgba(227,6,19,.16), transparent);
}
/* Lżejszy dół raportu, żeby model był czytelniejszy */
@media (max-width: 1180px) {
.ssh-hero-copy {
    transform: none;
    padding-top: 0;
  }
}
/* =========================
   POPRAWKI V4 — CICHSZY MODEL + PEWNY RUCH SKANU
   ========================= */
/* Model w raporcie: mniej białego szumu, bardziej techniczny skan */
body.is-site-visible .report-model-canvas {
  opacity: .78;
  transform: scale(1.20);
}
/* Skan rusza się teraz czysto w CSS — bez blokowania przez transform z JS */
.report-model-scan {
  left: 3%;
  top: -24%;
  bottom: -24%;
  z-index: 6;
  width: 2px;
  opacity: 0;
  transform: none !important;
  animation: sshReportScanLineV4 2.8s cubic-bezier(.55,0,.25,1) infinite !important;
  will-change: left, opacity;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(255,255,255,.13),
      rgba(255, 37, 48, .95),
      rgba(255,255,255,.13),
      transparent
    );
  box-shadow:
    0 0 16px rgba(227, 6, 19, .78),
    0 0 36px rgba(227, 6, 19, .26);
}
.report-model-scan::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -34px;
  width: 68px;
  background:
    linear-gradient(90deg, transparent, rgba(227,6,19,.105), transparent);
}
@keyframes sshReportScanLineV4 {
  0%, 7% {
    left: 3%;
    opacity: 0;
  }

  17% {
    opacity: .95;
  }

  78% {
    opacity: .95;
  }

  93%, 100% {
    left: 92%;
    opacity: 0;
  }
}
/* Lewą treść zostawiamy podciągniętą */
.ssh-hero-copy {
  transform: translateY(-38px);
}
@media (max-width: 1180px) {
.ssh-hero-copy {
    transform: none;
  }
}
/* =========================
   POPRAWKI V5 — WYŻEJ HERO, BIELSZY MODEL, BEZ CZERWONEJ LINII
   ========================= */
/* Lewa kolumna wyżej */
.ssh-hero {
  padding-top: clamp(12px, 2vw, 28px);
}
.ssh-hero-copy {
  transform: translateY(-72px);
}
/* Panel raportu nieco spokojniej */
/* Model trochę dalej i bardziej biały */
body.is-site-visible .report-model-canvas {
  opacity: .9;
  transform: scale(1.06);
}
/* Usuwamy czerwoną linię przechodzącą przez model */
.report-model-scan,
.report-model-scan::before {
  display: none !important;
}
/* Tło panelu modelu delikatniejsze, żeby auto bardziej wybijało się na biało */
@media (max-width: 1180px) {
.ssh-hero-copy {
    transform: translateY(-24px);
  }
}
/* =========================
   SEKCJA 2 — MISJA / NIEZALEŻNA ANALIZA
   ========================= */
/* ==========================================================================
   MISJA / PROCES 01-03
   ========================================================================== */
.ssh-mission {
  position: relative;
  overflow: hidden;
  padding: clamp(86px, 8vw, 132px) 0 clamp(86px, 8vw, 128px);
  background:
    radial-gradient(circle at 78% 20%, rgba(227, 6, 19, 0.105), transparent 29%),
    radial-gradient(circle at 16% 76%, rgba(255,255,255,0.045), transparent 28%),
    linear-gradient(180deg, #070a0f 0%, #080d14 46%, #06090e 100%);
  border-top: 1px solid rgba(255,255,255,0.08);
  isolation: isolate;
}
.ssh-mission::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.026) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: 0.42;
  mask-image: linear-gradient(to bottom, transparent, black 18%, black 82%, transparent);
}
.ssh-mission::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 0;
  width: min(920px, 70vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(227,6,19,.56), rgba(255,255,255,.16), transparent);
}
.ssh-mission-grid,
.ssh-mission-glow {
  position: absolute;
  pointer-events: none;
}
.ssh-mission-grid {
  right: -120px;
  top: 60px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  opacity: .22;
  background:
    radial-gradient(circle at center, transparent 0 62px, rgba(227,6,19,.25) 63px 64px, transparent 65px 126px, rgba(227,6,19,.18) 127px 128px, transparent 129px 192px, rgba(227,6,19,.12) 193px 194px, transparent 195px),
    conic-gradient(from 40deg, transparent, rgba(227,6,19,.09), transparent 30%, transparent);
}
.ssh-mission-glow {
  left: -220px;
  bottom: -260px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227,6,19,.10), transparent 62%);
  filter: blur(38px);
  opacity: .72;
}
.ssh-mission-inner {
  position: relative;
  z-index: 1;
  width: min(var(--ssh-max), calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(440px, 1fr);
  gap: clamp(42px, 6vw, 88px);
  align-items: start;
}
.ssh-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--ssh-red);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.ssh-section-kicker::before {
  content: "";
  width: 38px;
  height: 1px;
  background: var(--ssh-red);
  box-shadow: 0 0 18px rgba(227,6,19,.55);
}
.ssh-mission-copy h2 {
  max-width: 680px;
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(2.2rem, 3.7vw, 4.35rem);
  line-height: .98;
  letter-spacing: -.075em;
}
.ssh-mission-copy p {
  max-width: 620px;
  color: rgba(246,248,251,.70);
  font-size: clamp(.98rem, 1vw, 1.08rem);
  line-height: 1.8;
}
@media (max-width: 1100px) {
.ssh-mission-inner {
    grid-template-columns: 1fr;
  }
.ssh-mission-copy h2,
  .ssh-mission-copy p {
    max-width: 820px;
  }
}
@media (max-width: 760px) {
.ssh-mission {
    padding: 72px 0;
  }
.ssh-mission-inner {
    width: min(var(--ssh-max), calc(100% - 36px));
  }
}
/* =========================
   SEKCJA 2 — MISJA V2 / INNY UKŁAD NIŻ HERO
   ========================= */
.ssh-mission-v2 {
  padding: clamp(82px, 7vw, 116px) 0 clamp(88px, 8vw, 126px);
}
.ssh-mission-v2 .ssh-mission-inner {
  display: block;
}
.ssh-mission-v2 .ssh-mission-head {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .58fr);
  gap: clamp(34px, 5vw, 80px);
  align-items: end;
  margin-bottom: clamp(36px, 5vw, 66px);
}
.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(2.25rem, 4.2vw, 5rem);
  line-height: .96;
}
.ssh-mission-v2 .ssh-mission-brief {
  position: relative;
  padding: 26px 28px 26px;
  border: 1px solid rgba(255,255,255,.115);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:
    0 28px 90px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}
.ssh-mission-v2 .ssh-brief-label {
  display: block;
  margin-bottom: 14px;
  color: var(--ssh-red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.ssh-mission-v2 .ssh-mission-brief p {
  margin: 0;
  color: rgba(246,248,251,.68);
  font-size: .94rem;
  line-height: 1.72;
}
.ssh-mission-v2 .ssh-mission-lab {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}
.ssh-mission-v2 .ssh-mission-process {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ssh-mission-v2 .ssh-mission-process article {
  position: relative;
  min-height: 168px;
  padding: 24px 24px 26px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.014));
  overflow: hidden;
}
.ssh-mission-v2 .ssh-mission-process article::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 70px;
  height: 1px;
  background: linear-gradient(90deg, rgba(227,6,19,.62), rgba(255,255,255,.12), transparent);
}
.ssh-mission-v2 .ssh-mission-process article span {
  display: inline-flex;
  margin-bottom: 34px;
  color: var(--ssh-red);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.ssh-mission-v2 .ssh-mission-process article h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.2;
}
.ssh-mission-v2 .ssh-mission-process article p {
  color: rgba(246,248,251,.60);
  font-size: .88rem;
  line-height: 1.58;
}
@media (max-width: 1120px) {
.ssh-mission-v2 .ssh-mission-head,
  .ssh-mission-v2 .ssh-mission-lab {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px) {
.ssh-lab-body,
  .ssh-mission-v2 .ssh-mission-process,
  .ssh-lab-stats {
    grid-template-columns: 1fr;
  }
.ssh-mission-v2 .ssh-mission-head {
    margin-bottom: 34px;
  }
}
/* =========================
   SEKCJA 2 — COMPACT V3
   mniej wysokości, bez zegara/gauge
   ========================= */
.ssh-mission-v2 {
  padding: clamp(56px, 5.5vw, 86px) 0 clamp(62px, 6vw, 92px);
}
.ssh-mission-v2 .ssh-mission-head {
  grid-template-columns: minmax(0, .9fr) minmax(340px, .5fr);
  gap: clamp(28px, 4vw, 62px);
  align-items: start;
  margin-bottom: clamp(26px, 3.8vw, 42px);
}
.ssh-mission-v2 .ssh-section-kicker {
  margin-bottom: 18px;
  font-size: .68rem;
}
.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 760px;
  font-size: clamp(2rem, 3.55vw, 4rem);
  line-height: .97;
}
.ssh-mission-v2 .ssh-mission-brief {
  padding: 22px 24px;
  border-radius: 16px;
}
.ssh-mission-v2 .ssh-mission-brief p {
  font-size: .88rem;
  line-height: 1.65;
}
.ssh-mission-v2 .ssh-mission-lab {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.ssh-mission-v2 .ssh-mission-process {
  gap: 16px;
}
.ssh-mission-v2 .ssh-mission-process article {
  min-height: 132px;
  padding: 20px 22px 22px;
  border-radius: 16px;
}
.ssh-mission-v2 .ssh-mission-process article::before {
  top: 58px;
}
.ssh-mission-v2 .ssh-mission-process article span {
  margin-bottom: 24px;
  font-size: .68rem;
}
.ssh-mission-v2 .ssh-mission-process article h3 {
  margin-bottom: 8px;
  font-size: 1rem;
}
.ssh-mission-v2 .ssh-mission-process article p {
  font-size: .82rem;
  line-height: 1.52;
}
@media (max-width: 1120px) {
.ssh-mission-v2 .ssh-mission-lab {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
.ssh-mission-v2 .ssh-mission-head {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
.ssh-verify-stack,
  .ssh-lab-stats,
  .ssh-mission-v2 .ssh-mission-process {
    grid-template-columns: 1fr;
  }
}
/* =========================
   SEKCJA 4 — GDZIE DZIAŁAMY / MAPA POLSKI
   ========================= */
/* ==========================================================================
   MAPA / OBSZAR DZIAŁANIA
   ========================================================================== */
.ssh-coverage {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 7.5vw, 118px) 0 clamp(84px, 8vw, 126px);
  background:
    radial-gradient(circle at 14% 24%, rgba(255,255,255,.04), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(227,6,19,.08), transparent 28%),
    linear-gradient(180deg, #070b10 0%, #081018 54%, #060a0f 100%);
  border-top: 1px solid rgba(255,255,255,.08);
  isolation: isolate;
}
.ssh-coverage::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .34;
  mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
}
.ssh-coverage::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(980px, 70vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(227,6,19,.45), rgba(255,255,255,.12), transparent);
}
.ssh-coverage-glow {
  position: absolute;
  right: -240px;
  top: 80px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227,6,19,.11), transparent 64%);
  filter: blur(42px);
  opacity: .68;
  pointer-events: none;
}
.ssh-coverage-inner {
  position: relative;
  z-index: 1;
  width: min(var(--ssh-max), calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(340px, .54fr) minmax(520px, .9fr);
  gap: clamp(34px, 5vw, 68px);
  align-items: center;
}
.ssh-coverage-copy h2 {
  max-width: 560px;
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(2.15rem, 3.75vw, 4.4rem);
  line-height: .96;
  letter-spacing: -.075em;
}
.ssh-coverage-copy p {
  max-width: 560px;
  color: rgba(246,248,251,.67);
  font-size: clamp(.96rem, 1vw, 1.04rem);
  line-height: 1.78;
}
.ssh-coverage-metrics {
  margin: 28px 0 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ssh-coverage-metrics div {
  min-height: 96px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.048),
    0 18px 44px rgba(0,0,0,.12);
}
.ssh-coverage-metrics strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: .95;
  letter-spacing: -.055em;
}
.ssh-coverage-metrics span {
  color: rgba(255,255,255,.58);
  font-size: .82rem;
  line-height: 1.4;
}
.ssh-coverage-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.ssh-coverage-cities span {
  min-height: 34px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.66);
  font-size: .74rem;
  font-weight: 700;
}
.ssh-coverage-note {
  margin-bottom: 24px;
  padding: 18px 20px;
  border-left: 2px solid var(--ssh-red);
  background: linear-gradient(90deg, rgba(227,6,19,.08), rgba(255,255,255,.015));
  border-radius: 0 14px 14px 0;
}
.ssh-coverage-note span {
  display: block;
  margin-bottom: 6px;
  color: var(--ssh-red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-coverage-note strong {
  display: block;
  color: #fff;
  font-size: .95rem;
  line-height: 1.55;
  font-weight: 700;
}
.ssh-coverage-visual {
  position: relative;
}
.ssh-coverage-visual-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.ssh-coverage-visual-top span {
  color: rgba(255,255,255,.46);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-coverage-visual-top strong {
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.ssh-coverage-map-wrap {
  position: relative;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:
    0 34px 110px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.055);
  overflow: hidden;
}
.ssh-coverage-map-wrap::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 22px;
  height: 22px;
  border-top: 1px solid rgba(255,255,255,.25);
  border-left: 1px solid rgba(255,255,255,.25);
  opacity: .7;
}
.ssh-coverage-map-wrap::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 22px;
  height: 22px;
  border-right: 1px solid rgba(255,255,255,.25);
  border-bottom: 1px solid rgba(255,255,255,.25);
  opacity: .7;
}
.ssh-coverage-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 16px;
}
.ssh-coverage-legend div {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.ssh-coverage-legend i {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ff2a35;
  box-shadow: 0 0 14px rgba(227,6,19,.8);
  display: inline-block;
}
.ssh-coverage-legend i.is-small {
  width: 10px;
  height: 10px;
  box-shadow: 0 0 10px rgba(227,6,19,.65);
}
.ssh-coverage-legend span {
  color: rgba(255,255,255,.58);
  font-size: .76rem;
  line-height: 1.4;
}
@media (max-width: 1120px) {
.ssh-coverage-inner {
    grid-template-columns: 1fr;
  }
.ssh-coverage-copy p {
    max-width: 760px;
  }
}
@media (max-width: 720px) {
.ssh-coverage {
    padding: 70px 0;
  }
.ssh-coverage-inner {
    width: min(var(--ssh-max), calc(100% - 36px));
  }
.ssh-coverage-metrics {
    grid-template-columns: 1fr;
  }
.ssh-coverage-map-wrap {
    padding: 10px;
    border-radius: 18px;
  }
}
/* =========================
   POPRAWKA — SEKCJA 2: TYTUŁ PO PRAWEJ
   ========================= */
.ssh-mission-v2 .ssh-mission-head {
  grid-template-columns: minmax(340px, .52fr) minmax(0, .92fr);
  align-items: end;
}
.ssh-mission-v2 .ssh-mission-brief {
  order: 1;
}
.ssh-mission-v2 .ssh-mission-copy {
  order: 2;
  justify-self: end;
  text-align: left;
}
.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 760px;
}
@media (max-width: 1100px) {
.ssh-mission-v2 .ssh-mission-head {
    grid-template-columns: 1fr;
  }
.ssh-mission-v2 .ssh-mission-copy,
  .ssh-mission-v2 .ssh-mission-brief {
    order: initial;
    justify-self: stretch;
  }
}
/* =========================
   MAPLIBRE — PRAWDZIWA MAPA POLSKI
   ========================= */
.ssh-live-map-wrap {
  position: relative;
  padding: 0;
  min-height: clamp(460px, 48vw, 660px);
  background:
    radial-gradient(circle at 50% 48%, rgba(227,6,19,.12), transparent 44%),
    #05080d;
}
.ssh-live-map {
  position: relative;
  width: 100%;
  height: clamp(460px, 48vw, 660px);
  min-height: 460px;
  border-radius: 20px;
  overflow: hidden;
  background: #05080d;
}
.ssh-live-map::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 45%, transparent 0 42%, rgba(5,8,13,.26) 80%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 17%, transparent 78%, rgba(0,0,0,.24)),
    linear-gradient(90deg, rgba(227,6,19,.11), transparent 18%, transparent 82%, rgba(227,6,19,.07));
  mix-blend-mode: screen;
}
.ssh-live-map .maplibregl-canvas {
  outline: none;
}
.ssh-live-map .maplibregl-ctrl-attrib {
  background: rgba(5, 8, 13, .72);
  color: rgba(255,255,255,.56);
  font-size: 10px;
  border-radius: 8px 0 0 0;
  backdrop-filter: blur(10px);
}
.ssh-live-map .maplibregl-ctrl-attrib a {
  color: rgba(255,255,255,.72);
}
.ssh-map-panel {
  position: absolute;
  left: 22px;
  top: 22px;
  z-index: 5;
  min-width: 178px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(227,6,19,.20), transparent 48%),
    rgba(6, 10, 15, .72);
  box-shadow:
    0 18px 60px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(14px);
}
.ssh-map-panel span {
  display: block;
  margin-bottom: 5px;
  color: var(--ssh-red);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
}
.ssh-map-panel strong {
  display: block;
  color: rgba(255,255,255,.82);
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.25;
}
.ssh-map-popup .maplibregl-popup-content {
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(227,6,19,.18), transparent 46%),
    rgba(7, 11, 17, .92);
  color: #fff;
  box-shadow: 0 20px 70px rgba(0,0,0,.34);
  backdrop-filter: blur(14px);
}
.ssh-map-popup .maplibregl-popup-tip {
  border-top-color: rgba(7, 11, 17, .92);
}
.ssh-map-popup strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: .85rem;
}
.ssh-map-popup span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .72rem;
}
.ssh-map-fallback {
  min-height: inherit;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 28px;
  color: rgba(255,255,255,.62);
  text-align: center;
  font-size: .9rem;
  line-height: 1.5;
}
@media (max-width: 720px) {
.ssh-live-map-wrap,
  .ssh-live-map {
    min-height: 420px;
    height: 420px;
  }
.ssh-map-panel {
    left: 14px;
    top: 14px;
  }
}
/* =========================
   MAPLIBRE V2 — INTERAKCJA MAPY
   ========================= */
.ssh-live-map {
  cursor: grab;
}
.ssh-live-map:active {
  cursor: grabbing;
}
.ssh-live-map .maplibregl-ctrl-bottom-right {
  right: 18px;
  bottom: 18px;
}
.ssh-live-map .maplibregl-ctrl-group {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(227,6,19,.16), transparent 46%),
    rgba(6, 10, 15, .78);
  box-shadow:
    0 18px 60px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(14px);
}
.ssh-live-map .maplibregl-ctrl-group button {
  width: 38px;
  height: 38px;
  background-color: transparent;
  border-color: rgba(255,255,255,.10);
}
.ssh-live-map .maplibregl-ctrl-group button:hover {
  background: rgba(227,6,19,.16);
}
.ssh-live-map .maplibregl-ctrl-icon {
  filter: invert(1) opacity(.82);
}
.ssh-map-panel::after {
  content: "scroll / pinch / +/-";
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.46);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
@media (max-width: 720px) {
.ssh-live-map .maplibregl-ctrl-bottom-right {
    right: 12px;
    bottom: 12px;
  }
}
/* =========================
   STOPKA — PIONOWA / MINIMAL
   ========================= */
/* ==========================================================================
   STOPKA
   ========================================================================== */
.ssh-footer {
  position: relative;
  padding: clamp(66px, 7vw, 108px) 0 28px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 24% 0%, rgba(227,6,19,.07), transparent 30%),
    #070a0f;
}
.ssh-footer__inner {
  width: min(1180px, calc(100% - 56px));
  margin: 0 auto;
}
.ssh-footer__brand {
  position: relative;
  width: 184px;
  height: 126px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
}
.ssh-footer__brand::before,
.ssh-footer__brand::after,
.ssh-footer__brand-corners::before,
.ssh-footer__brand-corners::after {
  content: "";
  position: absolute;
  width: 19px;
  height: 19px;
  border-color: rgba(255,255,255,.88);
  border-style: solid;
  transition: width .25s ease, height .25s ease, border-color .25s ease;
}
.ssh-footer__brand::before {
  left: 0;
  top: 0;
  border-width: 3px 0 0 3px;
  border-radius: 6px 0 0;
}
.ssh-footer__brand::after {
  right: 0;
  bottom: 0;
  border-width: 0 3px 3px 0;
  border-radius: 0 0 6px;
}
.ssh-footer__brand-corners::before {
  right: 0;
  top: 0;
  border-width: 3px 3px 0 0;
  border-radius: 0 6px 0 0;
}
.ssh-footer__brand-corners::after {
  left: 0;
  bottom: 0;
  border-width: 0 0 3px 3px;
  border-radius: 0 0 0 6px;
}
.ssh-footer__brand:hover::before,
.ssh-footer__brand:hover::after,
.ssh-footer__brand:hover .ssh-footer__brand-corners::before,
.ssh-footer__brand:hover .ssh-footer__brand-corners::after {
  width: 25px;
  height: 25px;
  border-color: var(--ssh-red);
}
.ssh-footer__brand strong {
  font-size: 3.85rem;
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.085em;
}
.ssh-footer__brand > span:last-child {
  margin-top: 14px;
  color: rgba(255,255,255,.68);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ssh-footer__contact address {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  color: rgba(255,255,255,.58);
  font-size: .92rem;
  font-style: normal;
  line-height: 1.5;
}
.ssh-footer__contact address > span {
  margin-bottom: 7px;
  color: rgba(255,255,255,.74);
}
.ssh-footer__contact a {
  color: rgba(255,255,255,.66);
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.ssh-footer__contact a:hover {
  color: #fff;
  transform: translateX(4px);
}
.ssh-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px clamp(20px, 3vw, 42px);
}
.ssh-footer__nav a {
  color: rgba(255,255,255,.52);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease;
}
.ssh-footer__nav a:hover {
  color: #fff;
}
.ssh-footer__bottom {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255,255,255,.34);
  font-size: .7rem;
  line-height: 1.5;
}
@media (max-width: 720px) {
.ssh-footer__inner {
    width: min(100% - 36px, 1180px);
  }
.ssh-footer__brand {
    width: 160px;
    height: 110px;
  }
.ssh-footer__brand strong {
    font-size: 3.3rem;
  }
.ssh-footer__nav {
    flex-direction: column;
    align-items: flex-start;
  }
.ssh-footer__bottom {
    flex-direction: column;
  }
}
/* =========================
   SEKCJA 2 — BLUEPRINT + ANIMACJA CSS ONLY
   ========================= */
/* Nagłówek na lewo, szeroko. */
.ssh-mission-v2 .ssh-mission-head {
  display: block !important;
  margin-bottom: clamp(34px, 4vw, 52px) !important;
}
.ssh-mission-v2 .ssh-mission-copy {
  grid-column: auto !important;
  order: initial !important;
  justify-self: start !important;
  max-width: 1180px !important;
  text-align: left !important;
}
.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 1180px !important;
  font-size: clamp(2.8rem, 4.45vw, 5.1rem) !important;
  line-height: .96 !important;
  letter-spacing: -.078em !important;
}
.ssh-mission-v2 .ssh-mission-lead {
  max-width: 980px !important;
  margin: 20px 0 0 !important;
  color: rgba(246, 248, 251, .64) !important;
  font-size: clamp(.94rem, 1.02vw, 1.05rem) !important;
  line-height: 1.72 !important;
}
.ssh-mission-v2 .ssh-mission-brief {
  display: none !important;
}
/* Blueprint w tle. */
.ssh-mission-v2 .ssh-mission-grid {
  inset: 0 !important;
  right: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  opacity: .72 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.030) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.024) 1px, transparent 1px),
    linear-gradient(90deg, transparent 0 47px, rgba(227,6,19,.042) 48px, transparent 49px),
    linear-gradient(0deg, transparent 0 47px, rgba(227,6,19,.032) 48px, transparent 49px);
  background-size: 48px 48px, 48px 48px, 192px 192px, 192px 192px;
  mask-image: radial-gradient(circle at 54% 44%, black 0%, rgba(0,0,0,.84) 45%, transparent 84%);
}
.ssh-mission-v2 .ssh-mission-grid::before,
.ssh-mission-v2 .ssh-mission-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ssh-mission-v2 .ssh-mission-grid::before {
  opacity: .88;
  background:
    radial-gradient(circle at 15% 22%, rgba(227,6,19,.46) 0 2px, rgba(227,6,19,.12) 3px 13px, transparent 14px),
    radial-gradient(circle at 31% 70%, rgba(255,255,255,.28) 0 1px, transparent 2px),
    radial-gradient(circle at 49% 31%, rgba(227,6,19,.36) 0 2px, transparent 3px),
    radial-gradient(circle at 66% 66%, rgba(255,255,255,.24) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 20%, rgba(227,6,19,.34) 0 2px, rgba(227,6,19,.10) 3px 12px, transparent 13px),
    radial-gradient(circle at 90% 72%, rgba(255,255,255,.22) 0 1px, transparent 2px);
}
.ssh-mission-v2 .ssh-mission-grid::after {
  opacity: .30;
  background:
    linear-gradient(115deg, transparent 0 23%, rgba(255,255,255,.19) 23.1%, transparent 23.25%),
    linear-gradient(28deg, transparent 0 44%, rgba(227,6,19,.32) 44.1%, transparent 44.25%),
    linear-gradient(152deg, transparent 0 61%, rgba(255,255,255,.16) 61.1%, transparent 61.25%);
}
/* Scan przez panel — CSS only, nie wymaga JS. */
@keyframes sshMissionScanAlways {
  0%, 62%, 100% {
    opacity: 0;
    translate: 0 0;
  }
  7% {
    opacity: .75;
  }
  22% {
    opacity: 0;
    translate: 820% 0;
  }
}
/* Proces — widoczna animacja CSS only, nie wymaga JS ani klasy .is-mission-visible. */
@keyframes sshVerifyStepAlways {
  0%, 20%, 100% {
    border-color: rgba(255,255,255,.12);
    box-shadow: none;
    transform: translateX(0);
  }

  5% {
    border-color: rgba(227,6,19,.76);
    background:
      radial-gradient(circle at 0% 50%, rgba(227,6,19,.28), transparent 58%),
      rgba(255,255,255,.065);
    box-shadow:
      0 0 36px rgba(227,6,19,.26),
      inset 0 0 0 1px rgba(227,6,19,.18);
    transform: translateX(6px);
  }

  12% {
    border-color: rgba(227,6,19,.34);
    box-shadow: 0 0 20px rgba(227,6,19,.10);
    transform: translateX(0);
  }
}
@keyframes sshVerifySweepAlways {
  0%, 21%, 100% {
    opacity: 0;
    transform: translateX(-120%);
  }

  3% {
    opacity: 1;
  }

  14% {
    opacity: 0;
    transform: translateX(125%);
  }
}
@keyframes sshVerifyNumberAlways {
  0%, 20%, 100% {
    color: var(--ssh-red);
    box-shadow: 0 0 0 rgba(227,6,19,0);
  }

  5% {
    color: #fff;
    box-shadow: 0 0 26px rgba(227,6,19,.58);
  }
}
@media (max-width: 1120px) {
.ssh-mission-v2 .ssh-mission-copy h2,
  .ssh-mission-v2 .ssh-mission-lead {
    max-width: 760px !important;
  }
}
@media (max-width: 720px) {
.ssh-mission-v2 .ssh-mission-grid {
    opacity: .42 !important;
    background-size: 40px 40px, 40px 40px, 160px 160px, 160px 160px;
  }
}
/* =========================
   SEKCJA 2 — MNIEJSZY TYTUŁ + REVEAL
   ========================= */
/* Tytuł nie powinien być wielkości hero. */
.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 1040px !important;
  font-size: clamp(2.25rem, 3.25vw, 3.95rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -.066em !important;
}
.ssh-mission-v2 .ssh-mission-lead {
  max-width: 920px !important;
  margin-top: 18px !important;
}
/* Klasa .is-reveal-ready jest dodawana przez JS dopiero przed animacją.
   Dzięki temu bez JS treść nie znika. */
.ssh-mission-v2.is-reveal-ready .ssh-section-kicker,
.ssh-mission-v2.is-reveal-ready .ssh-mission-copy h2,
.ssh-mission-v2.is-reveal-ready .ssh-mission-lead,
.ssh-mission-v2.is-reveal-ready .ssh-lab-panel,
.ssh-mission-v2.is-reveal-ready .ssh-mission-side > *,
.ssh-mission-v2.is-reveal-ready .ssh-mission-process > * {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  filter: blur(10px);
  will-change: opacity, transform, filter;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-section-kicker,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-copy h2,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-lead,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-lab-panel,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-side > *,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-process > * {
  animation: sshMissionItemReveal 1.05s cubic-bezier(.2,.82,.22,1) both;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-section-kicker {
  animation-delay: .04s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-copy h2 {
  animation-delay: .12s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-lead {
  animation-delay: .22s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-lab-panel {
  animation-delay: .36s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-side > :nth-child(1) {
  animation-delay: .48s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-side > :nth-child(2) {
  animation-delay: .58s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-side > :nth-child(3) {
  animation-delay: .68s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-process > :nth-child(1) {
  animation-delay: .78s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-process > :nth-child(2) {
  animation-delay: .88s;
}
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-mission-process > :nth-child(3) {
  animation-delay: .98s;
}
@keyframes sshMissionItemReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 38px, 0);
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}
/* Główny panel dostaje krótkie podświetlenie po wejściu. */
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-lab-panel {
  animation-name: sshMissionPanelReveal;
}
@keyframes sshMissionPanelReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 24px, 0) scale(.985);
    filter: blur(9px);
    box-shadow: none;
  }

  58% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    box-shadow:
      0 0 42px rgba(227,6,19,.13),
      inset 0 1px 0 rgba(255,255,255,.06);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}
/* =========================
   HEADER — MEGA MENU USŁUG
   ========================= */
.ssh-nav {
  position: relative;
}
.ssh-nav-item {
  position: relative;
  min-height: 76px;
  display: inline-flex;
  align-items: center;
}
/* ==========================================================================
   USŁUGI — układ wspólny
   ========================================================================== */
.ssh-services-trigger {
  appearance: none;
  border: 0;
  background: transparent;
  min-height: 76px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.88);
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  cursor: pointer;
  transition: color .2s ease;
}
.ssh-services-trigger::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--ssh-red);
  transform: translateX(-50%);
  transition: width .22s ease;
}
.ssh-services-trigger span {
  color: var(--ssh-red);
  font-size: .76rem;
  transform: translateY(-1px);
  transition: transform .22s ease;
}
.ssh-nav-services:hover .ssh-services-trigger,
.ssh-nav-services:focus-within .ssh-services-trigger,
.ssh-nav-services.is-open .ssh-services-trigger {
  color: #fff;
}
.ssh-nav-services:hover .ssh-services-trigger::after,
.ssh-nav-services:focus-within .ssh-services-trigger::after,
.ssh-nav-services.is-open .ssh-services-trigger::after {
  width: 46px;
}
.ssh-nav-services:hover .ssh-services-trigger span,
.ssh-nav-services:focus-within .ssh-services-trigger span,
.ssh-nav-services.is-open .ssh-services-trigger span {
  transform: translateY(-1px) rotate(180deg);
}
.ssh-services-mega {
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  z-index: 50;
  width: min(760px, calc(100vw - 44px));
  display: grid;
  grid-template-columns: minmax(330px, 1.05fr) minmax(260px, .78fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-top: 2px solid rgba(227,6,19,.72);
  border-radius: 0 0 18px 18px;
  background:
    radial-gradient(circle at 10% 0%, rgba(227,6,19,.15), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.055), transparent 30%),
    linear-gradient(180deg, rgba(12,17,24,.98), rgba(7,10,15,.98));
  box-shadow:
    0 30px 90px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(20px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(12px);
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .26s cubic-bezier(.2,.82,.2,1);
}
.ssh-services-mega::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .26;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, black, transparent 90%);
}
.ssh-services-mega::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--ssh-red), rgba(227,6,19,.15), transparent);
  box-shadow: 0 0 20px rgba(227,6,19,.45);
}
.ssh-nav-services:hover .ssh-services-mega,
.ssh-nav-services:focus-within .ssh-services-mega,
.ssh-nav-services.is-open .ssh-services-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.ssh-services-mega__list,
.ssh-services-mega__info {
  position: relative;
  z-index: 2;
}
.ssh-services-mega__list {
  padding: 16px 0;
  border-right: 1px solid rgba(255,255,255,.09);
}
.ssh-services-mega__list a {
  min-height: 42px;
  padding: 0 22px 0 24px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.70);
  font-size: .82rem;
  font-weight: 850;
  line-height: 1.25;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}
.ssh-services-mega__list a span {
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .08em;
  opacity: .88;
}
.ssh-services-mega__list a:hover,
.ssh-services-mega__list a:focus-visible {
  color: #fff;
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.20), transparent 58%),
    rgba(255,255,255,.035);
  border-left-color: var(--ssh-red);
  transform: translateX(3px);
  outline: none;
}
.ssh-services-mega__info {
  padding: 26px 26px 24px;
}
.ssh-services-mega__info > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-services-mega__info strong {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.35;
  letter-spacing: -.035em;
}
.ssh-services-mega__info p {
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: .78rem;
  line-height: 1.62;
}
.ssh-services-mega__tags {
  margin: 18px 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ssh-services-mega__tags em {
  min-height: 28px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.68);
  font-size: .66rem;
  font-style: normal;
  font-weight: 850;
}
.ssh-services-mega__cta {
  width: fit-content;
  min-height: 38px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: var(--ssh-red);
  color: #fff !important;
  font-size: .72rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 16px 42px rgba(227,6,19,.20);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ssh-services-mega__cta:hover {
  background: #ff1422;
  transform: translateY(-2px);
  box-shadow: 0 20px 54px rgba(227,6,19,.28);
}
/* Mobile / tablet: menu przechodzi w zwykłą rozwijaną listę pod przyciskiem. */
@media (max-width: 980px) {
.ssh-nav {
    gap: 22px;
  }
.ssh-nav-item,
  .ssh-services-trigger {
    min-height: 32px;
  }
.ssh-services-trigger::after {
    bottom: -8px;
  }
.ssh-services-mega {
    left: 50%;
    top: calc(100% + 12px);
    width: min(620px, calc(100vw - 32px));
    grid-template-columns: 1fr;
    border-radius: 16px;
  }
.ssh-services-mega__list {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }
.ssh-services-mega__info {
    padding: 22px;
  }
}
@media (max-width: 640px) {
.ssh-services-mega {
    left: 0;
    width: calc(100vw - 32px);
    transform: translateX(-36%) translateY(12px);
  }
.ssh-nav-services:hover .ssh-services-mega,
  .ssh-nav-services:focus-within .ssh-services-mega,
  .ssh-nav-services.is-open .ssh-services-mega {
    transform: translateX(-36%) translateY(0);
  }
.ssh-services-mega__list a {
    min-height: 46px;
    font-size: .78rem;
  }
}
/* =========================
   SERVICES MENU — CTA + CHEVRON TWEAK
   ========================= */
/* Mniejszy przycisk "Przejdź do usług". */
.ssh-services-mega__cta {
  min-height: 34px !important;
  padding: 0 12px !important;
  gap: 8px !important;
  border-radius: 8px !important;
  font-size: .68rem !important;
  box-shadow: 0 12px 32px rgba(227,6,19,.18) !important;
}
.ssh-services-mega__cta:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 38px rgba(227,6,19,.24) !important;
}
/* Zamiast "backflipa" — mały chevron z subtelnym ruchem. */
.ssh-services-trigger {
  gap: 7px !important;
}
.ssh-services-trigger span {
  position: relative;
  width: 8px;
  height: 8px;
  display: inline-block;
  color: var(--ssh-red);
  font-size: 0 !important;
  line-height: 1;
  transform: translateY(-1px) !important;
  transition:
    transform .22s ease,
    opacity .22s ease;
}
.ssh-services-trigger span::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 0;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transform-origin: center;
}
.ssh-nav-services:hover .ssh-services-trigger span,
.ssh-nav-services:focus-within .ssh-services-trigger span,
.ssh-nav-services.is-open .ssh-services-trigger span {
  transform: translateY(1px) !important;
  opacity: 1;
}
/* =========================
   USŁUGI — TREŚĆ NA PIERWSZYM MIEJSCU
   ========================= */
.ssh-services-text-page .ssh-services-bg {
  opacity: .16;
}
.ssh-services-index--text button:hover,
.ssh-services-index--text button.is-active {
  color: #fff;
  transform: translateX(3px);
}
.ssh-services-index--text button.is-active strong {
  text-decoration: underline;
  text-decoration-color: var(--ssh-red);
  text-underline-offset: 6px;
}
.ssh-services-text-page .ssh-service-view {
  display: none;
  min-height: auto;
}
.ssh-services-text-page .ssh-service-view.is-active {
  display: block;
  animation: sshServiceViewIn .34s cubic-bezier(.2,.82,.22,1) both;
}
.ssh-services-text-page .ssh-service-cta {
  min-height: 44px;
  padding-inline: 18px;
  font-size: .78rem;
}
/* =========================
   USŁUGI — COMPACT V3
   ========================= */
.ssh-services-compact-page .ssh-services-bg {
  opacity: .12;
}
.ssh-services-catalog button:hover,
.ssh-services-catalog button.is-active {
  color: #fff;
  border-left-color: var(--ssh-red);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.12), transparent 58%),
    rgba(255,255,255,.025);
}
.ssh-services-detail .ssh-service-view {
  display: none;
}
.ssh-services-detail .ssh-service-view.is-active {
  display: block;
  animation: sshServiceViewIn .34s cubic-bezier(.2,.82,.22,1) both;
}
.ssh-services-compact-page .ssh-service-cta {
  min-height: 42px;
  padding-inline: 16px;
  font-size: .76rem;
}
/* =========================
   USŁUGI — ARTICLE STYLE V4
   ========================= */
.ssh-services-article-page {
  padding: clamp(52px, 5vw, 78px) 0 clamp(80px, 7vw, 114px);
  background:
    radial-gradient(circle at 84% 12%, rgba(227,6,19,.075), transparent 32%),
    linear-gradient(180deg, #070a0f 0%, #090d12 100%);
}
.ssh-services-article-page .ssh-services-bg {
  opacity: .10;
}
.ssh-services-article-inner {
  width: min(var(--ssh-max), calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}
.ssh-services-article-nav {
  position: sticky;
  top: 104px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.075), transparent 40%),
    rgba(255,255,255,.026);
}
.ssh-services-article-nav__title {
  display: block;
  padding: 0 10px 12px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-services-article-nav button {
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255,255,255,.62);
  font-family: inherit;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.28;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.ssh-services-article-nav button + button {
  margin-top: 3px;
}
.ssh-services-article-nav button:hover,
.ssh-services-article-nav button.is-active {
  color: #fff;
  background: rgba(227,6,19,.10);
  transform: translateX(2px);
}
.ssh-services-article-content .ssh-service-view {
  display: none;
}
.ssh-services-article-content .ssh-service-view.is-active {
  display: block;
  animation: sshServiceViewIn .34s cubic-bezier(.2,.82,.22,1) both;
}
.ssh-service-article-document {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.055), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.012));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 22px 70px rgba(0,0,0,.18);
}
/* ==========================================================================
   OKRUSZKI (breadcrumb)
   ========================================================================== */
.ssh-breadcrumb {
  margin-bottom: 34px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: rgba(255,255,255,.38);
  font-size: .78rem;
}
.ssh-breadcrumb a {
  color: rgba(255,255,255,.58);
  text-decoration: none;
}
.ssh-breadcrumb a:hover {
  color: #fff;
}
.ssh-breadcrumb strong {
  color: rgba(255,255,255,.44);
  font-weight: 700;
}
.ssh-service-article-hero h1,
.ssh-service-placeholder-article h1 {
  max-width: 850px;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(2.05rem, 3vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.068em;
}
.ssh-service-lead-box {
  max-width: 900px;
  margin-top: 20px;
  padding: 22px 26px;
  border-left: 3px solid var(--ssh-red);
  background:
    linear-gradient(90deg, rgba(227,6,19,.105), rgba(255,255,255,.025));
}
.ssh-service-lead-box p,
.ssh-service-article-main p,
.ssh-service-placeholder-article p {
  margin: 0;
  color: rgba(246,248,251,.66);
  font-size: .98rem;
  line-height: 1.82;
}
.ssh-service-article-grid {
  margin-top: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}
.ssh-service-article-main {
  display: grid;
  gap: 34px;
}
.ssh-service-article-main section {
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-service-article-main h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.2rem, 1.4vw, 1.55rem);
  line-height: 1.18;
  letter-spacing: -.035em;
}
.ssh-service-bullets {
  margin: 18px 0 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.ssh-service-bullets li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.63);
  font-size: .92rem;
  line-height: 1.58;
}
.ssh-service-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .67em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 14px rgba(227,6,19,.62);
}
.ssh-service-inline-panel {
  margin-top: 20px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.020);
}
.ssh-service-inline-panel strong {
  margin-right: 6px;
  color: #fff;
  font-size: .84rem;
}
.ssh-service-inline-panel span {
  min-height: 28px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  color: rgba(255,255,255,.58);
  font-size: .68rem;
  font-weight: 850;
}
.ssh-service-result-list {
  margin-top: 18px;
  display: grid;
  gap: 11px;
}
.ssh-service-result-list p {
  max-width: none;
}
.ssh-service-result-list strong {
  display: inline-flex;
  width: 34px;
  color: var(--ssh-red);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
}
.ssh-service-article-aside {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 16px;
}
.ssh-service-info-card,
.ssh-service-contact-card {
  padding: 22px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.022);
}
.ssh-service-info-card > span,
.ssh-service-contact-card > span {
  display: block;
  margin-bottom: 16px;
  color: var(--ssh-red);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ssh-service-info-card dl {
  display: grid;
  gap: 0;
  margin: 0;
}
.ssh-service-info-card dl div {
  padding: 14px 0;
}
.ssh-service-info-card dl div + div {
  border-top: 1px solid rgba(255,255,255,.07);
}
.ssh-service-info-card dt {
  margin-bottom: 6px;
  color: rgba(255,255,255,.38);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ssh-service-info-card dd {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.4;
}
.ssh-service-contact-card p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.58);
  font-size: .84rem;
  line-height: 1.58;
}
.ssh-service-contact-card .ssh-service-cta {
  min-height: 42px;
  padding-inline: 16px;
  font-size: .76rem;
}
@media (max-width: 1120px) {
.ssh-services-article-inner,
  .ssh-service-article-grid {
    grid-template-columns: 1fr;
  }
.ssh-services-article-nav,
  .ssh-service-article-aside {
    position: relative;
    top: auto;
  }
.ssh-services-article-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.ssh-services-article-nav__title {
    grid-column: 1 / -1;
  }
}
@media (max-width: 720px) {
.ssh-services-article-inner {
    width: min(var(--ssh-max), calc(100% - 36px));
  }
.ssh-service-article-document {
    padding: 24px;
  }
.ssh-services-article-nav {
    grid-template-columns: 1fr;
  }
}
/* =========================
   USŁUGI — AC VIEW
   ========================= */
.ssh-service-highlight-list {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}
.ssh-service-highlight-list p {
  position: relative;
  max-width: none;
  padding-left: 18px;
  color: rgba(255,255,255,.64);
  font-size: .94rem;
  line-height: 1.72;
}
.ssh-service-highlight-list p::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 14px rgba(227,6,19,.62);
}
.ssh-service-highlight-list strong {
  color: #fff;
  font-weight: 900;
}
.ssh-service-related {
  margin-top: 38px;
  padding-top: 22px;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.10);
}
.ssh-service-related > span {
  margin-bottom: 12px;
  color: rgba(255,255,255,.42);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ssh-service-related a {
  position: relative;
  min-height: 46px;
  padding: 0 0 0 24px;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.07);
  color: rgba(255,255,255,.66);
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.ssh-service-related a::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--ssh-red);
  font-weight: 950;
}
.ssh-service-related a:hover {
  color: #fff;
  transform: translateX(3px);
}
/* =========================
   USŁUGI — OPINIA REPORT STRUCTURE
   ========================= */
/* ==========================================================================
   USŁUGI — opinia techniczna
   ========================================================================== */
.ssh-opinion-report-structure {
  margin-top: 34px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.09), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
  overflow: hidden;
}
.ssh-opinion-report-structure__head {
  max-width: 760px;
  margin-bottom: 22px;
}
.ssh-opinion-report-structure__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-opinion-report-structure__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-opinion-report-structure__head p {
  max-width: 720px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-opinion-report-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-opinion-report-steps div {
  position: relative;
  min-height: 150px;
  padding: 20px 18px 0 0;
}
.ssh-opinion-report-steps div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-opinion-report-steps span {
  display: block;
  margin-bottom: 14px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-opinion-report-steps strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
  line-height: 1.25;
}
.ssh-opinion-report-steps p {
  max-width: 190px;
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-opinion-report-steps div::after {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 34px;
  height: 1px;
  background: var(--ssh-red);
  box-shadow: 0 0 14px rgba(227,6,19,.45);
}
@media (max-width: 980px) {
.ssh-opinion-report-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.ssh-opinion-report-steps div:nth-child(3) {
    border-left: 0;
  }
}
@media (max-width: 640px) {
.ssh-opinion-report-steps {
    grid-template-columns: 1fr;
  }
.ssh-opinion-report-steps div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}
/* =========================
   USŁUGI — AC COST COMPARISON
   ========================= */
/* ==========================================================================
   USŁUGI — szkoda AC
   ========================================================================== */
.ssh-ac-comparison {
  margin-top: 36px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227,6,19,.10), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
  overflow: hidden;
}
.ssh-ac-comparison__head {
  max-width: 760px;
  margin-bottom: 24px;
}
.ssh-ac-comparison__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-ac-comparison__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-ac-comparison__head p {
  max-width: 720px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-ac-comparison__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}
.ssh-ac-comparison__side {
  min-height: 250px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 16px;
  background: rgba(255,255,255,.018);
}
.ssh-ac-comparison__side--ssh {
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.12), transparent 42%),
    rgba(255,255,255,.022);
}
.ssh-ac-comparison__side > span {
  display: block;
  margin-bottom: 16px;
  color: #fff;
  font-size: .95rem;
  font-weight: 900;
  letter-spacing: -.025em;
}
.ssh-ac-comparison__side ul {
  list-style: none;
  display: grid;
  gap: 12px;
}
.ssh-ac-comparison__side li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.60);
  font-size: .84rem;
  line-height: 1.52;
}
.ssh-ac-comparison__side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 14px rgba(227,6,19,.62);
}
.ssh-ac-comparison__center {
  display: grid;
  place-items: center;
  color: var(--ssh-red);
}
.ssh-ac-comparison__center strong {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(227,6,19,.46);
  border-radius: 50%;
  background: rgba(227,6,19,.08);
  box-shadow: 0 0 24px rgba(227,6,19,.14);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .10em;
}
@media (max-width: 820px) {
.ssh-ac-comparison__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
.ssh-ac-comparison__center {
    height: 42px;
  }
}
/* =========================
   USŁUGI — AC WRAP ENDING
   ========================= */
.ssh-service-article-grid--wrap {
  align-items: start;
}
.ssh-service-article-main--wide {
  grid-column: 1 / -1;
  display: grid;
  gap: 34px;
  margin-top: 2px;
}
.ssh-ac-next-steps {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-ac-next-steps__head {
  max-width: 780px;
  margin-bottom: 22px;
}
.ssh-ac-next-steps__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-ac-next-steps__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-ac-next-steps__head p {
  max-width: 760px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-ac-next-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-ac-next-steps__grid div {
  min-height: 138px;
  padding: 20px 18px 0 0;
}
.ssh-ac-next-steps__grid div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-ac-next-steps__grid span {
  display: block;
  margin-bottom: 14px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-ac-next-steps__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
  line-height: 1.25;
}
.ssh-ac-next-steps__grid p {
  max-width: 220px;
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-ac-ending-note {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-ac-ending-note div {
  padding-right: 20px;
}
.ssh-ac-ending-note div + div {
  padding-left: 26px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-ac-ending-note h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-ac-ending-note p {
  max-width: 520px;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.72;
}
@media (max-width: 1120px) {
.ssh-service-article-main--wide {
    grid-column: auto;
  }
}
@media (max-width: 820px) {
.ssh-ac-next-steps__grid,
  .ssh-ac-ending-note {
    grid-template-columns: 1fr;
  }
.ssh-ac-next-steps__grid div + div,
  .ssh-ac-ending-note div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
.ssh-ac-ending-note div + div {
    padding-top: 24px;
  }
}
/* =========================
   USŁUGI — MACHINERY WRAP
   ========================= */
/* ==========================================================================
   USŁUGI — maszyny i urządzenia
   ========================================================================== */
.ssh-machinery-check-card {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.075), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-machinery-check-card__head {
  max-width: 780px;
  margin-bottom: 22px;
}
.ssh-machinery-check-card__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-machinery-check-card__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-machinery-check-card__head p {
  max-width: 760px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-machinery-check-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-machinery-check-grid div {
  min-height: 158px;
  padding: 20px 16px 0 0;
}
.ssh-machinery-check-grid div + div {
  padding-left: 16px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-machinery-check-grid span {
  display: block;
  margin-bottom: 14px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-machinery-check-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .9rem;
  line-height: 1.25;
}
.ssh-machinery-check-grid p {
  max-width: 170px;
  color: rgba(255,255,255,.56);
  font-size: .78rem;
  line-height: 1.54;
}
.ssh-machinery-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-machinery-split div {
  padding-right: 20px;
}
.ssh-machinery-split div + div {
  padding-left: 26px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-machinery-split h2,
.ssh-machinery-value-types h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-machinery-split p {
  max-width: 520px;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.72;
}
.ssh-machinery-value-types {
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
@media (max-width: 1120px) {
.ssh-machinery-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.ssh-machinery-check-grid div:nth-child(3),
  .ssh-machinery-check-grid div:nth-child(5) {
    border-left: 0;
    padding-left: 0;
  }
}
@media (max-width: 820px) {
.ssh-machinery-check-grid,
  .ssh-machinery-split {
    grid-template-columns: 1fr;
  }
.ssh-machinery-check-grid div + div,
  .ssh-machinery-split div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
.ssh-machinery-split div + div {
    padding-top: 24px;
  }
}
/* =========================
   USŁUGI — OC WRAP
   ========================= */
/* ==========================================================================
   USŁUGI — szkoda OC
   ========================================================================== */
.ssh-oc-verification-grid h2,
.ssh-oc-ending-note h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-oc-verification-grid p,
.ssh-oc-ending-note p {
  max-width: 560px;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.72;
}
.ssh-oc-ending-note {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.075), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.010));
}
/* =========================
   USŁUGI — OC DOSSIER
   ========================= */
.ssh-oc-dossier {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.11), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-oc-dossier__head {
  max-width: 780px;
  margin-bottom: 24px;
}
.ssh-oc-dossier__head > span,
.ssh-oc-dispute-board > div > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-oc-dossier__head h2,
.ssh-oc-dispute-board h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-oc-dossier__head p {
  max-width: 760px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-oc-dossier__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ssh-oc-dossier__grid div {
  min-height: 172px;
  padding: 20px 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
}
.ssh-oc-dossier__grid span {
  display: block;
  margin-bottom: 16px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-oc-dossier__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
  line-height: 1.25;
}
.ssh-oc-dossier__grid p {
  max-width: 190px;
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-oc-dispute-board {
  display: grid;
  grid-template-columns: minmax(250px, .45fr) minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-oc-dispute-board ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ssh-oc-dispute-board li {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
}
.ssh-oc-dispute-board strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .9rem;
}
.ssh-oc-dispute-board p {
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.54;
}
@media (max-width: 980px) {
.ssh-oc-dossier__grid,
  .ssh-oc-dispute-board,
  .ssh-oc-dispute-board ul {
    grid-template-columns: 1fr;
  }
}
/* =========================
   USŁUGI — MARINE VIEW
   ========================= */
/* ==========================================================================
   USŁUGI — sprzęt pływający
   ========================================================================== */
.ssh-marine-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-marine-split div {
  padding-right: 20px;
}
.ssh-marine-split div + div {
  padding-left: 26px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-marine-split h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-marine-split p {
  max-width: 560px;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.72;
}
@media (max-width: 820px) {
.ssh-marine-waterline__track,
  .ssh-marine-split {
    grid-template-columns: 1fr;
  }
.ssh-marine-split div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 24px;
  }
}
/* =========================
   USŁUGI — MARINE REFINE
   ========================= */
.ssh-marine-inspection-map__head > span,
.ssh-marine-final-material__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-marine-inspection-map__head h2,
.ssh-marine-final-material__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-marine-inspection-map__head p,
.ssh-marine-final-material__head p {
  max-width: 780px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-marine-map-visual .m1 { left: 15%; bottom: 40px; }
.ssh-marine-map-visual .m2 { left: 29%; bottom: 176px; }
.ssh-marine-map-visual .m3 { right: 13%; bottom: 108px; }
.ssh-marine-final-material {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.010));
}
.ssh-marine-final-material__head {
  margin-bottom: 22px;
}
.ssh-marine-final-material__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-marine-final-material__grid div {
  min-height: 132px;
  padding: 20px 18px 0 0;
}
.ssh-marine-final-material__grid div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-marine-final-material__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
}
.ssh-marine-final-material__grid p {
  max-width: 220px;
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
@media (max-width: 820px) {
.ssh-marine-map-list,
  .ssh-marine-final-material__grid {
    grid-template-columns: 1fr;
  }
.ssh-marine-final-material__grid div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}
/* =========================
   USŁUGI — MARINE PHOTO IN VIEW
   ========================= */
.ssh-marine-photo-map {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 2.6vw, 34px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 86% 18%, rgba(227,6,19,.13), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(227,6,19,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.012));
}
.ssh-marine-photo-map::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .14;
  background:
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}
.ssh-marine-photo-map > * {
  position: relative;
  z-index: 2;
}
.ssh-marine-photo-map__copy {
  max-width: 760px;
  margin-bottom: 24px;
}
.ssh-marine-photo-map__copy > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-marine-photo-map__copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.35rem, 1.7vw, 2rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}
.ssh-marine-photo-map__copy p {
  max-width: 720px;
  color: rgba(255,255,255,.62);
  font-size: .93rem;
  line-height: 1.72;
}
.ssh-marine-boat-frame {
  position: relative;
  min-height: clamp(280px, 34vw, 460px);
  margin: 0 0 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background:
    radial-gradient(circle at 70% 42%, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 26px 80px rgba(0,0,0,.18);
}
.ssh-marine-boat-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 24px 42px rgba(0,0,0,.42));
  transform: scale(1.02);
}
.ssh-marine-boat-frame::after {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 17%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(227,6,19,.70), transparent);
  box-shadow: 0 0 18px rgba(227,6,19,.28);
  pointer-events: none;
}
.ssh-marine-hotspot {
  position: absolute;
  min-height: 28px;
  padding: 0 10px 0 24px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(5,8,12,.58);
  color: rgba(255,255,255,.72);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  box-shadow: 0 0 22px rgba(0,0,0,.24);
}
.ssh-marine-hotspot::before {
  content: "";
  position: absolute;
  left: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 16px rgba(227,6,19,.78);
}
.ssh-marine-hotspot--hull {
  left: 12%;
  bottom: 23%;
}
.ssh-marine-hotspot--deck {
  left: 44%;
  top: 26%;
}
.ssh-marine-hotspot--drive {
  right: 11%;
  bottom: 30%;
}
.ssh-marine-hotspot--systems {
  right: 30%;
  top: 19%;
}
.ssh-marine-photo-checks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ssh-marine-photo-checks div {
  min-height: 128px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-marine-photo-checks span {
  display: block;
  margin-bottom: 12px;
  color: var(--ssh-red);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-marine-photo-checks strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .9rem;
  line-height: 1.25;
}
.ssh-marine-photo-checks p {
  color: rgba(255,255,255,.56);
  font-size: .78rem;
  line-height: 1.54;
}
@media (max-width: 1100px) {
.ssh-marine-photo-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.ssh-marine-boat-frame {
    min-height: 340px;
  }
}
@media (max-width: 720px) {
.ssh-marine-photo-map {
    padding: 22px;
  }
.ssh-marine-boat-frame {
    min-height: 250px;
  }
.ssh-marine-photo-checks {
    grid-template-columns: 1fr;
  }
.ssh-marine-hotspot {
    display: none;
  }
}
/* =========================
   USŁUGI — SPECIALIST VIEW
   ========================= */
.ssh-special-matrix {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.11), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-special-matrix__head {
  max-width: 780px;
  margin-bottom: 24px;
}
.ssh-special-matrix__head > span,
.ssh-special-case-types > div > span,
.ssh-special-final__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-special-matrix__head h2,
.ssh-special-case-types h2,
.ssh-special-workflow h2,
.ssh-special-final__head h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.ssh-special-matrix__head p,
.ssh-special-workflow p,
.ssh-special-final__head p {
  max-width: 760px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-special-matrix__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ssh-special-matrix__grid div {
  min-height: 168px;
  padding: 20px 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
}
.ssh-special-matrix__grid span {
  display: block;
  margin-bottom: 16px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-special-matrix__grid strong,
.ssh-special-case-types strong,
.ssh-special-final__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
  line-height: 1.25;
}
.ssh-special-matrix__grid p,
.ssh-special-case-types p,
.ssh-special-final__grid p {
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-special-case-types {
  display: grid;
  grid-template-columns: minmax(250px, .42fr) minmax(0, 1fr);
  gap: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-special-case-types ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ssh-special-case-types li {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
}
.ssh-special-workflow {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1fr);
  gap: 28px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.08), transparent 34%),
    rgba(255,255,255,.016);
}
.ssh-special-workflow__steps {
  display: grid;
  gap: 12px;
}
.ssh-special-workflow__steps p {
  max-width: none;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.014);
}
.ssh-special-workflow__steps strong {
  display: inline-flex;
  width: 34px;
  color: var(--ssh-red);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
}
.ssh-special-final {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 100%, rgba(227,6,19,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.010));
}
.ssh-special-final__head {
  margin-bottom: 22px;
}
.ssh-special-final__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-special-final__grid div {
  min-height: 128px;
  padding: 20px 18px 0 0;
}
.ssh-special-final__grid div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 980px) {
.ssh-special-matrix__grid,
  .ssh-special-case-types,
  .ssh-special-case-types ul,
  .ssh-special-workflow,
  .ssh-special-final__grid {
    grid-template-columns: 1fr;
  }
.ssh-special-final__grid div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}
/* =========================
   USŁUGI — INDUSTRIAL ASSETS VIEW
   ========================= */
/* =========================
   USŁUGI — INDUSTRIAL UNIQUE VIEW
   ========================= */
/* ==========================================================================
   USŁUGI — majątek przemysłowy
   ========================================================================== */
.ssh-industrial-side-panel {
  position: sticky;
  top: 104px;
  align-self: start;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.12), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
}
.ssh-industrial-side-panel > span,
.ssh-industrial-ledger__head > div > span,
.ssh-industrial-method-board__intro > span,
.ssh-industrial-adjustments__copy > span,
.ssh-industrial-output__head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-industrial-side-panel > strong {
  display: block;
  margin-bottom: 20px;
  color: #fff;
  font-size: 1.08rem;
  line-height: 1.34;
  letter-spacing: -.035em;
}
.ssh-industrial-side-panel__metric {
  padding: 15px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-industrial-side-panel__metric small {
  display: block;
  margin-bottom: 6px;
  color: rgba(255,255,255,.38);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ssh-industrial-side-panel__metric b {
  color: rgba(255,255,255,.82);
  font-size: .86rem;
  line-height: 1.35;
}
.ssh-industrial-side-panel .ssh-service-cta {
  margin-top: 18px;
}
.ssh-industrial-ledger,
.ssh-industrial-method-board,
.ssh-industrial-adjustments,
.ssh-industrial-output {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012));
}
.ssh-industrial-ledger__head {
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .26fr);
  gap: 24px;
  align-items: start;
}
.ssh-industrial-ledger__head h2,
.ssh-industrial-method-board h2,
.ssh-industrial-adjustments h2,
.ssh-industrial-scope-split h2,
.ssh-industrial-output h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.15rem, 1.45vw, 1.7rem);
  line-height: 1.18;
  letter-spacing: -.035em;
}
.ssh-industrial-ledger__head p,
.ssh-industrial-method-board p,
.ssh-industrial-adjustments p,
.ssh-industrial-output p,
.ssh-industrial-scope-split p {
  max-width: 760px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-industrial-ledger__status {
  padding: 16px;
  border: 1px solid rgba(227,6,19,.22);
  border-radius: 14px;
  background: rgba(227,6,19,.045);
}
.ssh-industrial-ledger__status small {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.42);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ssh-industrial-ledger__status strong {
  color: #fff;
  font-size: .86rem;
  line-height: 1.35;
}
.ssh-industrial-ledger-table {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(0,0,0,.12);
}
.ssh-industrial-ledger-table > div {
  min-height: 56px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: .42fr 1.3fr .7fr .82fr 1fr;
  gap: 16px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.07);
}
.ssh-industrial-ledger-table > div:first-child {
  border-top: 0;
}
.ssh-industrial-ledger-table__head {
  color: rgba(255,255,255,.40);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: rgba(255,255,255,.025);
}
.ssh-industrial-ledger-table strong {
  color: #fff;
  font-size: .88rem;
  line-height: 1.25;
}
.ssh-industrial-ledger-table span {
  color: rgba(255,255,255,.62);
  font-size: .82rem;
  line-height: 1.3;
}
.ssh-industrial-ledger-table em {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(227,6,19,.075);
  border: 1px solid rgba(227,6,19,.24);
  color: rgba(255,255,255,.78);
  font-size: .68rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .04em;
}
.ssh-industrial-method-board {
  display: grid;
  grid-template-columns: minmax(240px, .38fr) minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}
.ssh-industrial-method-board__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ssh-industrial-method-board__cards article {
  min-height: 160px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.08), transparent 40%),
    rgba(255,255,255,.016);
}
.ssh-industrial-method-board__cards span {
  display: block;
  margin-bottom: 18px;
  color: var(--ssh-red);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ssh-industrial-method-board__cards strong,
.ssh-industrial-output__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .96rem;
  line-height: 1.25;
}
.ssh-industrial-method-board__cards p,
.ssh-industrial-output__grid p {
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-industrial-adjustments {
  display: grid;
  grid-template-columns: minmax(280px, .44fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.ssh-industrial-adjustment-bars {
  display: grid;
  gap: 16px;
}
.ssh-industrial-adjustment-bars div {
  display: grid;
  gap: 8px;
}
.ssh-industrial-adjustment-bars span {
  color: rgba(255,255,255,.70);
  font-size: .78rem;
  font-weight: 850;
}
.ssh-industrial-adjustment-bars i {
  position: relative;
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.075);
}
.ssh-industrial-adjustment-bars i::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--value);
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(227,6,19,.55), rgba(255,255,255,.36));
  box-shadow: 0 0 18px rgba(227,6,19,.20);
}
.ssh-industrial-scope-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ssh-industrial-scope-split div {
  padding-right: 20px;
}
.ssh-industrial-scope-split div + div {
  padding-left: 26px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ssh-industrial-output__head {
  margin-bottom: 22px;
}
.ssh-industrial-output__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-industrial-output__grid div {
  min-height: 128px;
  padding: 20px 18px 0 0;
}
.ssh-industrial-output__grid div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 1120px) {
.ssh-industrial-side-panel {
    position: relative;
    top: auto;
  }
.ssh-industrial-method-board,
  .ssh-industrial-adjustments,
  .ssh-industrial-scope-split {
    grid-template-columns: 1fr;
  }
.ssh-industrial-method-board__cards {
    grid-template-columns: 1fr;
  }
.ssh-industrial-scope-split div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 24px;
  }
}
@media (max-width: 860px) {
.ssh-industrial-ledger__head,
  .ssh-industrial-output__grid {
    grid-template-columns: 1fr;
  }
.ssh-industrial-ledger-table > div {
    grid-template-columns: 1fr;
    padding: 16px 18px;
    gap: 8px;
  }
.ssh-industrial-output__grid div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}
/* =========================
   USŁUGI — SERVICE MOTION LAYER V2
   ========================= */
@keyframes sshServicePanelInV2 {
  0% {
    opacity: 0;
    transform: translateY(34px) scale(.985);
    filter: blur(10px);
  }
  60% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes sshServiceSectionInV2 {
  from {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
/* fallback widoczny nawet bez JS */
.ssh-service-view.is-active {
  animation: sshServicePanelInV2 .72s cubic-bezier(.18,.9,.2,1) both !important;
}
/* JS dodaje tę klasę za każdym przełączeniem usługi */
.ssh-service-view.is-active.ssh-view-entering .ssh-service-article-document {
  animation: sshServicePanelInV2 .76s cubic-bezier(.18,.9,.2,1) both !important;
  transform-origin: top center;
}
/* Elementy reveal — dopiero gdy JS aktywuje warstwę */
.ssh-motion-ready .ssh-reveal {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(8px);
  will-change: opacity, transform, filter;
}
.ssh-motion-ready .ssh-reveal.is-revealed {
  animation: sshServiceSectionInV2 .74s cubic-bezier(.18,.9,.2,1) both;
  animation-delay: var(--ssh-reveal-delay, 0ms);
}
/* Przy zmianie zakładki chowamy przyszłe elementy, żeby animacja była od nowa */
.ssh-motion-ready .ssh-service-view:not(.is-active) .ssh-reveal {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(8px);
  animation: none;
}
@media (hover: hover) and (pointer: fine) {
.ssh-service-info-card,
  .ssh-service-contact-card,
  .ssh-opinion-report-steps > div,
  .ssh-ac-comparison__side,
  .ssh-ac-next-steps__grid > div,
  .ssh-machinery-check-grid > div,
  .ssh-oc-dossier__grid > div,
  .ssh-marine-photo-checks > div,
  .ssh-special-matrix__grid > div,
  .ssh-special-case-types li,
  .ssh-special-final__grid > div,
  .ssh-industrial-ledger-table > div:not(.ssh-industrial-ledger-table__head),
  .ssh-industrial-method-board__cards article,
  .ssh-industrial-output__grid > div,
  .ssh-industrial-side-panel,
  .ssh-industrial-ledger,
  .ssh-industrial-method-board,
  .ssh-industrial-adjustments,
  .ssh-industrial-output {
    transition:
      transform .32s ease,
      border-color .32s ease,
      background-color .32s ease,
      box-shadow .32s ease;
  }
.ssh-service-info-card:hover,
  .ssh-service-contact-card:hover,
  .ssh-opinion-report-steps > div:hover,
  .ssh-ac-comparison__side:hover,
  .ssh-ac-next-steps__grid > div:hover,
  .ssh-machinery-check-grid > div:hover,
  .ssh-oc-dossier__grid > div:hover,
  .ssh-marine-photo-checks > div:hover,
  .ssh-special-matrix__grid > div:hover,
  .ssh-special-case-types li:hover,
  .ssh-special-final__grid > div:hover,
  .ssh-industrial-method-board__cards article:hover,
  .ssh-industrial-output__grid > div:hover,
  .ssh-industrial-side-panel:hover {
    transform: translateY(-5px);
    border-color: rgba(227,6,19,.36);
    background-color: rgba(255,255,255,.034);
    box-shadow:
      0 22px 52px rgba(0,0,0,.24),
      0 0 0 1px rgba(227,6,19,.06),
      0 0 34px rgba(227,6,19,.08);
  }
.ssh-industrial-ledger-table > div:not(.ssh-industrial-ledger-table__head):hover {
    transform: translateX(6px);
    border-color: rgba(227,6,19,.28);
    background-color: rgba(227,6,19,.05);
  }
}
.ssh-service-article-main section {
  scroll-margin-top: 110px;
}
@media (prefers-reduced-motion: reduce) {
.ssh-service-view.is-active,
  .ssh-service-view.is-active.ssh-view-entering .ssh-service-article-document,
  .ssh-motion-ready .ssh-reveal,
  .ssh-motion-ready .ssh-reveal.is-revealed,
  .ssh-motion-ready .ssh-service-view:not(.is-active) .ssh-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}
/* =========================
   HEADER — SERVICES MEGA FINAL HOVER
   ========================= */
/*
  FINAL:
  - działa z samego najechania myszką
  - bez agresywnej czerwonej kreski/scan-line
  - kreska pod "Usługi" jest taka jak w reszcie navu
  - panel ma płynny fade + slide + blur
  - menu zaczyna się bez szczeliny pod headerem, więc hover się nie gubi
*/
.ssh-nav {
  position: relative;
}
.ssh-nav-services {
  position: static !important;
}
.ssh-services-trigger {
  position: relative !important;
}
.ssh-services-trigger::after,
.ssh-nav-services .ssh-services-trigger::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 0 !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: var(--ssh-red) !important;
  box-shadow: none !important;
  transition: width .22s ease !important;
}
.ssh-nav-services:hover .ssh-services-trigger::after,
.ssh-nav-services:focus-within .ssh-services-trigger::after,
.ssh-nav-services.is-open .ssh-services-trigger::after {
  width: 46px !important;
}
.ssh-services-mega {
  left: 50% !important;
  top: calc(100% - 1px) !important;
  width: min(780px, calc(100vw - 56px)) !important;
  transform: translateX(-50%) translateY(22px) scale(.982) !important;
  transform-origin: 50% 0% !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  filter: blur(10px) !important;

  border-top: 1px solid rgba(227,6,19,.34) !important;
  border-radius: 0 0 18px 18px !important;
  clip-path: none !important;

  transition:
    opacity .52s cubic-bezier(.2,.8,.2,1),
    transform .52s cubic-bezier(.2,.8,.2,1),
    filter .52s cubic-bezier(.2,.8,.2,1),
    visibility 0s linear .52s !important;

  will-change: opacity, transform, filter;
}
.ssh-nav-services:hover .ssh-services-mega,
.ssh-nav-services:focus-within .ssh-services-mega,
.ssh-nav-services.is-open .ssh-services-mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  filter: blur(0) !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;

  transition:
    opacity .52s cubic-bezier(.2,.8,.2,1),
    transform .52s cubic-bezier(.2,.8,.2,1),
    filter .52s cubic-bezier(.2,.8,.2,1),
    visibility 0s linear 0s !important;
}
/* Usuwamy wszystkie wcześniejsze czerwone scan-line / boczne kreski z pseudo-elementów panelu. */
.ssh-services-mega::after {
  display: none !important;
}
.ssh-services-mega::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  opacity: .20 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.024) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  mask-image: linear-gradient(to bottom, black, transparent 90%) !important;
  box-shadow: none !important;
}
.ssh-services-mega__list,
.ssh-services-mega__info {
  position: relative;
  z-index: 2;
}
.ssh-services-mega__list a,
.ssh-services-mega__info > * {
  opacity: 0 !important;
  transform: translateY(12px) !important;
  filter: blur(4px) !important;
  transition:
    opacity .34s ease,
    transform .38s cubic-bezier(.2,.8,.2,1),
    filter .38s cubic-bezier(.2,.8,.2,1),
    color .18s ease,
    background .18s ease,
    border-color .18s ease !important;
  transition-delay: 0ms !important;
}
.ssh-nav-services:hover .ssh-services-mega__list a,
.ssh-nav-services:focus-within .ssh-services-mega__list a,
.ssh-nav-services.is-open .ssh-services-mega__list a,
.ssh-nav-services:hover .ssh-services-mega__info > *,
.ssh-nav-services:focus-within .ssh-services-mega__info > *,
.ssh-nav-services.is-open .ssh-services-mega__info > * {
  opacity: 1 !important;
  transform: translateY(0) !important;
  filter: blur(0) !important;
}
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(1),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(1),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(1) { transition-delay: 120ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(2),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(2),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(2) { transition-delay: 155ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(3),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(3),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(3) { transition-delay: 190ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(4),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(4),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(4) { transition-delay: 225ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(5),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(5),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(5) { transition-delay: 260ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(6),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(6),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(6) { transition-delay: 295ms !important; }
.ssh-nav-services:hover .ssh-services-mega__list a:nth-child(7),
.ssh-nav-services:focus-within .ssh-services-mega__list a:nth-child(7),
.ssh-nav-services.is-open .ssh-services-mega__list a:nth-child(7) { transition-delay: 330ms !important; }
.ssh-nav-services:hover .ssh-services-mega__info > *:nth-child(1),
.ssh-nav-services:focus-within .ssh-services-mega__info > *:nth-child(1),
.ssh-nav-services.is-open .ssh-services-mega__info > *:nth-child(1) { transition-delay: 170ms !important; }
.ssh-nav-services:hover .ssh-services-mega__info > *:nth-child(2),
.ssh-nav-services:focus-within .ssh-services-mega__info > *:nth-child(2),
.ssh-nav-services.is-open .ssh-services-mega__info > *:nth-child(2) { transition-delay: 205ms !important; }
.ssh-nav-services:hover .ssh-services-mega__info > *:nth-child(3),
.ssh-nav-services:focus-within .ssh-services-mega__info > *:nth-child(3),
.ssh-nav-services.is-open .ssh-services-mega__info > *:nth-child(3) { transition-delay: 240ms !important; }
.ssh-nav-services:hover .ssh-services-mega__info > *:nth-child(4),
.ssh-nav-services:focus-within .ssh-services-mega__info > *:nth-child(4),
.ssh-nav-services.is-open .ssh-services-mega__info > *:nth-child(4) { transition-delay: 275ms !important; }
.ssh-nav-services:hover .ssh-services-mega__info > *:nth-child(5),
.ssh-nav-services:focus-within .ssh-services-mega__info > *:nth-child(5),
.ssh-nav-services.is-open .ssh-services-mega__info > *:nth-child(5) { transition-delay: 310ms !important; }
@media (hover: hover) and (pointer: fine) {
.ssh-services-mega__list a:hover {
    transform: translateX(5px) !important;
    border-left-color: var(--ssh-red) !important;
    background:
      radial-gradient(circle at 0% 50%, rgba(227,6,19,.18), transparent 58%),
      rgba(255,255,255,.035) !important;
  }
.ssh-services-mega__cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 42px rgba(227,6,19,.22) !important;
  }
}
@media (max-width: 640px) {
.ssh-services-mega {
    left: 0 !important;
    width: calc(100vw - 32px) !important;
    transform: translateX(-36%) translateY(22px) scale(.982) !important;
  }
.ssh-nav-services:hover .ssh-services-mega,
  .ssh-nav-services:focus-within .ssh-services-mega,
  .ssh-nav-services.is-open .ssh-services-mega {
    transform: translateX(-36%) translateY(0) scale(1) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
.ssh-services-mega,
  .ssh-services-mega__list a,
  .ssh-services-mega__info > *,
  .ssh-services-trigger::after {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
.ssh-nav-services:hover .ssh-services-mega,
  .ssh-nav-services:focus-within .ssh-services-mega,
  .ssh-nav-services.is-open .ssh-services-mega {
    transform: translateX(-50%) translateY(0) scale(1) !important;
  }
.ssh-services-mega__list a,
  .ssh-services-mega__info > * {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}
/* =========================
   CONTACT — B2B VIEW
   ========================= */
@media (max-width: 620px) {
.ssh-contact-b2b__actions .ssh-btn {
    width: 100%;
    justify-content: center;
  }
}
/* =========================
   CONTACT — STANDALONE PAGE
   ========================= */
.is-contact-page {
  min-height: 100vh;
  background: #05070b;
}
/* ==========================================================================
   KONTAKT (formularz B2B)
   ========================================================================== */
.ssh-contact-page {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  padding: clamp(124px, 12vw, 174px) clamp(20px, 4vw, 56px) clamp(82px, 8vw, 132px);
  background:
    radial-gradient(circle at 12% 18%, rgba(227,6,19,.13), transparent 30%),
    radial-gradient(circle at 84% 70%, rgba(255,255,255,.045), transparent 32%),
    linear-gradient(180deg, rgba(7,10,15,.96), rgba(3,5,9,.98));
}
.ssh-contact-page__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background:
    linear-gradient(90deg, rgba(255,255,255,.034) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 38%, black, transparent 74%);
}
.ssh-contact-page__inner {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 0 auto;
}
.ssh-contact-page__breadcrumb {
  margin-bottom: 38px;
}
.ssh-contact-page__hero {
  max-width: 980px;
  margin-bottom: clamp(34px, 5vw, 62px);
}
.ssh-contact-page__hero h1 {
  max-width: 900px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(2.6rem, 6.7vw, 7.8rem);
  line-height: .88;
  letter-spacing: -.085em;
}
.ssh-contact-page__hero p {
  max-width: 790px;
  color: rgba(255,255,255,.68);
  font-size: clamp(1rem, 1.22vw, 1.16rem);
  line-height: 1.74;
}
.ssh-contact-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
  gap: clamp(24px, 3.4vw, 44px);
  align-items: stretch;
}
.ssh-contact-page__desk,
.ssh-contact-page__channel,
.ssh-contact-page__scope {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.012));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 28px 90px rgba(0,0,0,.24);
}
.ssh-contact-page__desk-head > span,
.ssh-contact-page__channel-head > span,
.ssh-contact-page__tags > span,
.ssh-contact-page__scope > div > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-contact-page__desk h2,
.ssh-contact-page__scope h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.ssh-contact-page__desk p,
.ssh-contact-page__flow p,
.ssh-contact-page__scope p {
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-contact-page__channel {
  padding: clamp(24px, 2.4vw, 34px);
}
.ssh-contact-page__channel-head {
  margin-bottom: 28px;
}
.ssh-contact-page__channel-head strong {
  display: block;
  color: #fff;
  font-size: clamp(1.22rem, 1.6vw, 1.7rem);
  line-height: 1.16;
  letter-spacing: -.045em;
}
.ssh-contact-page__data {
  display: grid;
  gap: 0;
}
.ssh-contact-page__data div {
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-contact-page__data dt {
  margin-bottom: 8px;
  color: rgba(255,255,255,.42);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ssh-contact-page__data dd,
.ssh-contact-page__data a {
  color: rgba(255,255,255,.82);
  font-size: .95rem;
  line-height: 1.45;
  text-decoration: none;
}
.ssh-contact-page__data a:hover {
  color: #fff;
}
.ssh-contact-page__tags {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-contact-page__tags div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.ssh-contact-page__tags em {
  min-height: 32px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.018);
  color: rgba(255,255,255,.66);
  font-size: .72rem;
  font-style: normal;
  font-weight: 850;
}
.ssh-contact-page__tags em:nth-child(2),
.ssh-contact-page__tags em:nth-child(4),
.ssh-contact-page__tags em:nth-child(6) {
  border-color: rgba(227,6,19,.28);
  background: rgba(227,6,19,.055);
  color: #fff;
}
.ssh-contact-page__scope {
  margin-top: clamp(24px, 3.4vw, 44px);
  padding: clamp(24px, 2.8vw, 36px);
  display: grid;
  grid-template-columns: minmax(240px, .36fr) minmax(0, 1fr);
  gap: 30px;
}
.ssh-contact-page__scope ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ssh-contact-page__scope li {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.016);
}
.ssh-contact-page__scope strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: .94rem;
  line-height: 1.25;
}
@media (hover: hover) and (pointer: fine) {
.ssh-contact-page__desk,
  .ssh-contact-page__channel,
  .ssh-contact-page__scope,
  .ssh-contact-page__scope li,
  .ssh-contact-page__flow div {
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
  }
.ssh-contact-page__desk:hover,
  .ssh-contact-page__channel:hover,
  .ssh-contact-page__scope:hover {
    border-color: rgba(227,6,19,.22);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.055),
      0 30px 92px rgba(0,0,0,.26),
      0 0 44px rgba(227,6,19,.07);
  }
.ssh-contact-page__scope li:hover,
  .ssh-contact-page__flow div:hover {
    transform: translateY(-4px);
  }
}
@media (max-width: 980px) {
.ssh-contact-page__grid,
  .ssh-contact-page__scope {
    grid-template-columns: 1fr;
  }
.ssh-contact-page__flow,
  .ssh-contact-page__scope ul {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
.ssh-contact-page {
    padding-inline: 16px;
  }
.ssh-contact-page__desk,
  .ssh-contact-page__channel,
  .ssh-contact-page__scope {
    border-radius: 18px;
  }
.ssh-contact-page__actions .ssh-btn {
    width: 100%;
    justify-content: center;
  }
}
/* =========================
   CONTACT — B2B FORM
   ========================= */
.ssh-contact-page__grid--form {
  grid-template-columns: minmax(0, 1fr) minmax(330px, .38fr);
  align-items: start;
}
.ssh-contact-form-card {
  padding: clamp(26px, 3vw, 42px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.012));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 28px 90px rgba(0,0,0,.24);
}
.ssh-contact-form-card__head {
  max-width: 760px;
  margin-bottom: 30px;
}
.ssh-contact-form-card__head > span,
.ssh-contact-form-hint > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ssh-red);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ssh-contact-form-card__head h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.ssh-contact-form-card__head p {
  max-width: 720px;
  color: rgba(255,255,255,.60);
  font-size: .9rem;
  line-height: 1.66;
}
.ssh-contact-form {
  display: grid;
  gap: 14px;
}
.ssh-contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ssh-contact-form label {
  display: grid;
  gap: 8px;
}
.ssh-contact-form label > span {
  color: rgba(255,255,255,.52);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ssh-contact-form input,
.ssh-contact-form select,
.ssh-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.014));
  color: #fff;
  font: inherit;
  font-size: .9rem;
  outline: none;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.ssh-contact-form input,
.ssh-contact-form select {
  min-height: 48px;
  padding: 0 14px;
}
.ssh-contact-form textarea {
  min-height: 164px;
  padding: 14px;
  resize: vertical;
}
.ssh-contact-form input::placeholder,
.ssh-contact-form textarea::placeholder {
  color: rgba(255,255,255,.30);
}
.ssh-contact-form select {
  color-scheme: dark;
}
.ssh-contact-form input:focus,
.ssh-contact-form select:focus,
.ssh-contact-form textarea:focus {
  border-color: rgba(227,6,19,.44);
  background-color: rgba(255,255,255,.030);
  box-shadow: 0 0 0 3px rgba(227,6,19,.09), 0 16px 36px rgba(0,0,0,.18);
}
.ssh-contact-form__bottom {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}
.ssh-contact-form__bottom p {
  max-width: 540px;
  color: rgba(255,255,255,.48);
  font-size: .8rem;
  line-height: 1.55;
}
.ssh-contact-form__status {
  min-height: 20px;
  color: rgba(255,255,255,.58);
  font-size: .78rem;
  line-height: 1.5;
}
.ssh-contact-page__channel--sticky {
  position: sticky;
  top: 106px;
}
.ssh-contact-form-hint {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ssh-contact-form-hint ul {
  list-style: none;
  display: grid;
  gap: 10px;
}
.ssh-contact-form-hint li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.58);
  font-size: .82rem;
  line-height: 1.45;
}
.ssh-contact-form-hint li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ssh-red);
  box-shadow: 0 0 12px rgba(227,6,19,.52);
}
.ssh-contact-page__scope--compact {
  margin-top: clamp(22px, 3vw, 36px);
}
@media (hover: hover) and (pointer: fine) {
.ssh-contact-form-card {
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
.ssh-contact-form-card:hover {
    border-color: rgba(227,6,19,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 30px 92px rgba(0,0,0,.26), 0 0 44px rgba(227,6,19,.07);
  }
.ssh-contact-form input:hover,
  .ssh-contact-form select:hover,
  .ssh-contact-form textarea:hover {
    border-color: rgba(255,255,255,.18);
  }
}
@media (max-width: 980px) {
.ssh-contact-page__grid--form,
  .ssh-contact-form__bottom {
    grid-template-columns: 1fr;
  }
.ssh-contact-page__channel--sticky {
    position: relative;
    top: auto;
  }
}
@media (max-width: 680px) {
.ssh-contact-form__row {
    grid-template-columns: 1fr;
  }
.ssh-contact-form__bottom .ssh-btn {
    width: 100%;
    justify-content: center;
  }
}
/* =========================
   CONTACT — FORM POLISH V2
   ========================= */
/* Native select chowamy dopiero po uruchomieniu JS — bez JS zostaje normalny select. */
.ssh-contact-form.is-custom-select-ready select.ssh-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
.ssh-select-field {
  position: relative;
}
.ssh-custom-select {
  position: relative;
  z-index: 5;
}
.ssh-custom-select.is-open {
  z-index: 40;
}
.ssh-custom-select__button {
  width: 100%;
  min-height: 52px;
  padding: 0 14px 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.055), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.014));
  color: #fff;
  font: inherit;
  font-size: .9rem;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition:
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease,
    transform .22s ease;
}
.ssh-custom-select.is-placeholder .ssh-custom-select__button {
  color: rgba(255,255,255,.42);
  font-weight: 650;
}
.ssh-custom-select__button:hover {
  border-color: rgba(255,255,255,.20);
  background-color: rgba(255,255,255,.025);
}
.ssh-custom-select.is-open .ssh-custom-select__button,
.ssh-custom-select__button:focus-visible {
  border-color: rgba(227,6,19,.48);
  box-shadow:
    0 0 0 3px rgba(227,6,19,.10),
    0 18px 38px rgba(0,0,0,.22);
}
.ssh-custom-select.is-invalid .ssh-custom-select__button {
  border-color: rgba(227,6,19,.62);
  box-shadow: 0 0 0 3px rgba(227,6,19,.12);
}
.ssh-custom-select__value {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ssh-custom-select__icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.70);
  font-size: .8rem;
  line-height: 1;
  transition:
    transform .22s ease,
    color .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}
.ssh-custom-select.is-open .ssh-custom-select__icon {
  transform: rotate(180deg);
  color: #fff;
  border-color: rgba(227,6,19,.34);
  background: rgba(227,6,19,.08);
}
.ssh-custom-select__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  max-height: 248px;
  overflow: auto;
  padding: 8px;
  border: 1px solid rgba(227,6,19,.22);
  border-radius: 14px;
  background:
    radial-gradient(circle at 0% 0%, rgba(227,6,19,.12), transparent 42%),
    linear-gradient(180deg, rgba(16,22,31,.98), rgba(6,9,14,.98));
  box-shadow:
    0 26px 70px rgba(0,0,0,.50),
    0 0 0 1px rgba(255,255,255,.035),
    0 0 34px rgba(227,6,19,.08);
  opacity: 0;
  transform: translateY(8px) scale(.985);
  visibility: hidden;
  pointer-events: none;
  filter: blur(6px);
  transition:
    opacity .22s ease,
    transform .26s cubic-bezier(.2,.8,.2,1),
    filter .26s cubic-bezier(.2,.8,.2,1),
    visibility 0s linear .22s;
}
.ssh-custom-select.is-open .ssh-custom-select__list {
  opacity: 1;
  transform: translateY(0) scale(1);
  visibility: visible;
  pointer-events: auto;
  filter: blur(0);
  transition:
    opacity .22s ease,
    transform .26s cubic-bezier(.2,.8,.2,1),
    filter .26s cubic-bezier(.2,.8,.2,1),
    visibility 0s linear 0s;
}
.ssh-custom-select__list::-webkit-scrollbar {
  width: 8px;
}
.ssh-custom-select__list::-webkit-scrollbar-track {
  background: rgba(255,255,255,.035);
  border-radius: 999px;
}
.ssh-custom-select__list::-webkit-scrollbar-thumb {
  background: rgba(227,6,19,.45);
  border-radius: 999px;
}
.ssh-custom-select__option {
  width: 100%;
  min-height: 38px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: rgba(255,255,255,.74);
  font: inherit;
  font-size: .84rem;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}
.ssh-custom-select__option:hover {
  color: #fff;
  border-color: rgba(227,6,19,.25);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.18), transparent 60%),
    rgba(255,255,255,.035);
  transform: translateX(3px);
}
.ssh-custom-select__option.is-selected {
  color: #fff;
  border-color: rgba(227,6,19,.36);
  background: rgba(227,6,19,.10);
}
.ssh-custom-select__option.is-muted {
  color: rgba(255,255,255,.34);
}
.ssh-contact-form__bottom {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227,6,19,.075), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.010));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}
.ssh-contact-form__bottom p {
  max-width: 560px;
  color: rgba(255,255,255,.54);
  font-size: .8rem;
  line-height: 1.56;
}
.ssh-contact-form__bottom .ssh-btn {
  min-width: 214px;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, #f01724, #c70712);
  box-shadow:
    0 16px 34px rgba(227,6,19,.18),
    inset 0 1px 0 rgba(255,255,255,.18);
  font-size: .82rem;
  letter-spacing: .01em;
}
.ssh-contact-form__bottom .ssh-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow:
    0 20px 42px rgba(227,6,19,.24),
    inset 0 1px 0 rgba(255,255,255,.20);
}
.ssh-contact-form__status {
  margin-top: 4px;
  min-height: 20px;
  color: rgba(255,255,255,.58);
  font-size: .78rem;
  line-height: 1.5;
}
@media (max-width: 980px) {
.ssh-contact-form__bottom {
    grid-template-columns: 1fr;
  }
.ssh-contact-form__bottom .ssh-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (prefers-reduced-motion: reduce) {
.ssh-custom-select__button,
  .ssh-custom-select__icon,
  .ssh-custom-select__list,
  .ssh-custom-select__option,
  .ssh-contact-form__bottom .ssh-btn {
    transition: none !important;
  }
}
/* =========================
   CONTACT — BUSINESS COPY V3
   ========================= */
/* Nagłówek kontaktu bliżej stylu pozostałych widoków, bez przesadnie wielkiego landingowego h1. */
.ssh-contact-page__hero {
  max-width: 860px;
  margin-bottom: clamp(32px, 4.6vw, 56px);
}
.ssh-contact-page__hero h1 {
  max-width: 820px;
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(2.35rem, 4.6vw, 5.6rem) !important;
  line-height: .96 !important;
  letter-spacing: -.07em !important;
}
.ssh-contact-page__hero p {
  max-width: 760px;
  color: rgba(255,255,255,.66);
  font-size: clamp(.98rem, 1.12vw, 1.08rem);
  line-height: 1.72;
}
.ssh-contact-form-card__head h2 {
  font-size: clamp(1.25rem, 1.65vw, 1.8rem) !important;
  line-height: 1.14 !important;
}
.ssh-contact-form-card__head p {
  max-width: 740px;
}
.ssh-contact-form__bottom .ssh-btn {
  min-width: 190px;
}
.ssh-contact-page__scope--compact h2 {
  font-size: clamp(1.2rem, 1.65vw, 1.8rem) !important;
}
.ssh-contact-form input,
.ssh-contact-form textarea,
.ssh-custom-select__button {
  font-weight: 650;
}
.ssh-custom-select__option {
  font-weight: 700;
}
@media (max-width: 620px) {
.ssh-contact-page__hero h1 {
    font-size: clamp(2.1rem, 12vw, 3.1rem) !important;
    line-height: 1 !important;
  }
}
/* =========================
   NAV — ACTIVE PAGE STATES
   ========================= */
.ssh-nav-services.is-active .ssh-services-trigger {
  color: #fff;
}
.ssh-nav-services.is-active .ssh-services-trigger::after {
  width: 46px !important;
}
.ssh-nav a.is-active {
  color: #fff;
}
.ssh-nav a.is-active::after {
  width: 46px !important;
}
/* Kontakt/usługi muszą wyglądać jak aktywne po wejściu na daną stronę, bez hovera. */
.is-services-page .ssh-nav-services .ssh-services-trigger {
  color: #fff;
}
.is-services-page .ssh-nav-services .ssh-services-trigger::after {
  width: 46px !important;
}
.is-contact-page .ssh-nav a[href="./kontakt.html"],
.is-contact-page .ssh-nav a[href="kontakt.html"] {
  color: #fff;
}
.is-contact-page .ssh-nav a[href="./kontakt.html"]::after,
.is-contact-page .ssh-nav a[href="kontakt.html"]::after {
  width: 46px !important;
}
/* =========================
   MODEL — BOOT FALLBACK
   ========================= */
.ssh-intro.is-fallback-hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
/* =========================
   ANCHOR — FIXED HEADER OFFSET
   ========================= */
/* Kotwice nie wpadają już pod fixed header. */
html {
  scroll-padding-top: 96px;
}
#top,
#o-nas,
#mission-title,
#lokalizacje,
#coverage-title,
#partnerzy,
#ssh-partners-title,
#kontakt,
#contact-page-title {
  scroll-margin-top: 104px;
}
/* Hero ma zostać naprawdę od samej góry po wejściu z logo / Start. */
#top {
  scroll-margin-top: 0;
}
@media (max-width: 760px) {
html {
    scroll-padding-top: 82px;
  }
#o-nas,
  #mission-title,
  #lokalizacje,
  #coverage-title,
  #partnerzy,
  #ssh-partners-title,
  #kontakt,
  #contact-page-title {
    scroll-margin-top: 88px;
  }
}
/* =========================
   REPORT MODEL — SKIP INTRO FIX
   ========================= */
[data-ssh-report-model-canvas] {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
}
/* =========================
   INTRO — DISSOLVE ONLY SLOWER
   ========================= */
/* Zostawiamy przycisk w bazowym stylu, zmieniamy tylko rozpad auta. */
.ssh-intro.is-transferring {
  background:
    radial-gradient(circle at 73% 54%, rgba(227, 6, 19, 0.13), transparent 22%),
    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.045), transparent 32%),
    #070a0f;
}
.ssh-intro.is-transferring .ssh-model-canvas {
  animation: sshCanvasTransferSlower 1.72s cubic-bezier(.2,.85,.2,1) forwards !important;
  transform-origin: 73% 54%;
  filter:
    drop-shadow(0 0 34px rgba(227, 6, 19, 0.26))
    blur(0);
}
@keyframes sshCanvasTransferSlower {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: drop-shadow(0 0 28px rgba(227, 6, 19, 0.18)) blur(0);
  }

  42% {
    transform: translate3d(7vw, .9vh, 0) scale(.78);
    opacity: .92;
    filter: drop-shadow(0 0 46px rgba(227, 6, 19, 0.34)) blur(.15px);
  }

  72% {
    transform: translate3d(15vw, 2.1vh, 0) scale(.48);
    opacity: .70;
    filter: drop-shadow(0 0 50px rgba(227, 6, 19, 0.34)) blur(.55px);
  }

  100% {
    transform: translate3d(24vw, 3.8vh, 0) scale(.22);
    opacity: 0;
    filter: drop-shadow(0 0 38px rgba(227, 6, 19, 0.26)) blur(2.2px);
  }
}
.ssh-intro.is-transferring::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: 40vw;
  max-width: 620px;
  height: 1px;
  transform: translate(-8%, -50%) rotate(3deg);
  background: linear-gradient(90deg, transparent, rgba(227, 6, 19, .85), rgba(255,255,255,.72), transparent);
  box-shadow:
    0 0 24px rgba(227, 6, 19, .42),
    0 0 70px rgba(227, 6, 19, .20);
  opacity: 0;
  animation: sshTransferBeamSlower 1.38s cubic-bezier(.2,.85,.2,1) forwards;
}
@keyframes sshTransferBeamSlower {
  0% {
    opacity: 0;
    transform: translate(-22%, -50%) scaleX(.24) rotate(3deg);
  }

  28% {
    opacity: .95;
    transform: translate(-4%, -50%) scaleX(1) rotate(3deg);
  }

  100% {
    opacity: 0;
    transform: translate(28%, -50%) scaleX(.28) rotate(3deg);
  }
}
/* =========================
   INTRO — CLEAN BUTTON & NO SIDE DRIFT V3
   ========================= */
/* Przycisk: nowocześniej, ale bez przesadnego panelu. */
.ssh-analyze-btn {
  min-width: 238px;
  min-height: 54px;
  padding: 0 26px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.020)),
    linear-gradient(90deg, rgba(227,6,19,.22), rgba(227,6,19,.07) 42%, rgba(6,9,14,.70));
  color: #fff;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .145em;
  text-transform: uppercase;
  box-shadow:
    0 20px 60px rgba(0,0,0,.42),
    0 0 0 1px rgba(227,6,19,.08),
    0 0 34px rgba(227,6,19,.12),
    inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter: blur(12px);
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    border-color .24s ease,
    box-shadow .24s ease,
    background-color .24s ease;
}
.ssh-analyze-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  left: 0;
  width: auto;
  height: auto;
  border-radius: inherit;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  opacity: 0;
  transform: translateX(-58%) skewX(-18deg);
  transition: transform .55s ease, opacity .24s ease;
}
.ssh-analyze-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 13px;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(227,6,19,.34), transparent 28%, transparent 72%, rgba(255,255,255,.07));
  opacity: .45;
}
.ssh-analyze-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(227,6,19,.34);
  box-shadow:
    0 24px 72px rgba(0,0,0,.46),
    0 0 0 1px rgba(227,6,19,.12),
    0 0 42px rgba(227,6,19,.18),
    inset 0 1px 0 rgba(255,255,255,.16);
}
.ssh-analyze-btn:hover::before {
  opacity: .85;
  transform: translateX(78%) skewX(-18deg);
}
.ssh-analyze-btn:active {
  transform: translateY(0) scale(.985);
}
.ssh-analyze-btn:disabled {
  opacity: .72;
  cursor: default;
  transform: none;
}
/* Rozpad: bez odjazdu auta w bok i bez czerwonej kreski przez ekran. */
.ssh-intro.is-transferring .ssh-model-canvas {
  animation: sshCanvasDissolveCentered 1.78s cubic-bezier(.2,.85,.2,1) forwards !important;
  transform-origin: 50% 50% !important;
}
@keyframes sshCanvasDissolveCentered {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: drop-shadow(0 0 28px rgba(227,6,19,.18)) blur(0);
  }

  42% {
    transform: translate3d(0, 0, 0) scale(.985);
    opacity: .92;
    filter: drop-shadow(0 0 42px rgba(227,6,19,.30)) blur(.12px);
  }

  76% {
    transform: translate3d(0, 0, 0) scale(.94);
    opacity: .56;
    filter: drop-shadow(0 0 38px rgba(227,6,19,.22)) blur(.65px);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(.90);
    opacity: 0;
    filter: drop-shadow(0 0 28px rgba(227,6,19,.15)) blur(2.4px);
  }
}
/* Wyłączamy poprzedni czerwony beam/kreskę. */
.ssh-intro.is-transferring::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}
@media (max-width: 620px) {
.ssh-analyze-btn {
    min-width: 220px;
    min-height: 52px;
    padding: 0 22px;
    font-size: .69rem;
  }
}
/* =========================
   HERO — SECONDARY CTA POLISH
   ========================= */
/* "Zobacz zakres usług" — mniej płaski, bardziej jak premium secondary CTA. */
.ssh-hero-actions .ssh-btn-ghost {
  position: relative;
  overflow: hidden;
  min-height: 50px;
  padding-inline: 24px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.115);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.13), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.012));
  color: rgba(255,255,255,.90);
  box-shadow:
    0 16px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.075);
  isolation: isolate;
}
.ssh-hero-actions .ssh-btn-ghost::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(227,6,19,.22), transparent 34%, rgba(255,255,255,.045));
  opacity: .42;
  transform: translateX(-58%);
  transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .26s ease;
}
.ssh-hero-actions .ssh-btn-ghost::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 9px;
  height: 1px;
  background: linear-gradient(90deg, rgba(227,6,19,.75), rgba(255,255,255,.22), transparent);
  opacity: .45;
  transform: scaleX(.42);
  transform-origin: left;
  transition: transform .26s ease, opacity .26s ease;
}
.ssh-hero-actions .ssh-btn-ghost:hover {
  color: #fff;
  border-color: rgba(227,6,19,.32);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.18), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.020));
  box-shadow:
    0 20px 54px rgba(0,0,0,.28),
    0 0 34px rgba(227,6,19,.11),
    inset 0 1px 0 rgba(255,255,255,.095);
  transform: translateY(-2px);
}
.ssh-hero-actions .ssh-btn-ghost:hover::before {
  opacity: .72;
  transform: translateX(0);
}
.ssh-hero-actions .ssh-btn-ghost:hover::after {
  opacity: .85;
  transform: scaleX(1);
}
.ssh-hero-actions .ssh-btn-ghost span {
  color: rgba(255,255,255,.78);
  transition: transform .24s ease, color .24s ease;
}
.ssh-hero-actions .ssh-btn-ghost:hover span {
  color: #fff;
  transform: translateX(3px);
}
/* Górne "O nas" traktujemy jako wejście na hero/top, więc hash #top nie może mieć offsetu. */
#top {
  scroll-margin-top: 0 !important;
}
@media (max-width: 620px) {
.ssh-hero-actions .ssh-btn-ghost {
    width: 100%;
    justify-content: center;
  }
}
/* =========================
   HERO — FINAL CTA ROUTING & POLISH
   ========================= */
/* Ten przycisk siedzi w .ssh-hero-buttons, nie .ssh-hero-actions. */
.ssh-hero-buttons .ssh-btn-ghost {
  position: relative;
  overflow: hidden;
  min-height: 50px;
  padding-inline: 24px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.14), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.014));
  color: rgba(255,255,255,.92);
  box-shadow:
    0 16px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
  isolation: isolate;
}
.ssh-hero-buttons .ssh-btn-ghost::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(227,6,19,.24), transparent 36%, rgba(255,255,255,.045));
  opacity: .42;
  transform: translateX(-58%);
  transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .26s ease;
}
.ssh-hero-buttons .ssh-btn-ghost::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 9px;
  height: 1px;
  background: linear-gradient(90deg, rgba(227,6,19,.78), rgba(255,255,255,.25), transparent);
  opacity: .45;
  transform: scaleX(.42);
  transform-origin: left;
  transition: transform .26s ease, opacity .26s ease;
}
.ssh-hero-buttons .ssh-btn-ghost:hover {
  color: #fff;
  border-color: rgba(227,6,19,.34);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.19), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.022));
  box-shadow:
    0 20px 54px rgba(0,0,0,.30),
    0 0 34px rgba(227,6,19,.12),
    inset 0 1px 0 rgba(255,255,255,.10);
  transform: translateY(-2px);
}
.ssh-hero-buttons .ssh-btn-ghost:hover::before {
  opacity: .72;
  transform: translateX(0);
}
.ssh-hero-buttons .ssh-btn-ghost:hover::after {
  opacity: .85;
  transform: scaleX(1);
}
.ssh-hero-buttons .ssh-btn-ghost span {
  color: rgba(255,255,255,.78);
  transition: transform .24s ease, color .24s ease;
}
.ssh-hero-buttons .ssh-btn-ghost:hover span {
  color: #fff;
  transform: translateX(3px);
}
#top {
  scroll-margin-top: 0 !important;
}
@media (max-width: 620px) {
.ssh-hero-buttons .ssh-btn-ghost,
  .ssh-hero-buttons .ssh-btn-red {
    width: 100%;
    justify-content: center;
  }
}
/* =========================
   TOP — HARD RESET SCROLL
   ========================= */
#top,
.ssh-hero#top {
  scroll-margin-top: 0 !important;
}
/* =========================
   HERO — ROUTED BUTTONS HARD FIX
   ========================= */
.ssh-hero-buttons .ssh-btn-red,
.ssh-hero-buttons .ssh-btn-ghost {
  min-height: 52px;
  border-radius: 13px;
}
.ssh-hero-buttons .ssh-btn-ghost {
  position: relative;
  overflow: hidden;
  padding-inline: 24px;
  border: 1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.16), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.016));
  color: rgba(255,255,255,.94);
  box-shadow:
    0 18px 46px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.09);
  isolation: isolate;
}
.ssh-hero-buttons .ssh-btn-ghost::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(227,6,19,.26), transparent 38%, rgba(255,255,255,.05));
  opacity: .46;
  transform: translateX(-60%);
  transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .26s ease;
}
.ssh-hero-buttons .ssh-btn-ghost::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 9px;
  height: 1px;
  background: linear-gradient(90deg, rgba(227,6,19,.82), rgba(255,255,255,.25), transparent);
  opacity: .50;
  transform: scaleX(.45);
  transform-origin: left;
  transition: transform .26s ease, opacity .26s ease;
}
.ssh-hero-buttons .ssh-btn-ghost:hover {
  color: #fff;
  border-color: rgba(227,6,19,.36);
  background:
    radial-gradient(circle at 0% 50%, rgba(227,6,19,.21), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.078), rgba(255,255,255,.024));
  box-shadow:
    0 22px 58px rgba(0,0,0,.30),
    0 0 36px rgba(227,6,19,.13),
    inset 0 1px 0 rgba(255,255,255,.11);
  transform: translateY(-2px);
}
.ssh-hero-buttons .ssh-btn-ghost:hover::before {
  opacity: .76;
  transform: translateX(0);
}
.ssh-hero-buttons .ssh-btn-ghost:hover::after {
  opacity: .88;
  transform: scaleX(1);
}
.ssh-hero-buttons .ssh-btn-ghost span {
  color: rgba(255,255,255,.78);
  transition: transform .24s ease, color .24s ease;
}
.ssh-hero-buttons .ssh-btn-ghost:hover span {
  color: #fff;
  transform: translateX(3px);
}
#top,
.ssh-hero#top {
  scroll-margin-top: 0 !important;
}
/* =========================
   FOOTER — ANCHOR SCROLL FIX
   ========================= */
/* Stopka celuje teraz w konkretne nagłówki, więc offset jest precyzyjny pod sticky header. */
#mission-title,
#coverage-title,
#ssh-partners-title {
  scroll-margin-top: 94px !important;
}
#top,
.ssh-hero#top {
  scroll-margin-top: 0 !important;
}
@media (max-width: 760px) {
#mission-title,
  #coverage-title,
  #ssh-partners-title {
    scroll-margin-top: 82px !important;
  }
}
/* =========================
   HERO REPORT — SCAN STATUS PHONE DOT
   ========================= */
/* Telefon w headerze: zielona kropka = dostępność / kontakt aktywny. */
.ssh-header-contact .ssh-phone::before {
  background: #22c55e !important;
  box-shadow:
    0 0 0 4px rgba(34,197,94,.10),
    0 0 18px rgba(34,197,94,.62) !important;
}
/* Status w raporcie: żywy czerwony live indicator. */
.report-status::before,
.ssh-report-status::before,
.report-card__status::before,
.report-card-status::before,
.report-head__status::before,
.report-card [class*="status"]::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 9px;
  display: inline-block;
  vertical-align: 1px;
  border-radius: 999px;
  background: #e30613;
  box-shadow:
    0 0 0 4px rgba(227,6,19,.12),
    0 0 18px rgba(227,6,19,.74);
  animation: sshStatusPulse 1.65s ease-in-out infinite;
}
@keyframes sshStatusPulse {
  0%, 100% {
    opacity: .62;
    transform: scale(.92);
    box-shadow:
      0 0 0 3px rgba(227,6,19,.10),
      0 0 14px rgba(227,6,19,.52);
  }

  50% {
    opacity: 1;
    transform: scale(1);
    box-shadow:
      0 0 0 5px rgba(227,6,19,.15),
      0 0 24px rgba(227,6,19,.82);
  }
}
/* CSS-owy overlay skanu też trochę zwalnia, żeby pasował do pauzy w JS. */
.report-model-scan {
  animation-duration: 4.3s !important;
  animation-timing-function: cubic-bezier(.2,.78,.2,1) !important;
}
/* =========================
   STATUS / SCAN — CLEANUP V2
   ========================= */
/* Status: usuwamy starą kropkę ze środka badge'a, zostaje jedna świecąca pseudo-kropka. */
.ssh-analysis-panel .status .dot,
.ssh-analysis-panel .dot {
  display: none !important;
}
.ssh-analysis-panel .status::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 9px;
  display: inline-block;
  vertical-align: 1px;
  border-radius: 999px;
  background: #e30613;
  box-shadow:
    0 0 0 4px rgba(227,6,19,.12),
    0 0 18px rgba(227,6,19,.74);
  animation: sshStatusPulse 1.65s ease-in-out infinite;
}
/* Nie dodajemy drugiej kropki innym zbyt szerokim selektorem statusowym. */
.ssh-analysis-panel .status::after {
  content: none !important;
}
/* Czerwony overlay/pasek skanu na mini-modelu wyłączony — zostaje skan punktowy z WebGL. */
.report-model-scan {
  display: none !important;
  animation: none !important;
}
/* Sekcja "Nie warsztat. Nie pośrednik." — bez czerwonego paska / linii prowadzącej po lewej. */
/* Pauza skanu jest teraz w JS; tu nie animujemy czerwonej kreski. */
@media (prefers-reduced-motion: reduce) {
.ssh-analysis-panel .status::before {
    animation: none !important;
  }
}
/* =========================
   LAB PANEL — NO RED MOTION
   ========================= */
/* Duży panel "Nie warsztat. Nie pośrednik." — bez ruchomego czerwonego/radarowego efektu w tle. */
.ssh-mission-v2 .ssh-lab-panel::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}
/* Zostawiamy delikatną głębię panelu, ale bez przelatującej czerwieni. */
.ssh-mission-v2 .ssh-lab-panel {
  background:
    linear-gradient(135deg, rgba(255,255,255,.052), rgba(255,255,255,.015) 54%),
    rgba(8, 13, 19, .78) !important;
}
/* Siatka zostaje statyczna i subtelna. */
.ssh-mission-v2 .ssh-lab-panel::before {
  opacity: .20 !important;
  animation: none !important;
}
/* Lewy stack Materiał / Analiza / Raport zostaje z czerwonymi akcentami. */
.ssh-mission-v2 .ssh-verify-stack div,
.ssh-mission-v2 .ssh-verify-stack span {
  animation: none !important;
}
/* =========================
   INTRO — NO RED GLOW / NEUTRAL POINTS
   ========================= */
/* Startowe intro bez czerwonej poświaty za modelem. */
.ssh-intro {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.040), transparent 32%),
    linear-gradient(180deg, #070a0f 0%, #05080d 100%) !important;
}
.ssh-intro::before,
.ssh-intro::after {
  box-shadow: none !important;
}
/* Stage/model bez czerwonego glow z tła. */
.ssh-model-stage {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.035), transparent 34%),
    transparent !important;
}
.ssh-model-stage::before,
.ssh-model-stage::after {
  background:
    linear-gradient(9

/* =========================
   SECTION REVEAL — COVERAGE + PARTNERS
   Klasa .is-reveal-ready dodawana przez JS, żeby bez JS treść nie znikała.
   ========================= */

.ssh-coverage.is-reveal-ready .ssh-coverage-copy > *,
.ssh-coverage.is-reveal-ready .ssh-coverage-visual,
.ssh-partners.is-reveal-ready .ssh-partners__head > *,
.ssh-partners.is-reveal-ready .ssh-logo-carousel {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  filter: blur(10px);
  will-change: opacity, transform, filter;
}

.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > *,
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-visual,
.ssh-partners.is-reveal-ready.is-revealed .ssh-partners__head > *,
.ssh-partners.is-reveal-ready.is-revealed .ssh-logo-carousel {
  animation: sshMissionItemReveal 1.05s cubic-bezier(.2,.82,.22,1) both;
}

.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(1) { animation-delay: .04s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(2) { animation-delay: .12s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(3) { animation-delay: .20s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(4) { animation-delay: .28s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(5) { animation-delay: .36s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(6) { animation-delay: .44s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-copy > :nth-child(7) { animation-delay: .52s; }
.ssh-coverage.is-reveal-ready.is-revealed .ssh-coverage-visual { animation-delay: .30s; }

/* ==========================================================================
   PARTNERZY
   ========================================================================== */
.ssh-partners.is-reveal-ready.is-revealed .ssh-partners__head > :nth-child(1) { animation-delay: .04s; }
.ssh-partners.is-reveal-ready.is-revealed .ssh-partners__head > :nth-child(2) { animation-delay: .16s; }
.ssh-partners.is-reveal-ready.is-revealed .ssh-logo-carousel { animation-delay: .30s; }



/* =========================
   TYPOGRAFIA TECHNICZNA — JetBrains Mono dla elementów HUD
   Spójna "skanerska" estetyka: wszystkie techniczne etykiety w mono.
   ========================= */

:root {
  --ssh-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ssh-hud,
.ssh-kicker,
.ssh-section-kicker,
.ssh-partners__eyebrow,
.ssh-lab-top span,
.ssh-lab-top strong,
.ssh-verify-stack span,
.ssh-mission-process span,
.ssh-coverage-visual-top span,
.ssh-coverage-visual-top strong,
.ssh-map-panel span,
.ssh-map-panel strong,
.ssh-coverage-note span,
.report-model-copy span,
.report-model-copy strong,
.ssh-logo-carousel__counter,
.ssh-footer__bottom,
.report-card .status,
.report-card .time,
.ssh-model-transfer-label,
.ssh-loader-copy,
.ssh-intro-skip,
.ssh-breadcrumb {
  font-family: var(--ssh-mono);
}

/* Mono jest szerszy od Intera — lekka korekta trackingu i wagi. */
.ssh-kicker,
.ssh-section-kicker,
.ssh-partners__eyebrow {
  font-weight: 700;
  letter-spacing: .16em;
}

.ssh-hud {
  font-weight: 500;
  letter-spacing: .08em;
}

/* Liczby zawsze w stałej szerokości — nie "skaczą" przy animacji. */
.ssh-hero-stats strong,
.ssh-coverage-metrics strong,
.ssh-logo-carousel__counter,
.params .param strong {
  font-variant-numeric: tabular-nums;
}


/* =========================
   DETALE PREMIUM — selection, scrollbar, focus
   ========================= */

::selection {
  background: rgba(227, 6, 19, .85);
  color: #fff;
}

html {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .22) #0a0e14;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #0a0e14;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .18);
  border-radius: 999px;
  border: 2px solid #0a0e14;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, .30);
}

:focus-visible {
  outline: 2px solid rgba(227, 6, 19, .75);
  outline-offset: 3px;
}


/* =========================
   INTRO LOADER — polish
   ========================= */

/* Animowane kropki za etykietą — loader "żyje" nawet gdy procent stoi. */
[data-ssh-loader-label]::after {
  content: "";
  display: inline-block;
  width: 1.4em;
  text-align: left;
  animation: sshLoaderDots 1.2s steps(1) infinite;
}

@keyframes sshLoaderDots {
  0%   { content: ""; }
  25%  { content: "."; }
  50%  { content: ".."; }
  75%  { content: "..."; }
}

/* Delikatny shimmer przesuwający się po torze paska. */
.ssh-loader-bar {
  position: relative;
}

.ssh-loader-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent);
  background-size: 200% 100%;
  animation: sshLoaderShimmer 1.8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes sshLoaderShimmer {
  0%   { background-position: 160% 0; }
  100% { background-position: -60% 0; }
}

/* Procent z czerwonym akcentem — spójnie z barem. */
[data-ssh-loader-percent] {
  text-shadow: 0 0 14px rgba(227, 6, 19, .35);
}


/* =========================
   INTRO — branding + HUD + duży procent
   ========================= */

.ssh-intro-brand {
  position: absolute;
  left: clamp(24px, 4vw, 56px);
  top: clamp(22px, 4vh, 44px);
  z-index: 6;
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
}

.ssh-intro-brand::before,
.ssh-intro-brand::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  pointer-events: none;
}

.ssh-intro-brand::before {
  left: 0;
  top: 0;
  border-left: 1px solid rgba(255, 255, 255, .38);
  border-top: 1px solid rgba(255, 255, 255, .38);
}

.ssh-intro-brand::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid rgba(255, 255, 255, .38);
  border-bottom: 1px solid rgba(255, 255, 255, .38);
}

.ssh-intro-brand strong {
  color: #fff;
  font-size: 1.7rem;
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.05em;
}

.ssh-intro-brand strong::after {
  content: ".";
  color: var(--ssh-red, #e30613);
}

.ssh-intro-brand span {
  margin-top: 6px;
  color: rgba(255, 255, 255, .5);
  font-family: var(--ssh-mono);
  font-size: .58rem;
  font-weight: 500;
  letter-spacing: .3em;
  text-transform: uppercase;
}

.ssh-intro-hud {
  position: absolute;
  z-index: 6;
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-family: var(--ssh-mono);
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .34);
}

.ssh-intro-hud--tr {
  right: clamp(24px, 4vw, 56px);
  top: clamp(28px, 4.5vh, 50px);
  text-align: right;
}

.ssh-intro-hud--bl {
  left: clamp(24px, 4vw, 56px);
  bottom: clamp(24px, 4.5vh, 48px);
}

.ssh-intro-hud span:first-child {
  color: rgba(255, 255, 255, .58);
}

/* Duży procent — loader jak na stronach awwwards. */
.ssh-loader-copy {
  align-items: flex-end;
}

.ssh-loader-copy strong {
  font-family: var(--ssh-mono);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.02em;
}


/* =========================
   HEADER LOGO — bez białego pudła
   ========================= */

.ssh-logo {
  width: auto;
  height: auto;
  left: clamp(16px, 2vw, 28px);
  top: 50%;
  transform: translateY(-50%);
  padding: 12px 16px;
  align-items: flex-start;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.ssh-logo::before,
.ssh-logo::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  pointer-events: none;
  transition: border-color .3s ease;
}

.ssh-logo::before {
  left: 0;
  top: 0;
  border-left: 1px solid rgba(255, 255, 255, .32);
  border-top: 1px solid rgba(255, 255, 255, .32);
}

.ssh-logo::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid rgba(255, 255, 255, .32);
  border-bottom: 1px solid rgba(255, 255, 255, .32);
}

.ssh-logo:hover::before,
.ssh-logo:hover::after {
  border-color: rgba(227, 6, 19, .7);
}

.ssh-logo strong {
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: -.05em;
}

.ssh-logo strong::after {
  content: ".";
  color: var(--ssh-red, #e30613);
}

.ssh-logo span {
  margin-top: 5px;
  color: rgba(255, 255, 255, .5);
  font-family: var(--ssh-mono);
  font-size: .52rem;
  font-weight: 500;
  letter-spacing: .28em;
}


/* =========================
   HERO STATS — czysta typografia zamiast ramki
   ========================= */

.ssh-hero-stats {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  max-width: 560px;
  margin-top: 34px;
}

.ssh-hero-stats i {
  display: none;
}

.ssh-hero-stats div {
  min-height: 0;
  padding: 4px 28px;
}

.ssh-hero-stats div:first-child {
  padding-left: 0;
}

.ssh-hero-stats div + div::before {
  top: 4px;
  bottom: 4px;
}

.ssh-hero-stats strong {
  font-size: 2.1rem;
  margin-bottom: 7px;
}

.ssh-hero-stats span {
  font-size: .74rem;
  color: rgba(255, 255, 255, .5);
}


/* =========================
   HERO — sekwencyjne wejście po intro
   ========================= */

.ssh-hero-copy > *,
.ssh-analysis-panel,
.ssh-hero-model {
  opacity: 0;
}

body.is-site-visible .ssh-hero-copy > * {
  animation: sshHeroIn 1.15s cubic-bezier(.2, .82, .22, 1) backwards;
}

body.is-site-visible .ssh-hero-copy > :nth-child(1) { animation-delay: .15s; }
body.is-site-visible .ssh-hero-copy > :nth-child(2) { animation-delay: .32s; }
body.is-site-visible .ssh-hero-copy > :nth-child(3) { animation-delay: .50s; }
body.is-site-visible .ssh-hero-copy > :nth-child(4) { animation-delay: .66s; }
body.is-site-visible .ssh-hero-copy > :nth-child(5) { animation-delay: .84s; }
body.is-site-visible .ssh-hero-copy > :nth-child(6) { animation-delay: 1.05s; }

body.is-site-visible .ssh-analysis-panel,
body.is-site-visible .ssh-hero-model {
  animation: sshHeroIn 1.25s cubic-bezier(.2, .82, .22, 1) backwards;
  animation-delay: 1.25s;
}

body.is-site-visible .ssh-hero-copy > *,
body.is-site-visible .ssh-analysis-panel,
body.is-site-visible .ssh-hero-model {
  opacity: 1;
}

@keyframes sshHeroIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
    filter: blur(7px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}


/* =========================
   SEKCJA MISJI — statement + karty procesu (premium pass)
   ========================= */

/* Czerwona kropka — spójny motyw z h1 i logo. */
.ssh-dot {
  color: var(--ssh-red, #e30613);
}

/* Statement na jedną myśl: duży, wyśrodkowany pionowo, pełna szerokość. */
.ssh-mission-v2 .ssh-mission-head {
  grid-template-columns: 1fr;
  align-items: center;
  min-height: 44vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: clamp(48px, 6vw, 90px);
}

.ssh-mission-v2 .ssh-mission-copy h2 {
  max-width: 900px;
  font-size: clamp(3rem, 6.4vw, 6.6rem);
  line-height: .94;
  letter-spacing: -.05em;
}

.ssh-mission-v2 .ssh-mission-lead {
  max-width: 640px;
  margin-top: 26px;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.75;
  color: rgba(246, 248, 251, .6);
}

/* Karty procesu: wielkie konturowe numery, wyraźny hover. */
.ssh-mission-v2 .ssh-mission-process {
  margin-top: clamp(42px, 5vw, 72px);
}

.ssh-mission-v2 .ssh-mission-process article {
  min-height: 250px;
  padding: 30px 28px 32px;
  transition:
    transform .45s cubic-bezier(.2, .82, .22, 1),
    border-color .45s ease,
    box-shadow .45s ease,
    background .45s ease;
}

.ssh-mission-v2 .ssh-mission-process article::before {
  top: 96px;
}

.ssh-mission-v2 .ssh-mission-process article span {
  margin-bottom: 40px;
  font-family: var(--ssh-mono);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: .85;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .28);
  transition: -webkit-text-stroke-color .45s ease;
}

.ssh-mission-v2 .ssh-mission-process article h3 {
  font-size: 1.3rem;
  margin-bottom: 12px;
}

.ssh-mission-v2 .ssh-mission-process article p {
  font-size: .93rem;
  line-height: 1.66;
}

.ssh-mission-v2 .ssh-mission-process article:hover {
  transform: translateY(-6px);
  border-color: rgba(227, 6, 19, .42);
  background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
  box-shadow: 0 26px 70px rgba(0, 0, 0, .38), 0 0 34px rgba(227, 6, 19, .07);
}

.ssh-mission-v2 .ssh-mission-process article:hover span {
  -webkit-text-stroke-color: rgba(227, 6, 19, .85);
}

@media (max-width: 900px) {
  .ssh-mission-v2 .ssh-mission-head {
    min-height: 0;
  }

  .ssh-mission-v2 .ssh-mission-copy h2 {
    font-size: clamp(2.4rem, 10vw, 3.6rem);
  }
}


/* =========================
   PROOF — trzy dowody bez pudełek
   ========================= */

.ssh-proof {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 3.5vw, 56px);
  margin: 0 0 clamp(48px, 6vw, 88px);
  padding: 0;
  list-style: none;
}

.ssh-proof li {
  position: relative;
  max-width: 300px;
  padding-left: 22px;
  color: rgba(246, 248, 251, .66);
  font-size: .92rem;
  line-height: 1.6;
}

.ssh-proof li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .52em;
  width: 9px;
  height: 9px;
  background: var(--ssh-red, #e30613);
  box-shadow: 0 0 14px rgba(227, 6, 19, .55);
}


/* =========================
   PROC — proces jako typograficzny indeks (bez pudełek)
   ========================= */

.ssh-proc {
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.ssh-proc__row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(110px, .18fr) minmax(0, 1fr) minmax(200px, .34fr);
  gap: clamp(20px, 4vw, 64px);
  align-items: start;
  padding: clamp(34px, 4.5vw, 58px) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

/* Czerwona linia rosnąca od lewej na hover. */
.ssh-proc__row::after {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  height: 1px;
  width: 0;
  background: linear-gradient(90deg, var(--ssh-red, #e30613), rgba(227, 6, 19, 0));
  box-shadow: 0 0 16px rgba(227, 6, 19, .5);
  transition: width .7s cubic-bezier(.2, .82, .22, 1);
}

.ssh-proc__row:hover::after {
  width: 100%;
}

.ssh-proc__num {
  font-family: var(--ssh-mono);
  font-size: clamp(2.6rem, 4.5vw, 4.4rem);
  font-weight: 700;
  line-height: .85;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .3);
  transition: -webkit-text-stroke-color .5s ease;
  user-select: none;
}

.ssh-proc__row:hover .ssh-proc__num {
  -webkit-text-stroke-color: rgba(227, 6, 19, .9);
}

.ssh-proc__body h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.7rem, 2.8vw, 2.7rem);
  line-height: 1;
  letter-spacing: -.035em;
  transition: transform .5s cubic-bezier(.2, .82, .22, 1);
}

.ssh-proc__row:hover .ssh-proc__body h3 {
  transform: translateX(14px);
}

.ssh-proc__body p {
  max-width: 560px;
  margin: 14px 0 0;
  color: rgba(246, 248, 251, .58);
  font-size: .95rem;
  line-height: 1.7;
}

.ssh-proc__tag {
  justify-self: end;
  margin-top: 10px;
  font-family: var(--ssh-mono);
  font-style: normal;
  font-size: .64rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: right;
  color: rgba(255, 255, 255, .34);
  transition: color .5s ease;
}

.ssh-proc__row:hover .ssh-proc__tag {
  color: rgba(255, 255, 255, .62);
}

/* Wejście przy scrollu — spójne z resztą sekcji. */
.ssh-mission-v2.is-reveal-ready .ssh-proof,
.ssh-mission-v2.is-reveal-ready .ssh-proc__row {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  filter: blur(10px);
  will-change: opacity, transform, filter;
}

.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proof,
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proc__row {
  animation: sshMissionItemReveal 1.05s cubic-bezier(.2, .82, .22, 1) both;
}

.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proof { animation-delay: .3s; }
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proc__row:nth-child(1) { animation-delay: .45s; }
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proc__row:nth-child(2) { animation-delay: .62s; }
.ssh-mission-v2.is-reveal-ready.is-revealed .ssh-proc__row:nth-child(3) { animation-delay: .8s; }

@media (max-width: 820px) {
  .ssh-proc__row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ssh-proc__tag {
    justify-self: start;
    text-align: left;
    margin-top: 2px;
  }

  .ssh-proc__row:hover .ssh-proc__body h3 {
    transform: none;
  }
}


/* =========================
   HERO — MODEL NA SCENIE (bez panelu)
   ========================= */

.ssh-hero-model {
  position: relative;
  align-self: center;
  min-height: clamp(420px, 58vh, 680px);
}

.ssh-hero-model__canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  cursor: grab;
  touch-action: pan-y;
}

.ssh-hero-model__canvas:active {
  cursor: grabbing;
}

/* Pływające etykiety HUD — adnotacje na skanie. */
.ssh-hero-model__label {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-left: 18px;
  pointer-events: none;
  animation: sshLabelFloat 6.5s ease-in-out infinite;
}

.ssh-hero-model__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ssh-red, #e30613);
  box-shadow: 0 0 14px rgba(227, 6, 19, .65);
}

.ssh-hero-model__label span {
  font-family: var(--ssh-mono);
  font-size: .58rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .44);
}

.ssh-hero-model__label strong {
  font-family: var(--ssh-mono);
  font-size: .98rem;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.ssh-hero-model__label--a {
  top: 16%;
  right: 4%;
  animation-delay: 0s;
}

.ssh-hero-model__label--b {
  bottom: 26%;
  left: 0;
  animation-delay: -2.2s;
}

.ssh-hero-model__label--c {
  top: 34%;
  left: 6%;
  animation-delay: -4.4s;
}

@keyframes sshLabelFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-9px); }
}

.ssh-hero-model__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--ssh-mono);
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .34);
  pointer-events: none;
}

.ssh-hero-model__caption strong {
  color: rgba(227, 6, 19, .8);
  font-weight: 500;
}

@media (max-width: 1120px) {
  .ssh-hero-model {
    min-height: clamp(320px, 46vh, 460px);
  }

  .ssh-hero-model__label--c {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-ssh-loader-label]::after,
  .ssh-loader-bar::after {
    animation: none;
  }
}


/* =========================
   SKALA TYPOGRAFII — premium pass
   Większe nagłówki, więcej oddechu między sekcjami.
   ========================= */

.ssh-hero-copy h1 {
  font-size: clamp(3.4rem, 6vw, 6.2rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
}

.ssh-hero-copy p {
  font-size: 1.02rem;
  max-width: 600px;
}

.ssh-mission-v2 .ssh-mission-copy h2,
.ssh-coverage-copy h2,
.ssh-partners h2 {
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

/* Więcej powietrza między sekcjami. */
.ssh-mission-v2,
.ssh-coverage,
.ssh-partners {
  padding-top: clamp(90px, 11vw, 170px);
  padding-bottom: clamp(90px, 11vw, 170px);
}

@media (max-width: 900px) {
  .ssh-hero-copy h1 {
    font-size: clamp(2.6rem, 12vw, 4.2rem);
  }

  .ssh-mission-v2 .ssh-mission-copy h2,
  .ssh-coverage-copy h2,
  .ssh-partners h2 {
    font-size: clamp(2rem, 8.5vw, 2.9rem);
  }
}


/* =========================
   PRZYPIĘTA SEKCJA PROCESU — scroll storytelling
   ========================= */

.ssh-ppin {
  position: relative;
  background: linear-gradient(180deg, #090d13 0%, #070a0f 100%);
  color: #fff;
}

.ssh-ppin__track {
  height: 280vh;
}

.ssh-ppin__sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(34px, 4.5vh, 64px);
  height: 100vh;
  padding: 0 max(24px, calc((100vw - 1280px) / 2));
  overflow: hidden;
}

.ssh-ppin__head h2 {
  margin: 14px 0 0;
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.ssh-ppin__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
  gap: clamp(32px, 6vw, 110px);
  align-items: center;
}

.ssh-ppin__steps {
  position: relative;
  min-height: 240px;
}

.ssh-ppin__step {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  filter: blur(8px);
  transition: opacity .6s ease, transform .6s cubic-bezier(.2,.82,.22,1), filter .6s ease;
  pointer-events: none;
}

.ssh-ppin__step.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  pointer-events: auto;
}

.ssh-ppin__num {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--ssh-red, #e30613);
  font-family: var(--ssh-mono);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .2em;
}

.ssh-ppin__step h3 {
  margin: 0 0 16px;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -.03em;
}

.ssh-ppin__step p {
  max-width: 460px;
  margin: 0;
  color: rgba(246, 248, 251, .62);
  font-size: 1.02rem;
  line-height: 1.72;
}

.ssh-ppin__visual {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.ssh-ppin__bignum {
  font-family: var(--ssh-mono);
  font-size: clamp(7rem, 13vw, 15rem);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.04em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .22);
  transition: -webkit-text-stroke-color .5s ease;
  user-select: none;
}

.ssh-ppin__progress {
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, .12);
  border-radius: 999px;
  overflow: hidden;
}

.ssh-ppin__progress span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--ssh-red, #e30613), #ff3945);
  box-shadow: 0 0 16px rgba(227, 6, 19, .5);
  transition: width .2s linear;
}

.ssh-ppin__labels {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.ssh-ppin__labels em {
  font-family: var(--ssh-mono);
  font-style: normal;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .34);
  transition: color .4s ease;
}

.ssh-ppin__labels em.is-active {
  color: #fff;
}

/* Mobile / brak sticky: zwykła lista etapów. */
@media (max-width: 899px), (prefers-reduced-motion: reduce) {
  .ssh-ppin__track {
    height: auto;
  }

  .ssh-ppin__sticky {
    position: static;
    height: auto;
    padding-top: clamp(70px, 12vw, 110px);
    padding-bottom: clamp(70px, 12vw, 110px);
  }

  .ssh-ppin__stage {
    grid-template-columns: 1fr;
  }

  .ssh-ppin__steps {
    min-height: 0;
    display: grid;
    gap: 34px;
  }

  .ssh-ppin__step {
    position: static;
    opacity: 1;
    transform: none;
    filter: none;
    pointer-events: auto;
  }

  .ssh-ppin__visual {
    display: none;
  }
}
)}
