:root{
  --bg:#070b14;
  --card:rgba(255,255,255,.06);
  --stroke:rgba(255,255,255,.12);
  --text:#eaf0ff;
  --muted:#b3bfdc;
  --shadow:0 18px 55px rgba(0,0,0,.45);
  --r:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(0,180,255,.14), transparent 60%),
              radial-gradient(900px 500px at 90% 10%, rgba(255,180,0,.10), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit}
.container{width:min(1120px, 92vw); margin:0 auto}
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(7,11,20,.72);
  border-bottom:1px solid var(--stroke);
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:12px}
.logo{
  width:42px;height:42px;border-radius:14px;
  display:grid; place-items:center;
  font-weight:900;
  background: linear-gradient(135deg, rgba(0,180,255,.25), rgba(255,180,0,.18));
  border:1px solid var(--stroke);
  box-shadow: var(--shadow);
}
.brand-text strong{display:block; font-size:16px}
.brand-text span{display:block; font-size:12px; color:var(--muted)}
.actions{display:flex; gap:10px; flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  background: linear-gradient(135deg, rgba(0,180,255,.22), rgba(255,180,0,.18));
  border:1px solid var(--stroke);
  box-shadow: var(--shadow);
  text-decoration:none;
  font-weight:800;
}
.btn.ghost{
  background: rgba(255,255,255,.06);
}
.btn:hover{transform: translateY(-1px)}
.btn:active{transform: translateY(0)}
.hero{padding:18px 0 8px}
.hero-wrap{
  width:min(1120px, 92vw);
  margin: 0 auto;
  position:relative;
  border-radius: 22px;
  overflow:hidden;
  border:1px solid var(--stroke);
  box-shadow: var(--shadow);
}
.hero-img{width:100%; height:auto; display:block}

.hotspot{
  position:absolute;
  display:block;
  border-radius: 14px;
  background: rgba(0,0,0,0);
  outline: none;
}
.hotspot:hover{
  box-shadow: 0 0 0 2px rgba(255,255,255,.35), 0 12px 24px rgba(0,0,0,.25);
  background: rgba(255,255,255,.05);
}

/* Hotspoty w % względem obrazu */
.hotspot.wa{
  left: 40%;
  top: 88%;
  width: 44%;
  height: 8.5%;
}
.hotspot.ig{
  left: 57%;
  top: 94%;
  width: 34%;
  height: 5.5%;
}

.below-hero{padding:18px 0 6px}
h1{margin:0 0 8px; font-size: clamp(24px, 3vw, 38px); line-height:1.15}
p{margin:0 0 12px; color:var(--muted); max-width: 70ch}
.cta{display:flex; gap:12px; flex-wrap:wrap; margin: 12px 0 0}
.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  padding: 22px 0 30px;
}
.card{
  background: var(--card);
  border:1px solid var(--stroke);
  border-radius: var(--r);
  padding:16px;
  box-shadow: var(--shadow);
}
.card h2{margin:0 0 6px; font-size:18px}
.card p{margin:0 0 10px}
.link{color:var(--text); font-weight:900; text-decoration:none}
.link:hover{text-decoration:underline}

.footer-cta{padding: 0 0 30px}
.footer-box{
  background: rgba(255,255,255,.05);
  border:1px solid var(--stroke);
  border-radius: var(--r);
  padding:16px;
  box-shadow: var(--shadow);
}
.footer{
  border-top:1px solid var(--stroke);
  padding:16px 0;
  background: rgba(7,11,20,.78);
}
@media (max-width: 980px){
  .grid{grid-template-columns: 1fr}
  .actions{display:none}
  .hotspot.wa{left: 30%; top: 86.5%; width: 60%; height: 10%;}
  .hotspot.ig{left: 50%; top: 93.5%; width: 45%; height: 6.5%;}
}
