h1, h2, h3, figure, blockquote, ul, dl, dd { margin:0; }

ul { padding:0; list-style:none; }

:focus-visible { outline:3px solid var(--lipa); outline-offset:3px; }

[id] { scroll-margin-top:var(--odstep-xl); }

h1, h2, h3 {
  font-family:var(--font-naglowki);
  font-weight:700;
  font-stretch:semi-condensed;
  letter-spacing:-.01em;
  text-wrap:balance;
}

h1 { font-size:var(--fs-h1); line-height:1; }

h2 { font-size:var(--fs-h2); line-height:1.08; }

h3 { font-size:var(--fs-h3); line-height:1.15; }

.etykieta {
  display:flex;
  align-items:center;
  gap:var(--odstep-s);
  font-family:var(--font-naglowki);
  font-size:var(--fs-etykieta);
  font-weight:700;
  letter-spacing:.04em;
  color:var(--lipa);
}

.etykieta::before { content:""; flex:none; width:2rem; height:3px; background:currentColor; }

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.7em 1.4em;
  border:2px solid transparent;
  font-family:var(--font-naglowki);
  font-size:var(--fs-tekst);
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none;
}

.btn-akcent { background:var(--lipa); color:var(--atrament); }

.btn-akcent:hover { background:var(--lipa-jasna); }

.btn-obrys { border-color:currentColor; color:var(--kreda); }

.btn-obrys:hover { background:var(--kreda); color:var(--atrament); }

.btn-ciemny { background:var(--atrament); color:var(--szalwia); }

.btn-ciemny:hover { background:var(--atrament-2); }

.sekcja { padding-block:var(--odstep-xl); }

.sekcja-waska { padding-block:var(--odstep-l); }

.tlo-2 { background:var(--noc-2); }

.naglowek-sekcji { display:grid; gap:var(--odstep-s); max-width:44rem; }

.kadr { min-width:0; }

.hero { display:grid; min-height:clamp(30rem, 72vh, 46rem); background:var(--noc); }

.hero > * { grid-area:1 / 1; min-width:0; }

.hero::after {
  content:"";
  grid-area:1 / 1;
  z-index:1;
  background:linear-gradient(0deg, rgba(19,25,27,.94) 0%, rgba(19,25,27,.62) 40%, rgba(19,25,27,.12) 78%, rgba(19,25,27,0) 100%);
}

.hero-obraz { width:100%; height:100%; aspect-ratio:16/7; object-fit:cover; }

.hero-tresc { z-index:2; align-self:end; padding-block:var(--odstep-xl) var(--odstep-l); }

.hero h1 { max-width:14ch; }

.hero-tekst { max-width:38rem; margin-block-start:var(--odstep-s); }

.hero-akcje { display:flex; flex-wrap:wrap; gap:var(--odstep-s); margin-block-start:var(--odstep-m); }

.silownie-lista { display:grid; gap:var(--odstep-xl); margin-block-start:var(--odstep-l); }

.silownia { display:grid; gap:var(--odstep-m); align-items:center; }

.silownia > * { min-width:0; }

.silownia-tekst { display:grid; gap:var(--odstep-s); max-width:34rem; }

.godziny {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:var(--odstep-s);
  padding-top:var(--odstep-s);
  border-top:1px solid var(--linia);
}

.godziny-podpis { font-family:var(--font-naglowki); font-size:var(--fs-etykieta); letter-spacing:.04em; color:var(--popiol); }

.silownia-zdjecia { display:grid; grid-template-columns:1fr 1fr; gap:var(--odstep-s); }

.silownia-zdjecia > * { min-width:0; }

.silownia-zdjecia img { width:100%; aspect-ratio:4/3; object-fit:cover; }

.silownia-zdjecia .kadr-glowny { grid-column:1 / -1; }

.silownia-zdjecia .kadr-glowny img { aspect-ratio:16/10; }

.silownia-zdjecia--para { grid-template-columns:3fr 2fr; }

.silownia-zdjecia--para img { aspect-ratio:4/5; }

@media (min-width:900px) {
.silownia { grid-template-columns:5fr 7fr; gap:var(--odstep-l); }
.silownia--odwrocona { grid-template-columns:7fr 5fr; }
.silownia--odwrocona .silownia-tekst { grid-column:2; grid-row:1; }
.silownia--odwrocona .silownia-zdjecia { grid-column:1; grid-row:1; }
}

.odnowa-uklad { display:grid; gap:var(--odstep-l); }

.odnowa-uklad > * { min-width:0; }

.odnowa-wstep { display:grid; gap:var(--odstep-s); align-content:start; }

.odnowa-wstep .kadr { margin-block-start:var(--odstep-s); }

.odnowa-wstep img { width:100%; aspect-ratio:1/1; object-fit:cover; }

.odnowa-lista { display:grid; gap:var(--odstep-m); align-content:start; }

.odnowa-lista > * { min-width:0; }

.zabieg {
  display:grid;
  gap:var(--odstep-s);
  align-content:start;
  padding-top:var(--odstep-s);
  border-top:1px solid var(--linia);
}

.zabieg p { color:var(--popiol); }

.zabieg img { width:100%; aspect-ratio:4/3; object-fit:cover; }

@media (min-width:600px) {
.odnowa-lista { grid-template-columns:1fr 1fr; }
}

@media (min-width:900px) {
.odnowa-uklad { grid-template-columns:5fr 7fr; align-items:start; }
}

.klinika { background:var(--szalwia); color:var(--atrament); }

.klinika .etykieta { color:var(--atrament-2); }

.klinika h2 { font-weight:600; }

.klinika :focus-visible { outline-color:var(--atrament); }

.klinika-uklad { display:grid; gap:var(--odstep-l); align-items:center; }

.klinika-uklad > * { min-width:0; }

.klinika-tekst { display:grid; gap:var(--odstep-s); max-width:34rem; }

.klinika-tekst > p { color:var(--atrament-2); }

.klinika-tel { display:flex; flex-wrap:wrap; align-items:center; gap:var(--odstep-s); margin-block-start:var(--odstep-s); }

.klinika-zdjecia { display:grid; grid-template-columns:1fr 1fr; gap:var(--odstep-s); }

.klinika-zdjecia > * { min-width:0; }

.klinika-zdjecia img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:1rem; }

.klinika-zdjecia .kadr-glowny { grid-column:1 / -1; }

.klinika-zdjecia .kadr-glowny img { aspect-ratio:16/9; }

@media (min-width:900px) {
.klinika-uklad { grid-template-columns:7fr 5fr; }
.klinika-tekst { grid-column:2; grid-row:1; }
.klinika-zdjecia { grid-column:1; grid-row:1; }
}

.karty { background:var(--lipa); color:var(--atrament); }

.karty :focus-visible { outline-color:var(--atrament); }

.karty-uklad { display:grid; gap:var(--odstep-m); align-items:center; }

.karty-tekst {
  max-width:18ch;
  font-family:var(--font-naglowki);
  font-size:var(--fs-h2);
  font-weight:700;
  font-stretch:semi-condensed;
  line-height:1.08;
}

.karty-lista { display:grid; gap:var(--odstep-s); }

.karty-lista li {
  padding-top:var(--odstep-s);
  border-top:2px solid var(--atrament);
  font-family:var(--font-naglowki);
  font-size:var(--fs-h3);
  font-weight:700;
}

@media (min-width:900px) {
.karty-uklad { grid-template-columns:7fr 5fr; }
}

.opinie-naglowek {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:end;
  gap:var(--odstep-m);
}

.link-opinie {
  font-family:var(--font-naglowki);
  font-weight:700;
  color:var(--lipa);
  text-decoration-thickness:2px;
  text-underline-offset:.35em;
}

.opinie-siatka { display:grid; gap:var(--odstep-m); margin-block-start:var(--odstep-l); }

.opinia {
  display:grid;
  gap:var(--odstep-s);
  align-content:start;
  padding-top:var(--odstep-s);
  border-top:1px solid var(--linia);
}

.opinia blockquote::before {
  content:"„";
  display:block;
  font-family:var(--font-naglowki);
  font-size:var(--fs-h1);
  line-height:.5;
  color:var(--lipa);
}

.opinia blockquote p { font-family:var(--font-naglowki); font-size:var(--fs-h3); font-weight:600; line-height:1.3; }

.opinia cite { font-style:normal; color:var(--popiol); }

@media (min-width:800px) {
.opinie-siatka { grid-template-columns:repeat(3, 1fr); }
}

.faq-uklad { display:grid; gap:var(--odstep-l); }

.faq-wstep { display:grid; gap:var(--odstep-s); justify-items:start; align-content:start; }

.faq-wstep p { color:var(--popiol); max-width:28rem; }

.faq-pozycja {
  display:grid;
  gap:var(--odstep-s);
  padding-block:var(--odstep-m);
  border-top:1px solid var(--linia);
}

.faq-pozycja:first-child { padding-top:0; border-top:0; }

.faq-pozycja p { color:var(--popiol); max-width:40rem; }

@media (min-width:900px) {
.faq-uklad { grid-template-columns:5fr 7fr; align-items:start; }
}

.kontakt-uklad { display:grid; gap:var(--odstep-l); align-items:center; }

.kontakt-uklad > * { min-width:0; }

.kontakt-dane { display:grid; gap:var(--odstep-m); justify-items:start; }

.kontakt-lista { display:grid; gap:var(--odstep-s); width:100%; }

.kontakt-lista > div { display:grid; padding-top:var(--odstep-s); border-top:1px solid var(--linia); }

.kontakt-lista dt { font-family:var(--font-naglowki); font-size:var(--fs-etykieta); letter-spacing:.04em; color:var(--popiol); }

.kontakt-lista a { text-decoration-color:var(--lipa); text-underline-offset:.25em; }

.kontakt-zdjecie img { width:100%; aspect-ratio:4/3; object-fit:cover; }

@media (min-width:900px) {
.kontakt-uklad { grid-template-columns:5fr 7fr; }
}
