:root{
  --bg:#03080b; --bg2:#071115; --panel:rgba(11,24,29,.72); --panel2:rgba(7,17,21,.92);
  --line:rgba(74,255,123,.24); --line2:rgba(38,218,216,.22); --text:#eef7f3; --muted:#9bb0aa;
  --green:#36ff72; --green2:#16d957; --cyan:#19e7d8; --warn:#ffcc3d; --radius:24px;
  --shadow:0 0 46px rgba(25,231,216,.12),0 0 80px rgba(54,255,114,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at top right,rgba(22,217,87,.11),transparent 35%),linear-gradient(180deg,var(--bg),#020506 55%,#04090b);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;overflow-x:hidden} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.noise{position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:url('../img/matrix-keyvisual.webp');background-size:cover;background-position:center;mix-blend-mode:screen;z-index:-3}.matrix-rain{position:fixed;inset:0;pointer-events:none;z-index:-2;background:repeating-linear-gradient(90deg,transparent 0 56px,rgba(54,255,114,.045) 57px,transparent 60px),repeating-linear-gradient(180deg,rgba(54,255,114,.08) 0 2px,transparent 2px 14px);mask-image:linear-gradient(180deg,#000 0%,transparent 75%);opacity:.45}.site-header{position:sticky;top:0;z-index:20;padding:14px 0;background:linear-gradient(180deg,rgba(3,8,11,.93),rgba(3,8,11,.66));backdrop-filter:blur(18px);border-bottom:1px solid rgba(54,255,114,.14)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 16px;border:1px solid rgba(54,255,114,.16);border-radius:18px;background:rgba(5,13,16,.76);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px;font-size:1.35rem;font-weight:800;letter-spacing:-.04em}.brand b{color:var(--green);font-weight:900}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:var(--green);filter:drop-shadow(0 0 12px rgba(54,255,114,.6))}.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.nav-links{display:flex;align-items:center;gap:26px;font-size:.95rem}.nav-links a{color:#dce8e4;opacity:.9}.nav-links a:hover{color:var(--green)}.nav-links .login{padding:10px 18px;border:1px solid var(--green);border-radius:12px;color:#fff;background:rgba(54,255,114,.08);box-shadow:0 0 20px rgba(54,255,114,.14)}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.hero{display:grid;grid-template-columns:1fr .95fr;gap:34px;align-items:center;min-height:760px;padding:90px 0 56px;position:relative}.hero:before{content:"";position:absolute;inset:80px -20px auto;height:540px;background:url('../img/mast-data-bg.webp') center/cover no-repeat;opacity:.34;border-radius:36px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 52%,transparent 100%);z-index:-1}.eyebrow{margin:0 0 12px;color:var(--green);font-weight:800;letter-spacing:.14em;font-size:.84rem}.hero h1,.section-head h2,.split h2,.login-box h2{margin:0;line-height:1.03;letter-spacing:-.07em}.hero h1{font-size:clamp(3.6rem,8vw,7rem)}.hero h1 span{color:var(--green);text-shadow:0 0 28px rgba(54,255,114,.32)}.lead{font-size:1.22rem;color:#c6d5d0;max-width:620px;margin:28px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border-radius:14px;font-weight:800;border:1px solid rgba(54,255,114,.28);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#031006;box-shadow:0 12px 34px rgba(54,255,114,.24)}.btn.ghost{background:rgba(4,12,14,.68);color:#fff}.trust-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trust-strip span{font-size:.83rem;color:#ccddd8;padding:9px 12px;border:1px solid rgba(54,255,114,.16);border-radius:999px;background:rgba(0,0,0,.22)}.trust-strip span:before{content:"●";color:var(--green);margin-right:8px}.hero-visual{position:relative;border:1px solid rgba(54,255,114,.18);border-radius:32px;overflow:hidden;background:rgba(5,14,18,.55);box-shadow:var(--shadow)}.hero-visual img{width:100%;height:520px;object-fit:cover}.hero-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 55%,rgba(54,255,114,.16),transparent 32%),linear-gradient(180deg,transparent,rgba(3,8,11,.62));pointer-events:none}.floating-card{position:absolute;z-index:2;padding:14px 16px;border:1px solid rgba(54,255,114,.28);border-radius:16px;background:rgba(4,14,17,.8);backdrop-filter:blur(10px);box-shadow:0 0 34px rgba(54,255,114,.15)}.floating-card strong{display:block;font-size:.72rem;color:var(--green);letter-spacing:.08em}.floating-card span{display:block;font-size:1.35rem;font-weight:900}.card-a{left:28px;top:34px}.card-b{right:30px;bottom:42px}.services{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:26px 0 60px}.service-card,.panel,.login-box,.split{border:1px solid rgba(119,255,173,.16);background:linear-gradient(180deg,rgba(12,27,33,.78),rgba(5,13,16,.82));border-radius:20px;box-shadow:var(--shadow)}.service-card{padding:26px 20px;min-height:230px;transition:transform .2s ease,border-color .2s ease}.service-card:hover{transform:translateY(-5px);border-color:rgba(54,255,114,.45)}.service-card h2{font-size:1.18rem;margin:18px 0 8px}.service-card p{font-size:.94rem;color:var(--muted);margin:0}.icon{width:54px;height:54px;border:1px solid var(--line);border-radius:17px;display:block;position:relative;color:var(--green);box-shadow:inset 0 0 22px rgba(54,255,114,.08),0 0 22px rgba(54,255,114,.12)}.icon:before,.icon:after{content:"";position:absolute;inset:12px;border:2px solid currentColor;border-radius:inherit}.icon.pulse:before{border:none;border-top:3px solid currentColor;border-radius:0;top:27px;transform:skewY(-18deg)}.icon.doc:before{border-radius:3px}.icon.search:before{border-radius:50%;inset:11px 18px 18px 11px}.icon.search:after{width:16px;height:3px;border:0;background:currentColor;transform:rotate(45deg);right:9px;bottom:13px;inset:auto}.icon.bars:before{border:0;inset:13px;background:linear-gradient(90deg,currentColor 0 16%,transparent 16% 28%,currentColor 28% 44%,transparent 44% 56%,currentColor 56% 72%,transparent 72% 84%,currentColor 84%)}.icon.cloud:before{border-radius:999px;inset:18px 10px 14px}.icon.shield:before{border-radius:8px 8px 18px 18px}.dashboard{padding:10px 0 80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:20px}.section-head h2,.split h2,.login-box h2{font-size:clamp(2rem,4vw,3.5rem)}.section-head a{color:var(--green);font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1.35fr 1fr;gap:16px}.panel{padding:22px;min-height:230px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel h3{margin:0;font-size:1rem}.panel-title span,.online{color:var(--green);font-weight:800;font-size:.9rem}.wide{grid-column:span 1}.gauge{width:158px;height:158px;border-radius:50%;display:grid;place-items:center;margin:4px auto 20px;background:conic-gradient(var(--green) 0 92%,rgba(54,255,114,.12) 92% 100%);position:relative}.gauge:before{content:"";position:absolute;inset:14px;background:#061015;border-radius:50%}.gauge span,.gauge small{position:relative}.gauge span{font-size:2rem;font-weight:900}.gauge small{display:block;margin-top:36px;color:var(--muted)}.metrics{margin:0;display:grid;gap:8px}.metrics div{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.07);padding-top:8px}.metrics dt{color:var(--muted)}.metrics dd{margin:0;color:var(--green);font-weight:900}.chart-line{height:176px;display:flex;align-items:end;gap:13px;border-left:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:20px;background:linear-gradient(180deg,rgba(54,255,114,.08),transparent)}.chart-line i{flex:1;height:var(--h);border-radius:999px 999px 0 0;background:linear-gradient(180deg,var(--green),rgba(54,255,114,.16));box-shadow:0 0 20px rgba(54,255,114,.22)}.source-list,.report-list,.alert-list{list-style:none;padding:0;margin:0;display:grid;gap:13px}.source-list li{display:grid;gap:6px}.source-list b{font-size:.84rem;color:#d8eee6;font-weight:700;position:relative}.source-list b:before{content:"";display:block;width:var(--w);height:5px;background:var(--green);border-radius:999px;margin-bottom:4px}.report-list li,.alert-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:10px;color:#d7e7e2}.report-list span{color:var(--green);font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:1px 8px}.warn:before{content:"⚠ ";color:var(--warn)}.ok:before{content:"✓ ";color:var(--green)}.map-dots{height:170px;border-radius:18px;background:radial-gradient(circle at 30% 40%,rgba(54,255,114,.18),transparent 16%),radial-gradient(circle at 72% 62%,rgba(25,231,216,.16),transparent 18%),repeating-linear-gradient(0deg,rgba(54,255,114,.08) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,rgba(25,231,216,.07) 0 1px,transparent 1px 16px);position:relative;overflow:hidden}.map-dots span{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green)}.map-dots span:nth-child(1){left:22%;top:30%}.map-dots span:nth-child(2){left:46%;top:38%}.map-dots span:nth-child(3){left:68%;top:24%}.map-dots span:nth-child(4){left:35%;top:65%}.map-dots span:nth-child(5){left:78%;top:72%}.map-dots span:nth-child(6){left:55%;top:78%}.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;padding:36px;margin-bottom:70px}.split-copy p{color:#c1d0cb}.check-list{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:10px}.check-list li:before{content:"✓";color:var(--green);font-weight:900;margin-right:9px}.split-image{border-radius:22px;overflow:hidden;border:1px solid rgba(54,255,114,.18)}.split-image img{width:100%;height:440px;object-fit:cover;object-position:top}.login-box{display:grid;grid-template-columns:1fr 420px;gap:30px;padding:36px;margin-bottom:80px}.login-form{display:grid;gap:14px}.login-form label{font-size:.9rem;color:#c6d5d0}.login-form input{width:100%;margin-top:6px;border:1px solid rgba(54,255,114,.18);border-radius:12px;background:#050d10;color:#fff;padding:14px 15px;outline:none}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(54,255,114,.08)}.footer{border-top:1px solid rgba(54,255,114,.14);background:#020507;padding:42px 0;color:#9fb2ac}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:30px}.footer a{display:block;color:#c8d9d3;margin:8px 0}.footer-brand{display:flex;margin:0 0 12px}.online-line{color:var(--green)}
@media (max-width:980px){.nav-links{display:none;position:absolute;top:76px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:18px;background:#061015;border:1px solid var(--line);border-radius:18px}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}.services{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.split,.login-box{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-visual img{height:420px}}@media (max-width:640px){.shell{width:min(100% - 26px,1180px)}.brand{font-size:1.05rem}.hero h1{font-size:3.3rem}.services{grid-template-columns:1fr}.service-card{min-height:auto}.section-head{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.hero-visual img{height:330px}.split,.login-box{padding:22px}.dashboard-grid{gap:12px}.panel{padding:18px}}
.service-card,.panel{opacity:.001;transform:translateY(14px)}.service-card.visible,.panel.visible{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease,border-color .2s ease}

/* Hero dopasowany do key visual data.maszty.net */
.site-header{padding:10px 0;background:linear-gradient(180deg,rgba(3,8,11,.96),rgba(3,8,11,.72));border-bottom-color:rgba(54,255,114,.12)}
.nav{padding:9px 14px;border-radius:10px;background:rgba(5,13,16,.7);box-shadow:0 0 34px rgba(25,231,216,.07)}
.brand{gap:11px;font-size:1.25rem}.brand-mark{width:34px;height:34px}.nav-links{gap:25px;font-size:.9rem}.nav-links .login{padding:8px 16px;border-radius:7px}
.hero{grid-template-columns:47% 53%;gap:0;min-height:535px;padding:45px 0 32px;isolation:isolate}
.noise{opacity:.025}
.hero:before{inset:0 calc(50% - 50vw);height:auto;border-radius:0;background:radial-gradient(circle at 78% 70%,rgba(18,255,105,.09),transparent 27%),repeating-linear-gradient(90deg,transparent 0 70px,rgba(54,255,114,.025) 71px,transparent 72px),linear-gradient(90deg,rgba(2,8,9,.98) 0%,rgba(2,8,9,.86) 37%,rgba(2,8,9,.25) 68%,rgba(2,8,9,.46) 100%);opacity:1;mask-image:none;z-index:-2}
.hero:after{content:"";position:absolute;inset:auto calc(50% - 50vw) 0;height:1px;background:linear-gradient(90deg,transparent,rgba(54,255,114,.25),transparent);z-index:2}
.hero-copy{position:relative;z-index:2;padding-top:12px}
.hero .eyebrow{margin-bottom:10px;color:#43ef70;font-weight:700;letter-spacing:.09em;font-size:.86rem}
.hero h1{font-size:clamp(3.25rem,5.1vw,4.45rem);font-weight:760;line-height:1.05;letter-spacing:-.055em}
.hero h1 span{color:#37f363;text-shadow:0 0 26px rgba(54,255,114,.22)}
.hero .lead{font-size:1.12rem;line-height:1.6;color:#d2ddd9;max-width:520px;margin:20px 0 24px}
.hero-actions{gap:13px}.hero .btn{gap:12px;min-height:54px;padding:0 25px;border-radius:7px;font-weight:700}
.btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero .btn.primary{background:linear-gradient(135deg,#41f86a,#28df57);color:#06120a;box-shadow:0 0 24px rgba(54,255,114,.26)}
.hero .btn.ghost{background:rgba(3,10,12,.62);border-color:rgba(81,221,112,.4)}
.trust-strip{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:25px;border:1px solid rgba(54,255,114,.08);border-width:1px 0;background:rgba(0,8,9,.2);width:max-content;max-width:100%}
.trust-strip span{font-size:.67rem;color:#c0ceca;padding:8px 13px;border:0;border-radius:0;background:none;white-space:nowrap}
.trust-strip span+span{border-left:1px solid rgba(160,205,179,.2)}
.trust-strip span:before{display:none}
.trust-strip svg{display:inline-block;vertical-align:-3px;width:15px;height:15px;margin-right:7px;fill:none;stroke:#43ef70;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-visual{position:relative;z-index:1;margin-left:-15px;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;align-self:stretch;display:flex;align-items:center}
.hero-visual:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:24%;background:linear-gradient(90deg,#03090b,transparent);pointer-events:none}
.hero-visual img{width:100%;height:100%;max-height:520px;object-fit:cover;object-position:center}
.hero-visual video{display:block;width:100%;height:100%;max-height:520px;object-fit:cover;object-position:center;background:#020708}
.hero-visual:after{background:linear-gradient(180deg,rgba(3,8,11,.08),transparent 55%,rgba(3,8,11,.16))}

@media (max-width:980px){
  .hero{grid-template-columns:1fr;padding-top:38px}
  .hero-copy{padding-bottom:24px}
  .hero-visual{margin:0;max-height:520px}
  .hero-visual:before{width:100%;height:18%;inset:0 0 auto;background:linear-gradient(180deg,#03090b,transparent)}
  .hero-visual img{height:auto;max-height:none}
  .hero-visual video{height:auto;max-height:none;aspect-ratio:16/9}
}
@media (max-width:640px){
  .hero{padding-top:30px}
  .hero h1{font-size:clamp(2.7rem,13vw,3.3rem)}
  .hero .lead{font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero .btn{width:100%}
  .trust-strip{width:100%}
  .trust-strip span{width:100%;padding:8px 4px}
  .trust-strip span+span{border-left:0;border-top:1px solid rgba(160,205,179,.15)}
}

/* Wyśrodkowana zawartość wykresu dostępności */
.gauge{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-align:center;
}
.gauge span,
.gauge small{
  position:relative;
  z-index:1;
  margin:0;
  line-height:1.1;
}
.gauge span{
  font-size:2rem;
  font-weight:900;
}
.gauge small{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  font-weight:600;
}

/* Mapa aktywnych urządzeń w Europie */
.map-dots{
  height:170px;
  background:#041013;
  border:1px solid rgba(54,255,114,.12);
  border-radius:14px;
  isolation:isolate;
}
.map-dots>img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
}
.map-dots .map-point{
  width:10px;
  height:10px;
  transform:translate(-50%,-50%);
  background:#35ff78;
  border:2px solid #b9ffd0;
  box-shadow:0 0 10px #35ff78,0 0 22px rgba(53,255,120,.9);
  z-index:2;
  animation:map-pulse 2s ease-out infinite;
}
.map-dots .map-point::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(53,255,120,.72);
  border-radius:50%;
  animation:map-ring 2s ease-out infinite;
}
.map-dots .map-point::after{
  content:attr(data-code);
  position:absolute;
  left:11px;
  top:-5px;
  color:#d8ffe4;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.04em;
  text-shadow:0 1px 4px #000;
}
.map-dots .map-point.point-fr{left:32%;top:69%;animation-delay:-.3s}
.map-dots .map-point.point-de{left:50%;top:56%;animation-delay:-1.1s}
.map-dots .map-point.point-pl{left:68%;top:51%;animation-delay:-.7s}
.map-dots .map-point.point-lt{left:79%;top:43%;animation-delay:-1.6s}
.map-dots .map-point.point-ee{left:82%;top:31%;animation-delay:-.9s}
.map-dots .map-point.point-no{left:45%;top:24%;animation-delay:-1.35s}
@keyframes map-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.45)}}
@keyframes map-ring{0%{transform:scale(.45);opacity:.9}75%,100%{transform:scale(1.65);opacity:0}}
@media (prefers-reduced-motion:reduce){.map-dots .map-point,.map-dots .map-point::before{animation:none}}
