:root{
  --brand:#0e4a73;
  --line:#e6edf5;
  --bg:#f7fbff;
  --text:#16202c;
  --max:1120px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:#fff;color:var(--text)}
a{text-decoration:none;color:var(--brand)}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 16px}

/* header */
.topbar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 0}
.brand img{height:120px;transition:height .2s}
body.scrolled .brand img{height:96px}
.menu{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.menu a{font-weight:600}
.social{display:flex;gap:8px;align-items:center}
.social .icon{width:26px;height:26px;display:inline-flex}

/* hero */
.hero{background:var(--bg);padding:28px 0}
.hero h1{margin:0 0 6px}
.hero p{margin:0 0 8px}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.btn{padding:10px 14px;border:1px solid var(--brand);border-radius:10px;font-weight:600;display:inline-block}
.btn-primary{background:var(--brand);color:#fff}
.notice{background:#fff5d7;border:1px solid #ffe39a;border-radius:10px;padding:10px;margin-top:12px;max-width:640px}

/* sections */
.section{padding:28px 0}
.section h2{margin-bottom:12px;border-left:4px solid var(--brand);padding-left:8px}
.section-light{background:#f9fafb}
.grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.more{display:inline-block;margin-top:10px}

/* realizacje */
.realizacje-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px,1fr));gap:16px}
.realizacja-card{background:#fff;border:1px solid #e6edf5;border-radius:12px;padding:12px}
.realizacja-media{aspect-ratio:3/4;overflow:hidden;border-radius:10px;background:#e7ecf0;margin-bottom:10px}
.realizacja-media img{width:100%;height:100%;object-fit:cover}

/* footer */
footer{background:#0f1720;color:#d9e1ea;padding:18px 0;margin-top:28px}
footer a{color:#d9e1ea}
.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}

@media (max-width:700px){
  .brand img{height:90px}
  body.scrolled .brand img{height:78px}
  .menu{gap:8px}
  .realizacje-grid{grid-template-columns:1fr}
}
