:root{
    --green-deep:#1D3527;
    --green:#3E7C4F;
    --green-tint:#EDF3EC;
    --red:#C13A2C;
    --paper:#FCFCFA;
    --ink:#22301F;
    --ink-soft:#5C6B57;
    --line:#DCE3D8;
    --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
    --sans:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  }
  *{box-sizing:border-box}
  body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6}
  h1{font-family:var(--serif);font-weight:600;line-height:1.15;text-wrap:balance}
  a{color:var(--green)}
  .wrap{max-width:1080px;margin:0 auto;padding:0 1.4rem}
  .eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:600}

  header.site{
    position:sticky;top:0;z-index:20;background:rgba(252,252,250,.92);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .site .wrap{display:flex;align-items:center;gap:1.5rem;height:64px}
  .logo{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.15rem;color:var(--ink);text-decoration:none;font-weight:600}
  .logo svg{width:28px;height:28px}
  nav.top{margin-left:auto;display:flex;gap:1.4rem;font-size:.9rem}
  nav.top a{color:var(--ink);text-decoration:none}
  nav.top a:hover{color:var(--green)}
  nav.top a.cta{color:#fff;background:var(--red);padding:.4rem .9rem;border-radius:99px;font-weight:600}
  nav.top a.cta:hover{background:#A93023;color:#fff}
  @media(max-width:720px){nav.top a:not(.cta){display:none}}

  .page-head{background:var(--green-deep);color:#F2F5EF;padding:3rem 0 2.6rem}
  .page-head .eyebrow{color:#A8C7AD}
  .page-head h1{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);margin:.5rem 0 .6rem}
  .page-head p{max-width:56ch;color:#C9D6C6;margin:0}

  .gallery{padding:2.6rem 0 3.5rem}
  .masonry{columns:3 280px;column-gap:12px}
  .masonry a{
    display:block;margin-bottom:12px;border-radius:10px;overflow:hidden;
    border:1px solid var(--line);background:var(--green-tint);
  }
  .masonry img{display:block;width:100%;height:auto;transition:transform .35s ease}
  .masonry a:hover img{transform:scale(1.03)}
  .masonry a:focus-visible{outline:3px solid var(--green);outline-offset:2px}

  /* ---------- Lightbox ---------- */
  .lb{
    position:fixed;inset:0;background:rgba(20,30,22,.94);z-index:60;
    display:none;align-items:center;justify-content:center;flex-direction:column;
  }
  .lb.on{display:flex}
  .lb img{max-width:92vw;max-height:82vh;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
  .lb .cap{color:#C9D6C6;font-size:.9rem;margin-top:.8rem;text-align:center;padding:0 1rem}
  .lb button{
    position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
    border-radius:99px;width:46px;height:46px;font-size:1.4rem;display:flex;align-items:center;justify-content:center;
  }
  .lb button:hover{background:rgba(255,255,255,.25)}
  .lb .x{top:1rem;right:1rem}
  .lb .prev{left:.8rem;top:50%;transform:translateY(-50%)}
  .lb .next{right:.8rem;top:50%;transform:translateY(-50%)}
  .lb .cnt{position:absolute;top:1.4rem;left:1.4rem;color:#A8C7AD;font-size:.85rem;font-variant-numeric:tabular-nums}

  footer.site{background:var(--green-deep);color:#A8C7AD;padding:2.5rem 0;font-size:.88rem}
  footer.site .wrap{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
  footer.site a{color:#E9EFE6}

/* ---------- Przełącznik języków ---------- */
.langs{display:flex;gap:.3rem;align-items:center;font-size:.72rem;margin-left:1rem}
.langs a{color:var(--ink-soft);text-decoration:none;padding:.2rem .45rem;border-radius:6px;border:1px solid transparent;font-weight:600;letter-spacing:.04em}
.langs a:hover{color:var(--green)}
.langs a.on{border-color:var(--line);color:var(--ink);background:#fff}
@media(max-width:720px){.langs{margin-left:.5rem}}
