:root{
    --navy:#0b2a4a; --red:#c30d0d; --light:#ffffff; --muted:#4a6075; --max: 900px;
}
*{ box-sizing: border-box; }
body{
    margin: 0; font-family: system-ui, sans-serif; background: #f6f9fc; color: var(--navy); line-height: 1.6;
}
main{
    max-width: var(--max); margin: 0 auto; padding: 20px;
    background: #eef3f8; border: 1px solid #dde6ee; border-radius: 12px; box-shadow: 0 8px 24px rgba(11,42,74,.06);
}
section{ margin-bottom: 60px; }
h1, h2{ color: var(--navy); text-align: center; }
h1{ font-size: 2.2rem; margin: 20px 0 10px; }
h2{ font-size: 1.6rem; margin-bottom: 20px; }
p{ max-width: 720px; margin: 0 auto 20px auto; color: var(--muted); text-align: center; }

.btns{ text-align: center; margin-top: 20px; }
.btn{ display: inline-block; padding: 14px 22px; margin: 10px; border-radius: 8px; text-decoration: none; font-weight: 600; transition: 0.2s; }
.btn-primary{ background: var(--red); color: #fff; }
.btn-primary:hover{ background: #9f0a0a; }
.btn-outline{ border: 2px solid var(--navy); color: var(--navy); background: transparent; }
.btn-outline:hover{ background: var(--navy); color: #fff; }

.orgs{ display: grid; gap: 20px; justify-content: center; }
.orgs div{ background: var(--light); padding: 20px; border-radius: 10px; border: 1px solid #dde6ee; text-align: center; }
footer{
    text-align: center; padding: 20px; font-size: 13px; background: #fff; border-top: 1px solid #dde6ee; color: var(--muted);
}
@media (min-width: 700px){ .orgs { grid-template-columns: 1fr 1fr; } }

/* HERO: pełnoekranowe, responsywne wideo */
.hero{
    position: relative; width: 100%; height: 100vh; min-height: 520px; overflow: hidden; background:#000; isolation: isolate;
}
.hero-video{
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
}
.hero::after{
    content:""; position:absolute; inset:0; background: rgba(0,0,0,0.25); z-index:1; pointer-events:none;
}
.hero-overlay{
    position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px;
}
.hero-title{
    font-size: clamp(32px, 5vw, 64px); font-weight: 800; color:#fff; text-shadow: 0 3px 10px rgba(0,0,0,.9); margin: 0 0 10px;
}
.hero-lead{
    font-size: clamp(18px, 2.2vw, 22px); color:#f8fafd; text-shadow: 0 2px 8px rgba(0,0,0,.85); margin: 0 0 16px;
}
.btns{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top: 8px; }
.btn{ display:inline-block; padding: 12px 18px; border-radius: 10px; font-weight: 700; text-decoration: none; letter-spacing:.2px;
      transition: transform .12s ease, background .2s ease, box-shadow .2s ease; }
.btn-primary{ background: #c30d0d; color:#fff; box-shadow: 0 6px 22px rgba(195,13,13,.35); }
.btn-primary:hover{ background:#9f0a0a; transform: translateY(-1px); }
.btn-outline{ border:2px solid #ffffff; color:#ffffff; }
.btn-outline:hover{ background:#ffffff; color:#0b2a4a; }

/* MOBILE / WĄSKIE EKRANY – film dopasowany na szerokość */
@media (max-aspect-ratio: 3/4), (max-width: 768px){
    .hero{ height: auto; min-height: 0; }
    .hero-video{ position: static; display: block; width: 100%; height: auto; object-fit: contain; background:#000; }
    .hero-overlay{ position: absolute; inset: 0; padding: 16px; }
}
.orgs div h3{ margin-top: 0; color: var(--navy); }
.orgs div p{ margin: 6px 0; }

/* Linki w sekcji Kontakt */
#kontakt a{
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .15s ease, text-decoration-color .15s ease;
}
#kontakt a:hover{
  color: #9f0a0a;
  text-decoration-color: #9f0a0a;
}
/* Linki w stopce */
footer a{
  color: var(--navy);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .15s ease, text-decoration-color .15s ease;
}
footer a:hover{
  color: var(--red);
  text-decoration-color: var(--red);
}
div.logo_rejs
{
    width: 100%; 
    text-align: center
}
img.logo_rejs
{
    margin: auto;
}