/* Fonty self-hosted (Playfair Display + Inter, subset latin + latin-ext).
   Pobrane z Google Fonts v20/woff2. Zamiast zewnetrznego CDN - prywatnosc, LCP, SRI. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/inter-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-ext-500.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-500.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/inter-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-ext-400-italic.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-400-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: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-ext-500-italic.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: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-500-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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-ext-500.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-500.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   DEEP & KIND RETREATS — WSPÓLNY ARKUSZ STYLÓW
   Paleta i typografia w jednym miejscu: zmień tutaj, a zmieni
   się na całej stronie.
   ============================================================ */
:root {
  --zielen-ciemna: #2E3D2F;
  --krem: #F1EDE4;
  --krem-cieplejszy: #E9E3D7;
  --kremowa-karta: #F6F3EC;
  --terakota: #C0653F;
  --terakota-ciemna: #A9552F;
  --grafit: #23231F;
  --tekst: #4A4A44;
  --linia: #D8D2C4;
  --bialy-cieply: #F5F1E8;
  --font-naglowki: 'Playfair Display', Georgia, serif;
  --font-tekst: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --szerokosc: 1180px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
body {
  font-family: var(--font-tekst);
  color: var(--tekst);
  background: var(--krem);
  line-height: 1.7;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
}
.kontener { max-width: var(--szerokosc); margin: 0 auto; padding: 0 32px; }
h1, h2, h3 { font-family: var(--font-naglowki); color: var(--grafit); font-weight: 500; line-height: 1.15; }
a { color: inherit; }
section { padding: 110px 0; }
:focus-visible { outline: 2px solid var(--terakota); outline-offset: 3px; }

.etykieta {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--terakota);
  margin-bottom: 20px;
}
.tlo-cieplejsze { background: var(--krem-cieplejszy); }

/* ---------- Nawigacja ---------- */
.naglowek { position: absolute; top: 0; left: 0; right: 0; z-index: 50; padding: 26px 0; }
.naglowek-staly { position: static; background: var(--zielen-ciemna); }
.naglowek .kontener { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo { font-family: var(--font-naglowki); font-size: 24px; color: var(--bialy-cieply); text-decoration: none; white-space: nowrap; }
.menu { display: flex; align-items: center; gap: 32px; list-style: none; }
.menu a {
  color: var(--bialy-cieply); text-decoration: none; font-size: 13px; font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.92; transition: opacity 0.2s;
}
.menu a:hover { opacity: 1; }
.jezyki { color: var(--bialy-cieply); font-size: 13px; letter-spacing: 0.15em; }
.jezyki a { text-decoration: none; opacity: 0.6; }
.jezyki .aktywny { font-weight: 600; opacity: 1; }
.menu-przycisk { display: none; background: none; border: none; color: var(--bialy-cieply); font-size: 28px; cursor: pointer; line-height: 1; }

/* ---------- Przyciski i odnośniki ---------- */
.przycisk {
  display: inline-block; padding: 17px 38px; font-family: var(--font-tekst); font-size: 16px;
  font-weight: 500; text-decoration: none; border-radius: 6px; cursor: pointer;
  transition: background 0.2s, border-color 0.2s; border: 1px solid transparent;
}
.przycisk-pelny { background: var(--terakota); color: #fff; }
.przycisk-pelny:hover { background: var(--terakota-ciemna); }
.przycisk-obrys { background: transparent; color: var(--bialy-cieply); border-color: rgba(245,241,232,0.55); }
.przycisk-obrys:hover { border-color: var(--bialy-cieply); }
.link-podkreslony {
  display: inline-block; font-weight: 500; color: var(--grafit); text-decoration: none;
  border-bottom: 1px solid var(--grafit); padding-bottom: 3px;
}
.link-podkreslony:hover { color: var(--terakota); border-color: var(--terakota); }

/* ---------- Hero (strona główna) ---------- */
.hero {
  position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 0;
  background: linear-gradient(rgba(35,48,36,0.62), rgba(35,48,36,0.62)),
              url('/images/hero-las.jpg') center / cover no-repeat, var(--zielen-ciemna);
}
.hero-tresc { max-width: 860px; padding: 140px 32px 120px; }
.hero .etykieta { color: var(--bialy-cieply); opacity: 0.9; margin-bottom: 28px; }
.hero h1 { font-size: clamp(52px, 8vw, 96px); color: var(--bialy-cieply); margin-bottom: 22px; }
.hero .motto { font-family: var(--font-naglowki); font-style: italic; font-size: clamp(22px, 3vw, 30px); color: var(--bialy-cieply); margin-bottom: 34px; }
.hero .opis { color: var(--bialy-cieply); opacity: 0.95; max-width: 640px; margin: 0 auto 46px; font-size: 18px; }
.hero-przyciski { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }

/* ---------- Nagłówek podstrony ---------- */
.podstrona-naglowek { padding: 90px 0 70px; }
.podstrona-naglowek .okruszki { font-size: 14px; margin-bottom: 34px; }
.podstrona-naglowek .okruszki a { color: var(--tekst); text-decoration: none; }
.podstrona-naglowek .okruszki a:hover { color: var(--terakota); }
.podstrona-naglowek h1 { font-size: clamp(42px, 6vw, 68px); margin-bottom: 24px; }
.podstrona-naglowek .wstep { max-width: 640px; font-size: 18px; }

/* ---------- Sekcje treści ---------- */
.sekcja-h2 { font-size: clamp(38px, 5vw, 58px); margin-bottom: 44px; }
.tekst-waski { max-width: 640px; }
.tekst-sredni { max-width: 820px; font-size: 18px; }
.tekst-waski p + p, .tekst-sredni p + p { margin-top: 26px; }

.filary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; margin-top: 90px; }
.filar::before { content: ""; display: block; width: 44px; height: 3px; background: var(--linia); margin-bottom: 26px; }
.filar h3 { font-size: 27px; margin-bottom: 16px; }
.filar p { font-size: 16px; }

.motto-pytanie { font-family: var(--font-naglowki); font-style: italic; font-size: 26px; color: var(--grafit); margin-top: 44px; }

/* ---------- Założycielka ---------- */
.zalozycielka-siatka { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 70px; align-items: start; margin-top: 56px; }
.zalozycielka-foto {
  aspect-ratio: 4 / 5;
  background: var(--krem-cieplejszy) url('/images/zalozycielka.jpg') center / cover no-repeat;
  border: 1px solid var(--linia);
  border-radius: 4px;
}
.zalozycielka-siatka .tekst-sredni { font-size: 15px; max-width: none; }
.zalozycielka-siatka .tekst-sredni p + p { margin-top: 14px; }
.zalozycielka-siatka h2 { margin-bottom: 22px; }
.zalozycielka-podpis { margin-top: 26px; }
.zalozycielka-podpis .imie { font-family: var(--font-naglowki); font-size: 24px; color: var(--grafit); }
.zalozycielka-podpis .rola { font-size: 15px; color: var(--tekst); margin-top: 4px; }

/* ---------- Dla kogo ---------- */
.dla-kogo-siatka { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
.grupy { list-style: none; }
.grupy li {
  background: var(--kremowa-karta); padding: 26px 30px; font-family: var(--font-naglowki);
  font-size: 22px; color: var(--grafit); border-bottom: 1px solid var(--linia);
}
.grupy li:last-child { border-bottom: none; }
.objawy-etykieta { font-size: 13px; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; color: var(--terakota); margin-bottom: 30px; }
.objawy { list-style: none; counter-reset: objaw; }
.objawy li {
  counter-increment: objaw; display: flex; gap: 20px; padding: 24px 0;
  border-bottom: 1px solid var(--linia); font-size: 19px; color: var(--grafit); line-height: 1.5;
}
.objawy li::before { content: counter(objaw, decimal-leading-zero); font-family: var(--font-naglowki); color: var(--terakota); font-size: 17px; padding-top: 3px; }

/* ---------- Karty wyjazdów ---------- */
.karty { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.karta { background: var(--kremowa-karta); border: 1px solid var(--linia); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; }
.karta-foto { height: 300px; background: var(--zielen-ciemna) center / cover no-repeat; }
.karta-foto.biebrza { background-image: url('/images/wyjazd-biebrza.jpg'); }
.karta-foto.jesien { background-image: url('/images/wyjazd-jesien.jpg'); }
.karta-tresc { padding: 38px 40px 44px; display: flex; flex-direction: column; flex: 1; }
.karta-naglowek { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 22px; }
.karta-typ { font-size: 12px; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; color: var(--terakota); }
.karta-termin { font-size: 15px; white-space: nowrap; }
.karta h3 { font-size: 32px; margin-bottom: 10px; }
.karta h3 a { text-decoration: none; }
.karta h3 a:hover { color: var(--terakota); }
.karta-miejsce { font-size: 16px; margin-bottom: 28px; }
.karta-program { list-style: none; margin-bottom: 36px; }
.karta-program li { position: relative; padding: 6px 0 6px 22px; font-size: 16px; }
.karta-program li::before { content: "\2022"; position: absolute; left: 0; color: var(--terakota); }
.karta-link { margin-top: auto; align-self: flex-start; font-weight: 500; color: var(--grafit); text-decoration: none; border-bottom: 1px solid var(--grafit); padding-bottom: 3px; }
.karta-link::after { content: " \2197"; }
.karta-link:hover { color: var(--terakota); border-color: var(--terakota); }

.za-nami { margin-top: 100px; }
.za-nami-ramka {
  border: 1px dashed var(--linia); border-radius: 4px; padding: 90px 40px; text-align: center;
  font-family: var(--font-naglowki); font-style: italic; font-size: 24px;
}

/* ---------- Newsletter ---------- */
.newsletter { text-align: center; }
.newsletter h2 { font-size: clamp(38px, 5vw, 56px); margin-bottom: 24px; max-width: 700px; margin-left: auto; margin-right: auto; }
.newsletter .wstep { max-width: 620px; margin: 0 auto 50px; font-size: 18px; }
.formularz-newsletter { max-width: 640px; margin: 0 auto 26px; }
.formularz-newsletter-pola { display: flex; gap: 16px; }
.formularz-newsletter input[type="email"] {
  flex: 1; padding: 18px 22px; font-family: var(--font-tekst); font-size: 16px; color: var(--grafit);
  background: var(--kremowa-karta); border: 1px solid var(--linia); border-radius: 6px;
}
.formularz-newsletter input::placeholder { color: #9A958A; }
.zgoda { font-size: 14px; max-width: 480px; margin: 0 auto; }
.formularz-info { margin-top: 18px; font-size: 15px; color: var(--terakota); display: none; }
.formularz-info.formularz-sukces { color: var(--zielen-ciemna); }
.pole-pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-turnstile { margin: 0 auto 20px; }

/* ---------- FAQ ---------- */
.faq-lista { max-width: 900px; }
.faq-pozycja { border-bottom: 1px solid var(--linia); }
.faq-pytanie {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  background: none; border: none; text-align: left; padding: 30px 0; cursor: pointer;
  font-family: var(--font-naglowki); font-size: 25px; color: var(--grafit);
}
.faq-pytanie .strzalka { transition: transform 0.25s; font-size: 16px; }
.faq-pozycja.otwarta .strzalka { transform: rotate(180deg); }
.faq-odpowiedz { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-odpowiedz p { padding: 0 0 30px; max-width: 760px; }

/* ---------- Manifest ---------- */
.manifest { background: var(--zielen-ciemna); color: var(--bialy-cieply); padding: 130px 0; }
.manifest h2 { color: var(--bialy-cieply); font-size: clamp(40px, 5.5vw, 64px); margin-bottom: 60px; }
.manifest p { max-width: 720px; font-size: 19px; opacity: 0.94; }
.manifest p + p { margin-top: 30px; }

/* ---------- Zamknięcie / CTA ---------- */
.zamkniecie { text-align: center; padding: 140px 0; }
.zamkniecie h2 { font-size: clamp(34px, 4.5vw, 52px); max-width: 900px; margin: 0 auto 50px; }

/* ---------- Strona wyjazdu: overview i checklisty ---------- */
.overview-siatka { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: start; }
.checklista { list-style: none; }
.checklista li { position: relative; padding: 10px 0 10px 40px; font-size: 18px; color: var(--grafit); }
.checklista li::before {
  content: "\2713"; position: absolute; left: 0; top: 10px; width: 26px; height: 26px;
  border: 1.5px solid var(--terakota); border-radius: 50%; color: var(--terakota);
  font-size: 14px; display: flex; align-items: center; justify-content: center;
}

/* ---------- Program: oś czasu ---------- */
.program-naglowek { text-align: center; margin-bottom: 40px; }
.program-naglowek h2 { font-size: clamp(40px, 5.5vw, 62px); margin-bottom: 26px; }
.program-motto { font-style: italic; max-width: 640px; margin: 0 auto; font-size: 18px; }
.dzien { margin-top: 90px; }
.dzien-tytul { font-size: clamp(32px, 4vw, 46px); margin-bottom: 10px; }
.dzien-tytul .ang { color: #6E6E64; }
.dzien-motto { font-style: italic; margin-bottom: 50px; }
.os { list-style: none; border-left: 1px solid var(--linia); margin-left: 14px; }
.os li { position: relative; padding: 0 0 44px 46px; }
.os li:last-child { padding-bottom: 0; }
.os li::before {
  content: ""; position: absolute; left: -15px; top: 0; width: 28px; height: 28px;
  background: var(--kremowa-karta); border: 1px solid var(--linia); border-radius: 50%;
}
.os li.akcent::before { background: var(--terakota); border-color: var(--terakota); }
.os .czas { display: block; font-size: 14px; letter-spacing: 0.12em; margin-bottom: 6px; }
.os h4 { font-family: var(--font-naglowki); font-weight: 500; font-size: 25px; color: var(--grafit); margin-bottom: 6px; }
.os p { font-size: 16px; max-width: 680px; }

/* ---------- Miejsce, kuchnia, cena ---------- */
.duze-zdjecie { width: 100%; border-radius: 4px; display: block; margin-top: 40px; }
.dwie-kolumny { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 50px; }
.trzy-cechy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 60px; }
.cecha { border-top: 1px solid var(--linia); padding-top: 30px; }
.cecha .ikona { color: var(--terakota); font-size: 22px; margin-bottom: 16px; display: block; }
.cecha h3 { font-size: 24px; margin-bottom: 12px; }
.cecha p { font-size: 16px; }
.cennik { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin: 60px 0; }
.cena-pozycja { border-top: 1px solid var(--linia); padding-top: 30px; }
.cena-pozycja .ikona { color: var(--terakota); font-size: 22px; margin-bottom: 16px; display: block; }
.cena-pozycja h3 { font-size: 25px; margin-bottom: 12px; }
.cena-kwota { font-family: var(--font-naglowki); font-size: 42px; color: var(--grafit); }
.cena-nota { font-size: 17px; max-width: 760px; margin-top: 40px; }

/* ---------- Zapisy ---------- */
.zapisy { text-align: center; }
.zapisy h2 { font-size: clamp(38px, 5vw, 58px); margin-bottom: 22px; }
.zapisy .termin { font-size: 18px; margin-bottom: 16px; }
.zapisy .limit { color: var(--terakota); font-weight: 500; margin-bottom: 50px; }
.formularz-zapisy { max-width: 560px; margin: 0 auto; text-align: left; }
.formularz-zapisy .formularz-info { text-align: center; }
.regulamin-nota { margin-top: 34px; font-size: 16px; }

/* ---------- Blog ---------- */
.wpisy { display: grid; gap: 0; max-width: 900px; }
.wpis { border-bottom: 1px solid var(--linia); padding: 44px 0; }
.wpis-meta { font-size: 14px; letter-spacing: 0.06em; margin-bottom: 14px; }
.wpis-meta .kategoria { color: var(--terakota); font-weight: 600; }
.wpis h2 { font-size: 32px; margin-bottom: 14px; }
.wpis h2 a { text-decoration: none; }
.wpis h2 a:hover { color: var(--terakota); }
.wpis p { max-width: 720px; margin-bottom: 22px; }

/* ---------- Kontakt ---------- */
.kontakt-siatka { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
.kontakt-blok { border-top: 1px solid var(--linia); padding: 28px 0; }
.kontakt-blok h3 { font-size: 23px; margin-bottom: 10px; }
.formularz-kontakt label { display: block; font-size: 14px; font-weight: 500; color: var(--grafit); margin: 22px 0 8px; }
.formularz-kontakt input, .formularz-kontakt textarea, .formularz-kontakt select {
  width: 100%; padding: 15px 18px; font-family: var(--font-tekst); font-size: 16px; color: var(--grafit);
  background: var(--kremowa-karta); border: 1px solid var(--linia); border-radius: 6px;
}
.formularz-kontakt textarea { min-height: 160px; resize: vertical; }
.formularz-kontakt .zgoda { text-align: left; margin: 22px 0 26px; max-width: none; }
.formularz-kontakt button.loading { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.ml-form-embedSubmitLoad { display: inline-block; width: 20px; height: 20px; border: 2px solid color-mix(in srgb, var(--zielen-ciemna) 25%, transparent); border-top-color: var(--zielen-ciemna); border-radius: 50%; animation: ml-spin 0.7s linear infinite; }
@keyframes ml-spin { to { transform: rotate(360deg); } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Stopka ---------- */
.stopka { background: var(--zielen-ciemna); color: var(--bialy-cieply); padding: 90px 0 40px; }
.stopka-siatka { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 50px; margin-bottom: 70px; }
.stopka .logo { font-size: 26px; display: inline-block; margin-bottom: 18px; }
.stopka p { font-size: 15px; opacity: 0.85; max-width: 300px; }
.stopka h3 {
  color: var(--bialy-cieply); font-family: var(--font-tekst); font-size: 13px; font-weight: 600;
  letter-spacing: 0.24em; text-transform: uppercase; margin-bottom: 24px; opacity: 0.7;
}
.stopka ul { list-style: none; }
.stopka ul li { margin-bottom: 14px; }
.stopka ul a { color: var(--bialy-cieply); text-decoration: none; font-size: 16px; opacity: 0.9; }
.stopka ul a:hover { opacity: 1; text-decoration: underline; }
.stopka-dol {
  border-top: 1px solid rgba(245,241,232,0.18); padding-top: 30px; display: flex;
  justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 14px; opacity: 0.7;
}

/* ---------- Mobile ---------- */
@media (max-width: 960px) {
  section { padding: 80px 0; }
  .menu {
    display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column;
    gap: 0; background: var(--zielen-ciemna); padding: 10px 0 20px; z-index: 60;
  }
  .naglowek { position: relative; background: var(--zielen-ciemna); }
  .hero { margin-top: 0; }
  .menu.otwarte { display: flex; }
  .menu li { width: 100%; text-align: center; }
  .menu a { display: block; padding: 14px 0; }
  .menu-przycisk { display: block; }
  .filary, .trzy-cechy { grid-template-columns: 1fr; gap: 44px; }
  .dla-kogo-siatka, .overview-siatka, .dwie-kolumny, .cennik, .kontakt-siatka { grid-template-columns: 1fr; gap: 50px; }
  .zalozycielka-siatka { grid-template-columns: 1fr; gap: 40px; }
  .zalozycielka-foto { max-width: 420px; }
  .karty { grid-template-columns: 1fr; }
  .formularz-newsletter-pola { flex-direction: column; }
  .stopka-siatka { grid-template-columns: 1fr; gap: 40px; }
  .karta-tresc { padding: 30px 26px 36px; }
  .faq-pytanie { font-size: 21px; }
}
