:root{
  --bg:#0b1020;
  --panel:#0f172a;
  --card:#111827;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --border:rgba(148,163,184,.2);
  --blue:#3b82f6;--blue-2:#2563eb;
  --red:#ef4444;--red-2:#dc2626;
  --accent:linear-gradient(135deg, #60a5fa 0%, #22d3ee 100%);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, rgba(56,189,248,.15), transparent), radial-gradient(1200px 600px at 90% 10%, rgba(59,130,246,.12), transparent), var(--bg)}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.eu-bar{background:var(--accent);color:#0b1020;text-align:center;padding:10px 12px;font-size:14px;font-weight:600}

/* Zestawienie znaków */
.logo-strip{background:rgba(2,6,23,.4);border-bottom:1px solid var(--border)}
.logo-strip__inner{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:10px 0;flex-wrap:wrap}
.logo-item{display:flex;align-items:center;gap:10px;margin:0}
.logo-item img{height:28px;width:auto;border-radius:6px;border:1px solid var(--border);background:#fff}
.logo-item figcaption{font-size:12px;line-height:1.15}

/* Header */
.header{position:relative}
.header__inner{display:grid;grid-template-columns:1fr;gap:28px;padding:28px 0}
@media(min-width:992px){.header__inner{grid-template-columns:1.1fr .9fr;align-items:center}}
.header__text h1{font-size:clamp(28px,3vw,40px);margin:0 0 10px}
.header__text .muted{color:var(--muted)}
.header__hero img{border-radius:22px;border:1px solid var(--border);aspect-ratio:3/2;object-fit:cover;box-shadow:0 10px 30px rgba(2,6,23,.5)}
.header__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

main{padding:10px 0 48px}

/* Grid */
.grid.two-col{display:grid;grid-template-columns:1fr;align-items:start}
.gap-xl{gap:32px}
@media(min-width:992px){.grid.two-col{grid-template-columns:1fr 1fr}}

/* Typography */
h2{font-size:clamp(22px,2.3vw,28px);margin:0 0 12px}
h3{font-size:clamp(18px,2vw,22px);margin:30px 0 14px}
.small{font-size:12px}
.muted{color:var(--muted)}
.mt-sm{margin-top:8px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.section-sub{font-size:14px}

/* Lists / cards */
.checklist{margin:12px 0 16px;padding-left:18px}
.checklist li{margin:6px 0}
.kpis{display:grid;grid-template-columns:1fr;gap:14px;margin:16px 0}
.kpi{background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 6px 16px rgba(2,6,23,.35)}
.kpi span{display:block;color:var(--muted);font-size:14px}
.kpi strong{display:block;font-size:22px;margin-top:4px}
@media(min-width:640px){.kpis{grid-template-columns:repeat(3,1fr)}}

.cards{display:grid;grid-template-columns:1fr;gap:12px}
.card{background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 6px 16px rgba(2,6,23,.35)}
@media(min-width:768px){.cards{grid-template-columns:repeat(3,1fr)}}

.bullets{padding-left:18px}
.bullets li{margin:6px 0}
.timeline{position:relative;margin:0;padding-left:18px}
.timeline li{position:relative;margin:12px 0 12px 12px}
.timeline li:before{content:"";position:absolute;left:-12px;top:6px;width:8px;height:8px;background:#60a5fa;border-radius:50%}
.timeline li span{display:block;color:var(--muted);font-size:12px}
.timeline li strong{display:block;margin-top:2px}
.timeline li p{margin:4px 0 0;color:#cbd5e1}

.docs{display:grid;gap:10px;padding-left:0;list-style:none}
.docs a{display:block;background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));border:1px solid var(--border);border-radius:14px;padding:12px 14px;color:#93c5fd;text-decoration:none;box-shadow:0 6px 16px rgba(2,6,23,.35)}
.docs a:hover{border-color:#60a5fa}

.panel{background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(2,6,23,.5)}
.lead{font-weight:600}

/* CTA buttons */
.btn{appearance:none;border:1px solid var(--border);background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));padding:10px 14px;border-radius:14px;cursor:pointer;font-weight:700;text-decoration:none;color:var(--text);box-shadow:0 6px 16px rgba(2,6,23,.35);transition:transform .15s ease, border-color .2s}
.btn:hover{transform:translateY(-1px);border-color:#60a5fa}
.btn-primary{background:linear-gradient(135deg,#3b82f6,#22d3ee);border-color:transparent;color:#0b1020}
.btn-primary:hover{filter:saturate(1.1)}
.btn-danger{background:linear-gradient(135deg,#ef4444,#f59e0b);border-color:transparent;color:#0b1020}
.btn-danger:hover{filter:saturate(1.05)}

/* Footer */
.footer{background:transparent;border-top:1px solid var(--border);margin-top:28px;padding:24px 0}

/* MAPA */
.map-wrap{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 10px 30px rgba(2,6,23,.5);background:rgba(2,6,23,.5)}
.map-wrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}

/* Galerie */
.gallery{--min:200px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--min),1fr));gap:12px}
.gallery__item{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);box-shadow:0 6px 16px rgba(2,6,23,.35)}
.gallery__item img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .25s ease}
.gallery__item:hover img{transform:scale(1.03)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(2,6,23,.85);display:none;place-items:center;z-index:60}
.lightbox.is-open{display:grid}
.lightbox__img{max-width:min(95vw,1200px);max-height:85vh;border-radius:16px;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox__close{position:fixed;top:16px;right:16px;appearance:none;border:1px solid var(--border);background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));color:var(--text);font-size:22px;line-height:1;border-radius:12px;padding:6px 12px;cursor:pointer}
.lightbox__nav{position:fixed;top:50%;transform:translateY(-50%);appearance:none;border:1px solid var(--border);background:linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.3));color:var(--text);font-size:28px;line-height:1;border-radius:12px;padding:8px 12px;cursor:pointer}
.lightbox__prev{left:16px}
.lightbox__next{right:16px}
