
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url(../fonts/montserrat-latin-wght-normal.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url(../fonts/montserrat-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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: "Bodoni Moda"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url(../fonts/bodoni-moda-latin-opsz-normal.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Bodoni Moda"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url(../fonts/bodoni-moda-latin-ext-opsz-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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: "Bodoni Moda"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url(../fonts/bodoni-moda-latin-opsz-italic.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Bodoni Moda"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url(../fonts/bodoni-moda-latin-ext-opsz-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --wino: #5e2129;
  --wino-ciemne: #3d151b;
  --ecru: #fffeeb;
  --tlo: #faf6ec;
  --len: #f3eedf;
  --atrament: #231b1c;
  --szary: #6d6264;
  --linia: rgba(35, 27, 28, .16);
  --linia-jasna: rgba(255, 254, 235, .22);

  --szeryf: "Bodoni Moda", "Didot", Georgia, serif;
  --sans: "Montserrat", system-ui, sans-serif;

  --max: 1320px;
  --pad: clamp(20px, 4vw, 56px);
  --sekcja: clamp(72px, 10vw, 140px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tlo);
  color: var(--atrament);
  font: 400 clamp(15.5px, 1.05vw, 17px)/1.7 var(--sans);
  -webkit-font-smoothing: antialiased;
}
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
p { margin: 0 0 1em; }
figure { margin: 0; }
[id] { scroll-margin-top: 80px; }
:focus-visible { outline: 2px solid var(--wino); outline-offset: 3px; }

h1, h2, h3 {
  font-family: var(--szeryf);
  font-weight: 600;
  font-variation-settings: "opsz" 11;
  line-height: 1.08;
  letter-spacing: -.01em;
  margin: 0 0 .5em;
  text-wrap: balance;
}
h1 { font-size: clamp(40px, 6.4vw, 92px); }
h2 { font-size: clamp(32px, 4.2vw, 60px); }
h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.2; }
h1 em, h2 em { font-style: italic; }

.etykieta {
  display: block;
  font: 500 11.5px/1.4 var(--sans);
  letter-spacing: .24em;
  text-transform: uppercase;
  margin-bottom: 22px;
  color: var(--wino);
}
.ciemna .etykieta { color: var(--ecru); opacity: .75; }

.kontener { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.sekcja { padding: var(--sekcja) 0; }
.len { background: var(--len); }
.ciemna { background: var(--wino); color: var(--ecru); }
.wizualnie-ukryte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.przeskocz { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--tlo); padding: 10px 16px; }
.przeskocz:focus { left: 8px; }

.btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 17px 28px;
  font: 500 13px/1 var(--sans);
  letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none;
  border: 1px solid currentColor;
  transition: background .25s, color .25s;
}
.btn-pelny { background: var(--wino); border-color: var(--wino); color: var(--ecru); }
.btn-pelny:hover { background: var(--wino-ciemne); border-color: var(--wino-ciemne); }
.btn-jasny { background: var(--ecru); border-color: var(--ecru); color: var(--wino); }
.btn-jasny:hover { background: transparent; color: var(--ecru); }
.btn-linia:hover { background: var(--atrament); color: var(--ecru); border-color: var(--atrament); }
.ciemna .btn-linia:hover, .hero .btn-linia:hover { background: var(--ecru); color: var(--wino); border-color: var(--ecru); }
.link-strzalka {
  font: 500 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 6px;
}
.link-strzalka::after { content: " \2192"; }

.naglowek {
  position: fixed; top: 0; left: 0; right: 0; z-index: 40;
  color: var(--ecru);
  transition: background-color .35s, border-color .35s;
  border-bottom: 1px solid transparent;
}
.naglowek-wnetrze { position: relative; display: flex; align-items: center; gap: 40px; height: 108px; transition: height .35s; }
.logo { display: block; width: 88px; color: inherit; flex: none; transition: width .35s; }
.logo svg { width: 100%; height: auto; display: block; }
.nav { display: flex; gap: clamp(18px, 2.2vw, 36px); margin-left: auto; }
.nav-grupa { display: contents; }
.nav a {
  font: 500 12.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none; padding: 8px 0; border-bottom: 1px solid transparent;
}
.nav a:hover { border-bottom-color: currentColor; }
.naglowek-akcje { display: flex; align-items: center; gap: 22px; padding-left: 32px; border-left: 1px solid var(--linia-jasna); }
.naglowek-tel { font: 600 15px/1 var(--sans); letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.naglowek-cta {
  display: inline-flex; font: 500 11.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none; padding: 13px 18px; border: 1px solid currentColor; white-space: nowrap;
  transition: background .25s, color .25s;
}
.naglowek-cta:hover { background: var(--ecru); color: var(--wino); border-color: var(--ecru); }
.menu-btn { display: none; background: none; border: 0; color: inherit; padding: 10px; margin-left: auto; cursor: pointer; }
.menu-btn span { display: block; width: 26px; height: 1px; background: currentColor; margin: 7px 0; }

.naglowek.przewiniety, .naglowek--staly { background: var(--wino); border-bottom-color: var(--linia-jasna); }
.naglowek.przewiniety .naglowek-wnetrze { height: 72px; }
.naglowek.przewiniety .logo { width: 54px; }
@media (min-width: 1081px) {
  .naglowek-wnetrze { height: 124px; }
  .logo { width: 110px; }
  .naglowek.przewiniety .naglowek-wnetrze { height: 80px; }
  .naglowek.przewiniety .logo { width: 68px; }
  [id] { scroll-margin-top: 96px; }
}
@media (min-width: 1081px) and (max-resolution: 1.49dppx) {
  .logo-gabinety { stroke: currentColor; stroke-width: .4px; vector-effect: non-scaling-stroke; }
}

.hero {
  position: relative; min-height: 100svh; overflow: hidden;
  color: var(--ecru); background: var(--wino-ciemne);
  display: flex; align-items: flex-end;
}
.hero-media { position: absolute; inset: 0; }
.hero-media img, .hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.hero-media img { animation: przybliz 28s ease-out both; transform-origin: 62% 40%; }
@keyframes przybliz { from { transform: scale(1.12) translateX(1.5%); } to { transform: scale(1); } }
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(30, 10, 13, .72) 0%, rgba(30, 10, 13, .38) 17%, rgba(30, 10, 13, 0) 34%, rgba(30, 10, 13, .3) 54%, rgba(30, 10, 13, .9) 100%);
}
.hero-tresc { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(48px, 7vw, 96px); }
.hero-siatka { display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items: end; }
.hero h1 { margin: 0; max-width: 14ch; }
.hero-bok { border-left: 1px solid var(--linia-jasna); padding-left: 32px; }
.hero-bok p { font-size: 16px; max-width: 38ch; opacity: .92; }
.hero-akcje { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.opinie-pasek { border-bottom: 1px solid var(--linia); }
.opinie-pasek .kontener {
  display: flex; flex-wrap: wrap; gap: 12px 48px; align-items: center; justify-content: space-between;
  padding-top: 26px; padding-bottom: 26px; font-size: 14px;
}
.opinie-pasek strong { font: 600 26px/1 var(--szeryf); font-variation-settings: "opsz" 11; margin-right: 8px; vertical-align: -3px; }
.opinie-pasek a { text-decoration: none; }
.opinie-pasek a:hover { text-decoration: underline; }

.wstep { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(40px, 7vw, 120px); align-items: center; }
.wstep-foto { position: relative; }
.wstep-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.wstep-foto figcaption {
  position: absolute; left: -1px; bottom: -1px; background: var(--tlo);
  padding: 14px 18px 0 0; font-size: 13px; color: var(--szary);
}
.wstep h2 { max-width: 15ch; }
.lead { font-size: clamp(18px, 1.4vw, 21px); line-height: 1.6; }
.kroki { list-style: none; margin: 40px 0; padding: 0; border-top: 1px solid var(--linia); counter-reset: krok; }
.kroki li {
  display: grid; grid-template-columns: 48px 1fr; gap: 16px;
  padding: 18px 0; border-bottom: 1px solid var(--linia); counter-increment: krok;
}
.kroki li::before { content: "0" counter(krok); font: italic 400 20px/1.4 var(--szeryf); color: var(--wino); }
.cena-konsultacji { display: flex; align-items: baseline; gap: 20px; flex-wrap: wrap; }
.cena-konsultacji .kwota { font: 600 48px/1 var(--szeryf); font-variation-settings: "opsz" 11; color: var(--wino); }

.zabiegi-gora { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 56px; flex-wrap: wrap; }
.zabiegi-gora h2 { margin: 0; max-width: 14ch; }
.zabiegi-gora p { max-width: 42ch; margin: 0; color: var(--szary); }
.indeks-wrap { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.indeks { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--atrament); }
.indeks li { border-bottom: 1px solid var(--linia); }
.indeks a {
  display: grid; grid-template-columns: 56px minmax(0, 1fr) 120px;
  gap: 6px 24px; align-items: baseline; padding: 26px 0; text-decoration: none;
  transition: padding .35s ease, color .25s;
}
.indeks .mini { display: none; }
.indeks .nr { font: italic 400 18px/1 var(--szeryf); color: var(--szary); }
.indeks h3 { margin: 0; font-size: clamp(24px, 2.4vw, 36px); }
.indeks .opis { grid-column: 2 / 3; grid-row: 2; color: var(--szary); font-size: 15px; }
.indeks .od { text-align: right; font-size: 14px; white-space: nowrap; }
.indeks .od b { font: 600 22px/1 var(--szeryf); font-variation-settings: "opsz" 11; }
.indeks a:hover, .indeks a.aktywne { padding-left: 14px; color: var(--wino); }
.indeks-panel { position: sticky; top: 40px; align-self: center; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--tlo); }
.indeks-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .5s ease, transform 1.2s ease; }
.indeks-panel img.aktywne { opacity: 1; transform: scale(1); }
.indeks-panel figcaption { position: absolute; left: 0; bottom: 0; background: var(--len); padding: 12px 16px 0 0; font-size: 13px; color: var(--szary); }

.spectra { display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; }
.spectra-foto { position: relative; overflow: hidden; }
.spectra-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spectra-tresc { padding: var(--sekcja) var(--pad); max-width: 680px; }
.spectra h2 { max-width: 12ch; }
.cennik { width: 100%; border-collapse: collapse; margin: 36px 0 40px; font-size: 15px; }
.cennik th, .cennik td { text-align: left; padding: 15px 0; border-bottom: 1px solid var(--linia-jasna); font-weight: 400; }
.cennik td { text-align: right; white-space: nowrap; padding-left: 24px; }
.cennik caption { text-align: left; font-size: 13px; opacity: .7; caption-side: bottom; padding-top: 14px; }

.efekty-gora { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 48px; }
.efekty-gora h2 { margin: 0; }
.efekty-gora p { margin: 0; color: var(--szary); max-width: 46ch; justify-self: end; }
.efekty-tasma {
  display: grid; grid-auto-flow: column; grid-auto-columns: clamp(260px, 28vw, 400px); gap: 20px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 0 var(--pad) 24px max(var(--pad), calc((100vw - var(--max)) / 2 + var(--pad)));
  scroll-padding-left: max(var(--pad), calc((100vw - var(--max)) / 2 + var(--pad)));
  scrollbar-width: thin; scrollbar-color: var(--wino) transparent;
}
.efekty-tasma figure { margin: 0; scroll-snap-align: start; }
.efekty-tasma img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.efekty-tasma figcaption { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; font-size: 14px; }
.efekty-tasma figcaption span { color: var(--szary); }
.uwaga { font-size: 13px; color: var(--szary); margin-top: 20px; }

.zespol { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); }
.zespol-wstep { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 24px; }
.zespol-wstep h2 { margin: 0; }
.osoba img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; margin-bottom: 28px; }
.osoba h3 { margin-bottom: 4px; }
.osoba .rola { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--wino); margin-bottom: 18px; display: block; }
.osoba p { max-width: 48ch; }

.wnetrze {
  display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 1fr 1.25fr;
  gap: 16px; height: clamp(520px, 62vw, 820px);
}
.wnetrze figure { margin: 0; overflow: hidden; min-height: 0; }
.wnetrze img { width: 100%; height: 100%; object-fit: cover; }
.wnetrze .w1 { grid-column: 1 / 8; grid-row: 1 / 3; }
.wnetrze .w2 { grid-column: 8 / 13; grid-row: 1; }
.wnetrze .w3 { grid-column: 8 / 11; grid-row: 2; }
.wnetrze .w4 { grid-column: 11 / 13; grid-row: 2; }
.wnetrze-tekst { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 48px; align-items: end; }
.wnetrze-tekst h2 { margin: 0; }

.voucher { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; border: 1px solid var(--linia-jasna); padding: clamp(32px, 5vw, 72px); }
.voucher h2 { margin-bottom: 16px; }
.voucher p { max-width: 48ch; opacity: .9; }
.voucher-akcje { justify-self: end; display: flex; flex-direction: column; gap: 12px; align-items: stretch; }

.kontakt { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 7vw, 120px); }
.kontakt h2 { max-width: 12ch; }
.dane { border-top: 1px solid var(--linia); margin: 36px 0; }
.dane div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--linia); font-size: 15px; }
.dane dt { color: var(--szary); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding-top: 3px; }
.dane dd { margin: 0; }
.dane a { text-decoration: none; }
.dane a:hover { text-decoration: underline; }
.tel-duzy { display: inline-block; font: 600 clamp(34px, 3.4vw, 48px)/1.1 var(--szeryf); font-variation-settings: "opsz" 11; text-decoration: none; color: var(--wino); letter-spacing: .01em; }
.tel-duzy:hover { color: var(--wino-ciemne); }
.miasta { font-size: 14px; color: var(--szary); }

.formularz { background: var(--len); padding: clamp(28px, 4vw, 56px); align-self: start; }
.formularz h3 { margin-bottom: 8px; }
.formularz > p { color: var(--szary); font-size: 15px; }
.pole { margin-bottom: 18px; }
.pole label { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
.pole input, .pole select, .pole textarea {
  width: 100%; font: inherit; font-size: 16px; color: inherit;
  background: var(--tlo); border: 1px solid var(--linia); border-radius: 0;
  padding: 14px 16px;
}
.pole input:focus, .pole select:focus, .pole textarea:focus { outline: none; border-color: var(--wino); }
.pole textarea { min-height: 110px; resize: vertical; }
.dwa { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.zgoda { display: flex; gap: 12px; font-size: 13px; color: var(--szary); margin: 8px 0 24px; align-items: flex-start; }
.zgoda input { margin-top: 2px; width: 20px; height: 20px; flex: none; accent-color: var(--wino); }
.bez-lamania { white-space: nowrap; }
.miodek { position: absolute; left: -5000px; }
.komunikat { padding: 16px 18px; margin-bottom: 24px; border-left: 3px solid var(--wino); background: var(--tlo); }

.mapa { margin-top: 0; }
.mapa iframe { filter: grayscale(.35) sepia(.12); }
.mapa iframe { display: block; width: 100%; height: 420px; border: 0; }
.mapa-obraz { position: relative; }
.mapa-podglad { display: block; position: relative; width: 100%; height: 420px; padding: 0; border: 0; border-top: 1px solid var(--linia); cursor: pointer; overflow: hidden; background: var(--len); }
.mapa-podglad img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) sepia(.25) contrast(.9) brightness(1.04); transition: filter .3s; }
.mapa-podglad:hover img { filter: grayscale(.6) sepia(.2) contrast(.95); }
.mapa-pin { position: absolute; left: 50%; top: 50%; width: 26px; height: 26px; margin: -26px 0 0 -13px; background: var(--wino); border: 3px solid var(--ecru); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 4px 12px rgba(35, 27, 28, .35); }
.mapa-pasek { position: absolute; left: 24px; bottom: 24px; display: flex; flex-direction: column; gap: 6px; background: var(--tlo); padding: 16px 20px; font-size: 14px; border: 1px solid var(--atrament); max-width: calc(100% - 48px); }
.mapa-pasek b { display: block; font-weight: 600; color: var(--wino); }
.mapa-pasek a { color: var(--atrament); font-size: 13px; }
.mapa-zrodlo { position: absolute; right: 0; bottom: 0; padding: 2px 6px; font-size: 10.5px; color: var(--szary); background: rgba(250, 246, 236, .75); text-decoration: none; }

.stopka { background: var(--wino-ciemne); color: var(--ecru); padding: 88px 0 36px; font-size: 14px; }
.stopka-siatka { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 48px; }
.stopka .logo { width: 120px; margin-bottom: 24px; }
.stopka h4 { font: 500 11.5px/1.4 var(--sans); letter-spacing: .24em; text-transform: uppercase; margin: 6px 0 20px; opacity: .65; }
.stopka ul { list-style: none; padding: 0; margin: 0; }
.stopka li { margin-bottom: 10px; }
.stopka a { text-decoration: none; opacity: .88; }
.stopka a:hover { opacity: 1; text-decoration: underline; }
.stopka-dol { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 72px; padding-top: 24px; border-top: 1px solid var(--linia-jasna); opacity: .6; font-size: 13px; }
.stopka-dol span:last-child { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.stopka-dol span:last-child a, .stopka-dol .link-cookies { display: inline-block; padding: 10px 0; }

.hero-podstrona { min-height: 82svh; }
.hero-podstrona .hero-media img { object-position: var(--pozycja, 50% 35%); }
.okruszki { font-size: 12.5px; letter-spacing: .06em; margin-bottom: 28px; opacity: .85; }
.okruszki a { text-decoration: none; }
.okruszki a:hover { text-decoration: underline; }
.okruszki span { margin: 0 6px; opacity: .6; }
.okruszki [aria-current] { margin: 0; opacity: 1; }
.hero-podstrona h1 { max-width: 14ch; font-size: clamp(40px, 5.6vw, 76px); }
.hero-cena { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin-top: 20px; }
.hero-cena b { font: 600 34px/1 var(--szeryf); font-variation-settings: "opsz" 11; letter-spacing: 0; text-transform: none; margin-left: 6px; }

.skrot { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; }
.skrot-tekst { font: 400 clamp(20px, 1.8vw, 26px)/1.55 var(--sans); margin: 0; }
.skrot-reszta { margin-top: 32px; max-width: 62ch; }
.skrot-reszta p { margin: 0 0 1em; }
.skrot-reszta .skrot-podpis { font: italic 400 clamp(20px, 1.6vw, 24px)/1.4 var(--szeryf); color: var(--wino); margin-top: 1.4em; }
.fakty { margin: 0; border-top: 1px solid var(--atrament); }
.fakty div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--linia); }
.fakty dt { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--szary); }
.fakty dd { margin: 0; font: 600 24px/1.1 var(--szeryf); font-variation-settings: "opsz" 11; text-align: right; }

.programy { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--atrament); }
.programy li { display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1.3fr) 150px; gap: 24px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid var(--linia); }
.programy .nr { font: italic 400 18px/1 var(--szeryf); color: var(--szary); }
.programy h3 { margin: 0; font-size: clamp(22px, 2vw, 30px); }
.programy p { margin: 0; color: var(--szary); font-size: 15px; }
.programy .cena { text-align: right; white-space: nowrap; font-size: 14px; }
.programy .cena b { font: 600 22px/1 var(--szeryf); font-variation-settings: "opsz" 11; }
.cennik-grupy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px clamp(32px, 5vw, 80px); }
.cennik-grupy h3 { margin: 0 0 12px; font-size: clamp(22px, 2vw, 28px); }
.cennik-tabela { width: 100%; border-collapse: collapse; border-top: 1px solid var(--atrament); }
.cennik-tabela th, .cennik-tabela td { padding: 14px 0; border-bottom: 1px solid var(--linia); text-align: left; font-weight: 400; }
.cennik-tabela td { text-align: right; white-space: nowrap; font-size: 14px; color: var(--szary); padding-left: 16px; }
.cennik-tabela td:last-child { color: var(--atrament); width: 90px; }
.cennik-tabela b { font: 600 20px/1 var(--szeryf); font-variation-settings: "opsz" 11; }
.programy-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 40px; }
.programy-cta span { font-size: 16px; }
.cennik-booksy { margin: 20px 0 0; font-size: 14px; color: var(--szary); }

.dziala { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: center; }
.dziala p { opacity: .9; max-width: 52ch; }
.dziala-foto { margin: 0; }
.dziala-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.widmo { margin: 0; border: 1px solid var(--linia-jasna); padding: clamp(20px, 3vw, 40px); }
.widmo svg { width: 100%; height: auto; display: block; }
.widmo figcaption { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; opacity: .6; margin-top: 16px; }
.podpis-mobile { display: none; }

.przebieg { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; counter-reset: krok; }
.przebieg li { border-top: 1px solid var(--atrament); padding-top: 22px; counter-increment: krok; }
.przebieg li::before { content: "0" counter(krok); display: block; font: italic 400 40px/1 var(--szeryf); color: var(--wino); margin-bottom: 18px; }
.przebieg h3 { font-size: 22px; margin-bottom: 10px; }
.przebieg p { font-size: 15px; color: var(--szary); margin: 0; }

.efekt { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); align-items: center; }
.efekt-bez-zdjec { grid-template-columns: minmax(0, 1fr); }
.efekt-bez-zdjec > div { max-width: 760px; }
.efekt-zdjecia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.efekt-zdjecia img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.efekt-zdjecia figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding-top: 10px; font-size: 14px; }
.efekt-zdjecia figcaption span { color: var(--szary); }
.lista-linie { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linia); }
.lista-linie li { padding: 14px 0 14px 26px; border-bottom: 1px solid var(--linia); position: relative; font-size: 15.5px; }
.lista-linie li::before { content: ""; position: absolute; left: 0; top: 25px; width: 12px; height: 1px; background: var(--wino); }

.trzy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); margin-top: 48px; }
.trzy h3 { font-size: 22px; margin-bottom: 18px; }
.trzy .ramka { border: 1px solid var(--wino); padding: 28px; }
.trzy .ramka h3 { color: var(--wino); }

.faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(40px, 6vw, 100px); align-items: start; }
.faq-bok { position: sticky; top: 110px; }
.faq-bok p { color: var(--szary); }
.faq-lista { border-top: 1px solid var(--atrament); }
.faq-lista details { border-bottom: 1px solid var(--linia); }
.faq-lista summary { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; padding: 24px 0; cursor: pointer; list-style: none; }
.faq-lista summary::-webkit-details-marker { display: none; }
.faq-lista summary::after { content: "+"; font: 300 26px/1 var(--sans); color: var(--wino); transition: transform .3s; flex: none; }
.faq-lista details[open] summary::after { transform: rotate(45deg); }
.faq-lista summary h3 { margin: 0; font-size: clamp(19px, 1.6vw, 23px); }
.faq-lista details p { margin: 0 0 26px; max-width: 62ch; color: var(--szary); }

.indeks-powiazane { margin-top: 40px; }

@media (max-width: 1080px) {
  .programy li { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .programy p { grid-column: 2 / -1; grid-row: 2; }
  .przebieg { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .skrot, .dziala, .efekt, .faq, .trzy, .cennik-grupy { grid-template-columns: 1fr; }
  .faq-bok { position: static; }
  .programy li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .programy .nr { display: none; }
  .programy p, .programy .cena { grid-column: 1; grid-row: auto; text-align: left; }
  .przebieg { grid-template-columns: 1fr; }
  .hero-podstrona { min-height: 88svh; }
}

.hero-strona { min-height: 66svh; }
.przebieg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.indeks-wrap--sama-lista { grid-template-columns: minmax(0, 1fr); margin-top: 48px; }

.cennik-strona { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.cennik-spis { position: sticky; top: 100px; }
.cennik-spis ol { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--atrament); }
.cennik-spis li { border-bottom: 1px solid var(--linia); }
.cennik-spis a { display: block; padding: 12px 0; text-decoration: none; font-size: 15px; }
.cennik-spis a:hover { color: var(--wino); }
.cennik-dzial + .cennik-dzial { margin-top: 72px; }
.cennik-dzial-gora { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; margin-bottom: 20px; }
.cennik-dzial-gora h2 { margin: 0; }
.cennik-dzial h3 { margin: 36px 0 10px; font-size: clamp(20px, 1.8vw, 26px); }
.cennik-tabela--dalej { margin-top: 36px; }
.cennik-dzial-opis { margin: -8px 0 20px; color: var(--szary); font-size: 15px; }
.cennik-dzial h3 a, .cennik-tabela th a { text-decoration: none; }
.cennik-dzial h3 a:hover, .cennik-tabela th a:hover { color: var(--wino); text-decoration: underline; }
.cennik-dzial > .cennik-tabela:first-of-type { margin-top: 0; }

.efekty-spis { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 56px; }
.efekty-spis a { border: 1px solid var(--atrament); padding: 10px 18px; text-decoration: none; font-size: 14px; letter-spacing: .06em; }
.efekty-spis a:hover { background: var(--atrament); color: var(--tlo); }
.efekty-spis span { color: var(--szary); margin-left: 6px; }
.efekty-grupa + .efekty-grupa { margin-top: 72px; }
.efekty-grupa h2 { border-bottom: 1px solid var(--atrament); padding-bottom: 14px; }
.efekty-siatka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; }
.efekty-siatka figure { margin: 0; }
.efekty-siatka img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.efekty-siatka figcaption { font-size: 14px; padding-top: 10px; }
.sekcja-efekty { padding-bottom: 0; }
.sekcja-efekty .uwaga { margin-top: 32px; }

.wydarzenia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wydarzenia figure { margin: 0; }
.wydarzenia img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }

.strona-tekst { padding-top: 72px; }
.tekst-prawny { max-width: 820px; }
.tekst-prawny h1 { margin-bottom: 24px; }
.tekst-prawny h2 { font-size: clamp(22px, 2vw, 28px); margin: 48px 0 14px; padding-top: 22px; border-top: 1px solid var(--linia); }
.tekst-prawny h2 span { font: italic 400 .8em/1 var(--szeryf); color: var(--wino); margin-right: 8px; }
.tekst-prawny ol { margin: 0; padding-left: 22px; }
.tekst-prawny li { margin-bottom: 10px; line-height: 1.65; }

.pasek-mobile { display: none; }

@media (max-width: 1080px) {
  .nav, .naglowek-akcje { display: none; }
  .menu-btn { display: block; }
  .naglowek-wnetrze { height: 84px; }
  .naglowek.otwarte { inset: 0; background: var(--wino); }
  .naglowek.otwarte .naglowek-wnetrze { flex-wrap: wrap; height: auto; padding-top: 17px; }
  .naglowek.otwarte .nav { display: flex; flex-direction: column; width: 100%; gap: 0; margin: 40px 0 0; }
  .naglowek.otwarte .nav a { font: 400 34px/1.2 var(--szeryf); letter-spacing: 0; text-transform: none; padding: 14px 0; border-bottom: 1px solid var(--linia-jasna); }
  .naglowek.otwarte .naglowek-akcje { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; border: 0; padding: 32px 0 0; }
  .naglowek.otwarte .naglowek-tel { font-size: 22px; }
  .indeks-wrap { grid-template-columns: minmax(0, 1fr); }
  .indeks-panel { display: none; }
  .indeks a { grid-template-columns: 72px minmax(0, 1fr); align-items: center; }
  .indeks a.aktywne { padding-left: 0; color: inherit; }
  .indeks .nr { display: none; }
  .indeks .mini { display: block; grid-row: 1 / 4; width: 72px; aspect-ratio: 4 / 5; overflow: hidden; align-self: center; }
  .indeks .mini img { width: 100%; height: 100%; object-fit: cover; }
  .indeks .opis { grid-column: 2 / -1; grid-row: 2; }
  .indeks .od { grid-column: 2 / -1; grid-row: 3; text-align: left; }
  .stopka-siatka { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .cennik-strona { grid-template-columns: minmax(0, 1fr); }
  .cennik-spis { position: sticky; top: 72px; z-index: 5; margin: 0 calc(var(--pad) * -1); padding: 0 var(--pad); background: var(--tlo); border-bottom: 1px solid var(--linia); }
  .cennik-spis .etykieta, .cennik-spis .uwaga { display: none; }
  .cennik-spis ol { display: flex; gap: 8px; margin: 0; padding: 12px 0; border: 0; overflow-x: auto; scrollbar-width: none; }
  .cennik-spis ol::-webkit-scrollbar { display: none; }
  .cennik-spis li { border: 0; flex: none; }
  .cennik-spis a { padding: 9px 14px; font-size: 13.5px; border: 1px solid var(--atrament); white-space: nowrap; }
  .cennik-spis a.aktywny { background: var(--wino); border-color: var(--wino); color: var(--ecru); }
  .cennik-dzialy [id] { scroll-margin-top: 140px; }
  .opinie-lista { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 84%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(var(--pad) * -1); padding-right: var(--pad); border-top: 0; scrollbar-width: thin; scrollbar-color: var(--wino) transparent; }
  .opinia { scroll-snap-align: start; border: 1px solid var(--linia); border-top: 1px solid var(--atrament); padding: 24px 20px; justify-content: flex-start; }
  .opinia blockquote p { font-size: 17px; }
  .widmo svg { aspect-ratio: var(--proporcje-mobile); }
  .widmo svg text { display: none; }
  .widmo .podpis-pelny { display: none; }
  .widmo .podpis-mobile { display: block; font-size: 14px; line-height: 1.6; letter-spacing: 0; text-transform: none; }
  .widmo figcaption { opacity: .9; }
  .efekty-siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wydarzenia, .przebieg-3 { grid-template-columns: minmax(0, 1fr); }
  .hero-siatka, .wstep, .spectra, .efekty-gora, .zespol, .zespol-wstep, .wnetrze-tekst, .voucher, .kontakt { grid-template-columns: 1fr; }
  .hero-bok { border-left: 0; padding-left: 0; }
  .hero-media img { object-position: 42% 50%; }
  .hero { flex-direction: column; align-items: stretch; }
  .hero::after { content: none; }
  .hero-media { position: relative; inset: auto; flex: 1 1 auto; min-height: max(260px, 38svh); overflow: hidden; }
  .hero-media img, .hero-media video { position: absolute; inset: 0; }
  .hero-media::after {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(30, 10, 13, .55) 0%, rgba(30, 10, 13, .12) 26%, rgba(61, 21, 27, 0) 40%, rgba(61, 21, 27, .04) 47%, rgba(61, 21, 27, .16) 55%, rgba(61, 21, 27, .32) 63%, rgba(61, 21, 27, .5) 70%, rgba(61, 21, 27, .68) 77%, rgba(61, 21, 27, .84) 85%, rgba(61, 21, 27, .96) 93%, var(--wino-ciemne) 100%);
  }
  .hero-siatka { gap: 24px; }
  .zgody { left: 12px; right: 12px; bottom: 12px; padding: 18px 18px 14px; }
  .zgody p { font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
  .zgody .zgody-tytul { margin-bottom: 8px; }
  .zgody-przyciski .btn { padding-top: 14px; padding-bottom: 14px; }
  .zgody-ustawienia { margin-top: 10px; }
  .hero-tresc { flex: none; margin-top: -24px; }
  .dane div { grid-template-columns: 92px 1fr; }
  .dane dd { overflow-wrap: anywhere; }
  .indeks a { gap: 6px 14px; padding: 24px 0; }
  .spectra-foto { min-height: 420px; }
  .efekty-gora p { justify-self: start; }
  .wnetrze { grid-template-columns: 1fr 1fr; grid-template-rows: none; height: auto; }
  .wnetrze .w1, .wnetrze .w2 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 3; }
  .wnetrze .w3, .wnetrze .w4 { grid-column: auto; grid-row: auto; aspect-ratio: 3 / 4; }
  .voucher-akcje { justify-self: start; }
  .dwa { grid-template-columns: 1fr; }
  .stopka-siatka { grid-template-columns: 1fr; }
  .pasek-mobile {
    display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
    background: var(--wino); color: var(--ecru); border-top: 1px solid var(--linia-jasna);
    transform: translateY(100%); visibility: hidden; transition: transform .25s ease, visibility .25s;
  }
  .pasek-mobile.widoczny { transform: none; visibility: visible; }
  .pasek-mobile a { text-align: center; padding: 16px 8px calc(16px + env(safe-area-inset-bottom)); text-decoration: none; font: 500 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
  .pasek-mobile a + a { border-left: 1px solid var(--linia-jasna); }
  body { padding-bottom: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.opinie-gora { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 48px; flex-wrap: wrap; }
.opinie-gora h2 { margin: 0; max-width: 16ch; }
.opinie-gora p { margin: 0; font-size: 14px; line-height: 1.9; }
.opinie-gora a { color: var(--atrament); text-underline-offset: 4px; }
.opinie-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 clamp(32px, 4vw, 64px); border-top: 1px solid var(--atrament); }
.opinia { margin: 0; padding: 32px 0; border-bottom: 1px solid var(--linia); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.opinia blockquote { margin: 0; }
.opinia blockquote p { font-family: "Bodoni Moda", serif; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.45; margin: 0; }
.opinia figcaption { font-size: 13px; color: var(--szary); }
.opinia figcaption strong { display: block; color: var(--atrament); font-weight: 600; letter-spacing: .04em; margin-bottom: 2px; }
.efekt + .opinie { margin-top: var(--sekcja); }

.zgody { position: fixed; left: 24px; bottom: 24px; z-index: 60; max-width: 420px; background: var(--tlo); color: var(--atrament); border: 1px solid var(--atrament); padding: 24px 24px 22px; box-shadow: 0 12px 40px rgba(35, 27, 28, .18); }
.zgody[hidden] { display: none; }
.zgody p { font-size: 14px; line-height: 1.6; margin: 0 0 18px; }
.zgody .zgody-tytul { font: 500 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--wino); margin-bottom: 12px; }
.zgody a { color: var(--atrament); }
.zgody-przyciski { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.zgody-przyciski .btn { padding-left: 12px; padding-right: 12px; justify-content: center; text-align: center; }
.zgody .btn-linia { background: transparent; color: var(--atrament); border-color: var(--atrament); }
.zgody .btn-linia:hover { background: var(--atrament); color: var(--ecru); }
.zgody { max-height: calc(100vh - 48px); overflow-y: auto; }
.zgody-wybor { border-top: 1px solid var(--linia, rgba(35, 27, 28, .15)); margin: 0 0 18px; }
.zgody-wybor[hidden] { display: none; }
.zgody-kat { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--linia, rgba(35, 27, 28, .15)); font-size: 13px; line-height: 1.55; cursor: pointer; }
.zgody-kat input { margin-top: 3px; accent-color: var(--wino); flex: none; }
.zgody-kat input:disabled + span { cursor: default; }
.zgody-kat b { display: block; font-weight: 600; color: var(--wino); }
.zgody-ustawienia { display: block; margin: 14px auto 0; font-size: 13px; }
.zgody-zapisz { width: 100%; justify-content: center; margin-top: 12px; }
.zgody-zapisz[hidden] { display: none; }
.link-cookies { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 820px) {
  .zgody { left: 12px; right: 12px; bottom: calc(64px + env(safe-area-inset-bottom)); max-width: none; padding: 20px; }
}

.efekty-spis a[aria-current] { background: var(--atrament); color: var(--tlo); }
.efekty-spis a[aria-current] span { color: inherit; opacity: .7; }
.blog-pusto { max-width: 720px; }
.wpis, .wpisy-lista, .blog-pasek { overflow-wrap: anywhere; }
.wpisy-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--atrament); }
.wpisy-lista > li { border-bottom: 1px solid var(--linia); }
.wpis-skrot { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding: 40px 0; align-items: start; }
.wpis-skrot:not(:has(.wpis-skrot-foto)) { grid-template-columns: minmax(0, 1fr); }
.wpis-skrot-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.wpis-skrot h2 { font-size: clamp(24px, 2.4vw, 34px); margin: 0 0 14px; max-width: 26ch; }
.wpis-skrot h2 a { text-decoration: none; }
.wpis-skrot h2 a:hover { color: var(--wino); }
.wpis-skrot p { max-width: 62ch; color: var(--szary); }
.wpis-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--szary); margin-bottom: 14px; }
.wpis-meta a, .wpis-meta span { color: var(--wino); text-decoration: none; }
.wpis-meta span + span, .wpis-meta a + span { color: var(--szary); }
.wpis-autor { font-size: 14px; color: var(--szary); }
.stronicowanie { display: flex; gap: 8px; margin-top: 40px; }
.stronicowanie a { min-width: 42px; padding: 8px 12px; border: 1px solid var(--linia); text-align: center; text-decoration: none; }
.stronicowanie a[aria-current] { background: var(--atrament); color: var(--tlo); border-color: var(--atrament); }

.wpis-szkic { background: #fff4d6; padding-top: 12px; padding-bottom: 12px; font-size: 14px; margin-top: 0; }
.wpis-gora { max-width: 900px; margin-bottom: 48px; }
.wpis-gora h1 { font-size: clamp(36px, 4.6vw, 64px); line-height: 1.08; margin: 0 0 20px; }
.wpis-siatka { display: grid; grid-template-columns: minmax(0, 760px) 300px; gap: clamp(40px, 6vw, 96px); align-items: start; }
.wpis-tresc { font-size: clamp(16.5px, 1.15vw, 18px); line-height: 1.75; }
.wpis-tresc > * { max-width: 68ch; }
.wpis-lead { font-size: clamp(19px, 1.5vw, 22px); color: var(--atrament); padding-bottom: 28px; border-bottom: 1px solid var(--linia); margin-bottom: 36px; }
.wpis-foto, .wpis-tresc figure { max-width: none; margin: 36px 0; }
.wpis-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.wpis-tresc figure img { width: auto; max-width: 100%; max-height: min(720px, 80vh); height: auto; }
.wpis-tresc h2 { font-size: clamp(26px, 2.4vw, 34px); margin: 1.6em 0 .55em; }
.wpis-tresc h3 { font-size: clamp(20px, 1.7vw, 24px); margin: 1.4em 0 .45em; }
.wpis-tresc ul, .wpis-tresc ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.wpis-tresc li { margin-bottom: .45em; }
.wpis-tresc li::marker { color: var(--wino); }
.wpis-tresc blockquote { margin: 1.6em 0; padding: 4px 0 4px 26px; border-left: 2px solid var(--wino); font: italic 400 clamp(20px, 1.7vw, 24px)/1.5 var(--szeryf); }
.wpis-tresc a { color: var(--wino); }
.wpis-faq { margin-top: 64px; }
.wpis-faq h2 { margin-bottom: 18px; }
.wpis-autorka { margin-top: 64px; padding: 28px 0 0; border-top: 1px solid var(--atrament); }
.wpis-autorka-imie { font: 600 24px/1.2 var(--szeryf); margin: 10px 0 4px; }
.wpis-autorka-rola { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--wino); }
.wpis-autorka p:not([class]) { color: var(--szary); font-size: 15.5px; }

.wpis-bok-strona { position: sticky; top: 100px; display: grid; gap: 28px; }
.wpis-spis ol { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--atrament); }
.wpis-spis li { border-bottom: 1px solid var(--linia); }
.wpis-spis a { display: block; padding: 10px 0; text-decoration: none; font-size: 14.5px; line-height: 1.45; }
.wpis-spis a:hover { color: var(--wino); }
.wpis-spis .poziom-3 a { padding-left: 16px; font-size: 13.5px; color: var(--szary); }
.wpis-zabieg { background: var(--len); padding: 26px; display: grid; gap: 10px; justify-items: start; }
.wpis-zabieg p { margin: 0; font-size: 14.5px; color: var(--szary); }
.wpis-zabieg .wpis-zabieg-nazwa { font: 600 22px/1.2 var(--szeryf); color: var(--atrament); }
.wpis-zabieg-cena b { font: 600 24px/1 var(--szeryf); color: var(--atrament); }
.wpis-zabieg .btn { margin-top: 6px; }

.blog-pasek { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 40px); }
.blog-pasek a { display: grid; gap: 10px; text-decoration: none; align-content: start; }
.blog-pasek img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 6px; }
.blog-pasek time { font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--szary); }
.blog-pasek h3 { margin: 0; font-size: clamp(20px, 1.7vw, 24px); line-height: 1.25; }
.blog-pasek a:hover h3 { color: var(--wino); }
.blog-pasek p { margin: 0; font-size: 15px; color: var(--szary); }

@media (max-width: 1080px) {
  .wpis-siatka { grid-template-columns: minmax(0, 1fr); }
  .wpis-bok-strona { position: static; }
  .wpis-spis { display: none; }
}
@media (max-width: 820px) {
  .wpis-skrot { grid-template-columns: minmax(0, 1fr); padding: 32px 0; gap: 18px; }
  .blog-pasek { grid-template-columns: minmax(0, 1fr); }
}
