/* ==========================================================================
   MBA System - modern landing
   Kolorystyka zachowana 1:1 z poprzedniej strony
   ========================================================================== */

:root{
  --c-blue:#1863dc;
  --c-blue-dark:#0056a7;
  --c-blue-700:#0b46a8;
  --c-red:#e5194a;
  --c-ink:#212121;
  --c-ink-soft:#4e4b66;
  --c-line:#ebebeb;
  --c-soft:#f4f4f4;
  --c-white:#ffffff;
  --c-bg:#ffffff;

  --r-sm:10px;
  --r-md:18px;
  --r-lg:26px;

  --shadow-sm:0 4px 14px rgba(20,30,60,.06);
  --shadow-md:0 14px 40px rgba(20,30,60,.10);
  --shadow-lg:0 30px 80px rgba(20,30,60,.18);

  --container:1480px;
  --header-h:96px;

  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  font-family:'Poppins','Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.55;
  color:var(--c-ink);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none;cursor:pointer}
a[href]{cursor:pointer}
button,[role=button]{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .4em}
p{margin:0 0 1em}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(28px,4vw,55px)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#000;color:#fff;padding:8px 12px;border-radius:6px;z-index:1000}

.eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--c-blue);margin:0 0 14px;
  position:relative;padding-left:34px;
}
.eyebrow::before{
  content:"";position:absolute;left:0;top:50%;width:24px;height:2px;background:var(--c-blue);
}
.eyebrow-light{color:#cfe0ff}
.eyebrow-light::before{background:#cfe0ff}

/* Buttons */
.btn{
  --bg:var(--c-blue);--fg:#fff;--bd:transparent;
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;
  background:var(--bg);color:var(--fg);border:1px solid var(--bd);
  font-weight:600;letter-spacing:.01em;
  transition:transform .25s var(--ease),box-shadow .35s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(24,99,220,.25);
  position:relative;isolation:isolate;overflow:hidden;
}
/* Płynnie wchodzący gradient na hover (przez pseudo-element + opacity) */
.btn::before{
  content:"";position:absolute;inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#1863dc 0%,#6e3eb0 55%,#e5194a 100%);
  opacity:0;
  transition:opacity .4s var(--ease);
  z-index:-1;
  pointer-events:none;
}
.btn:hover::before{opacity:1}
.btn .arrow{transition:transform .3s var(--ease);display:inline-block;position:relative;z-index:1}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(110,62,176,.35);
  border-color:transparent;color:#fff;
}
.btn:hover .arrow{transform:translateX(4px)}
.btn-primary{--bg:var(--c-blue)}
.btn-ghost{--bg:rgba(255,255,255,.08);--fg:#fff;--bd:rgba(255,255,255,.35);box-shadow:none;backdrop-filter:blur(8px)}
.btn-outline{--bg:transparent;--fg:var(--c-ink);--bd:#d6d8de;box-shadow:none}
.btn-sm{padding:11px 20px;font-size:14px}
.btn-lg{padding:18px 32px;font-size:16px}
.btn-fixed{min-width:230px;justify-content:center;text-align:center}

/* === Letter cascade (Tobias Ahlin moving-letters #2 - scale 4→1 left→right) === */
.letter-anim .letter{
  display:inline-block;
  opacity:0;
  transform:scale(4);
  transform-origin:50% 50%;
  transition:opacity .95s cubic-bezier(.19,1,.22,1),
             transform .95s cubic-bezier(.19,1,.22,1);
  transition-delay:calc(var(--i,0) * 70ms);
  will-change:transform,opacity;
}
.letter-anim.is-revealed .letter{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  .letter-anim .letter{transition:none;opacity:1;transform:none}
}

/* Pusta sekcja na podstronach (placeholder ~600px) */
.section-placeholder{
  min-height:600px;
  display:flex;align-items:center;justify-content:center;
  padding:80px 0;
}
.placeholder-note{display:none}
.btn-block{width:100%;justify-content:center}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:#fff;
  border-bottom:1px solid var(--c-line);
  border-radius:0;
  transition:top .45s var(--ease),left .45s var(--ease),right .45s var(--ease),
             border-radius .45s var(--ease),box-shadow .35s var(--ease),
             border-color .3s var(--ease),background .3s var(--ease);
}
.site-header.is-scrolled{
  top:14px;left:20px;right:20px;
  border-radius:18px;
  border-bottom-color:transparent;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 14px 44px -10px rgba(0,12,40,.18),0 4px 14px rgba(0,12,40,.06);
}
.header-inner{
  height:var(--header-h);
  display:flex;align-items:center;gap:24px;
  transition:height .4s var(--ease);
}
.site-header.is-scrolled .header-inner{height:68px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:54px;width:auto;transition:height .4s var(--ease)}
.site-header.is-scrolled .brand img{height:42px}

.primary-nav{margin-left:auto}
.nav-list{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:stretch;justify-content:flex-end;gap:2px;
  height:100%;
}
.nav-list > li{display:flex;align-items:center}
.nav-list > li > a{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 14px;
  font-weight:500;font-size:15px;
  color:var(--c-ink);
  position:relative;
  transition:color .2s var(--ease);
}
.nav-list > li > a:not(.nav-cta)::after{
  content:"";position:absolute;
  left:14px;right:14px;bottom:6px;height:2px;
  background:var(--c-blue);
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-list > li > a:not(.nav-cta):hover{color:var(--c-blue)}
.nav-list > li > a:not(.nav-cta):hover::after{transform:scaleX(1)}
.has-mega:hover > a:not(.nav-cta)::after,
.has-mega.is-open > a:not(.nav-cta)::after,
.has-mega:focus-within > a:not(.nav-cta)::after{transform:scaleX(1)}
.nav-list > li > a.nav-cta{
  margin-left:14px;
  padding:11px 22px;
  background:var(--c-blue);color:#fff;
  border-radius:999px;font-weight:600;
  box-shadow:0 8px 22px rgba(24,99,220,.25);
  transition:box-shadow .35s var(--ease),transform .2s var(--ease),color .25s var(--ease);
  position:relative;isolation:isolate;overflow:hidden;
}
.nav-list > li > a.nav-cta::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,#1863dc 0%,#6e3eb0 55%,#e5194a 100%);
  opacity:0;transition:opacity .4s var(--ease);
  z-index:-1;pointer-events:none;
}
.nav-list > li > a.nav-cta:hover{
  color:#fff;
  box-shadow:0 14px 28px rgba(110,62,176,.35);
  transform:translateY(-1px);
}
.nav-list > li > a.nav-cta:hover::before{opacity:1}
.cta-desktop{display:none}
.caret{
  width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ease);
}
.has-mega:hover .caret,.has-mega:focus-within .caret{transform:rotate(225deg) translateY(-2px)}

/* Mega menu */
.has-mega{position:static}
/* niewidoczny most - żeby kursor mógł przejść z linku do dropdownu bez zamknięcia */
.has-mega::after{
  content:"";position:absolute;left:0;right:0;top:100%;height:0;
  pointer-events:none;
}
.has-mega:hover::after,.has-mega:focus-within::after{
  height:24px;pointer-events:auto;
}
.mega{
  position:absolute;left:0;right:0;top:100%;
  background:#fff;border-top:1px solid var(--c-line);
  box-shadow:var(--shadow-md);
  padding:22px 0;
  border-radius:0;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear .28s,border-radius .45s var(--ease);
  pointer-events:none;
}
/* W trybie scrolled mega ma zaokrąglone dolne rogi i nie ma border-top
   (płynnie kontynuuje pigułkowy kształt header) */
.site-header.is-scrolled .mega{
  border-radius:0 0 18px 18px;
  border-top:0;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 18px 44px -10px rgba(0,12,40,.18);
}
/* Kiedy mega otwarte w trybie scrolled - header prostuje dół, żeby kształty
   były ciągłe (header + mega = jedna pigułka) */
.site-header.is-scrolled:has(.has-mega.is-open),
.site-header.is-scrolled:has(.has-mega:hover){
  border-radius:18px 18px 0 0;
}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.is-open .mega{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s;
}
.has-mega.is-open .caret{transform:rotate(225deg) translateY(-2px)}
.mega-grid{
  max-width:var(--container);margin:0 auto;padding:0 clamp(28px,4vw,55px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:4px;
}
.mega-sm .mega-grid{grid-template-columns:repeat(3,1fr)}
.mega-item{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;
  padding:10px 14px;border-radius:12px;
  transition:background .2s var(--ease),transform .25s var(--ease);
  position:relative;
}
.mega-item:hover{background:#fff;transform:translateY(-2px)}
.mega-ic{
  grid-row:1/3;align-self:start;
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  color:var(--c-red);
  transition:transform .3s var(--ease),filter .3s var(--ease);
}
.mega-ic svg{
  width:30px;height:30px;
  filter:drop-shadow(0 4px 10px rgba(229,25,74,.18));
  transition:filter .3s var(--ease);
}
.mega-item:hover .mega-ic{transform:scale(1.12)}
.mega-item:hover .mega-ic svg{filter:drop-shadow(0 8px 18px rgba(229,25,74,.35))}
.mega-title{font-weight:600;color:var(--c-ink);font-size:15px}
.mega-item:hover .mega-title{color:var(--c-red)}
.mega-desc{font-size:11px;color:var(--c-ink-soft);margin-top:2px;font-weight:400}
.mega-item:not(:has(.mega-desc)){grid-template-rows:1fr;align-items:center}
.mega-item:not(:has(.mega-desc)) .mega-ic{grid-row:1;align-self:center}
.mega-item:not(:has(.mega-desc)) .mega-title{align-self:center}

/* Wariant „clean" - 3 kolumny: ikona | tytuł/desc | pigułka „Zobacz kampanię" */
.mega--clean .mega-grid{grid-template-columns:repeat(4,1fr);gap:4px}
.mega--clean .mega-item{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  padding:10px 12px;align-items:center;
  position:relative;overflow:hidden;
}
.mega--clean .mega-ic{width:36px;height:36px}
.mega--clean .mega-ic svg{width:24px;height:24px}
.mega--clean .mega-item:hover .mega-title{color:var(--c-red)}
.mega--clean .mega-title{
  grid-column:2;grid-row:1;
  font-size:14px;font-weight:600;color:var(--c-ink);line-height:1.25;
  transition:opacity .25s var(--ease),filter .25s var(--ease);
}
.mega--clean .mega-desc{
  grid-column:2;grid-row:2;
  margin-top:2px;font-size:11px;
  color:var(--c-ink-soft);
  text-transform:none;letter-spacing:0;font-weight:400;
  transition:opacity .25s var(--ease),filter .25s var(--ease);
}
/* Hover - tekst rozmazuje się i przygasa, button pojawia się na środku */
.mega--clean .mega-item:hover .mega-title,
.mega--clean .mega-item:hover .mega-desc,
.mega--clean .mega-item:focus-visible .mega-title,
.mega--clean .mega-item:focus-visible .mega-desc{
  opacity:.25;filter:blur(2px);
}
/* CTA „Zobacz kampanię" - wycentrowany overlay, pojawia się na hover */
.mega-cta{
  position:absolute;inset:0;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:transparent;color:#fff;
  font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  opacity:0;transform:translateY(4px);
  pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.mega-cta__pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:999px;
  background:var(--c-red);color:#fff;
  box-shadow:0 8px 22px -4px rgba(229,25,74,.45);
}
.mega-cta svg{width:12px;height:12px;flex-shrink:0;transition:transform .3s var(--ease)}
.mega--clean .mega-item:hover .mega-cta,
.mega--clean .mega-item:focus-visible .mega-cta{
  opacity:1;transform:none;
}
.mega--clean .mega-item:hover .mega-cta svg{transform:translateX(2px)}
@media (max-width:1100px){
  .mega--clean .mega-grid{grid-template-columns:repeat(2,1fr)}
}

.cta-desktop{flex-shrink:0}

/* Hamburger */
.hamburger{display:none;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-left:auto;background:var(--c-soft);transition:background .2s var(--ease)}
.hamburger:hover{background:var(--c-line)}
.hamburger.is-open{background:var(--c-blue)}
.hamburger.is-open span{background:#fff}
.hamburger span{width:22px;height:2px;background:var(--c-ink);transition:transform .3s var(--ease),opacity .2s var(--ease),background .2s var(--ease)}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(135deg,#0b46a8 0%,#1863dc 60%,#0056a7 100%);
  color:#fff;
  padding:calc(var(--header-h) + 24px) 24px 40px;
  overflow-y:auto;z-index:60;
  transform:translateX(100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;
  visibility:hidden;
}
.mobile-nav__close{
  position:absolute;top:18px;right:18px;
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff;color:var(--c-red);
  box-shadow:0 8px 22px rgba(229,25,74,.25);
  transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
  z-index:2;
}
.mobile-nav__close:hover{background:var(--c-red);color:#fff;transform:rotate(90deg)}
.mobile-nav__close svg{width:22px;height:22px}
/* Gdy menu otwarte - header wraca do stanu domyślnego (bez sticky-pigułki) */
body.menu-open .site-header.is-scrolled{
  top:0;left:0;right:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body.menu-open .site-header.is-scrolled .header-inner{height:var(--header-h)}
body.menu-open .site-header.is-scrolled .brand img{height:42px}
.mobile-nav.is-open{transform:none;visibility:visible}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav > ul{flex:1}
.mobile-nav > ul > li{
  border-bottom:1px solid rgba(255,255,255,.12);
  opacity:0;transform:translateX(20px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
  transition-delay:calc(var(--i,0) * 50ms);
}
.mobile-nav.is-open > ul > li{opacity:1;transform:none}
.mobile-nav a,.mobile-nav summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 4px;font-size:17px;font-weight:500;color:#fff;
  text-decoration:none;
}
.mobile-nav a:hover,.mobile-nav summary:hover{color:#cfe0ff}
.mobile-nav summary{cursor:pointer;list-style:none;position:relative}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav summary::after{
  content:"";width:9px;height:9px;
  border-right:2px solid rgba(255,255,255,.7);border-bottom:2px solid rgba(255,255,255,.7);
  transform:rotate(45deg);transition:transform .25s var(--ease);
  margin-right:6px;
}
.mobile-nav details[open] summary::after{transform:rotate(-135deg)}
.mobile-nav details > ul{
  padding:4px 0 10px 0;
  overflow:hidden;
}
.mobile-nav details[open] > ul{
  animation:submenuOpen .35s var(--ease) both;
}
@keyframes submenuOpen{
  from{opacity:0;transform:translateY(-6px);max-height:0}
  to{opacity:1;transform:none;max-height:600px}
}
.mobile-nav details > ul > li{border:0!important;opacity:0;transform:translateX(12px);animation:submenuItem .35s var(--ease) forwards}
.mobile-nav details[open] > ul > li{animation-delay:calc(60ms * var(--si,0))}
.mobile-nav details > ul > li:nth-child(1){--si:1}
.mobile-nav details > ul > li:nth-child(2){--si:2}
.mobile-nav details > ul > li:nth-child(3){--si:3}
.mobile-nav details > ul > li:nth-child(4){--si:4}
.mobile-nav details > ul > li:nth-child(5){--si:5}
.mobile-nav details > ul > li:nth-child(6){--si:6}
.mobile-nav details > ul > li:nth-child(7){--si:7}
@keyframes submenuItem{to{opacity:1;transform:none}}
.mobile-nav details ul a{
  display:flex;align-items:center;justify-content:flex-start;gap:14px;
  padding:12px 0;font-size:15px;color:rgba(255,255,255,.8);font-weight:500;
  text-align:left;
}
.mobile-nav details ul a:hover,.mobile-nav details ul a:focus-visible{color:#fff}
.mobile-nav .m-ic{
  flex-shrink:0;width:22px;height:22px;color:#9bbcff;
  filter:drop-shadow(0 2px 6px rgba(155,188,255,.4));
}
/* Wariant „clean" w mobile - bez ikon, mała strzałka po prawej w czerwieni */
.mobile-nav details ul.mn-clean a{
  justify-content:space-between;
  padding:14px 0;
}
.mobile-nav details ul.mn-clean a::after{
  content:"";
  width:14px;height:14px;flex-shrink:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") no-repeat center/contain;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") no-repeat center/contain;
  color:#9bbcff;
  transition:transform .25s var(--ease);
}
.mobile-nav details ul.mn-clean a:hover::after{transform:translateX(3px)}
/* Pigułka "Napisz do nas" tylko na desktop - w mobile chowamy */
.mobile-nav > ul > li:has(> .nav-cta){display:none}

.mobile-nav-foot{
  margin-top:auto;padding-top:30px;
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;
  text-align:left;
}
.mobile-nav-foot__rows{
  display:grid;grid-template-columns:1fr 1fr;
  gap:14px 18px;
  align-items:start;
  width:100%;
}
.mobile-nav-foot__title{
  margin:0 0 6px;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--c-ink-soft);font-weight:600;
}
.mobile-nav-foot__row{
  display:flex;align-items:center;gap:12px;min-width:0;
  padding:6px 4px!important;
  font-size:14px!important;font-weight:600;color:var(--c-ink)!important;
  transition:color .2s var(--ease);
}
.mobile-nav-foot__txt{min-width:0;overflow:hidden}
.mobile-nav-foot__txt strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:380px){
  .mobile-nav-foot__rows{grid-template-columns:1fr}
}
.mobile-nav-foot__row:hover{color:var(--c-blue)!important}
.mobile-nav-foot__ic{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;
  background:rgba(24,99,220,.08);color:var(--c-blue);
  display:grid;place-items:center;
}
.mobile-nav-foot__ic svg{width:16px;height:16px}
.mobile-nav-foot__txt{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.mobile-nav-foot__txt small{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--c-ink-soft);font-weight:600}
.mobile-nav-foot__txt strong{font-size:.95rem;color:var(--c-ink);font-weight:600}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:100vh;min-height:100svh;
  display:flex;align-items:center;
  color:#fff;overflow:hidden;
  padding:calc(var(--header-h) + 80px) 0 140px;
  isolation:isolate;
}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  pointer-events:none;
  /* delikatny zoom-out efekt na starcie + lekki wolny pan */
  animation:heroVideoIn 1.6s var(--ease) both;
}
@keyframes heroVideoIn{
  from{opacity:0;transform:scale(1.08)}
  to{opacity:1;transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .hero-video{animation:none;opacity:1;transform:none}
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 0% 100%,rgba(24,99,220,.55) 0%,transparent 60%),
    linear-gradient(120deg,rgba(0,12,40,.82) 0%,rgba(11,70,168,.6) 50%,rgba(0,12,40,.6) 100%);
}
.hero-inner{position:relative;max-width:900px;text-align:left;margin-left:0;margin-right:auto}
.hero-inner .eyebrow{margin-bottom:22px}
.hero-title{font-size:clamp(2.1rem,5vw,4.15rem);font-weight:600;margin:0 0 28px}
.hero-title--stack > span{display:block}
.hero-sub{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:620px;color:rgba(255,255,255,.88);margin:0 0 44px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

.hero-dots{display:none}

/* ==========================================================================
   HERO - animowane dekory po prawej (orby + mesh)
   ========================================================================== */
.hero-decor{
  position:absolute;
  right:-4%;top:-4%;
  width:min(820px,62vw);height:120%;
  pointer-events:none;
  z-index:1;
  --mx:0;--my:0;
  transform:translate3d(calc(var(--mx) * 18px),calc(var(--my) * 14px),0);
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
  -webkit-mask-image:radial-gradient(ellipse 75% 75% at center,#000 30%,transparent 88%);
          mask-image:radial-gradient(ellipse 75% 75% at center,#000 30%,transparent 88%);
}
.hero-orb{
  position:absolute;
  width:520px;height:520px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(155,188,255,.32),transparent 75%);
  filter:blur(14px);
  top:10%;right:-6%;
  animation:orbDrift 32s ease-in-out infinite;
}
.hero-orb--2{
  width:380px;height:380px;
  background:radial-gradient(closest-side,rgba(24,99,220,.32),transparent 75%);
  top:auto;bottom:0;right:auto;left:-2%;
  animation:orbDrift 38s ease-in-out -10s infinite reverse;
}
.hero-orb--3{
  width:260px;height:260px;
  background:radial-gradient(closest-side,rgba(229,25,74,.14),transparent 75%);
  top:32%;left:22%;
  animation:orbDrift 44s ease-in-out -16s infinite;
}
@keyframes orbDrift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(14px,-14px) scale(1.04)}
}

/* Animowany mesh / orbity wypełniające prawą część hero */
.hero-mesh{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  pointer-events:none;
  opacity:.9;
}
.mesh-pulse{
  transform-origin:300px 300px;transform-box:fill-box;
  animation:meshPulse 14s ease-in-out infinite;
}
@keyframes meshPulse{
  0%,100%{transform:scale(1);opacity:.55}
  50%{transform:scale(1.12);opacity:.85}
}
.mesh-orbits circle{
  transform-origin:300px 300px;
  animation:meshSpin 120s linear infinite;
}
.mesh-orbits circle:nth-child(2){animation-duration:180s;animation-direction:reverse}
.mesh-orbits circle:nth-child(3){animation-duration:260s}
@keyframes meshSpin{to{transform:rotate(360deg)}}
.orbit{
  transform-origin:300px 300px;transform-box:fill-box;
  animation:orbitSpin 50s linear infinite;
  filter:drop-shadow(0 0 8px #9bbcff);
}
.orbit-1{animation-duration:42s}
.orbit-2{animation-duration:58s;animation-direction:reverse}
.orbit-3{animation-duration:50s}
.orbit-4{animation-duration:64s;animation-direction:reverse}
.orbit-5{animation-duration:38s;fill:#e5194a;filter:drop-shadow(0 0 6px rgba(229,25,74,.6))}

/* Latające cząsteczki w tle hero */
.hero-particles{
  position:absolute;inset:0;pointer-events:none;z-index:1;
}
.hero-particle{
  position:absolute;border-radius:50%;
  opacity:0;transform:translate3d(0,0,0);
  animation-name:particleFly;
  animation-timing-function:cubic-bezier(.4,0,.6,1);
  animation-iteration-count:1;
  animation-fill-mode:forwards;
  will-change:transform,opacity;
}
@keyframes particleFly{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.6)}
  15%{opacity:1;transform:translate3d(calc(var(--dx) * .15),calc(var(--dy) * .15),0) scale(1)}
  85%{opacity:1;transform:translate3d(calc(var(--dx) * .9),calc(var(--dy) * .9),0) scale(1)}
  100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.4)}
}
@media (prefers-reduced-motion:reduce){
  .hero-particles{display:none}
}
@keyframes orbitSpin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  .hero-orb,.mesh-pulse,.mesh-orbits circle,.orbit{animation:none}
}
@media (max-width:1100px){
  .hero-decor{width:60vw;right:-15%}
}
@media (max-width:900px){
  .hero-decor{opacity:.55;right:-25%;width:90vw;height:120%}
}
@media (max-width:640px){
  .hero-decor{opacity:.5;right:-40%;width:120vw;top:-5%;height:115%}
}
.hero-dots .dot{
  width:34px;height:4px;border-radius:4px;background:rgba(255,255,255,.3);
  transition:background .25s var(--ease),width .25s var(--ease);
}
.hero-dots .dot.is-active{background:#fff;width:54px}

.hero-scroll{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  width:24px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:14px;
  display:flex;justify-content:center;padding-top:8px;
}
.hero-scroll span{
  width:3px;height:8px;background:#fff;border-radius:2px;
  animation:scrollDot 1.6s var(--ease) infinite;
}
@keyframes scrollDot{
  0%{transform:translateY(0);opacity:1}
  60%{transform:translateY(12px);opacity:0}
  100%{transform:translateY(0);opacity:0}
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.section{padding:110px 0;position:relative}
.section-dark{background:linear-gradient(180deg,#0a1936 0%,#0b1f44 100%);color:#fff}
.section-dark .eyebrow{color:#9bbcff}
.section-dark .eyebrow::before{background:#9bbcff}
.section-soft{background:var(--c-soft)}

.section-head{margin-bottom:56px;max-width:780px}
.section-head.text-center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.8rem)}

/* ==========================================================================
   PRZERYWNIK / STATY
   ========================================================================== */
.intermission{padding:80px 0;background:#fff;border-bottom:1px solid var(--c-line)}
.stats{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
}
.stats li{
  display:flex;flex-direction:column;gap:6px;
  padding:0 24px;border-left:2px solid var(--c-line);
}
.stats li:first-child{border-left:0;padding-left:0}
.stats strong{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2.2rem,4vw,3.4rem);font-weight:600;line-height:1;
  background:linear-gradient(135deg,var(--c-blue) 0%,var(--c-red) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.03em;
}
.stats span{font-size:.85rem;color:var(--c-ink-soft);text-transform:uppercase;letter-spacing:.12em;font-weight:600}

/* ==========================================================================
   BENTO - wszystkie kafelki w tym samym stylu (image-bg + gradient)
   ========================================================================== */
.bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:280px 280px 280px;
  gap:22px;
}
.bento-card{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  border-radius:var(--r-lg);overflow:hidden;
  padding:32px;color:#fff;border:0;
  isolation:isolate;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
/* Zdjęcie tła karty jako <img> - zoom-on-hover dzięki transform */
.bento-img{
  position:absolute;inset:0;z-index:-2;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  transition:transform 1.2s var(--ease);
  pointer-events:none;
}
.bento-card:hover .bento-img{transform:scale(1.08)}
.bento-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}

/* Błysk światła „przelatujący" przez kartę na hover */
.bento .bento-num{display:none}
.bento-card .bento-shine{display:none}
.bento-feature{grid-column:1/9;grid-row:1/3}
.bento-tall{grid-column:9/13;grid-row:1/3}
.bento:not(.bento--services) > .bento-card:nth-of-type(3){grid-column:1/5;grid-row:3/4}
.bento:not(.bento--services) > .bento-card:nth-of-type(4){grid-column:5/9;grid-row:3/4}
.bento:not(.bento--services) > .bento-card:nth-of-type(5){grid-column:9/13;grid-row:3/4}

/* Wariant Usługi-duo: dwie karty równej wysokości, treści wyrównane */
.bento--duo{grid-template-rows:440px}
.bento--duo > .bento-card:nth-of-type(1){grid-column:1/7;grid-row:1/2}
.bento--duo > .bento-card:nth-of-type(2){grid-column:7/13;grid-row:1/2}
.bento--duo .bento-content{
  display:flex;flex-direction:column;gap:14px;
  width:100%;
}
.bento--duo .bento-content h3{min-height:2.4em;margin:0}
.bento--duo .bento-content p{min-height:5.2em;margin:0}
.bento--duo .bento-content .tile-cta{margin-top:auto}

.bento-bg{display:none}
.bento-card::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg,rgba(7,13,34,.15) 0%,rgba(7,13,34,.65) 55%,rgba(7,13,34,.95) 100%),
    linear-gradient(135deg,rgba(24,99,220,.25) 0%,transparent 60%);
  pointer-events:none;
}

.bento-num{
  position:absolute;top:24px;left:32px;z-index:2;
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;
  letter-spacing:.18em;color:#fff;
  border:1px solid rgba(255,255,255,.22);
}
.bento-content{position:relative;z-index:1;max-width:560px}
.bento-content h3{font-size:1.5rem;margin-bottom:12px;line-height:1.15;color:#fff}
.bento-feature .bento-content h3{font-size:clamp(1.8rem,2.8vw,2.6rem);margin-bottom:16px}
.bento-tall .bento-content h3{font-size:1.7rem}
.bento-content p{font-size:.97rem;margin-bottom:22px;color:rgba(255,255,255,.82);max-width:50ch}

.tile-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:600;color:var(--c-blue);font-size:.95rem;
}
.tile-cta.light{color:#fff}
.tile-cta .arrow{transition:transform .3s var(--ease)}
.bento-card:hover .tile-cta .arrow{transform:translateX(5px)}

/* ==========================================================================
   KAMPANIE / BANERY - pełnowymiarowa karuzela (1 baner per slajd)
   ========================================================================== */
.campaigns-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  max-width:none;margin-bottom:32px;gap:24px;flex-wrap:wrap;
}
.campaigns-controls{display:flex;gap:10px}
.carousel-btn{
  width:48px;height:48px;border-radius:14px;
  border:1px solid var(--c-line);background:#fff;color:var(--c-ink);
  display:grid;place-items:center;
  transition:all .25s var(--ease);
}
.carousel-btn:hover{background:var(--c-blue);color:#fff;border-color:var(--c-blue);transform:translateY(-2px)}
.carousel-btn:disabled{opacity:.4;cursor:not-allowed}
.carousel-btn:disabled:hover{background:#fff;color:var(--c-ink);border-color:var(--c-line);transform:none}
.carousel-btn svg{width:18px;height:18px}

.campaigns-track{
  display:flex;gap:24px;
  overflow-x:hidden;scroll-behavior:smooth;
  border-radius:var(--r-lg);
  align-items:flex-start;
}
.campaign-banner{
  flex:0 0 100%;min-width:100%;
  display:block;border-radius:var(--r-lg);overflow:hidden;
  background:transparent;
  box-shadow:0 8px 28px -10px rgba(20,30,60,.18);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
  position:relative;line-height:0;
}
.campaign-banner img{
  display:block;width:100%;height:auto;
}
.campaign-banner:hover{
  box-shadow:0 22px 50px -16px rgba(20,30,60,.28);
}

.campaigns-dots{
  display:flex;gap:8px;justify-content:center;margin-top:28px;
}
.campaigns-dots button{
  width:32px;height:4px;border-radius:4px;
  background:rgba(33,33,33,.18);
  transition:background .25s var(--ease),width .25s var(--ease);
}
.campaigns-dots button.is-active{background:var(--c-blue);width:54px}

@media (max-width:640px){
  .campaigns-head{flex-direction:column;align-items:flex-start}
  .carousel-btn{width:42px;height:42px}
}

.section-dark .tile-cta{color:#fff}

/* ==========================================================================
   ABOUT - Poznaj nas bliżej
   ========================================================================== */
.section-about{position:relative;overflow:hidden;background:#fff}
.about-decor{
  position:absolute;inset:auto -200px -200px auto;
  width:520px;height:520px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(24,99,220,.10),transparent 70%);
  pointer-events:none;
}
.about-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center;
  position:relative;
}
.about-media{position:relative}
.about-media img{
  width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  aspect-ratio:5/4;object-fit:cover;
}
.about-placeholder{
  position:relative;
  width:100%;aspect-ratio:5/4;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);
  isolation:isolate;color:#fff;
  display:flex;align-items:flex-end;
  padding:28px;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.about-placeholder__bg{display:none}
.about-video{
  position:absolute;inset:0;z-index:-3;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  pointer-events:none;
}
/* Niebieski overlay - taki sam patent jak hero */
.about-placeholder::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(120% 80% at 0% 100%,rgba(24,99,220,.55) 0%,transparent 60%),
    linear-gradient(120deg,rgba(0,12,40,.78) 0%,rgba(11,70,168,.5) 50%,rgba(0,12,40,.55) 100%);
  pointer-events:none;
}
.about-placeholder__tag{position:relative;z-index:1}

/* Orby gradient blob - jak w hero, mniejsza skala */
.about-decor-orb{
  position:absolute;z-index:-1;pointer-events:none;
  width:280px;height:280px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(155,188,255,.45),transparent 70%);
  filter:blur(10px);
  top:-15%;right:-10%;
  animation:orbDrift 26s ease-in-out infinite;
}
.about-decor-orb--2{
  width:220px;height:220px;
  background:radial-gradient(closest-side,rgba(229,25,74,.18),transparent 70%);
  top:auto;bottom:-10%;right:auto;left:-8%;
  animation:orbDrift 32s ease-in-out -8s infinite reverse;
}
.about-mesh{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  width:100%;height:100%;opacity:.7;
}
@media (prefers-reduced-motion:reduce){
  .about-decor-orb{animation:none}
}
.about-placeholder__tag{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:#fff;
  border:1px solid rgba(255,255,255,.22);
}
.about-badge{
  position:absolute;left:-32px;bottom:-28px;
  background:#fff;border-radius:20px;
  padding:22px 26px;display:flex;align-items:center;gap:16px;
  box-shadow:var(--shadow-lg);border:1px solid var(--c-line);
}
.about-badge .num{
  font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:600;line-height:.9;
  background:linear-gradient(135deg,var(--c-blue) 0%,var(--c-red) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.04em;
}
.about-badge .num small{font-size:.6em}
.about-badge .lbl{font-size:.85rem;color:var(--c-ink-soft);line-height:1.35;font-weight:500}
.about-text h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:18px}
.about-text .lead{font-size:1.08rem;color:var(--c-ink-soft);margin-bottom:28px}
.about-points{
  list-style:none;margin:0 0 36px;padding:0;
  display:grid;gap:14px;
}
.about-points li{
  display:flex;align-items:flex-start;gap:14px;
  font-size:1rem;color:var(--c-ink);font-weight:500;
}
.about-points .dot{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:rgba(24,99,220,.12);
  position:relative;margin-top:1px;
}
.about-points .dot::before,
.about-points .dot::after{
  content:"";position:absolute;inset:0;border-radius:50%;
}
.about-points .dot::before{
  background:var(--c-blue);transform:scale(.36);
  box-shadow:0 0 0 0 rgba(24,99,220,.6);
  animation:pulseDot 2.4s var(--p,0s) infinite;
}
.about-points .dot::after{
  border:1px solid rgba(24,99,220,.35);
  animation:pulseRing 2.4s var(--p,0s) infinite;
}
@keyframes pulseDot{
  0%,100%{transform:scale(.36)}
  50%{transform:scale(.5)}
}
@keyframes pulseRing{
  0%{transform:scale(.6);opacity:1}
  80%,100%{transform:scale(1.6);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .about-points .dot::before,.about-points .dot::after{animation:none}
  .about-points .dot::before{transform:scale(.4)}
  .about-points .dot::after{display:none}
}

/* ==========================================================================
   LOGO GRID - Partnerzy / Klienci
   ========================================================================== */
.logo-grid{
  display:grid;grid-template-columns:repeat(8,1fr);gap:0;
  border:1px solid var(--c-line);
  background:#fff;
  isolation:isolate;
}
.logo-cell{
  display:flex;align-items:center;justify-content:center;
  padding:30px 22px;aspect-ratio:3/2;
  border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);
  background:#fff;position:relative;
  opacity:1;
  transition:transform .35s cubic-bezier(.22,.61,.36,1),
             box-shadow .35s cubic-bezier(.22,.61,.36,1),
             z-index 0s;
}
.logo-cell:hover{
  transform:scale(1.23);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.28),0 6px 18px -6px rgba(20,30,60,.16);
  z-index:5;
  border-color:transparent;
}
.logo-cell img{
  max-width:100%;max-height:60%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.7;
  transition:filter .25s var(--ease),opacity .25s var(--ease),transform .25s var(--ease);
}
.logo-cell:hover img{filter:none;opacity:1;transform:scale(1.12)}
/* usuń krawędzie zewnętrzne na ostatnich kolumnach/wierszach */
.logo-grid--8 .logo-cell:nth-child(8n){border-right:0}
.logo-grid--5{grid-template-columns:repeat(5,1fr)}
.logo-grid--5 .logo-cell:nth-child(5n){border-right:0}
.logo-grid--7{grid-template-columns:repeat(7,1fr)}
.logo-grid--7 .logo-cell:nth-child(7n){border-right:0}

/* CTA cell - "Miejsce czeka na Ciebie" w grid logo */
.logo-cell--cta{
  flex-direction:column;gap:6px;
  text-align:center;
  background:#fff;
  color:var(--c-blue);
  font-weight:600;font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;
  line-height:1.25;
  text-decoration:none;
  padding:18px 14px;
  box-sizing:border-box;
}
.logo-cell--cta:hover{
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
}
.logo-cell--cta:hover .logo-cta__arrow{
  background:linear-gradient(90deg,#1863dc,#6e3eb0,#e5194a);
  transform:translateX(3px);
}
.logo-cta__text{display:block}
.logo-cta__arrow{
  display:inline-grid;place-items:center;
  width:28px;height:28px;border-radius:50%;
  background:var(--c-blue);color:#fff;
  transition:transform .3s var(--ease),background .3s var(--ease);
}
.logo-cta__arrow svg{width:16px;height:16px}

@media (prefers-reduced-motion:reduce){
  .logo-cell{opacity:1;filter:none;transform:none}
}

.logo-grid-foot{margin-top:32px;text-align:center}
.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;color:var(--c-blue);font-size:1rem;
  padding:10px 4px;
}
.link-arrow .arrow{transition:transform .3s var(--ease)}
.link-arrow:hover{color:var(--c-blue-dark)}
.link-arrow:hover .arrow{transform:translateX(6px)}
.section-dark .link-arrow{color:#9bbcff}

/* CTA */
.section-cta{
  background:linear-gradient(135deg,#0b46a8 0%,#1863dc 60%,#0056a7 100%);
  color:#fff;position:relative;
  isolation:isolate;
}
.section-cta::before{clip-path:inset(0)}
.section-cta::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 60% at 90% 10%,rgba(255,255,255,.18),transparent 60%),
    radial-gradient(50% 50% at 10% 90%,rgba(0,0,0,.25),transparent 60%);
  pointer-events:none;
}
.cta-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;position:relative}
@media (min-width:981px){
  .cta-grid .cta-text{position:sticky;top:calc(var(--header-h) + 24px);align-self:start}
}
.cta-text h2{font-size:clamp(1.8rem,3vw,2.6rem);color:#fff;margin-bottom:14px}
.cta-text .lead{color:rgba(255,255,255,.85);font-size:1.1rem;margin-bottom:30px}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.contact-list li{display:flex;align-items:center;gap:22px}
.contact-list__ic{
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
  transition:transform .35s var(--ease),color .35s var(--ease);
}
.contact-list li:hover .contact-list__ic{transform:scale(1.06)}
.contact-list__ic svg{width:24px;height:24px}
.contact-list__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.contact-list__txt small{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.7);font-weight:600}
.contact-list__txt a{font-weight:600;color:#fff;font-size:1rem;word-break:break-word}
.contact-list__txt a:hover{color:#cfe0ff}

.cta-form{
  background:#fff;color:var(--c-ink);
  padding:36px 40px;border-radius:var(--r-lg);
  display:grid;gap:18px;
  box-shadow:var(--shadow-lg);
}
.cta-form label{display:grid;gap:6px}
.cta-form label > span{font-size:.85rem;font-weight:600;color:var(--c-ink-soft)}
.cta-form input,.cta-form textarea{
  width:100%;padding:14px 16px;border:1px solid var(--c-line);border-radius:12px;
  font:inherit;color:var(--c-ink);background:#fafafa;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.cta-form input:focus,.cta-form textarea:focus{
  outline:none;border-color:var(--c-blue);background:#fff;
  box-shadow:0 0 0 4px rgba(24,99,220,.15);
}
.cta-form textarea{resize:vertical;min-height:110px}
.checkbox{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:.85rem;color:var(--c-ink-soft);cursor:pointer}
.checkbox input{width:18px;height:18px;margin-top:2px;accent-color:var(--c-blue)}
.form-success{margin:8px 0 0;color:#0a7a3a;font-weight:600;font-size:.9rem}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
  position:relative;
  background:#070d22;color:#cfd6e6;
  padding:120px 0 0;font-size:.95rem;
  overflow:hidden;isolation:isolate;
}
.footer-bg{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 50% at 80% 0%,rgba(24,99,220,.35),transparent 60%),
    radial-gradient(50% 40% at 0% 30%,rgba(11,70,168,.28),transparent 60%),
    linear-gradient(180deg,#070d22 0%,#040814 100%);
}
.site-footer::before{
  content:"";position:absolute;left:50%;top:0;width:140%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(155,188,255,.55),transparent);
  transform:translateX(-50%);
}
.footer-shout{
  text-align:center;
  padding-bottom:100px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:80px;
}
.footer-eyebrow{
  display:inline-block;font-family:'Poppins',sans-serif;
  font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:#9bbcff;margin:0 0 24px;
}
.footer-headline{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2rem,5vw,4.4rem);font-weight:600;line-height:1;
  margin:0 0 24px;letter-spacing:-.03em;color:#fff;
  display:flex;justify-content:center;flex-wrap:wrap;gap:.25em;
}
.footer-headline .word{display:inline-block}
.footer-headline-accent{
  background:linear-gradient(90deg,#1863dc,#9bbcff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  position:relative;
}
.footer-headline-accent .dot{color:#1863dc;-webkit-text-fill-color:#1863dc}
.footer-lede{max-width:620px;margin:0 auto 38px;color:rgba(255,255,255,.7);font-size:1.1rem}

.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:60px;padding-bottom:60px;
}
.footer-logo{filter:brightness(0) invert(1);margin-bottom:22px;height:54px;width:auto}
.footer-addr{color:#8a93ad;line-height:1.7;margin-bottom:22px}
.footer-col h4{
  font-family:'Poppins',sans-serif;
  font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;
  color:#9bbcff;margin:0 0 22px;font-weight:600;
}
.footer-col h4.mt{margin-top:34px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.footer-col a{
  color:#cfd6e6;transition:color .2s var(--ease),padding-left .2s var(--ease);
  position:relative;
}
.footer-col a:not(.footer-linkedin):hover{color:#fff;padding-left:6px}
.footer-col a:not(.footer-linkedin):hover::before{
  content:"→";position:absolute;left:-12px;color:var(--c-blue);
}
.footer-linkedin:hover{padding-left:22px}
.footer-linkedin:hover::before{content:none!important}

.footer-contact{display:grid;gap:14px}
.footer-contact li{display:flex;flex-direction:column;gap:2px}
.footer-contact span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#7783a0}
.footer-contact a{font-weight:600;color:#fff}

.footer-linkedin{
  display:inline-flex;align-items:center;gap:12px;margin-top:28px;
  padding:14px 22px;border-radius:14px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;font-weight:600;font-size:.97rem;white-space:nowrap;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.footer-linkedin svg{flex-shrink:0;color:#9bbcff;transition:color .25s var(--ease)}
.footer-linkedin:hover{background:#0a66c2}

.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;margin-top:30px}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-bottom .footer-copy{margin:0;color:#7783a0;font-size:.85rem;order:2}
.footer-bottom .footer-bottom-links{order:1}
.footer-bottom a{color:#cfd6e6}
.footer-bottom a:hover{color:#fff}

/* ==========================================================================
   ANIMACJE WJAZDU
   ========================================================================== */

/* Klasyczny reveal - działa w dwie strony (re-trigger przy scrollu) */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* Subtelny wjazd nagłówków h2 z prawej do lewej */
.anim-h2{
  opacity:0;transform:translateX(40px);
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
  transition-delay:.1s;
}
.anim-h2.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .anim-h2{transition:none!important;opacity:1!important;transform:none!important}
}
/* Hold animations until page loader hides */
body.is-loading .reveal.is-visible,
body.is-loading .anim-rise.is-visible{opacity:0;transform:translateY(28px);filter:blur(0)}
body.is-loading .anim-split.is-visible .word-inner{transform:translateY(110%) rotate(4deg)}
.reveal.is-leaving{opacity:0;transform:translateY(20px)}

/* anim-rise - element wjeżdża z dołu z lekkim blur->clear */
.anim-rise{
  opacity:0;transform:translateY(40px);filter:blur(8px);
  transition:
    opacity .9s cubic-bezier(.22,.61,.36,1),
    transform 1s cubic-bezier(.22,.61,.36,1),
    filter .9s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--anim-delay,0s);
}
.anim-rise.is-visible{opacity:1;transform:none;filter:blur(0)}
.anim-rise.is-leaving{opacity:0;transform:translateY(28px);filter:blur(6px)}

/* anim-split - tytuł podzielony JS-em na słowa, każde wjeżdża spod maski */
.anim-split{visibility:hidden}
.anim-split.is-ready{visibility:visible}
.anim-split .word-mask{
  display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1;
  padding:.06em .02em;margin:-.06em -.02em;
}
.anim-split .word-inner{
  display:inline-block;
  transform:translateY(110%) rotate(6deg);
  transition:transform 1s cubic-bezier(.22,.61,.36,1);
  transition-delay:calc(var(--i,0) * 70ms);
  will-change:transform;
}
.anim-split.is-visible .word-inner{transform:translateY(0) rotate(0)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal,.anim-rise,.anim-split .word-inner{opacity:1;transform:none;filter:none}
  .anim-split{visibility:visible}
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .nav-list > li > a{padding:10px 10px;font-size:14px}
  .bento{grid-template-rows:240px 240px 240px}
  .logo-grid{grid-template-columns:repeat(6,1fr)}
  .logo-grid--8 .logo-cell:nth-child(8n){border-right:1px solid var(--c-line)}
  .logo-grid--8 .logo-cell:nth-child(6n){border-right:0}
  .logo-grid--5{grid-template-columns:repeat(3,1fr)}
  .logo-grid--5 .logo-cell{border-right:1px solid var(--c-line)}
  .logo-grid--5 .logo-cell:nth-child(3n){border-right:0}
  .logo-grid--7{grid-template-columns:repeat(4,1fr)}
  .logo-grid--7 .logo-cell{border-right:1px solid var(--c-line)}
  .logo-grid--7 .logo-cell:nth-child(4n){border-right:0}
  .stats{grid-template-columns:repeat(2,1fr);gap:24px}
  .stats li:nth-child(3){border-left:0;padding-left:0}
  .about-grid{gap:60px}
}
@media (max-width:900px){
  :root{--header-h:72px}
  .primary-nav,.cta-desktop{display:none}
  .hamburger{display:flex}
  .mobile-nav{display:flex}
  .brand img{height:42px}
  .header-inner{gap:12px}
  .section{padding:80px 0}
  .about-grid,.cta-grid{grid-template-columns:1fr;gap:60px}

  /* Hero mobile */
  .hero{padding:calc(var(--header-h) + 56px) 0 80px;min-height:auto}
  .hero-title{font-size:clamp(2.2rem,8vw,3rem);margin-bottom:18px}
  .hero-sub{font-size:1rem;margin-bottom:28px}
  .hero-actions{gap:10px}
  .hero-actions .btn{padding:14px 22px;font-size:.95rem}
  .hero-dots{margin-top:40px}

  /* Footer mobile - wycentrowany */
  .site-footer{padding:80px 0 0;text-align:center}
  .footer-shout{padding-bottom:50px;margin-bottom:40px}
  .footer-headline{font-size:clamp(2rem,9vw,3rem)}
  .footer-grid{grid-template-columns:1fr;gap:40px;text-align:center}
  .footer-col h4{margin-bottom:14px}
  .footer-col ul{align-items:center}
  .footer-brand{display:flex;flex-direction:column;align-items:center}
  .footer-logo{margin:0 auto 18px}
  .footer-contact{align-items:center}
  .footer-linkedin{align-self:center}
  .footer-col a:not(.footer-linkedin):hover{padding-left:0}
  .footer-col a:not(.footer-linkedin):hover::before{content:none}
  .footer-bottom .container{justify-content:center;flex-direction:column;gap:14px;text-align:center}
  .footer-bottom-links{justify-content:center}

  .about-badge{left:auto;right:20px;bottom:-28px}
  .bento,.bento--services{grid-template-columns:repeat(6,1fr);grid-template-rows:none;grid-auto-rows:auto}
  .bento-feature,.bento-tall,
  .bento--services .bento-feature,.bento--services .bento-tall,.bento--services .bento-row{
    grid-column:1/-1!important;grid-row:auto!important;min-height:380px;
  }
  .bento:not(.bento--services) > .bento-card:nth-of-type(3),
  .bento:not(.bento--services) > .bento-card:nth-of-type(4),
  .bento:not(.bento--services) > .bento-card:nth-of-type(5){
    grid-column:1/-1!important;grid-row:auto!important;min-height:300px;
  }
  /* bento--duo (Usługi) - kafelki ułożone w stos na mobile */
  .bento--duo > .bento-card{
    grid-column:1/-1!important;grid-row:auto!important;min-height:340px;
  }
  .bento--duo{grid-template-rows:auto!important}
  .intermission{padding:60px 0}
  .stats{grid-template-columns:1fr;gap:18px}
  .stats li{border-left:0;padding-left:0;border-top:1px solid var(--c-line);padding-top:18px}
  .stats li:first-child{border-top:0;padding-top:0}
  .campaign-banner{padding:36px;min-height:340px}
  .footer-shout{padding-bottom:50px;margin-bottom:40px}
  .footer-headline{font-size:clamp(2rem,9vw,3rem)}
}
@media (max-width:640px){
  .hero{padding:calc(var(--header-h) + 60px) 0 80px}
  .hero-title{font-size:2.4rem;margin-bottom:22px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-stats{gap:24px;margin-top:40px}
  .hero-stats strong{font-size:1.5rem}
  .hero-dots{bottom:30px}
  .bento,.bento--services{grid-template-columns:1fr;gap:16px}
  .bento-card,.bento-feature,.bento-tall{grid-column:1/-1!important;min-height:280px;padding:24px}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .logo-grid--8 .logo-cell:nth-child(6n){border-right:1px solid var(--c-line)}
  .logo-grid--8 .logo-cell:nth-child(3n){border-right:0}
  .about-badge{left:auto;right:0;bottom:-20px;padding:16px 20px}
  .about-badge .num{font-size:2rem}
  .clients{grid-template-columns:repeat(3,1fr)}
  .contact-list li{gap:16px}
  .cta-form{padding:28px 24px}
  .footer-grid{grid-template-columns:1fr}
  .section-head{margin-bottom:40px}
  .campaigns-head{flex-direction:column;align-items:flex-start}
  .campaign-banner{padding:28px;min-height:300px}
  .campaign-banner h3{font-size:1.4rem}
}

/* ==========================================================================
   FORMULARZ KONTAKTOWY - Nextedge-style z walidacją + fake submit
   ========================================================================== */
.cta-form{position:relative;overflow:hidden}

.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}

.form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:10px;
}
.field{display:grid;gap:4px;position:relative}
.field--full{margin-bottom:10px;grid-column:1 / -1}
.field > label{
  font-size:.8rem;font-weight:600;color:var(--c-ink-soft);
  display:flex;align-items:center;gap:6px;
}
.field .opt{font-weight:400;color:#9aa3bb;font-size:.74rem}
.field input,.field textarea{
  width:100%;padding:11px 14px;border:1px solid var(--c-line);border-radius:10px;
  font:inherit;font-size:.95rem;color:var(--c-ink);background:#fafafa;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--c-blue);background:#fff;
  box-shadow:0 0 0 4px rgba(24,99,220,.15);
}
.field textarea{resize:none;min-height:84px;max-height:140px;overflow-y:auto}
/* Licznik znaków pod opisem projektu */
.field__counter{
  text-align:right;font-size:.72rem;color:var(--c-ink-soft);
  display:block;margin-top:2px;
}
.field__counter.is-near-limit{color:#d63031;font-weight:600}
.field__error{
  position:absolute;top:calc(100% + 0px);left:0;
  font-size:8px;color:#fff;font-weight:600;letter-spacing:.01em;
  background:#d63031;
  padding:3px 7px;border-radius:8px;
  box-shadow:0 6px 14px -4px rgba(214,48,49,.45),0 1px 4px rgba(214,48,49,.2);
  pointer-events:none;white-space:nowrap;
  opacity:0;transform:translateY(-4px) scale(.96);
  transform-origin:top left;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
  z-index:3;
}
.field__error::before{
  content:"";position:absolute;bottom:90%;left:10px;
  width:0;height:0;
  border:5px solid transparent;border-bottom-color:#d63031;
}
.field.has-error input,.field.has-error textarea{
  border-color:#d63031;background:#fff;
}
.field.has-error .field__error{opacity:1;transform:none}

/* Inline validation - sukces */
.field.is-valid input,.field.is-valid textarea{border-color:#21d075;background:#fff}
.field.is-valid::after{
  content:"";position:absolute;right:12px;top:38px;
  width:18px;height:18px;border-radius:50%;
  background:#21d075 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7l3 3 5-6'/></svg>") center/12px no-repeat;
  pointer-events:none;
}
/* Mignięcie placeholderu po zmianie tematu */
@keyframes msgPulse{
  0%{box-shadow:0 0 0 0 rgba(24,99,220,.0)}
  40%{box-shadow:0 0 0 4px rgba(24,99,220,.20)}
  100%{box-shadow:0 0 0 0 rgba(24,99,220,0)}
}
textarea.is-pulse{animation:msgPulse .9s var(--ease)}

/* Field hint (np. dla NIP) */
.field__hint{
  font-size:.75rem;color:var(--c-ink-soft);min-height:14px;
  transition:color .2s var(--ease);
}
.field__hint.is-loading{color:var(--c-blue)}
.field__hint.is-success{color:#21d075;font-weight:600}
.field__hint.is-error{color:#d63031}
.field__opt{font-weight:400;color:#9aa3bb;font-size:.7rem;text-transform:none;letter-spacing:0}
.field--nip{grid-column:1/-1}

/* === Multi-step form === */
.cta-form--steps{position:relative;overflow:hidden;display:flex;flex-direction:column}
@media (min-width:721px){
  .cta-form--steps{min-height:520px}
}
.form-steps-wrap{position:relative;flex:1;display:flex;flex-direction:column}
.form-stepper{
  list-style:none;display:flex;align-items:center;justify-content:center;
  gap:0;margin:15px 0 6px;padding:0;
  position:relative;
}
.form-stepper__step{
  position:relative;z-index:1;
  display:flex;align-items:center;
}
.form-stepper__step + .form-stepper__step::before{
  content:"";display:block;width:40px;height:2px;background:var(--c-line);
  margin:0 8px;
}
.form-stepper__dot{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff;border:2px solid var(--c-line);
  font-weight:600;font-size:.85rem;color:var(--c-ink-soft);
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.form-stepper__step.is-active .form-stepper__dot{
  background:var(--c-blue);
  border-color:var(--c-blue);color:#fff;
  transform:scale(1.08);
  box-shadow:0 6px 16px -4px rgba(24,99,220,.40);
}
.form-stepper__step.is-done .form-stepper__dot{
  background:var(--c-blue);border-color:var(--c-blue);color:#fff;
  font-size:0;
}
.form-stepper__step.is-done .form-stepper__dot::after{
  content:"✓";font-size:.95rem;color:#fff;font-weight:600;
}
.form-stepper__step.is-done + .form-stepper__step::before,
.form-stepper__step.is-active + .form-stepper__step::before{
  /* connector przed aktywnym jest nieaktywny */
}
.form-stepper__step.is-done::after{
  /* podkreśl wypełniony connector po prawej stronie ukończonego */
}

.form-step{
  display:none;
  animation:none;
}
.form-step.is-active{
  display:flex;flex-direction:column;
  flex:1;
  animation:formStepIn .35s cubic-bezier(.22,.61,.36,1);
}
.form-step__body{
  flex:1;display:flex;flex-direction:column;
  justify-content:center;gap:10px;min-height:0;
}
.form-step__body .field--full{margin-bottom:0}
.form-step__body .consent-wrap{margin-top:0}
.form-step__body .consent{margin-top:0}
.form-step > .form-nav{margin-top:0;flex-shrink:0}
@keyframes formStepIn{
  from{opacity:0;transform:translateX(12px)}
  to{opacity:1;transform:none}
}
/* Krok 1 - wycentrowany konfigurator */
.form-step--center .form-step__inner{
  width:100%;max-width:420px;margin:0 auto;
  display:flex;flex-direction:column;gap:18px;
  padding:20px 0;
}
.form-nav{
  display:flex;gap:10px;align-items:center;
  flex-wrap:wrap;padding-top:14px;
}
.form-nav__prev{margin-right:auto}
.form-nav__next{margin-left:auto}
.form-nav .btn{
  padding:13px 24px;line-height:1.2;min-width:140px;justify-content:center;
}
.form-nav .btn-outline{--fg:var(--c-ink)}
.arrow-left-text{display:inline-block;transition:transform .25s var(--ease)}
.btn:hover .arrow-left-text{transform:translateX(-4px)}

/* Custom select (konfigurator) */
.select-pro{position:relative;width:100%}
.select-pro__label{
  display:block;
  font-size:.8rem;font-weight:600;color:var(--c-ink-soft);
  margin-bottom:6px;
}
.select-pro__btn{
  width:100%;padding:14px 16px;
  background:#fafbfd;border:1px solid var(--c-line);border-radius:14px;
  display:flex;align-items:center;justify-content:space-between;
  font-size:.95rem;font-weight:500;color:var(--c-ink);
  cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.select-pro__btn:hover{border-color:var(--c-blue);background:#fff}
.select-pro.is-open .select-pro__btn,
.select-pro__btn:focus-visible{
  outline:none;border-color:var(--c-blue);background:#fff;
  box-shadow:0 0 0 4px rgba(24,99,220,.15);
}
.select-pro__value{flex:1;text-align:left}
.select-pro__value:empty::before,
.select-pro__btn[data-empty="1"] .select-pro__value{color:var(--c-ink-soft)}
.select-pro__caret{
  flex-shrink:0;color:var(--c-ink-soft);
  transition:transform .25s var(--ease),color .25s var(--ease);
}
.select-pro.is-open .select-pro__caret{transform:rotate(180deg);color:var(--c-blue)}
.select-pro.has-value .select-pro__btn{border-color:var(--c-blue);background:#fff}
.select-pro__menu{
  position:absolute;left:0;right:0;top:calc(100% + 6px);
  margin:0;padding:6px;list-style:none;
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  box-shadow:0 18px 40px -12px rgba(20,30,60,.18);
  z-index:20;
  max-height:280px;overflow:auto;
}
.select-pro__menu li{
  padding:10px 14px;border-radius:10px;
  font-size:.9rem;color:var(--c-ink);
  cursor:pointer;
  transition:background .15s var(--ease),color .15s var(--ease);
}
.select-pro__menu li:hover,
.select-pro__menu li.is-active{background:#f4f7fc;color:var(--c-blue);font-weight:600}
.select-pro__menu li[aria-selected="true"]{background:var(--c-blue);color:#fff;font-weight:600}

/* Reveal field - pole pojawia się dynamicznie */
.field--reveal{display:none}
.field--reveal.is-shown{display:grid;animation:formStepIn .3s cubic-bezier(.22,.61,.36,1)}

/* Dropzone - drag & drop attachment */
.dropzone{
  display:flex;align-items:center;gap:14px;
  padding:12px 16px;
  background:#fafbfd;border:1px solid var(--c-line);border-radius:14px;
  cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease);
}
.dropzone[hidden]{display:none}
.dropzone:hover,.dropzone.is-drag{
  border-color:var(--c-blue);background:#f0f6ff;
}
.dropzone.is-drag{transform:scale(1.01)}
.dropzone__icon{
  flex-shrink:0;
  display:grid;place-items:center;
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.dropzone__text{display:flex;flex-direction:column;gap:2px;font-size:.9rem;color:var(--c-ink);flex:1}
.dropzone__text small{font-size:.75rem;color:var(--c-ink-soft);font-weight:400}
.dropzone__btn{flex-shrink:0;min-width:auto}
.dropzone__file{
  display:flex;align-items:center;gap:10px;
  margin-top:0;padding:12px 14px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  border:1px solid rgba(24,99,220,.18);border-radius:14px;
  color:var(--c-ink);font-size:.88rem;
}
.dropzone__file[hidden]{display:none}
.dropzone__file-name{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dropzone__file-size{font-size:.78rem;color:var(--c-ink-soft);font-weight:400;flex-shrink:0}
.dropzone__file-remove{
  width:24px;height:24px;border-radius:50%;
  background:#fff;border:1px solid var(--c-line);
  display:grid;place-items:center;cursor:pointer;
  font-size:1rem;color:var(--c-ink-soft);line-height:1;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.dropzone__file-remove:hover{background:#d63031;color:#fff;border-color:#d63031}


/* === Chip selectors (typ zapytania, branża, wielkość, horyzont, kontakt) === */
.chip-set{
  border:0;padding:0;margin:0 0 10px;
}
.chip-set legend{
  font-size:.74rem;font-weight:600;color:var(--c-ink-soft);
  letter-spacing:.04em;margin-bottom:6px;padding:0;
  text-transform:uppercase;
}
/* Grid 2-kolumnowy dla par chip-setów (kompaktowy formularz) */
.chip-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;
  margin:6px 0 8px;
}
@media (max-width:720px){
  .chip-grid{grid-template-columns:1fr}
}
.chip-row{
  display:flex;flex-wrap:wrap;gap:5px;
}
.chip{
  position:relative;display:inline-flex;align-items:center;
  cursor:pointer;user-select:none;
}
.chip input{
  position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;
}
.chip span{
  display:inline-flex;align-items:center;
  padding:6px 12px;border-radius:999px;
  background:#fafafa;border:1px solid var(--c-line);
  font-size:.8rem;font-weight:500;color:var(--c-ink-soft);
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
  white-space:nowrap;
}
.chip:hover span{
  border-color:var(--c-blue);color:var(--c-blue);
  transform:translateY(-1px);
}
.chip input:checked + span{
  background:linear-gradient(90deg,#1863dc 0%,#6e3eb0 55%,#e5194a 100%);
  border-color:transparent;color:#fff;
  box-shadow:0 6px 16px -4px rgba(110,62,176,.45);
}

/* Konfigurator - większe karty wyboru */
.chip-row--cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
}
.chip--card span{
  width:100%;justify-content:center;
  padding:18px 14px;border-radius:14px;
  font-size:.92rem;font-weight:600;
  background:#fafbfd;
  min-height:60px;
}
.chip--card:hover span{
  background:#fff;
  box-shadow:0 8px 22px -8px rgba(20,30,60,.18);
  transform:translateY(-2px);
}
.chip--card input:checked + span{
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  border-color:var(--c-blue);
  color:var(--c-ink);
  box-shadow:0 8px 22px -6px rgba(24,99,220,.25);
}
.chip--card input:checked + span::before{
  content:"✓";display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-blue);color:#fff;font-size:.7rem;font-weight:700;
  margin-right:8px;
}
.chip-set--cards legend{
  font-size:.78rem;margin-bottom:10px;
}
.chip input:focus-visible + span{
  outline:2px solid var(--c-blue);outline-offset:2px;
}

/* Consent */
.consent{
  display:grid;grid-template-columns:auto 1fr;gap:12px;
  align-items:start;cursor:pointer;
  font-size:11px;font-weight:400;color:var(--c-ink-soft);line-height:1.5;
  margin-top:6px;
}
.consent .consent__box{margin-top:2px}
.consent input[type=checkbox]{
  position:absolute;width:1px;height:1px;
  opacity:0;pointer-events:none;
  appearance:none;-webkit-appearance:none;
}
.consent__box{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:6px;
  border:1.5px solid #cfd6e6;background:#fff;
  transition:background .2s var(--ease),border-color .2s var(--ease);
  flex-shrink:0;margin-top:1px;
}
.consent__box svg{
  width:14px;height:14px;
  color:#fff;
  opacity:0;transform:scale(.6);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.consent__box svg path{stroke:#fff!important}
.consent .consent__text{font-size:11px;font-weight:400;color:var(--c-ink-soft);line-height:1.5}
.consent input:checked + .consent__box{background:var(--c-blue);border-color:var(--c-blue)}
.consent input:checked + .consent__box svg{opacity:1;transform:none}
.consent input:focus-visible + .consent__box{box-shadow:0 0 0 4px rgba(24,99,220,.18)}
.consent__text a{color:var(--c-blue);text-decoration:none;font-weight:600}
.consent__text a:hover{color:var(--c-blue-dark)}
/* Consent + dymek błędu - ten sam styl co inne dymki, wyrównany do lewej */
.consent-wrap{position:relative}
.field__error--consent{
  position:absolute;
  top:calc(100% + 0px);left:0;
  bottom:auto;
  font-size:8px;color:#fff;font-weight:600;letter-spacing:.01em;
  background:#d63031;
  padding:3px 7px;border-radius:8px;
  box-shadow:0 6px 14px -4px rgba(214,48,49,.45),0 1px 4px rgba(214,48,49,.2);
  pointer-events:none;white-space:nowrap;
  opacity:0;transform:translateY(-4px) scale(.96);
  transform-origin:top left;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
  z-index:3;height:auto;
}
.field__error--consent::before{
  content:"";position:absolute;bottom:90%;left:10px;
  width:0;height:0;
  border:5px solid transparent;border-bottom-color:#d63031;
}
.field__error--consent.is-shown{opacity:1;transform:none}

.contact__submit{
  padding:14px 28px;
  display:inline-flex;justify-content:center;align-items:center;gap:10px;
  max-width:300px;width:100%;
  justify-self:end;
  margin-top:6px;
}
.form-nav .contact__submit{margin-top:0}
.contact__submit .arrow-svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.contact__submit:hover .arrow-svg{transform:translateX(4px)}
.contact__submit:disabled{opacity:.6;cursor:wait}

/* Loading + success overlays nad formularzem */
.contact__overlay{
  position:absolute;inset:0;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-lg);
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
  z-index:5;
}
.contact__overlay.is-shown{opacity:1;pointer-events:auto}
.contact__overlay-inner{text-align:center;padding:20px}
.contact__overlay-inner h3{font-size:1.3rem;margin:18px 0 6px}
.contact__overlay-inner p{color:var(--c-ink-soft);margin:0 0 18px}
.contact__spinner{
  width:48px;height:48px;border-radius:50%;
  border:3px solid var(--c-line);border-top-color:var(--c-blue);
  margin:0 auto;
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.contact__check{color:var(--c-blue);display:grid;place-items:center;margin-bottom:6px}
.contact__check svg{width:64px;height:64px}
.contact__check .check-path{
  stroke-dasharray:40;stroke-dashoffset:40;
}
.contact__overlay.is-shown .contact__check .check-path{
  animation:checkDraw .6s ease-out .15s forwards;
}
@keyframes checkDraw{to{stroke-dashoffset:0}}

@media (max-width:640px){
  .form-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   FLOATING CHAT WIDGET - Porozmawiaj z nami
   ========================================================================== */
.chat-widget{
  position:fixed;
  bottom:28px;right:28px;
  z-index:60;
  display:inline-flex;align-items:center;gap:12px;
  padding:14px 22px 14px 16px;
  background:var(--c-blue);color:#fff;
  border-radius:999px;
  font-weight:600;font-size:.95rem;
  box-shadow:0 18px 40px -10px rgba(24,99,220,.55);
  opacity:0;pointer-events:none;
  transform:translateY(20px) scale(.92);
  transition:opacity .4s var(--ease),transform .4s var(--ease),box-shadow .35s var(--ease);
  isolation:isolate;overflow:hidden;
}
.chat-widget::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,#1863dc 0%,#6e3eb0 55%,#e5194a 100%);
  opacity:0;transition:opacity .4s var(--ease);
  z-index:-1;pointer-events:none;
}
.chat-widget.is-visible{opacity:1;pointer-events:auto;transform:none}
body.menu-open .chat-widget{opacity:0!important;pointer-events:none!important;transform:translateY(20px) scale(.92)!important}
.chat-widget:hover{box-shadow:0 22px 44px -10px rgba(110,62,176,.55)}
.chat-widget:hover::before{opacity:1}
.chat-widget__icon{
  display:grid;place-items:center;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.18);
  position:relative;
}
.chat-widget__icon svg{width:18px;height:18px}
.chat-widget__icon::after{
  content:"";position:absolute;top:-2px;right:-2px;
  width:10px;height:10px;border-radius:50%;
  background:#21d075;
  border:2px solid var(--c-blue);
  box-shadow:0 0 0 0 rgba(33,208,117,.55);
  animation:statusPulse 2s ease-out infinite;
}
.chat-widget:hover .chat-widget__icon::after{border-color:#6e3eb0}
.chat-widget__icon{position:relative;z-index:1}
.chat-widget__label{position:relative;z-index:1}
@keyframes statusPulse{
  0%{box-shadow:0 0 0 0 rgba(33,208,117,.6)}
  100%{box-shadow:0 0 0 12px rgba(33,208,117,0)}
}
@media (max-width:640px){
  .chat-widget{bottom:16px;right:16px;padding:12px 18px 12px 14px;font-size:.88rem}
  .chat-widget__icon{width:28px;height:28px}
}
@media (prefers-reduced-motion:reduce){
  .chat-widget::before{animation:none}
}

/* ==========================================================================
   COOKIES - przyciski w stopce + modal
   ========================================================================== */
.footer-bottom-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.footer-link-btn{
  background:none;border:0;padding:0;
  color:#cfd6e6;font:inherit;cursor:pointer;
  transition:color .2s var(--ease);
  position:relative;
}
.footer-link-btn::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease);
}
.footer-link-btn:hover{color:#fff}
.footer-link-btn:hover::after{transform:scaleX(1)}

.cookie-bar[hidden],
.cookie-modal[hidden] { display: none !important; }

.cookie-bar {
  position: fixed; inset: auto 16px 16px 16px; z-index: 1000;
  background: #fff; border: 1px solid #e3e7ee; border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.16), 0 4px 12px rgba(0,0,0,.06);
  padding: 18px 22px;
  opacity: 0; transform: translateY(20px);
  transition: opacity .28s ease, transform .28s cubic-bezier(.22,.61,.36,1);
}
.cookie-bar.is-open { opacity: 1; transform: translateY(0); }
.cookie-bar__inner { display: flex; align-items: center; gap: 24px; max-width: 1400px; margin: 0 auto; }
.cookie-bar__text { flex: 1 1 auto; margin: 0; font-size: 13.5px; line-height: 1.55; color: #3a3f44; }
.cookie-bar__actions { display: flex; gap: 10px; flex: 0 0 auto; flex-wrap: wrap; }
@media (max-width: 820px) {
  .cookie-bar { padding: 16px; border-radius: 12px; }
  .cookie-bar__inner { flex-direction: column; align-items: stretch; gap: 14px; }
  .cookie-bar__actions { justify-content: stretch; }
  .cookie-bar__actions .cookie-btn { flex: 1 1 0; }
}

.cookie-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 9px 18px; font-size: 13px; font-weight: 600;
  text-align: center; white-space: nowrap;
  border-radius: 8px; border: 1px solid transparent; cursor: pointer;
  font-family: inherit;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.cookie-btn--primary { background: #1863dc; color: #fff; border-color: #1863dc; }
.cookie-btn--primary:hover { background: #1450b5; border-color: #1450b5; color: #fff; }
.cookie-btn--ghost { background: #fff; color: #1a1d20; border-color: #e3e7ee; }
.cookie-btn--ghost:hover { border-color: #1a1d20; }

.cookie-modal {
  position: fixed; inset: 0; z-index: 1100;
  display: flex; align-items: center; justify-content: center;
  padding: 24px; opacity: 0; transition: opacity .22s ease;
}
.cookie-modal.is-open { opacity: 1; }
.cookie-modal__backdrop { position: absolute; inset: 0; background: rgba(10,12,16,.55); backdrop-filter: blur(2px); }
.cookie-modal__card {
  position: relative; width: 100%; max-width: 640px;
  max-height: calc(100vh - 48px);
  background: #fff; border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateY(10px);
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
.cookie-modal.is-open .cookie-modal__card { transform: translateY(0); }
.cookie-modal__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 28px 16px; border-bottom: 1px solid #eef0f4;
}
.cookie-modal__head h2 { margin: 0; font-size: 17px; font-weight: 700; color: #1a1d20; }
.cookie-modal__close {
  width: 36px; height: 36px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #6c7078; border: 1px solid transparent; background: transparent;
  cursor: pointer; transition: background .18s ease, border-color .18s ease;
}
.cookie-modal__close:hover { background: #f5f7fb; border-color: #e3e7ee; }
.cookie-modal__body { padding: 18px 24px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.cookie-modal__foot {
  display: flex; gap: 12px; justify-content: flex-end;
  padding: 18px 24px 22px; border-top: 1px solid #eef0f4; background: #fbfcfe;
}
.cookie-modal__foot .cookie-btn { flex: 1 1 0; }
@media (min-width: 600px) { .cookie-modal__foot .cookie-btn { flex: 0 0 auto; min-width: 200px; } }

.cookie-cat {
  border: 1px solid #e8ebf2; border-radius: 12px; padding: 13px 16px;
  transition: border-color .18s ease;
}
.cookie-cat:hover { border-color: #d4d8e2; }
.cookie-cat__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.cookie-cat__info { flex: 1 1 auto; min-width: 0; }
.cookie-cat__info h3 { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: #1a1d20; }
.cookie-cat__info p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #5a5f65; }
.cookie-cat__controls { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.cookie-cat__expand {
  width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  color: #6c7078; background: transparent; border: 1px solid transparent; border-radius: 8px;
  cursor: pointer; transition: transform .22s ease, background .18s ease;
}
.cookie-cat__expand:hover { background: #f5f7fb; }
.cookie-cat__expand[aria-expanded="true"] { transform: rotate(180deg); background: #f5f7fb; }
.cookie-cat__expand--placeholder { pointer-events: none; visibility: hidden; }
.cookie-cat__list { list-style: none; margin: 16px -6px 0; padding: 0; border-top: 1px solid #eef0f4; }
.cookie-cat__list li { padding: 12px 6px; border-bottom: 1px solid #f1f2f6; display: flex; flex-direction: column; gap: 4px; }
.cookie-cat__list li:last-child { border-bottom: 0; }
.cookie-cat__list-name { font-size: 12.5px; color: #1a1d20; font-weight: 600; }
.cookie-cat__list-name .text-muted { color: #8a8f94; font-weight: 400; }
.cookie-cat__list-desc { font-size: 12px; color: #5a5f65; line-height: 1.45; }

.cookie-toggle { position: relative; display: inline-block; cursor: pointer; }
.cookie-toggle input { position: absolute; opacity: 0; width: 0; height: 0; }
.cookie-toggle__track { display: inline-block; width: 46px; height: 24px; background: #cdd2d8; border-radius: 30px; position: relative; transition: background .22s ease; }
.cookie-toggle__thumb {
  position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
  background: #fff; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.18);
  transition: transform .22s cubic-bezier(.22,.61,.36,1);
  display: flex; align-items: center; justify-content: center; color: #1863dc;
}
.cookie-toggle input:checked + .cookie-toggle__track { background: #9bbcff; }
.cookie-toggle input:checked + .cookie-toggle__track .cookie-toggle__thumb { transform: translateX(22px); }
.cookie-toggle.is-locked { cursor: not-allowed; opacity: .95; }
.cookie-toggle.is-locked input:checked + .cookie-toggle__track { background: #9bbcff; }

@media (max-width: 760px) {
  .cookie-cat__info p { display: none; }
  .cookie-cat:has(.cookie-cat__expand[aria-expanded="true"]) .cookie-cat__info p { display: block; margin-top: 8px; }
  .cookie-modal__card { border-radius: 14px; max-height: calc(100dvh - 24px); }
  .cookie-modal { padding: 12px; }
}

/* ==========================================================================
   PAGE LOADER - białe tło, MBA logo + obracające się okręgi/kropki
   ========================================================================== */
.page-loader{
  position:fixed;inset:0;z-index:1000;
  background:#fff;
  display:grid;place-items:center;
  transition:opacity .6s var(--ease),visibility 0s linear .6s;
}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-loader__stage{
  position:relative;
  width:min(360px,70vw);
  aspect-ratio:1/1;
  display:grid;place-items:center;
}
.page-loader__mesh{
  position:absolute;inset:0;width:100%;height:100%;
}
.page-loader__particles{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
}
.page-loader__particles canvas{display:block!important;width:100%!important;height:100%!important}
.page-loader__logo{
  position:relative;z-index:2;
  width:36%;height:auto;
  animation:loaderLogoPulse 1.6s ease-in-out infinite;
}
@keyframes loaderLogoPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(.96);opacity:.85}
}
.loader-orbits circle{animation:loaderSpin 6s linear infinite}
.loader-orbits circle:nth-child(1){transform-origin:260px 320px;animation-duration:7s}
.loader-orbits circle:nth-child(2){transform-origin:340px 280px;animation-duration:5s;animation-direction:reverse}
.loader-orbits circle:nth-child(3){transform-origin:280px 310px;animation-duration:9s}
@keyframes loaderSpin{to{transform:rotate(360deg)}}
.ld-dot{transform-box:fill-box;animation:loaderOrbit 4s linear infinite}
.ld-dot-1{transform-origin:300px 300px;animation-duration:3s}
.ld-dot-2{transform-origin:280px 310px;animation-duration:4.4s;animation-direction:reverse}
.ld-dot-3{transform-origin:260px 320px;animation-duration:3.6s}
.ld-dot-4{transform-origin:340px 280px;animation-duration:5.2s;animation-direction:reverse}
.ld-dot-5{transform-origin:300px 300px;animation-duration:2.8s}
.ld-dot-6{transform-origin:340px 280px;animation-duration:4s}
.ld-dot-7{transform-origin:260px 320px;animation-duration:3.4s;animation-direction:reverse}
@keyframes loaderOrbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .page-loader__logo,.loader-orbits circle,.ld-dot{animation:none}
}

/* ==========================================================================
   PODSTRONA - wspólne (hero, breadcrumbs)
   ========================================================================== */
.subpage-hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding:calc(var(--header-h) + 80px) 0 90px;
  color:#fff;
  background:linear-gradient(135deg,#0a1936 0%,#0b46a8 60%,#0056a7 100%);
}
.subpage-hero > .container{position:relative;z-index:2}
.subpage-hero__bg{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
  --mx:0;--my:0;
  transform:translate3d(calc(var(--mx) * 18px),calc(var(--my) * 14px),0);
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}
.subpage-hero__bg .hero-orb{position:absolute}
.subpage-hero__bg .hero-orb{top:-20%;right:-12%;width:520px;height:520px}
.subpage-hero__bg .hero-orb--2{top:auto;bottom:-20%;left:auto;right:6%;width:380px;height:380px}
.subpage-hero__bg .hero-orb--3{top:30%;left:auto;right:30%;width:260px;height:260px}
.subpage-hero__bg .hero-mesh{
  position:absolute;
  top:50%;right:-25%;
  width:min(900px,75%);aspect-ratio:1/1;height:auto;
  transform:translateY(-50%);
  opacity:.7;
  pointer-events:none;
}
.subpage-title{
  font-family:'Poppins',sans-serif;
  font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:600;
  margin:0 0 18px;line-height:1.1;letter-spacing:-.02em;
  color:#fff;
}
.subpage-lede{
  font-size:1.1rem;color:rgba(255,255,255,.85);
  max-width:640px;margin:0;
}
.breadcrumbs{
  display:flex;align-items:center;gap:8px;
  font-size:.82rem;color:rgba(255,255,255,.65);
  margin-bottom:22px;letter-spacing:.04em;
}
.breadcrumbs a{color:rgba(255,255,255,.85)}
.breadcrumbs a:hover{color:#fff}
.breadcrumbs span[aria-current]{color:#fff}

/* ==========================================================================
   KONTAKT - biura + cała Polska banner
   ========================================================================== */
.offices-grid{
  display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:24px;
}
.office-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:32px;display:flex;flex-direction:column;gap:14px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s var(--ease);
}
.office-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.18);
  border-color:transparent;
}
.office-card h3{font-size:1.4rem;margin:0;color:var(--c-ink)}
.office-card__addr{font-size:.98rem;color:var(--c-ink-soft);line-height:1.65;margin:0;flex:1}
.office-card__email{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;color:var(--c-blue);font-size:.95rem;
  padding:10px 14px;border-radius:12px;background:rgba(24,99,220,.08);
  align-self:flex-start;
  transition:background .2s var(--ease);
}
.office-card__email:hover{background:rgba(24,99,220,.16)}
.office-card__email svg{width:18px;height:18px;flex-shrink:0}
.office-card__map{
  margin-top:auto;font-size:.9rem;color:var(--c-blue);
  align-self:flex-start;cursor:pointer;
  background:none;border:0;padding:6px 0;
  font-weight:600;font-family:inherit;
}
.office-card__map .arrow{transition:transform .3s var(--ease)}
.office-card__map:hover{color:var(--c-blue-dark)}
.office-card__map:hover .arrow{transform:translateX(4px)}

.office-banner{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#0b46a8 0%,#1863dc 60%,#0056a7 100%);
  border-radius:var(--r-lg);padding:36px;color:#fff;
  display:flex;flex-direction:column;justify-content:center;gap:16px;
  box-shadow:0 22px 50px -16px rgba(11,70,168,.45);
}
.office-banner > p{flex:0}
.office-banner h3{font-size:clamp(1.4rem,2vw,1.8rem);color:#fff;margin:0}
.office-banner p{color:rgba(255,255,255,.85);font-size:.97rem;margin:0;flex:1}
.office-banner .btn{align-self:flex-start;margin-top:8px}
.office-banner__pulse{
  position:absolute;top:-30px;right:-30px;z-index:-1;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(155,188,255,.5),transparent 70%);
  filter:blur(8px);
  animation:orbDrift 12s ease-in-out infinite;
}

@media (max-width:1100px){
  .offices-grid{grid-template-columns:1fr 1fr}
  .office-banner{grid-column:1/-1}
}
@media (max-width:640px){
  .offices-grid{grid-template-columns:1fr}
  .office-card,.office-banner{padding:26px}
}

/* ==========================================================================
   MAPA
   ========================================================================== */
.map-current{
  margin:8px 0 0;font-size:.95rem;color:var(--c-ink-soft);font-weight:500;
}
.contact-map-tabs{
  display:flex;gap:8px;justify-content:center;flex-wrap:wrap;
  margin:0 0 24px;
}
.map-tab{
  padding:10px 18px;border-radius:999px;
  background:#fff;border:1px solid var(--c-line);
  font-size:.92rem;font-weight:600;color:var(--c-ink-soft);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.map-tab:hover{background:var(--c-soft);color:var(--c-ink)}
.map-tab.is-active{background:var(--c-blue);color:#fff;border-color:var(--c-blue)}

.contact-map-wrap{
  width:100%;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 18px 44px -16px rgba(20,30,60,.18);
  border:1px solid var(--c-line);
  aspect-ratio:32/9;
  position:relative;
  background:linear-gradient(135deg,#e8edf5,#f4f4f4);
}
.contact-map{
  position:absolute;inset:0;width:100%;height:100%;
  border:0;display:block;
  filter:grayscale(1) contrast(1.05);
}
@media (max-width:900px){
  .contact-map-wrap{aspect-ratio:16/9}
}
@media (max-width:640px){
  .contact-map-wrap{aspect-ratio:4/3}
}

/* ==========================================================================
   PROCES - 4 kroki w rzędzie z numerami i strzałką
   ========================================================================== */
.process-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  position:relative;
}
.process-step{
  position:relative;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:28px 26px 26px;
  display:flex;flex-direction:column;gap:12px;
  /* Wjazd od lewej do prawej */
  opacity:0;transform:translateX(-40px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),
             transform .9s cubic-bezier(.22,.61,.36,1),
             box-shadow .35s var(--ease),
             border-color .25s var(--ease);
}
.process-step.is-visible{opacity:1;transform:none}
.process-step:nth-child(1).is-visible{transition-delay:0s,0s,0s,0s}
.process-step:nth-child(2).is-visible{transition-delay:.15s,.15s,0s,0s}
.process-step:nth-child(3).is-visible{transition-delay:.3s,.3s,0s,0s}
.process-step:nth-child(4).is-visible{transition-delay:.45s,.45s,0s,0s}
.process-step:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.18);
  border-color:transparent;
}
.process-step__num{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:clamp(3.4rem,5.2vw,5rem);line-height:.9;
  background:linear-gradient(135deg,var(--c-blue) 0%,var(--c-red) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.05em;
  margin:-4px 0 -2px -2px;
}
.process-step__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:14px;
  background:rgba(24,99,220,.1);color:var(--c-blue);
  margin-top:4px;
}
.process-step__icon svg{width:22px;height:22px}
.process-step h3{font-size:1.15rem;margin:6px 0 4px;color:var(--c-ink);line-height:1.25}
.process-step p{font-size:.93rem;color:var(--c-ink-soft);margin:0;line-height:1.55}

/* Strzałka łącząca kroki (>) na desktopie */
.process-step:not(:last-child)::after{
  content:"";position:absolute;
  right:-16px;top:60px;
  width:24px;height:2px;background:var(--c-line);
  z-index:1;
}
.process-step:not(:last-child)::before{
  content:"";position:absolute;
  right:-22px;top:55px;
  width:0;height:0;
  border-top:6px solid transparent;border-bottom:6px solid transparent;
  border-left:8px solid var(--c-line);
  z-index:2;
}

@media (max-width:1100px){
  .process-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .process-step:nth-child(2n)::after,
  .process-step:nth-child(2n)::before{display:none}
  .process-step:last-child::after,
  .process-step:last-child::before{display:none}
}
@media (max-width:640px){
  .process-grid{grid-template-columns:1fr}
  .process-step::after,.process-step::before{display:none}
}

/* ==========================================================================
   PHONE INPUT z prefixem (jak Nextedge, dopasowane do białego formularza)
   ========================================================================== */
.field--phone{position:relative}
.phone-input{
  display:flex;align-items:stretch;gap:0;padding:0;
  border:1px solid var(--c-line);border-radius:10px;
  background:#fafafa;overflow:visible;position:relative;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.phone-input:focus-within{
  border-color:var(--c-blue);background:#fff;
  box-shadow:0 0 0 4px rgba(24,99,220,.15);
}
.field--phone.has-error .phone-input{
  border-color:#d63031;background:#fff;
}
.phone-input__prefix{
  display:inline-flex;align-items:center;gap:6px;
  padding:11px 12px 11px 14px;
  border:0;border-right:1px solid var(--c-line);
  background:transparent;color:var(--c-ink);font-size:.95rem;font-weight:500;
  cursor:pointer;border-radius:10px 0 0 10px;
  transition:background .2s var(--ease);white-space:nowrap;
}
.phone-input__prefix:hover{background:rgba(0,0,0,.03)}
.phone-input__prefix[aria-expanded="true"]{background:rgba(24,99,220,.06)}
.phone-input__prefix[aria-expanded="true"] svg{transform:rotate(180deg)}
.phone-input__prefix svg{transition:transform .2s var(--ease);color:var(--c-ink-soft)}
.phone-input__prefix .flag{font-size:18px;line-height:1}
.phone-input__menu{
  position:absolute;top:calc(100% + 6px);left:0;z-index:20;
  background:#fff;border:1px solid var(--c-line);border-radius:12px;
  padding:6px;margin:0;list-style:none;
  width:280px;max-height:280px;overflow-y:auto;
  box-shadow:0 18px 44px -10px rgba(20,30,60,.22);
}
.phone-input__menu[hidden]{display:none}
.phone-input__menu li{
  display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;
  padding:9px 12px;border-radius:8px;
  font-size:.9rem;color:var(--c-ink);cursor:pointer;
  transition:background .15s var(--ease);
}
.phone-input__menu li:hover,
.phone-input__menu li[aria-selected="true"]{background:rgba(24,99,220,.08)}
.phone-input__menu li > span:first-child{font-size:18px;line-height:1}
.phone-input__menu li > span:last-child{color:var(--c-ink-soft);font-variant-numeric:tabular-nums}
.phone-input input{
  flex:1;border:0;background:transparent;
  padding:11px 14px;font:inherit;font-size:.95rem;color:var(--c-ink);
  border-radius:0 10px 10px 0;
  outline:0;
}
.field--phone.has-error input{box-shadow:none}
.field--phone .phone-input input:focus{box-shadow:none}
.field--phone:focus-within .phone-input input,
.field--phone .phone-input input{background:transparent}

/* ==========================================================================
   KARIERA - benefits, manifest, joby
   ========================================================================== */
.benefits-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.benefit{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:28px 24px;display:flex;flex-direction:column;gap:14px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s var(--ease);
}
.benefit:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.18);
  border-color:transparent;
}
.benefit__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:88px;height:88px;border-radius:22px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
  margin-bottom:6px;
  transition:transform .35s var(--ease);
}
.benefit:hover .benefit__icon{transform:scale(1.06)}
.benefit__icon svg{width:54px;height:54px;display:block;color:var(--c-blue)}
.benefit h3{font-size:1.25rem;margin:6px 0 4px;color:var(--c-ink);line-height:1.25}
.benefit p{font-size:.95rem;color:var(--c-ink-soft);margin:0;line-height:1.6}
.benefit{padding:34px 28px}
@media (max-width:1100px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.benefits-grid{grid-template-columns:1fr}}

.manifesto{
  max-width:880px;margin:0 auto;text-align:center;padding:20px 0;
}
.manifesto .eyebrow{margin-bottom:18px}
.manifesto__text{
  font-family:'Poppins',sans-serif;font-size:clamp(1.3rem,2.2vw,1.7rem);
  line-height:1.45;color:var(--c-ink);font-weight:500;
  letter-spacing:-.01em;
}
.manifesto__text strong,
.manifesto__text em{
  background:linear-gradient(135deg,var(--c-blue),var(--c-red));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:normal;font-weight:600;
}

.jobs{display:grid;gap:16px}
.job{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  overflow:hidden;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.job[open]{border-color:var(--c-blue);box-shadow:0 22px 50px -16px rgba(24,99,220,.18)}
.job__head{
  list-style:none;cursor:pointer;
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  padding:22px 26px;
}
.job__head::-webkit-details-marker{display:none}
.job__head-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.job__tag{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--c-blue);font-weight:600;margin:0;
}
.job__title{font-size:1.25rem;margin:0;color:var(--c-ink);font-weight:600;line-height:1.2}
.job__sub{font-size:.92rem;color:var(--c-ink-soft);margin:0}
.job__head-meta{display:flex;align-items:center;gap:18px}
.job__meta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.85rem;color:var(--c-ink-soft);font-weight:500;
}
.job__meta svg{width:16px;height:16px}
.job__expand{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:rgba(24,99,220,.08);color:var(--c-blue);
  transition:transform .3s var(--ease),background .25s var(--ease);
}
.job__expand svg{width:18px;height:18px}
.job[open] .job__expand{background:var(--c-blue);color:#fff;transform:rotate(180deg)}

.job__body{
  padding:0 26px 36px;
  border-top:1px solid var(--c-line);
  margin-top:14px;
  animation:jobOpen .35s cubic-bezier(.22,.61,.36,1);
}
@keyframes jobOpen{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:none}
}
.job__cols{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  padding:36px 0 32px;
}
.job__col h4{
  font-family:'Poppins',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--c-blue);margin:0 0 12px;font-weight:600;
}
.job__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.job__list ul,.job__list ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.job__list li{
  position:relative;padding-left:26px;font-size:.95rem;color:var(--c-ink);line-height:1.5;
}
.job__list li::before{
  content:"";position:absolute;left:6px;top:9px;
  width:6px;height:6px;border-radius:50%;
  background:var(--c-blue);
}
.job__list--check li::before{
  content:"";left:0;top:5px;width:16px;height:16px;background:none;
  border-radius:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231863dc' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-repeat:no-repeat;background-size:contain;
}
.jobs-foot{
  margin-top:28px;text-align:center;color:var(--c-ink-soft);font-size:.95rem;
}
.jobs-foot a{color:var(--c-blue);font-weight:600}
.jobs-foot a:hover{color:var(--c-blue-dark)}

@media (max-width:640px){
  .job__head{grid-template-columns:1fr;gap:14px}
  .job__head-meta{flex-wrap:wrap;gap:10px}
  .job__cols{grid-template-columns:1fr;gap:22px}
}

/* ==========================================================================
   APPLY MODAL - formularz aplikacyjny w popupie
   ========================================================================== */
.apply-modal{
  position:fixed;inset:0;z-index:200;
  display:grid;place-items:center;
  padding:20px;
}
.apply-modal[hidden]{display:none}
.apply-modal__backdrop{
  position:absolute;inset:0;
  background:rgba(7,13,34,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  animation:fadeIn .3s var(--ease);
}
.apply-modal__panel{
  position:relative;
  width:100%;max-width:680px;max-height:92vh;overflow-y:auto;
  background:#fff;border-radius:var(--r-lg);
  padding:24px 28px 22px;
  box-shadow:var(--shadow-lg);
  animation:popIn .35s var(--ease);
}
.apply-modal__close{
  position:absolute;top:16px;right:16px;
  width:38px;height:38px;border-radius:10px;
  display:grid;place-items:center;color:var(--c-ink-soft);
  transition:background .2s var(--ease),color .2s var(--ease);
  z-index:2;
}
.apply-modal__close:hover{background:var(--c-soft);color:var(--c-ink)}
.apply-modal__panel h3{font-size:1.25rem;margin:0 0 4px;padding-right:30px}
.apply-position{
  margin:0 0 14px;
  font-size:.88rem;color:var(--c-ink-soft);font-weight:500;
}
.apply-position::before{
  content:"Stanowisko: ";
  color:var(--c-ink-soft);font-weight:400;
}
.apply-form{display:grid;gap:10px;position:relative}
.apply-form .form-grid{margin-bottom:0;gap:10px}
.apply-form .field--full{margin-bottom:0}
.apply-form .consent-wrap{margin-top:2px}
.apply-modal__actions{
  display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;
  margin-top:10px;padding-top:14px;border-top:1px solid var(--c-line);
}
.apply-submit .arrow-svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.apply-submit:hover .arrow-svg{transform:translateX(4px)}

/* File input - custom styled */
.field--file{position:relative}
.file-input{
  display:flex;align-items:center;gap:14px;
  padding:8px 8px 8px 14px;border:1px solid var(--c-line);border-radius:10px;
  background:#fafafa;cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.file-input:hover{background:#fff;border-color:#cfd6e6}
.file-input input[type=file]{
  position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;
}
.file-input__btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:8px;
  background:rgba(24,99,220,.08);color:var(--c-blue);
  font-size:.88rem;font-weight:600;flex-shrink:0;
  transition:background .2s var(--ease);
}
.file-input:hover .file-input__btn{background:rgba(24,99,220,.16)}
.file-input__btn svg{flex-shrink:0}
.file-input__name{
  font-size:.92rem;color:var(--c-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  flex:1;min-width:0;
}
.file-input__name[data-empty]:empty::before{content:attr(data-empty);color:var(--c-ink-soft);font-style:italic}
.file-input.has-file{border-color:var(--c-blue);background:#fff}
.file-input.has-file .file-input__name{color:var(--c-ink);font-weight:600}
.field--file.has-error .file-input{border-color:#d63031;background:#fff}

@media (max-width:640px){
  .apply-modal__panel{padding:32px 22px 22px;border-radius:18px}
  .apply-modal__actions{flex-direction:column-reverse}
  .apply-modal__actions .btn{width:100%;justify-content:center}
}

/* ==========================================================================
   O NAS - historia, wartości, statystyki
   ========================================================================== */
.section-head__sub{
  margin:6px 0 0;font-size:1.05rem;color:var(--c-ink-soft);
  max-width:680px;margin-left:auto;margin-right:auto;
}
/* Story stack - sekcje z dużą wizualną kompozycją (alternujące lewo/prawo) */
.story-stack{display:grid;gap:80px}
.story-row{
  display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;
}
.story-row--reverse{grid-template-columns:1.1fr 1fr}
.story-row--reverse .story-row__visual{order:2}
.story-row--reverse .story-row__body{order:1}

.story-row__visual{
  position:relative;aspect-ratio:5/3;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(135deg,rgba(24,99,220,.08),rgba(229,25,74,.05));
  isolation:isolate;
}
/* Certyfikaty - 3 tarcze ułożone obok siebie */
.story-row__visual--certs{
  aspect-ratio:5/3;
  padding:64px 56px;
}
.certs-shield{
  display:flex;align-items:center;justify-content:center;gap:32px;
  width:100%;height:100%;
}
.certs-shield img{
  flex:0 1 auto;min-width:0;
  height:100%;max-height:100%;width:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(24,99,220,.2));
  transition:transform .35s var(--ease);
}
.story-row:hover .certs-shield img{transform:translateY(-4px)}
.story-row:hover .certs-shield img:nth-child(2){transition-delay:.06s}
.story-row:hover .certs-shield img:nth-child(3){transition-delay:.12s}

/* Lista certyfikatów - równe kolumny nazw + opisów */
.story-row__points--certs li{
  display:grid;
  grid-template-columns:auto minmax(110px,max-content) 1fr;
  align-items:center;gap:14px;
}
.story-row__points--certs .cert-name{
  font-weight:700;color:var(--c-ink);white-space:nowrap;
}
.story-row__points--certs .cert-desc{
  color:var(--c-ink-soft);font-weight:400;
}
.story-row__visual::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.55;
  background-image:radial-gradient(circle at 1px 1px,rgba(24,99,220,.15) 1px,transparent 0);
  background-size:22px 22px;
}
.story-row__corner{
  position:absolute;top:22px;left:24px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;
  letter-spacing:.18em;color:var(--c-red);
  pointer-events:none;
}
.story-row--reverse .story-row__corner{left:auto;right:24px}
.story-row__big{
  position:relative;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:clamp(1.8rem,3.7vw,3.15rem);line-height:.95;letter-spacing:-.03em;
  background:linear-gradient(135deg,var(--c-blue),var(--c-red));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  pointer-events:none;
  padding:0 28px;
}

/* Globalny utility - gradient text na fragmentach nagłówków */
.grad{color:inherit;background:none;-webkit-background-clip:initial;background-clip:initial}
.story-row__visual::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.7;
  background-image:radial-gradient(circle at 1px 1px,rgba(24,99,220,.12) 1px,transparent 0);
  background-size:20px 20px;
}

.story-row__decor{
  position:relative;z-index:1;
  width:62%;height:auto;color:var(--c-blue);
  filter:drop-shadow(0 18px 40px rgba(24,99,220,.18));
  animation:storyFloat 10s ease-in-out infinite;
}
.story-row--reverse .story-row__decor{animation-delay:-4s;animation-duration:12s}
@keyframes storyFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.story-row__decor .orbit{
  transform-origin:100px 100px;transform-box:fill-box;
  animation:storyPulse 4s ease-in-out infinite;
}
.story-row__decor .orbit-2{animation-delay:-1.5s}
.story-row__decor .orbit-3{animation-delay:-3s}
@keyframes storyPulse{
  0%,100%{transform:scale(1);opacity:.9}
  50%{transform:scale(1.4);opacity:.5}
}
@media (prefers-reduced-motion:reduce){
  .story-row__decor,.story-row__decor .orbit{animation:none}
}

.story-row__body{display:flex;flex-direction:column;gap:14px}
.story-row__body .eyebrow{margin:0;align-self:flex-start;color:var(--c-blue);font-size:12px;line-height:1.55}
.story-row__body > p.eyebrow{color:var(--c-blue)}
.story-row__body h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0;line-height:1.15;color:var(--c-ink)}
.story-row__body > p{margin:0;color:var(--c-ink-soft);font-size:1.05rem;line-height:1.7}
.story-row__body em{
  background:linear-gradient(135deg,var(--c-blue),var(--c-red));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:normal;font-weight:600;
}
.story-row__points{
  list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px;
}
.story-row__points li{
  display:flex;align-items:center;gap:14px;
  font-size:.97rem;color:var(--c-ink);font-weight:500;
}
.story-row__points .dot{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:rgba(24,99,220,.12);position:relative;
}
.story-row__points .dot::before,
.story-row__points .dot::after{
  content:"";position:absolute;inset:0;border-radius:50%;
}
.story-row__points .dot::before{
  background:var(--c-blue);transform:scale(.36);
  box-shadow:0 0 0 0 rgba(24,99,220,.6);
  animation:pulseDot 2.4s var(--p,0s) infinite;
}
.story-row__points .dot::after{
  border:1px solid rgba(24,99,220,.35);
  animation:pulseRing 2.4s var(--p,0s) infinite;
}
.story-row__points li:nth-child(1) .dot{--p:0s}
.story-row__points li:nth-child(2) .dot{--p:.6s}
.story-row__points li:nth-child(3) .dot{--p:1.2s}
@media (prefers-reduced-motion:reduce){
  .story-row__points .dot::before,.story-row__points .dot::after{animation:none}
  .story-row__points .dot::before{transform:scale(.4)}
  .story-row__points .dot::after{display:none}
}

@media (max-width:900px){
  .story-row,.story-row--reverse{grid-template-columns:1fr;gap:32px}
  .story-row--reverse .story-row__visual{order:0}
  .story-row--reverse .story-row__body{order:1}
  .story-stack{gap:48px}
  .story-row__visual{max-width:420px;margin:0 auto;width:100%}
}

/* MBA values */
.values-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.value-card{
  position:relative;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  padding:64px 36px 56px;
  display:flex;flex-direction:column;gap:14px;
  isolation:isolate;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s var(--ease);
}
.value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.value-card__letter{
  position:absolute;top:-20px;right:-10px;z-index:-1;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:14rem;line-height:.85;
  background:linear-gradient(135deg,var(--c-blue),var(--c-red));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:.12;letter-spacing:-.05em;
  transition:opacity .35s var(--ease);
  pointer-events:none;
}
.value-card:hover .value-card__letter{opacity:.22}
.value-card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:78px;height:78px;border-radius:20px;
  background:linear-gradient(135deg,rgba(24,99,220,.14),rgba(229,25,74,.08));
  color:var(--c-blue);
  margin-bottom:6px;
  transition:transform .35s var(--ease),color .35s var(--ease);
}
.value-card:hover .value-card__icon{transform:scale(1.06);color:var(--c-red)}
.value-card__icon svg{width:46px;height:46px;display:block}
.value-card h3{font-size:1.4rem;margin:0;color:var(--c-ink);line-height:1.2}
.value-card p{margin:0;color:var(--c-ink-soft);font-size:.97rem;line-height:1.6}
@media (max-width:900px){.values-grid{grid-template-columns:1fr;gap:18px}}

/* Statystyki na ciemnym tle */
.stats--dark li{border-left-color:rgba(255,255,255,.18)}
.stats--dark span{color:rgba(255,255,255,.7)}
.stats--dark strong{
  background:linear-gradient(135deg,#9bbcff 0%,#fff 50%,#cfe0ff 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 4px 24px rgba(155,188,255,.45));
}

.about-cta{
  margin-top:48px;display:flex;justify-content:center;
}

@media (max-width:640px){
  .campaign-banner{
    padding:0;
    min-height:130px;
    border-radius:5px;
  }
}

/* ==========================================================================
   HERO NETWORK - Three.js canvas
   ========================================================================== */
.hero-network{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;z-index:1;
  pointer-events:none;
}
.hero-particles{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:3;pointer-events:none;
}
.hero:has(.hero-particles) .hero-video{z-index:0}
.hero:has(.hero-particles) .hero-overlay{z-index:2}
.hero-particles canvas{display:block!important;width:100%!important;height:100%!important;vertical-align:bottom}
.hero:has(.hero-particles) .hero-bg{
  background:#0a1936;
}
.hero:has(.hero-particles) .hero-video{
  filter:saturate(1.05) brightness(.85);
}
.hero:has(.hero-particles) .hero-overlay{
  background:
    radial-gradient(120% 80% at 0% 100%,rgba(24,99,220,.60) 0%,transparent 60%),
    linear-gradient(120deg,rgba(24,99,220,.65) 0%,rgba(11,70,168,.50) 50%,rgba(0,86,167,.65) 100%);
}
.hero:has(.hero-particles) .hero-inner .hero-title,
.hero:has(.hero-particles) .hero-inner .hero-sub,
.hero:has(.hero-particles) .hero-inner .eyebrow{
  text-shadow:0 2px 16px rgba(0,12,40,.45),0 1px 4px rgba(0,12,40,.3);
}
/* About-video particles + subpage hero particles share canvas style */
.about-placeholder .hero-particles,
.subpage-hero__bg .hero-particles{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:1;pointer-events:none;
}
/* Tylko cząstki w subpage hero - stare orby i mesh ukryte */
.subpage-hero__bg .hero-orb,
.subpage-hero__bg .hero-mesh{display:none}
.about-placeholder .hero-particles canvas,
.subpage-hero__bg .hero-particles canvas{
  display:block!important;width:100%!important;height:100%!important;
}
.hero:has(.hero-particles) .hero-decor{display:none}
.hero-fallback{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  display:none;
  pointer-events:none;
}
.hero.no-webgl .hero-fallback{display:block}
.hero.no-webgl .hero-network{display:none}
/* Domyślnie (gdy strona ma canvas hero-network) - wyłącz stare SVG dekory + ciemna baza */
.hero.has-webgl .hero-decor,
.hero:has(.hero-network) .hero-decor{display:none}
.hero.has-webgl .hero-bg,
.hero:has(.hero-network) .hero-bg{
  background:linear-gradient(135deg,#0a1936 0%,#0b46a8 60%,#0056a7 100%);
}
.hero.has-webgl .hero-overlay,
.hero:has(.hero-network) .hero-overlay{
  background:
    radial-gradient(120% 80% at 0% 100%,rgba(24,99,220,.30) 0%,transparent 60%),
    linear-gradient(120deg,rgba(0,12,40,.45) 0%,rgba(11,70,168,.15) 50%,rgba(0,12,40,.35) 100%);
}

/* ==========================================================================
   CUSTOM CURSOR
   ========================================================================== */
.cursor{display:none!important}
.cursor--legacy{
  position:fixed;top:0;left:0;
  pointer-events:none;z-index:9999;
  mix-blend-mode:difference;
  opacity:0;
  transition:opacity .2s var(--ease);
}
.cursor.is-active{opacity:1}
.cursor__ring{
  position:absolute;top:0;left:0;
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid #fff;
  transform:translate(-50%,-50%) scale(1);
  transition:transform .25s cubic-bezier(.22,.61,.36,1),background .25s var(--ease),border-color .25s var(--ease);
  will-change:transform;
}
.cursor__dot{
  position:absolute;top:0;left:0;
  width:5px;height:5px;border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  transition:transform .15s var(--ease),opacity .15s var(--ease);
  will-change:transform;
}
.cursor.is-hovering .cursor__ring{
  transform:translate(-50%,-50%) scale(1.6);
  background:rgba(255,255,255,.18);
}
.cursor.is-hovering .cursor__dot{transform:translate(-50%,-50%) scale(0);opacity:0}
@media (hover:none),(prefers-reduced-motion:reduce){
  .cursor{display:none}
  body.has-cursor *{cursor:auto}
}
body.has-cursor *{cursor:auto}

/* ==========================================================================
   SCROLLYTELLING - proces (kontakt)
   ========================================================================== */
.proc-scroll{
  position:relative;
  height:400vh; /* 4 kroki * 100vh */
  background:
    radial-gradient(60% 50% at 80% 0%,rgba(24,99,220,.35),transparent 60%),
    radial-gradient(50% 40% at 0% 30%,rgba(11,70,168,.28),transparent 60%),
    linear-gradient(180deg,#070d22 0%,#040814 100%);
  color:#fff;
  isolation:isolate;
}
.proc-scroll::before{
  content:"";position:absolute;left:50%;top:0;width:140%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(155,188,255,.55),transparent);
  transform:translateX(-50%);z-index:1;
}
.proc-scroll__sticky{
  position:sticky;top:0;
  height:100vh;display:flex;align-items:center;
  overflow:hidden;
}
.proc-scroll__sticky::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(60% 40% at 50% 50%,rgba(24,99,220,.35),transparent 70%);
}
.proc-scroll__head{
  text-align:center;margin-bottom:48px;
}
.proc-scroll__head h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.8rem)}
.proc-scroll__stage{
  position:relative;
  min-height:380px;
}

/* Pasek postępu - pływa po lewej, nie zajmuje miejsca w grid */
.proc-scroll__progress{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:64px;height:380px;
  display:flex;flex-direction:column;justify-content:space-between;align-items:center;
  z-index:2;
}
.proc-scroll__rail{
  position:absolute;top:0;bottom:0;left:50%;width:2px;
  background:rgba(255,255,255,.12);transform:translateX(-50%);
}
.proc-scroll__rail-fill{
  position:absolute;top:0;left:50%;width:2px;height:0%;
  background:linear-gradient(180deg,#9bbcff,#e5194a);
  transform:translateX(-50%);
  transition:height .35s var(--ease);
}
.proc-scroll__pin{
  position:relative;z-index:1;
  width:44px;height:44px;border-radius:50%;
  background:#0a1936;
  border:2px solid rgba(255,255,255,.35);
  color:rgba(255,255,255,.85);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.proc-scroll__pin.is-active{
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);border-color:rgba(255,255,255,.5);
  transform:scale(1.12);
  box-shadow:0 0 0 8px rgba(24,99,220,.14);
}
.proc-scroll__pin.is-done{
  background:var(--c-blue);color:#fff;border-color:var(--c-blue);
}

/* Slajdy */
.proc-scroll__slides{
  position:relative;height:380px;width:100%;
}
.proc-slide{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  opacity:0;transform:translateY(20px);
  pointer-events:none;
  will-change:opacity,transform;
  transition:opacity .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1);
}
.proc-slide.is-active{opacity:1;transform:none;pointer-events:auto}
.proc-slide__num{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em;
  background:linear-gradient(90deg,#1863dc,#9bbcff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:14px;
}
.proc-slide__icon{display:none}
.proc-slide h3{
  font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 16px;color:#fff;line-height:1.15;
}
.proc-slide p{
  font-size:clamp(1rem,1.4vw,1.15rem);max-width:580px;color:rgba(255,255,255,.82);line-height:1.7;margin:0 auto;
}

/* Mobile: fallback do statycznego layoutu (bez scroll-trapu) */
@media (max-width:900px){
  .proc-scroll{height:auto}
  .proc-scroll__sticky{position:static;height:auto;padding:80px 0}
  .proc-scroll__stage{grid-template-columns:1fr;gap:32px}
  .proc-scroll__progress{display:none}
  .proc-scroll__slides{height:auto;display:flex;flex-direction:column;gap:48px}
  .proc-slide{position:static;opacity:1;transform:none;pointer-events:auto}
}

/* ==========================================================================
   LAPTOPY - podstrona kategorii sprzętu
   ========================================================================== */

/* Grid 3×3 dla 9 kart kategorii (uses .benefit z kariera) */
.benefits-grid--6{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){
  .benefits-grid--6{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .benefits-grid--6{grid-template-columns:1fr}
}
/* Ikony SVG w .benefit (z atrybutem src - Artboardy z laptopy) */
.benefit__icon img{
  width:54px;height:54px;display:block;
  color:var(--c-blue); /* dziedziczone do currentColor wewnątrz SVG */
}
.benefit:hover .benefit__icon img{transform:scale(1.06)}

/* 3 filary - feature-block (bez zdjęć) */
.feature-stack{
  display:grid;gap:24px;
  grid-template-columns:repeat(3,1fr);
}
@media (max-width:980px){
  .feature-stack{grid-template-columns:1fr}
}
.feature-block{
  position:relative;
  padding:36px 30px 32px;border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--c-line);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
  overflow:hidden;isolation:isolate;
}
.feature-block::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(24,99,220,.05) 0%,rgba(229,25,74,.03) 100%);
  opacity:0;transition:opacity .35s var(--ease);
  z-index:-1;
}
.feature-block:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.16);
  border-color:transparent;
}
.feature-block:hover::before{opacity:1}
.feature-block__num{
  position:absolute;top:18px;right:24px;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:3.2rem;line-height:1;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.04em;
}
.feature-block__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:18px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.feature-block__icon svg{width:30px;height:30px}
.feature-block h3{
  font-size:1.25rem;margin:6px 0 0;color:var(--c-ink);line-height:1.25;
}
.feature-block p{
  font-size:.95rem;color:var(--c-ink-soft);margin:0;line-height:1.6;flex:1;
}
.feature-block .link-arrow{margin-top:4px;font-size:.92rem}

/* Sekcja certyfikatu - duże logo obok tekstu */
.cert-feature{
  display:grid;grid-template-columns:220px 1fr;
  gap:60px;align-items:center;
}
@media (max-width:900px){
  .cert-feature{grid-template-columns:1fr;text-align:center;gap:32px;justify-items:center}
}
.cert-feature__media{max-width:220px;width:100%}
.cert-feature__media img{
  width:100%;max-width:220px;height:auto;display:block;
  filter:drop-shadow(0 18px 36px rgba(24,99,220,.22));
}
.cert-feature__body h2{margin-bottom:18px}
.cert-feature__body p{font-size:1.05rem;line-height:1.65;color:var(--c-ink-soft);margin:0 0 20px}

/* Sekcja "TAK!" - premium */
.section-yes{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(60% 50% at 80% 0%,rgba(24,99,220,.30),transparent 60%),
    radial-gradient(50% 40% at 0% 30%,rgba(11,70,168,.22),transparent 60%),
    linear-gradient(180deg,#070d22 0%,#040814 100%);
  color:#fff;padding:120px 0;
}
.yes-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.yes-bg__blob{
  position:absolute;width:480px;height:480px;border-radius:50%;
  filter:blur(80px);opacity:.5;
}
.yes-bg__blob--1{
  top:-120px;left:-100px;
  background:radial-gradient(circle,rgba(24,99,220,.6),transparent 70%);
  animation:yesBlob 16s ease-in-out infinite;
}
.yes-bg__blob--2{
  bottom:-160px;right:-120px;
  background:radial-gradient(circle,rgba(229,25,74,.4),transparent 70%);
  animation:yesBlob 20s ease-in-out infinite reverse;
}
@keyframes yesBlob{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(40px,30px) scale(1.1)}
}
.yes-head{color:#fff}
.yes-head h2,.yes-head__title{color:#fff;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.1}
.yes-tag{
  display:inline-block;
  background:linear-gradient(135deg,#1863dc,#9bbcff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  position:relative;
}
.yes-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  max-width:1280px;margin:48px auto 0;
}
@media (max-width:980px){.yes-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.yes-list{grid-template-columns:1fr}}
.yes-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  color:#fff;
  font-family:inherit;font-size:.92rem;line-height:1.35;text-align:left;
  cursor:pointer;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
  position:relative;overflow:hidden;
  backdrop-filter:blur(4px);
}
.yes-item::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(24,99,220,.25),rgba(155,188,255,.18));
  opacity:0;transition:opacity .3s var(--ease);
  z-index:-1;
}
.yes-item:hover{
  border-color:rgba(155,188,255,.45);
  transform:translateY(-3px);
}
.yes-item:hover::before{opacity:1}
.yes-item__q{flex:1;color:rgba(255,255,255,.92);font-weight:500}
.yes-item__a{
  flex-shrink:0;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:1rem;letter-spacing:.04em;
  background:linear-gradient(135deg,#9bbcff,#fff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:transform .3s var(--ease);
}
.yes-item__a{display:inline-block;transform-origin:right center}
.yes-item:hover .yes-item__a{transform:scale(1.5);letter-spacing:.06em}
@media (prefers-reduced-motion:reduce){
  .yes-bg__blob{animation:none}
}

/* Disclosure RODO nad checkboxem zgody */
.consent-info{
  font-size:10.5px;line-height:1.55;color:var(--c-ink-soft);
  margin:0 0 10px;
  font-weight:400;
}

/* Proces działania - 4 kroki (uproszczony grid na podstronach) */
/* Proces działania - statyczny grid 4 kroków z WOW-numerami */
.proc-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  counter-reset:proc;
}
@media (max-width:1100px){.proc-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.proc-steps{grid-template-columns:1fr}}
.proc-step{
  position:relative;
  padding:32px 28px 28px;
  border-radius:var(--r-lg);
  background:#fff;
  border:1px solid var(--c-line);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s var(--ease),border-color .35s var(--ease);
  overflow:hidden;isolation:isolate;
}
/* Duża cyfra w karcie - crossfade dwóch gradientów na hover */
.proc-step__num{
  position:relative;z-index:1;
  display:inline-block;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:clamp(5rem,7vw,7rem);
  line-height:.95;letter-spacing:-.06em;
  color:transparent;
  background:linear-gradient(135deg,#dce8fa 0%,#fce8ed 100%);
  -webkit-background-clip:text;background-clip:text;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  transform-origin:left center;
}
/* Druga warstwa - brand gradient, niewidoczna domyślnie */
.proc-step__num::before{
  content:attr(data-num);
  position:absolute;left:0;top:0;
  background:linear-gradient(135deg,#1863dc 0%,#6e3eb0 55%,#e5194a 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  opacity:0;
  transition:opacity .55s cubic-bezier(.22,.61,.36,1);
}
.proc-step:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 60px -20px rgba(24,99,220,.25);
  border-color:transparent;
}
.proc-step:hover .proc-step__num{transform:scale(1.03)}
.proc-step:hover .proc-step__num::before{opacity:1}
.proc-step h3{
  position:relative;z-index:1;
  font-size:1.25rem;margin:0;color:var(--c-ink);line-height:1.25;
}
.proc-step p{
  position:relative;z-index:1;
  font-size:.95rem;color:var(--c-ink-soft);margin:0;line-height:1.6;flex:1;
}

/* Hero akcent z 3D kryształem + ikoną kategorii (rozwiązania/usługi) */
.subpage-hero--accent .container{position:relative}
.subpage-hero__accent{
  position:absolute;inset:0;
  pointer-events:none;z-index:1;
}
/* Kryształ - mały, prawy górny róg, dynamicznie się rusza */
.subpage-hero__accent .hero-crystal{
  position:absolute;
  top:clamp(20px,3vw,40px);
  right:clamp(20px,4vw,60px);
  width:clamp(110px,12vw,170px);
  height:auto;
  filter:drop-shadow(0 18px 36px rgba(24,99,220,.5));
  animation:heroCrystalDance 9s ease-in-out infinite;
}
/* Ikona kategorii - statyczna, większa, na dole po prawej, półprzezroczysta */
.subpage-hero__accent .hero-cat-icon{
  position:absolute;
  bottom:clamp(20px,3vw,40px);
  right:clamp(40px,6vw,90px);
  width:clamp(180px,20vw,280px);
  height:auto;
  filter:brightness(0) invert(1);
  opacity:.30;
}
@keyframes heroCrystalDance{
  0%,100%{transform:translateY(0) translateX(0) rotate(0)}
  20%{transform:translateY(-10px) translateX(4px) rotate(8deg)}
  40%{transform:translateY(6px) translateX(-6px) rotate(-4deg)}
  60%{transform:translateY(-8px) translateX(8px) rotate(6deg)}
  80%{transform:translateY(4px) translateX(-2px) rotate(-3deg)}
}
/* Mobile - ukryj/zminiaturyzuj akcent */
@media (max-width:980px){
  .subpage-hero__accent .hero-cat-icon{width:140px;opacity:.18}
  .subpage-hero__accent .hero-crystal{width:80px}
}
@media (max-width:640px){
  .subpage-hero__accent .hero-cat-icon{display:none}
  .subpage-hero__accent .hero-crystal{width:64px;top:16px;right:16px}
}
/* Tekst hero - zostawia miejsce na kryształ w prawym górnym rogu */
@media (min-width:981px){
  .subpage-hero--accent .container .breadcrumbs,
  .subpage-hero--accent .container .subpage-title,
  .subpage-hero--accent .container .subpage-lede,
  .subpage-hero--accent .container > div:not(.subpage-hero__accent){max-width:78%}
}
@media (prefers-reduced-motion:reduce){
  .hero-crystal,.hero-cat-icon{animation:none}
}

/* ==========================================================================
   INTRO WOW - split layout + animowany diagram VM stack (wirtualizacja)
   ========================================================================== */
.section-intro-wow{
  position:relative;overflow:hidden;isolation:isolate;
  padding:80px 0 90px;
}
.intro-wow__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.intro-wow__orb{
  position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;
}
.intro-wow__orb--1{width:480px;height:480px;left:-80px;top:-100px;background:radial-gradient(circle,#1863dc,transparent 70%);animation:introOrb1 14s ease-in-out infinite}
.intro-wow__orb--2{width:380px;height:380px;right:-60px;bottom:-80px;background:radial-gradient(circle,#9bbcff,transparent 70%);opacity:.25;animation:introOrb2 18s ease-in-out infinite}
@keyframes introOrb1{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
@keyframes introOrb2{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-30px)}}

.intro-wow__grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;
}
@media (max-width:900px){
  .intro-wow__grid{grid-template-columns:1fr;gap:48px;text-align:center}
  .intro-wow__visual{align-items:center}
}

.intro-wow__text{display:flex;flex-direction:column;justify-content:center}
.intro-wow__visual{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%}
.intro-wow__text h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;margin-bottom:20px}
.intro-wow__lede{font-size:1.05rem;line-height:1.7;color:var(--c-ink-soft);margin:0}

.intro-wow__stat{
  display:inline-flex;align-items:center;gap:18px;
  padding:18px 24px;border-radius:18px;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  border:1px solid rgba(24,99,220,.18);
}
.intro-wow__stat-num{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:3rem;line-height:1;letter-spacing:-.04em;
  color:var(--c-ink-soft);
}
.intro-wow__stat-arrow{
  font-size:1.6rem;color:var(--c-blue);
  animation:introArrow 1.8s ease-in-out infinite;
}
@keyframes introArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.intro-wow__stat-meta{display:flex;flex-direction:column;line-height:1.2}
.intro-wow__stat-meta strong{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:2rem;letter-spacing:-.03em;
  background:linear-gradient(135deg,#1863dc,#e5194a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.intro-wow__stat-meta span{font-size:.85rem;color:var(--c-ink-soft);max-width:180px}

/* VM Stack - wizualizacja warstw wirtualizacji */
.intro-wow__visual{position:relative;perspective:1200px}
.vm-stack{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  transform-style:preserve-3d;
  transform:rotateX(8deg) rotateY(-12deg);
}
@media (max-width:900px){.vm-stack{transform:none}}

.vm-card{
  position:relative;
  width:88%;max-width:360px;
  padding:14px 18px;border-radius:14px;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  box-shadow:0 12px 30px -10px rgba(20,30,60,.18);
  display:grid;grid-template-columns:auto 1fr;
  grid-template-areas:"dots label" "bar1 bar1" "bar2 bar2";
  gap:8px 12px;align-items:center;
  animation:vmFloat 5s ease-in-out infinite;
}
.vm-card--1{animation-delay:0s;transform:translateX(-12%)}
.vm-card--2{animation-delay:.4s;transform:translateX(8%)}
.vm-card--3{animation-delay:.8s;transform:translateX(-4%)}
.vm-card--4{animation-delay:1.2s;transform:translateX(10%)}
@keyframes vmFloat{
  0%,100%{transform:translateY(0) translateX(var(--tx,0))}
  50%{transform:translateY(-6px) translateX(var(--tx,0))}
}
.vm-card--1{--tx:-12%}
.vm-card--2{--tx:8%}
.vm-card--3{--tx:-4%}
.vm-card--4{--tx:10%}
.vm-card__dots{grid-area:dots;display:inline-flex;gap:4px}
.vm-card__dots i{
  width:7px;height:7px;border-radius:50%;background:#e5194a;
  display:inline-block;
}
.vm-card__dots i:nth-child(2){background:#f59e0b}
.vm-card__dots i:nth-child(3){background:#21d075}
.vm-card__label{
  grid-area:label;font-family:'Poppins',sans-serif;
  font-weight:600;font-size:.78rem;color:var(--c-ink);letter-spacing:.02em;
}
.vm-card__bar{
  height:5px;border-radius:6px;background:linear-gradient(90deg,#1863dc,#9bbcff);
  display:block;
}
.vm-card__bar--80{grid-area:bar1;width:80%}
.vm-card__bar--65{grid-area:bar1;width:65%}
.vm-card__bar--90{grid-area:bar1;width:90%}
.vm-card__bar--70{grid-area:bar1;width:70%}
.vm-card__bar--50,.vm-card__bar--40,.vm-card__bar--35,.vm-card__bar--55{
  grid-area:bar2;height:5px;border-radius:6px;
  background:linear-gradient(90deg,#dce8fa,#fce8ed);
}
.vm-card__bar--50{width:50%}
.vm-card__bar--40{width:40%}
.vm-card__bar--35{width:35%}
.vm-card__bar--55{width:55%}

.vm-hypervisor{
  width:92%;max-width:380px;
  margin-top:14px;padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  color:#fff;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  text-align:center;
  box-shadow:0 12px 28px -8px rgba(24,99,220,.45);
}

.vm-server{
  width:96%;max-width:400px;
  margin-top:8px;padding:18px 20px;border-radius:14px;
  background:linear-gradient(135deg,#070d22,#0b46a8);
  color:#fff;
  display:flex;align-items:center;justify-content:center;gap:14px;
  box-shadow:0 18px 40px -12px rgba(7,13,34,.55);
}
.vm-server svg{width:26px;height:26px;opacity:.8}
.vm-server span{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;
  white-space:nowrap;
}

@media (prefers-reduced-motion:reduce){
  .vm-card,.intro-wow__orb--1,.intro-wow__orb--2,.intro-wow__stat-arrow{animation:none}
}

/* ==========================================================================
   INTRO WOW - wizualizacje per kategoria (rozwiązania IT)
   ========================================================================== */

/* === STORAGE: 3-warstwowa piramida storage tier === */
.vis-storage{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  perspective:1200px;
  transform-style:preserve-3d;
  transform:rotateX(6deg) rotateY(-8deg);
}
@media (max-width:900px){.vis-storage{transform:none}}
.stor-tier{
  position:relative;
  width:88%;max-width:380px;margin:0 auto;
  padding:14px 18px;border-radius:12px;
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  background:#fff;border:1px solid rgba(24,99,220,.15);
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  animation:storFloat 6s ease-in-out infinite;
}
.stor-tier__dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.stor-tier__label{font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;color:var(--c-ink)}
.stor-tier__type{font-size:.72rem;color:var(--c-ink-soft);font-weight:500;letter-spacing:.02em}
.stor-tier--hot{animation-delay:0s;transform:translateX(-4%)}
.stor-tier--hot .stor-tier__dot{background:#e5194a;box-shadow:0 0 10px rgba(229,25,74,.6)}
.stor-tier--warm{animation-delay:.3s;transform:translateX(3%)}
.stor-tier--warm .stor-tier__dot{background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.5)}
.stor-tier--cold{animation-delay:.6s;transform:translateX(-2%)}
.stor-tier--cold .stor-tier__dot{background:#1863dc;box-shadow:0 0 10px rgba(24,99,220,.5)}
.stor-tier--hot{--tx:-4%}
.stor-tier--warm{--tx:3%}
.stor-tier--cold{--tx:-2%}
@keyframes storFloat{
  0%,100%{transform:translateY(0) translateX(var(--tx,0))}
  50%{transform:translateY(-5px) translateX(var(--tx,0))}
}
.stor-base{
  width:92%;max-width:380px;margin:14px auto 0;padding:14px 18px;border-radius:12px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:12px;
  box-shadow:0 12px 28px -8px rgba(24,99,220,.45);
}
.stor-base svg{width:22px;height:22px;opacity:.9}
.stor-base span{font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}

/* === BACKUP: 3-2-1 distribution (centerpiece + 3 copies) === */
.vis-backup{
  position:relative;width:100%;aspect-ratio:1/1.15;max-width:420px;margin:0 auto;
}
.bkp-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.bkp-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:140px;height:140px;border-radius:50%;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  color:#fff;z-index:2;
  box-shadow:0 18px 40px -10px rgba(24,99,220,.55);
}
.bkp-center svg{width:42px;height:42px}
.bkp-center span{font-family:'Poppins',sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.bkp-copy{
  position:absolute;
  width:140px;height:140px;padding:14px;border-radius:14px;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  z-index:1;
  animation:bkpFloat 6s ease-in-out infinite;
}
.bkp-copy__icon{
  width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.bkp-copy__icon svg{width:20px;height:20px}
.bkp-copy strong{font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;color:var(--c-ink)}
.bkp-copy small{font-size:.7rem;color:var(--c-ink-soft);line-height:1.3}
.bkp-copy--1{left:0;top:0;animation-delay:0s}
.bkp-copy--2{right:0;top:0;animation-delay:.6s}
.bkp-copy--3{left:50%;bottom:0;transform:translateX(-50%);animation-delay:1.2s}
@keyframes bkpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.bkp-copy--3{animation-name:bkpFloat3}
@keyframes bkpFloat3{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}

/* === SERWERY: rack 3D - styl spójny z VM stack (białe karty) === */
.vis-rack{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  perspective:1200px;
  transform-style:preserve-3d;
  transform:rotateX(6deg) rotateY(-8deg);
}
@media (max-width:900px){.vis-rack{transform:none}}
.rack-unit{
  position:relative;
  width:88%;max-width:380px;margin:0 auto;
  padding:14px 18px;border-radius:12px;
  background:#fff;color:var(--c-ink);
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  border:1px solid rgba(24,99,220,.15);
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  animation:rackFloat 6s ease-in-out infinite;
}
.rack-unit:nth-child(1){animation-delay:0s;transform:translateX(-6%)}
.rack-unit:nth-child(2){animation-delay:.3s;transform:translateX(4%)}
.rack-unit:nth-child(3){animation-delay:.6s;transform:translateX(-2%)}
.rack-unit:nth-child(4){animation-delay:.9s;transform:translateX(5%)}
.rack-unit:nth-child(5){animation-delay:1.2s;transform:translateX(-3%)}
@keyframes rackFloat{
  0%,100%{transform:translateY(0) translateX(var(--tx,0))}
  50%{transform:translateY(-5px) translateX(var(--tx,0))}
}
.rack-unit:nth-child(1){--tx:-6%}
.rack-unit:nth-child(2){--tx:4%}
.rack-unit:nth-child(3){--tx:-2%}
.rack-unit:nth-child(4){--tx:5%}
.rack-unit:nth-child(5){--tx:-3%}
.rack-unit--featured{
  border-color:rgba(24,99,220,.35);
  box-shadow:0 18px 36px -10px rgba(24,99,220,.35);
}
.rack-unit--switch{padding:10px 18px}
.rack-leds{display:inline-flex;gap:5px}
.rack-leds i{
  width:7px;height:7px;border-radius:50%;background:#21d075;
  display:inline-block;
  animation:rackBlink 2s ease-in-out infinite;
}
.rack-leds i:nth-child(2){background:#f59e0b;animation-delay:.6s}
.rack-leds i:nth-child(3){background:#1863dc;animation-delay:1.2s}
.rack-leds i:nth-child(4){background:#e5194a;animation-delay:.3s}
@keyframes rackBlink{0%,100%{opacity:1}50%{opacity:.4}}
.rack-label{font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;color:var(--c-ink);letter-spacing:.02em}
.rack-disk{
  width:34px;height:6px;border-radius:6px;
  background:linear-gradient(90deg,#1863dc,#9bbcff);
}
.rack-base{
  width:92%;max-width:380px;margin:14px auto 0;padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  color:#fff;text-align:center;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 12px 28px -8px rgba(24,99,220,.45);
}

/* === FLEET (urządzenia mobilne) === */
.vis-fleet{
  position:relative;width:100%;aspect-ratio:1/1;max-width:420px;margin:0 auto;
}
.fleet-hub{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:110px;height:110px;border-radius:24px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  color:#fff;z-index:2;
  box-shadow:0 18px 40px -10px rgba(24,99,220,.55);
}
.fleet-hub svg{width:32px;height:32px}
.fleet-hub span{font-family:'Poppins',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.1em}
.fleet-device{
  position:absolute;
  width:84px;padding:14px 8px;border-radius:14px;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  display:flex;flex-direction:column;align-items:center;gap:6px;
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  z-index:1;
  animation:fleetOrbit 12s linear infinite;
}
.fleet-device__icon{
  width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.fleet-device__icon svg{width:20px;height:20px}
.fleet-device > span:not(.fleet-device__icon){font-size:.7rem;color:var(--c-ink-soft);font-weight:500}
.fleet-device--phone{left:6%;top:6%;animation-delay:0s}
.fleet-device--tablet{right:6%;top:6%;animation-delay:-3s}
.fleet-device--laptop{left:6%;bottom:6%;animation-delay:-6s}
.fleet-device--watch{right:6%;bottom:6%;animation-delay:-9s}
@keyframes fleetOrbit{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fleet-ring{
  position:absolute;left:50%;top:50%;
  border:2px dashed rgba(155,188,255,.35);border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;animation:fleetRing 16s linear infinite;
}
.fleet-ring--1{width:60%;height:60%}
.fleet-ring--2{width:85%;height:85%;animation-direction:reverse;border-color:rgba(155,188,255,.22)}
@keyframes fleetRing{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}

/* === CALL (wideokonferencje) === */
.vis-call{
  position:relative;width:100%;aspect-ratio:4/3;max-width:460px;margin:0 auto;
  background:linear-gradient(135deg,#0a1936,#040814);
  border-radius:18px;padding:16px;
  display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;
  box-shadow:0 22px 50px -12px rgba(7,13,34,.55);
  overflow:hidden;
}
.call-main{
  grid-column:1;grid-row:1/3;
  position:relative;
  background:linear-gradient(135deg,#1863dc 0%,#6e3eb0 60%,#e5194a 130%);
  border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:#fff;
}
.call-avatar{
  width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.2);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:1.5rem;color:#fff;
}
.call-name{
  position:absolute;bottom:14px;left:14px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:#fff;
  background:rgba(0,0,0,.35);padding:5px 10px;border-radius:6px;
}
.call-mic{
  position:absolute;top:14px;right:14px;
  width:22px;height:22px;border-radius:50%;background:#21d075;
  box-shadow:0 0 0 0 rgba(33,208,117,.7);
  animation:callPulse 2s ease-out infinite;
}
@keyframes callPulse{
  0%{box-shadow:0 0 0 0 rgba(33,208,117,.6)}
  100%{box-shadow:0 0 0 14px rgba(33,208,117,0)}
}
.call-tile{
  background:linear-gradient(135deg,#0b46a8,#0056a7);
  border-radius:10px;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.call-tile .call-avatar{width:42px;height:42px;font-size:1rem}
.call-tile span{
  position:absolute;bottom:6px;left:6px;
  font-size:.65rem;color:#fff;font-weight:600;
  background:rgba(0,0,0,.35);padding:2px 6px;border-radius:4px;
}
.call-tile--1{grid-column:2;grid-row:1}
.call-tile--2{grid-column:2;grid-row:2}
.call-tile--3{display:none}
.call-tile--4{display:none}
.call-bar{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
  display:inline-flex;gap:6px;padding:6px 10px;border-radius:999px;
  background:rgba(0,0,0,.55);backdrop-filter:blur(8px);
}
.call-btn{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.15);color:#fff;
}
.call-btn svg{width:14px;height:14px}
.call-btn--end{background:#e5194a}

@media (prefers-reduced-motion:reduce){
  .stor-tier,.bkp-copy,.fleet-device,.rack-leds i,.call-mic,.fleet-ring{animation:none}
}

/* === LAPTOPY: główny laptop + orbita peryferia === */
/* === LAPTOPY / orbity peryferia - layout identyczny do fleet (urządzenia mobilne) === */
.vis-laptopy{
  position:relative;width:100%;aspect-ratio:1/1;max-width:420px;margin:0 auto;
}
.lap-main{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:110px;height:110px;border-radius:24px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  color:#fff;z-index:2;
  box-shadow:0 18px 40px -10px rgba(24,99,220,.55);
}
.lap-main svg{width:32px;height:32px}
.lap-main span{font-family:'Poppins',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.1em}
.lap-orbit{
  position:absolute;
  width:108px;padding:20px 12px;border-radius:16px;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  z-index:1;
  animation:lapFloat 12s linear infinite;
}
.lap-orbit__icon{
  width:46px;height:46px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.lap-orbit__icon svg{width:24px;height:24px}
.lap-orbit > span:not(.lap-orbit__icon){font-size:.65rem;color:var(--c-ink-soft);font-weight:500}
.lap-orbit--1{left:6%;top:6%;animation-delay:0s}
.lap-orbit--2{right:6%;top:6%;animation-delay:-3s}
.lap-orbit--3{left:6%;bottom:6%;animation-delay:-6s}
.lap-orbit--4{right:6%;bottom:6%;animation-delay:-9s}
@keyframes lapFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.lap-ring{
  position:absolute;left:50%;top:50%;
  border:2px dashed rgba(155,188,255,.35);border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;animation:lapRing 16s linear infinite;
}
.lap-ring--1{width:60%;height:60%}
.lap-ring--2{width:85%;height:85%;animation-direction:reverse;border-color:rgba(155,188,255,.22)}
@keyframes lapRing{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lap-orbit,.rack-unit,.lap-ring{animation:none}}

/* === SERVICES (usługi IT) - hub + orbity + pierścienie === */
.vis-srv{
  position:relative;width:100%;aspect-ratio:1/1;max-width:420px;margin:0 auto;
}
.srv-hub{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:110px;height:110px;border-radius:24px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  color:#fff;z-index:2;
  box-shadow:0 18px 40px -10px rgba(24,99,220,.55);
}
.srv-hub svg{width:32px;height:32px}
.srv-hub span{font-family:'Poppins',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.1em}
.srv-orbit{
  position:absolute;
  width:108px;padding:20px 12px;border-radius:16px;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  box-shadow:0 12px 28px -10px rgba(20,30,60,.18);
  z-index:1;
  animation:srvFloat 12s linear infinite;
}
.srv-orbit__icon{
  width:46px;height:46px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  color:var(--c-blue);
}
.srv-orbit__icon svg{width:24px;height:24px}
.srv-orbit > span:not(.srv-orbit__icon){font-size:.65rem;color:var(--c-ink-soft);font-weight:500}
.srv-orbit--1{left:6%;top:6%;animation-delay:0s}
.srv-orbit--2{right:6%;top:6%;animation-delay:-3s}
.srv-orbit--3{left:6%;bottom:6%;animation-delay:-6s}
.srv-orbit--4{right:6%;bottom:6%;animation-delay:-9s}
@keyframes srvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.srv-ring{
  position:absolute;left:50%;top:50%;
  border:2px dashed rgba(155,188,255,.35);border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;animation:srvRing 16s linear infinite;
}
.srv-ring--1{width:60%;height:60%}
.srv-ring--2{width:85%;height:85%;animation-direction:reverse;border-color:rgba(155,188,255,.22)}
@keyframes srvRing{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.srv-orbit,.srv-ring{animation:none}}

/* ==========================================================================
   O NAS - Wartości MBA (wow): watermark + 3 karty + connector
   ========================================================================== */
.section-values-wow{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#f8fafd 0%,#fff 100%);
  padding:100px 0 110px;
}
.values-wow__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.values-wow__orb{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.32;
}
.values-wow__orb--1{width:540px;height:540px;left:-120px;top:-80px;background:radial-gradient(circle,#1863dc,transparent 70%);animation:valuesOrb1 18s ease-in-out infinite}
.values-wow__orb--2{width:420px;height:420px;right:-100px;bottom:-80px;background:radial-gradient(circle,#9bbcff,transparent 70%);opacity:.22;animation:valuesOrb2 22s ease-in-out infinite}
@keyframes valuesOrb1{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
@keyframes valuesOrb2{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-30px)}}
.values-wow__watermark{
  position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);
  font-family:'Poppins',sans-serif;font-weight:800;
  font-size:clamp(15rem,30vw,28rem);
  line-height:.85;letter-spacing:-.05em;
  background:linear-gradient(135deg,rgba(24,99,220,.12),rgba(229,25,74,.08));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  pointer-events:none;user-select:none;white-space:nowrap;
  z-index:0;
  filter:blur(14px);
}

.values-wow__grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:0 16px;
  align-items:stretch;
  margin-top:48px;
}
@media (max-width:980px){
  .values-wow__grid{grid-template-columns:1fr;gap:24px 0;justify-items:center}
  .value-wow{width:100%;max-width:480px}
  .value-wow__connector{
    justify-self:center;
    animation:none;
  }
  .value-wow__connector svg{transform:rotate(90deg)}
}

.value-wow{
  position:relative;
  background:#fff;border-radius:24px;
  padding:80px 32px 36px;
  border:1px solid rgba(24,99,220,.12);
  box-shadow:0 22px 50px -16px rgba(20,30,60,.18);
  display:flex;flex-direction:column;
  text-align:center;
  isolation:isolate;overflow:hidden;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s var(--ease),border-color .35s var(--ease);
}
.value-wow::before{
  content:attr(data-letter);
  position:absolute;
  right:-20px;bottom:-60px;
  font-family:'Poppins',sans-serif;font-weight:800;
  font-size:14rem;line-height:.85;letter-spacing:-.06em;
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  pointer-events:none;z-index:0;
  transition:transform .55s cubic-bezier(.22,.61,.36,1),background .45s var(--ease);
}
.value-wow:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px -18px rgba(24,99,220,.30);
  border-color:transparent;
}
.value-wow:hover::before{
  transform:translate(-8px,-12px) scale(1.15);
  background:linear-gradient(135deg,#9bbcff,#cfe0ff);
  -webkit-background-clip:text;background-clip:text;
}

.value-wow__num{
  position:absolute;top:24px;left:32px;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.18em;
  color:var(--c-blue);
  background:linear-gradient(135deg,#dce8fa,#fce8ed);
  padding:6px 12px;border-radius:999px;
  z-index:2;
}
.value-wow__letter{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:84px;height:84px;border-radius:50%;
  margin:0 auto 18px;
  background:linear-gradient(135deg,#1863dc,#6e3eb0);
  color:#fff;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:3rem;line-height:1;letter-spacing:-.04em;
  box-shadow:0 14px 30px -6px rgba(24,99,220,.45);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.value-wow:hover .value-wow__letter{
  transform:scale(1.12);
}
.value-wow h3{
  position:relative;z-index:2;
  font-size:1.4rem;margin:0 0 12px;color:var(--c-ink);line-height:1.2;
}
.value-wow p{
  position:relative;z-index:2;
  font-size:.95rem;line-height:1.65;color:var(--c-ink-soft);margin:0;flex:1;
}

.value-wow__connector{
  --rot:0deg;
  align-self:center;
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid rgba(24,99,220,.18);
  color:var(--c-blue);
  box-shadow:0 6px 16px -4px rgba(24,99,220,.25);
  animation:valuesConnector 2s ease-in-out infinite;
  position:relative;z-index:2;
}
@keyframes valuesConnector{
  0%,100%{transform:rotate(var(--rot,0deg)) translateX(0)}
  50%{transform:rotate(var(--rot,0deg)) translateX(6px)}
}

@media (prefers-reduced-motion:reduce){
  .values-wow__orb,.value-wow__connector,.value-wow::before{animation:none}
}
