/* Fonty hostowane lokalnie — bez zapytania do fonts.gstatic.com, czyli bez przekazywania IP
   użytkownika do Google. Pliki: Source Serif 4 i Source Sans 3, licencja SIL OFL. */
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/source-serif-4-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/source-serif-4-latin-ext-600.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/source-serif-4-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/source-serif-4-latin-ext-700.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/source-sans-3-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/source-sans-3-latin-ext-400.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/source-sans-3-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/source-sans-3-latin-ext-600.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/source-sans-3-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/source-sans-3-latin-ext-700.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --c-bg:#faf8f4; --c-surface:#ffffff; --c-ink:#1b2a3a; --c-ink-soft:#46566c;
  --c-line:#e4ddd0; --c-line-strong:#cfc5b2;
  --c-accent:#a85832; --c-accent-deep:#8a441f; --c-accent-wash:#f6ede5;
  --c-green:#45603f; --c-green-soft:#5c7a54; --c-green-wash:#eef2e9; --c-green-line:#cdd9c6;
  --c-dark:#1b2a3a; --c-on-dark:#f7f3ea; --c-on-dark-soft:#c9cfd8;
  --ff-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ff-sans:"Source Sans 3",system-ui,"Segoe UI",Arial,sans-serif;
  --ff-mono:ui-monospace,"Cascadia Mono","Courier New",monospace;
  --fs-body:1.1875rem; --fs-small:1rem; --fs-tiny:0.9375rem;
  --fs-h1:clamp(2.15rem,5.2vw,3.3rem); --fs-h2:clamp(1.7rem,3.6vw,2.35rem);
  --fs-h3:1.375rem; --fs-lead:clamp(1.25rem,2.2vw,1.4rem);
  --lh:1.65; --lh-head:1.18;
  --sp-xs:0.5rem; --sp-s:1rem; --sp-m:1.5rem; --sp-l:2.5rem; --sp-xl:4rem;
  --sp-section:clamp(3.75rem,9vw,6.5rem);
  --r-s:8px; --r-m:12px;
  --tap:3.25rem; /* 52px — minimalny cel dotykowy */
  --w-max:71.25rem; --w-text:44rem;
  --hairline:1px solid var(--c-line);
  --head-h:9.75rem; /* wysokość przyklejonego bloku — nadpisywana w media queries */
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--c-bg); color:var(--c-ink);
  font-family:var(--ff-sans); font-size:var(--fs-body); line-height:var(--lh);
}
h1,h2,h3{font-family:var(--ff-serif); line-height:var(--lh-head); margin:0; text-wrap:balance; font-weight:700}
p{margin:0; text-wrap:pretty}
a{color:var(--c-accent-deep); text-decoration:underline; text-underline-offset:0.15em}
a:hover{color:var(--c-accent)}
:focus-visible{outline:3px solid var(--c-accent); outline-offset:2px; border-radius:2px}
img,svg{display:block; max-width:100%}
.wrap{max-width:var(--w-max); margin-inline:auto; padding-inline:var(--sp-m)}
.skip{position:absolute; left:-999px; top:0; background:var(--c-ink); color:var(--c-on-dark); padding:var(--sp-s) var(--sp-m); z-index:100}
.skip:focus{left:var(--sp-s)}

/* ---------- przyciski ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  min-height:var(--tap); padding:0.6rem 1.5rem; border-radius:var(--r-s);
  font-family:var(--ff-sans); font-weight:700; font-size:1.0625rem; line-height:1.25;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-primary{background:var(--c-accent); color:#fff}
.btn-primary:hover{background:var(--c-accent-deep); color:#fff}
.btn-secondary{background:transparent; color:var(--c-ink); border-color:var(--c-ink)}
.btn-secondary:hover{background:var(--c-surface); color:var(--c-ink)}
.btn-big{font-size:1.1875rem; padding:0.75rem 1.75rem}
.btn-word{display:none} /* na telefonie w pasku mieści się sam numer — jedna linia zamiast dwóch */

/* ---------- pasek górny ---------- */
/* pasek górny + nawigacja jako JEDEN przyklejony blok — bez magicznych offsetów */
.sitehead{position:sticky; top:0; z-index:20}
.topbar{background:var(--c-surface); border-bottom:var(--hairline)}
.topbar-in{
  max-width:var(--w-max); margin-inline:auto; padding:0.6rem var(--sp-m);
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-s);
}
.brand{display:flex; flex-direction:column; justify-content:center; min-height:2.75rem; text-decoration:none; color:var(--c-ink)}
.brand:hover{color:var(--c-ink)}
.brand-name{font-family:var(--ff-serif); font-weight:700; font-size:1.25rem; line-height:1.2}
.brand-sub{font-size:var(--fs-tiny); color:var(--c-ink-soft); line-height:1.3}
.topbar-right{display:flex; align-items:center; gap:var(--sp-m)}
.topbar-hours{display:none; font-size:var(--fs-tiny); color:var(--c-ink-soft); text-align:right; line-height:1.4}
.topbar-hours strong{color:var(--c-ink); font-weight:600}

/* ---------- nawigacja ---------- */
.mainnav{background:var(--c-bg); border-bottom:var(--hairline)}
.sitehead::after{
  content:""; position:absolute; inset-inline:0; top:100%; height:10px;
  background:linear-gradient(rgba(27,42,58,0.07), transparent); pointer-events:none;
}
/* aktywna pozycja menu — czysty CSS, bez JS (:has jest wspierane) */
body:has(#oferta:target)   .mainnav a[href="#oferta"],
body:has(#dlaczego:target) .mainnav a[href="#dlaczego"],
body:has(#obszar:target)   .mainnav a[href="#obszar"],
body:has(#faq:target)      .mainnav a[href="#faq"],
body:has(#kontakt:target)  .mainnav a[href="#kontakt"]{
  background:var(--c-accent-wash); color:var(--c-accent-deep);
}
.mainnav ul{
  max-width:var(--w-max); margin:0 auto; padding-inline:calc(var(--sp-m) - 0.85rem);
  list-style:none; display:flex; flex-wrap:wrap; column-gap:0.25rem;
}
.mainnav a{
  display:inline-flex; align-items:center; min-height:2.9rem; padding:0.35rem 0.85rem;
  font-weight:600; font-size:1.0625rem; color:var(--c-ink); text-decoration:none; border-radius:var(--r-s);
}
.mainnav a:hover{color:var(--c-accent-deep); text-decoration:underline; text-underline-offset:0.25em}

/* ---------- sekcje ---------- */
.section{padding-block:var(--sp-section)}
.section[id]{scroll-margin-top:var(--head-h)}
.section-alt{background:var(--c-surface); border-block:var(--hairline)}
.eyebrow{
  display:block; font-size:var(--fs-tiny); font-weight:700; letter-spacing:0.09em;
  text-transform:uppercase; color:var(--c-accent-deep); margin-bottom:var(--sp-s);
}
.section-head{max-width:var(--w-text); margin-bottom:var(--sp-l)}
.section-head h2{font-size:var(--fs-h2)}
.section-head p{margin-top:var(--sp-s); color:var(--c-ink-soft)}

/* ---------- placeholdery zdjęć ---------- */
.ph{
  background:
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(27,42,58,0.05) 14px 15px),
    #f1ece1;
  border:var(--hairline); border-radius:var(--r-m);
  display:grid; place-items:center; padding:var(--sp-m); text-align:center;
}
.ph-label{font-family:var(--ff-mono); font-size:0.875rem; color:var(--c-ink-soft); max-width:26ch; line-height:1.5}

/* ---------- hero ---------- */
.hero{padding-block:var(--sp-xl)}
.hero-grid{display:grid; gap:var(--sp-l); align-items:center}
.hero h1{font-size:var(--fs-h1)}
.hero-lead{margin-top:var(--sp-m); font-size:var(--fs-lead); line-height:1.55; color:var(--c-ink); max-width:34em}
.hero-actions{margin-top:var(--sp-l); display:flex; flex-wrap:wrap; gap:var(--sp-s)}
.hero-trust{
  margin-top:var(--sp-l); padding-top:var(--sp-m); border-top:var(--hairline);
  list-style:none; padding-left:0; display:flex; flex-wrap:wrap; gap:0.4rem 0;
  font-size:var(--fs-small); color:var(--c-ink-soft);
}
.hero-trust li{display:flex; align-items:baseline}
/* separator DOCZEPIONY do poprzedniego elementu — inaczej "·" ląduje na początku
   nowej linii przy zawijaniu (widoczne i na desktopie, i na telefonie) */
.hero-trust li:not(:last-child)::after{content:"·"; margin-inline:0.6rem; color:var(--c-line-strong)}
.hero-media{aspect-ratio:4/5; max-width:26rem; width:100%; height:auto; object-fit:cover; border-radius:var(--r-m)}

/* ---------- karty oferty ---------- */
.cards{display:grid; gap:var(--sp-s); list-style:none; margin:0; padding:0}
.card{
  background:var(--c-surface); border:var(--hairline); border-radius:var(--r-m);
  padding:var(--sp-m); display:flex; flex-direction:column; gap:0.75rem;
}
.card h3{font-size:var(--fs-h3)}
.card p{color:var(--c-ink-soft); flex-grow:1}
.card-icon{color:var(--c-ink); width:2rem; height:2rem}
.card-link{
  display:inline-flex; align-items:center; gap:0.35rem; min-height:2.75rem;
  font-weight:700; font-size:1.0625rem; color:var(--c-accent-deep); text-decoration:none; align-self:start;
}
.card-link:hover{text-decoration:underline; text-underline-offset:0.25em}
.card-featured{background:var(--c-green-wash); border-color:var(--c-green-line)}
.card-featured .card-icon{color:var(--c-green)}
.card-badge{
  align-self:start; font-size:0.875rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--c-green); border:1px solid var(--c-green-line); background:var(--c-surface);
  border-radius:999px; padding:0.15rem 0.7rem;
}

/* ---------- dlaczego u mnie ---------- */
.why{display:grid; gap:var(--sp-l); list-style:none; margin:0; padding:0}
.why-num{font-family:var(--ff-serif); font-size:2.75rem; font-weight:600; color:var(--c-accent); line-height:1}
.why h3{font-size:1.5rem; margin-top:var(--sp-xs)}
.why p{margin-top:var(--sp-s); color:var(--c-ink-soft); max-width:38em}

/* ---------- pasek zaufania ---------- */
/* Duży szeryf zarezerwowany WYŁĄCZNIE dla prawdziwych liczb. Fakty niebędące
   liczbami idą obok, jako zwykły tekst — słowo udające liczbę czytelnik wyczuwa. */
.stats{background:var(--c-dark); color:var(--c-on-dark); padding-block:var(--sp-l)}
.stats-in{
  max-width:var(--w-max); margin-inline:auto; padding-inline:var(--sp-m);
  display:grid; gap:var(--sp-l);
}
.stats-figures{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:var(--sp-m) var(--sp-xl); align-content:start;
}
.stat-value{
  display:block; font-family:var(--ff-serif); font-weight:700;
  font-size:clamp(2.25rem,5vw,3rem); line-height:1;
}
.stat-label{display:block; margin-top:0.35rem; font-size:var(--fs-small); color:var(--c-on-dark-soft); line-height:1.45; max-width:16ch}
.stats-facts{list-style:none; margin:0; padding:0; display:grid; gap:0.7rem; align-content:center}
.stats-facts li{
  display:grid; grid-template-columns:1.4rem 1fr; gap:0.6rem; align-items:start;
  font-size:var(--fs-small); line-height:1.5;
}
.stats-facts svg{width:1.4rem; height:1.4rem; color:var(--c-on-dark-soft); margin-top:0.1rem}

/* ---------- kroki ---------- */
.steps{display:grid; gap:var(--sp-l); list-style:none; margin:0; padding:0; counter-reset:krok}
.step{counter-increment:krok; display:grid; grid-template-columns:auto 1fr; gap:var(--sp-s) var(--sp-m); align-items:start}
.step::before{
  content:counter(krok); grid-row:span 2;
  display:grid; place-items:center; width:3.25rem; height:3.25rem;
  border:2px solid var(--c-accent); border-radius:50%;
  font-family:var(--ff-serif); font-weight:700; font-size:1.5rem; color:var(--c-accent-deep);
}
.step h3{font-size:var(--fs-h3); align-self:center}
.step p{grid-column:2; color:var(--c-ink-soft)}

/* ---------- FAQ ---------- */
.faq{max-width:var(--w-text); display:grid; gap:var(--sp-s)}
.faq-item{background:var(--c-surface); border:var(--hairline); border-radius:var(--r-s)}
.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-s);
  min-height:var(--tap); padding:0.85rem 1.25rem;
  font-weight:600; font-size:1.125rem; line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+"; font-family:var(--ff-serif); font-size:1.75rem; font-weight:600; color:var(--c-accent); flex-shrink:0; line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item[open] summary{border-bottom:var(--hairline)}
.faq-item div{padding:var(--sp-s) 1.25rem var(--sp-m); color:var(--c-ink-soft)}

/* ---------- kontakt ---------- */
.contact-grid{display:grid; gap:var(--sp-l)}
.contact-block address{font-style:normal}
.contact-block h3{font-size:var(--fs-h3); margin-bottom:var(--sp-s)}
.contact-block h3 + p, .contact-lines{color:var(--c-ink)}
.contact-lines{list-style:none; margin:0; padding:0; display:grid; gap:0.35rem}
.contact-lines strong{font-weight:600}
/* telefon i e-mail to najważniejsze cele dotykowe na całej stronie —
   jako zwykłe linki w tekście miały 22px wysokości */
.contact-lines a{display:inline-block; min-height:2.75rem; padding-block:0.6rem; font-weight:600}
.hours{border-collapse:collapse; width:100%; max-width:24rem; margin-top:var(--sp-xs)}
.hours th,.hours td{text-align:left; padding:0.55rem 0; border-bottom:var(--hairline); font-size:var(--fs-body)}
.hours th{font-weight:600; padding-right:var(--sp-m)}
.contact-actions{margin-top:var(--sp-m); display:flex; flex-wrap:wrap; gap:var(--sp-s)}
.contact-media{display:grid; gap:var(--sp-s); max-width:26rem}
.map-ph{aspect-ratio:16/10}
.facade{margin:0}
.facade img{width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; border-radius:var(--r-m); border:var(--hairline)}
.facade figcaption{margin-top:0.6rem; font-size:var(--fs-small); color:var(--c-ink-soft); line-height:1.5}

/* ---------- stopka ---------- */
footer{background:var(--c-dark); color:var(--c-on-dark); padding-block:var(--sp-xl) var(--sp-l); font-size:var(--fs-small)}
.footer-grid{display:grid; gap:var(--sp-l)}
.footer-grid h3{font-family:var(--ff-sans); font-size:var(--fs-small); font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-on-dark-soft); margin-bottom:var(--sp-s)}
footer p{color:var(--c-on-dark-soft); line-height:1.6}
footer p strong{color:var(--c-on-dark); font-weight:600}
.footer-brand{font-family:var(--ff-serif); font-size:1.25rem; font-weight:700; color:var(--c-on-dark); margin-bottom:var(--sp-xs)}
footer ul{list-style:none; margin:0; padding:0}
footer li a{display:inline-flex; align-items:center; min-height:2.5rem; color:var(--c-on-dark); text-decoration:none}
footer li a:hover{color:#fff; text-decoration:underline; text-underline-offset:0.25em}
.footer-bottom{margin-top:var(--sp-l); padding-top:var(--sp-m); border-top:1px solid rgba(247,243,234,0.18); color:var(--c-on-dark-soft)}

/* ---------- obszar działania ---------- */
.area-table{width:100%; border-collapse:collapse; margin-top:var(--sp-s)}
.area-table th,.area-table td{text-align:left; padding:0.8rem 1rem 0.8rem 0; border-bottom:var(--hairline); vertical-align:top}
.area-table thead th{
  font-family:var(--ff-sans); font-size:var(--fs-tiny); font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--c-ink-soft);
  border-bottom:2px solid var(--c-ink);
}
.area-gmina{font-weight:700}
.area-gmina small{display:block; font-weight:400; font-size:var(--fs-tiny); color:var(--c-ink-soft); margin-top:0.1rem}
.area-time{white-space:nowrap; color:var(--c-ink-soft); font-variant-numeric:tabular-nums}
.area-places{color:var(--c-ink-soft); font-size:var(--fs-small)}
.area-note{
  margin-top:var(--sp-l); padding:var(--sp-m) var(--sp-m) var(--sp-m) var(--sp-l);
  background:var(--c-accent-wash); border-left:3px solid var(--c-accent);
  border-radius:0 var(--r-m) var(--r-m) 0; max-width:var(--w-text);
}
.area-note h3{font-size:var(--fs-h3); margin-bottom:var(--sp-xs)}
.area-note p + p{margin-top:var(--sp-s)}

/* ---------- POPRAWKI ---------- */

/* KRYTYCZNE: aspect-ratio na .ph wewnątrz elementu grida rozdmuchuje jego
   min-content (tekst zawija się w pionie, proporcja przelicza to z powrotem na
   szerokość). Efekt: strona przewijała się w bok do 547px na ekranie 375px.
   Domyślne min-width:auto elementów grid/flex trzeba wyłączyć jawnie. */
.contact-grid > *, .contact-media > *, .hero-grid > *,
.cards > *, .why > *, .steps > *, .footer-grid > *{min-width:0}
.ph{min-width:0}
.hours{table-layout:fixed}

/* cele dotykowe: linki w kartach i w stopce miały 40px */
.card-link{min-height:2.75rem}
footer li a{min-height:2.75rem}
/* telefon, mail i link do rejestru w stopce — te same 44px co reszta */
footer p a{display:inline-block; min-height:2.75rem; padding-block:0.6rem; font-weight:600}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0.01ms !important; animation-duration:0.01ms !important}
}

/* ---------- <640px: nawigacja ---------- */
/* 5 pozycji zawijało się na 4 wiersze = 187px. Razem z paskiem górnym dawało to
   273px chromu przed jakąkolwiek treścią na ekranie 812px. */
@media (max-width:39.999em){
  :root{--head-h:10rem}
  .topbar-in{padding-block:0.4rem}
  .brand-name{font-size:1.1875rem}
  .brand-sub{display:none}
  .nav-opt{display:none}
  .mainnav a{font-size:1rem; padding:0.2rem 0.7rem; min-height:2.75rem}
  .mainnav ul{padding-inline:calc(var(--sp-m) - 0.7rem)}

  /* tabela obszaru — na telefonie wiersze jako bloki, inaczej 3 kolumny się gniotą */
  .area-table thead{position:absolute; left:-9999px}
  .area-table tr{display:block; padding-block:0.9rem; border-bottom:var(--hairline)}
  .area-table td{display:block; border:none; padding:0}
  .area-table .area-time{margin-top:0.15rem}
  .area-table .area-places{margin-top:0.3rem}
}

/* ---------- ≥640px ---------- */
@media (min-width:40em){
  .btn-word{display:inline}
  .topbar-hours{display:block}
  .cards{grid-template-columns:repeat(2,1fr)}
  .stats-in{grid-template-columns:auto 1fr; gap:var(--sp-xl); align-items:center}
  .stats-facts{border-left:1px solid rgba(247,243,234,0.22); padding-left:var(--sp-l)}
  .contact-grid{grid-template-columns:1fr 1fr; align-items:start}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
}
/* ---------- ≥960px ---------- */
@media (min-width:60em){
  :root{--head-h:8.25rem}
  .hero-grid{grid-template-columns:1.1fr 0.9fr; gap:var(--sp-xl)}
  .hero-media{max-width:none; justify-self:end; width:100%}
  .hero-grid picture{justify-self:end; width:100%}
  .cards{grid-template-columns:repeat(3,1fr); gap:var(--sp-m)}
  .why{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .step{grid-template-columns:auto 1fr}
}

/* ---------- druk ---------- */
@media print{
  body{background:#fff}
  .sitehead{position:static}
  .sitehead::after{display:none}
  .mainnav{display:none}
  .btn{border:2px solid var(--c-ink); color:var(--c-ink); background:none}
  .stats{background:none; color:var(--c-ink); border-block:2px solid var(--c-ink)}
  .stat-label{color:var(--c-ink-soft)}
  .stats-facts{border-left:none; padding-left:0}
  .stats-facts svg{color:var(--c-ink-soft)}
  footer{background:none; color:var(--c-ink)}
  footer p,.footer-bottom{color:var(--c-ink-soft)}
  footer li a,.footer-brand,footer p strong{color:var(--c-ink)}
  .card,.faq-item,.step{break-inside:avoid}
}
/* ================= PODSTRONY ================= */
.hero-sub{padding-block:var(--sp-l) var(--sp-s)}
.hero-sub + .section{padding-top:var(--sp-l)}
.hero-sub h1{font-size:clamp(1.9rem,4.4vw,2.9rem); max-width:20ch}
.krotka{font-size:var(--fs-small); color:var(--c-ink-soft); margin-bottom:var(--sp-m)}
.krotka a{color:var(--c-ink-soft); display:inline-block; min-height:2.75rem; padding-block:0.6rem}
.krotka span{margin-inline:0.4rem; color:var(--c-line-strong)}

/* kolumna tekstu — długość wiersza pod czytelność, nie pod szerokość ekranu */
.proza{max-width:var(--w-text)}
.proza h2{font-size:var(--fs-h2); margin-bottom:var(--sp-s)}
.proza h3{font-size:var(--fs-h3); margin-top:var(--sp-l); margin-bottom:var(--sp-xs)}
.proza p{margin-top:var(--sp-s)}
.proza ul,.proza ol{margin-top:var(--sp-s); padding-left:1.4rem}
.proza li{margin-top:0.4rem}
.proza li::marker{color:var(--c-accent)}
.proza strong{font-weight:700}
.proza .wyrozn{
  margin-top:var(--sp-l); padding:var(--sp-m) var(--sp-m) var(--sp-m) var(--sp-l);
  background:var(--c-accent-wash); border-left:3px solid var(--c-accent);
  border-radius:0 var(--r-m) var(--r-m) 0;
}
.proza .wyrozn p:first-child{margin-top:0}
.proza .wyrozn.rolna{background:var(--c-green-wash); border-left-color:var(--c-green)}
.proza table{width:100%; border-collapse:collapse; margin-top:var(--sp-m); font-size:var(--fs-small)}
.proza th,.proza td{text-align:left; padding:0.7rem 1rem 0.7rem 0; border-bottom:var(--hairline); vertical-align:top}
.proza thead th{font-size:var(--fs-tiny); text-transform:uppercase; letter-spacing:0.06em; color:var(--c-ink-soft); border-bottom:2px solid var(--c-ink)}

.cta-blok{display:grid; gap:var(--sp-l); align-items:center}
.cta-blok h2{font-size:var(--fs-h2)}
.cta-blok p{margin-top:var(--sp-s); color:var(--c-ink-soft); max-width:44ch}
.kicker-godz{font-weight:600; color:var(--c-ink) !important}
.cta-akcje{display:flex; flex-wrap:wrap; gap:var(--sp-s); align-content:start}

/* lista wpisów bloga */
.wpisy{list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-m); max-width:var(--w-text)}
.proza .wpisy{padding-left:0}  /* .proza ul wcina listy o 1.4rem — tu nie ma punktorów, więc wcięcie tylko rozjeżdża lewą krawędź */
.wpis{border-bottom:var(--hairline); padding-bottom:var(--sp-m)}
.wpis:last-child{border-bottom:none}
.wpis h3{font-size:var(--fs-h3)}
.wpis h3 a{color:var(--c-ink); text-decoration:none}
.wpis h3 a:hover{color:var(--c-accent-deep); text-decoration:underline; text-underline-offset:0.2em}
.wpis time{display:block; font-size:var(--fs-tiny); color:var(--c-ink-soft); margin-bottom:0.2rem}
.wpis p{margin-top:0.4rem; color:var(--c-ink-soft)}
.pusto{max-width:var(--w-text); padding:var(--sp-l); border:2px dashed var(--c-line-strong); border-radius:var(--r-m); text-align:center; color:var(--c-ink-soft)}

@media (min-width:40em){
  .cta-blok{grid-template-columns:1.3fr auto}
  .cta-akcje{flex-direction:column}
}

/* ---------- mapa: wczytywana po kliknięciu ---------- */
.mapa{background:var(--c-surface); border:var(--hairline); border-radius:var(--r-m)}
.mapa summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:0.6rem;
  min-height:var(--tap); padding:0.85rem 1.25rem; font-weight:600; font-size:1.0625rem;
}
.mapa summary::-webkit-details-marker{display:none}
.mapa summary::before{content:"▸"; color:var(--c-accent); font-size:1.1rem}
.mapa[open] summary::before{content:"▾"}
.mapa[open] summary{border-bottom:var(--hairline)}
.mapa-ramka{aspect-ratio:16/10}
.mapa-ramka iframe{width:100%; height:100%; border:0; display:block}
.mapa-nota{padding:0.75rem 1.25rem 1rem; font-size:var(--fs-tiny); color:var(--c-ink-soft); line-height:1.5}
