/* =============================================================================
   Pracownia Zdrowia - gabinet endokrynologiczny, Rybnik
   Kierunek: SPOKOJNY GABINET (paleta 1:1 z logo)

   Logo ma dokładnie dwa kolory na bieli: turkus #45B9B2 i grafit #393939.
   Cała paleta jest z nich wyprowadzona - odcień turkusu (H 176) trzymany jest
   na każdym poziomie jasności, grafit został neutralny jak w logo.
   Czysty #45B9B2 ma na bieli tylko 2,4:1, więc do tekstu i CTA idą ciemniejsze
   stopnie tego samego odcienia, a sam kolor logo pracuje tam, gdzie jest
   czytelny: na ciemnych sekcjach, obwódkach i grafice dekoracyjnej.
   ============================================================================= */

:root{
  --turkus-logo:#45B9B2;   /* dokładnie z logo - ciemne sekcje, obwódki, dekory */
  --turkus:#2F7E7A;        /* akcent w nagłówkach, ikony (4,77 na bieli) */
  --turkus-2:#276864;      /* CTA, linki (6,46 na bieli) */
  --turkus-3:#E6F5F4;      /* mgiełka */
  --szalwia:#4C7674;       /* pas i mocne tła (biel na nim 5,05) */
  --szalwia-2:#3C5D5B;
  --szalwia-3:#EDF3F2;     /* tło sekcji */
  --grafit:#333333;        /* nagłówki, stopka - grafit z logo */
  --grafit-2:#5A5F5F;      /* tekst ciągły (6,5 na bieli) */
  --piasek:#F4F7F6;        /* chłodna biel */
  --bialy:#FFFFFF;

  --font-nag:'Sora','Segoe UI',system-ui,sans-serif;
  --font-tekst:'Inter','Segoe UI',system-ui,sans-serif;

  --r-sm:14px;
  --r:22px;
  --r-lg:32px;
  --cien:0 10px 28px rgba(51,51,51,.10);
  --cien-duzy:0 18px 42px rgba(51,51,51,.16);
  --dur:.3s;
  --ease:cubic-bezier(.2,.7,.2,1);
  --max:1160px;
}

html{scroll-behavior:smooth}
body{background:var(--bialy);color:var(--grafit-2);
  font-family:var(--font-tekst);font-size:16.5px;line-height:1.7;
  -webkit-font-smoothing:antialiased}

.container{width:min(100% - 40px,var(--max));margin-inline:auto}
@media (max-width:700px){.container{width:calc(100% - 32px)}}

h1,h2,h3{font-family:var(--font-nag);color:var(--grafit);font-weight:600;
  letter-spacing:-.015em;line-height:1.15}
h1{font-size:clamp(32px,5vw,58px);overflow-wrap:break-word}
h2{font-size:clamp(27px,3.6vw,42px)}
h3{font-size:19px;line-height:1.3}
p{max-width:64ch}
a{color:var(--turkus-2)}
h1 em,h2 em{font-style:normal;color:var(--turkus)}

/* --- etykieta --------------------------------------------------------------- */
.etykieta{display:inline-flex;align-items:center;gap:9px;font-size:12px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--turkus-2);
  background:var(--turkus-3);border-radius:999px;padding:8px 16px;margin:0 0 16px}
.sec-head{max-width:62ch;margin-bottom:clamp(32px,4vw,50px)}
.sec-head p{margin-top:14px}
.sec-head--srodek{text-align:center;margin-inline:auto}
.sec-head--srodek p{margin-inline:auto}

/* =============================================================================
   PRZYCISKI
   ============================================================================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-nag);font-size:15px;font-weight:600;padding:15px 28px;
  border-radius:999px;text-decoration:none;border:1.5px solid transparent;
  white-space:nowrap;cursor:pointer;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),
             background var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease)}
/* CIEMNIEJSZY turkus na CTA - jasny dawał 3,82:1 z białym napisem (L-028) */
.btn-primary{background:var(--turkus-2);color:#fff;box-shadow:var(--cien)}
.btn-primary:hover{background:#1E524F;transform:translateY(-2px);box-shadow:var(--cien-duzy)}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{opacity:.5;transform:none}
.btn-ghost{background:#fff;color:var(--grafit);border-color:#D6E0DF}
.btn-ghost:hover{border-color:var(--turkus);color:var(--turkus-2);background:var(--turkus-3)}
.btn__ico svg{display:block;width:17px;height:17px}
.section-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;
  margin-top:36px;width:100%;max-width:none}

/* =============================================================================
   NAGŁÓWEK
   ============================================================================= */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);border-bottom:1px solid #E5ECEB}
.site-header .container{display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-height:76px}
.brand{display:flex;align-items:center;min-width:0;text-decoration:none}
.brand-znak{flex:none;height:40px;width:auto;display:block}
@media (max-width:520px){.brand-znak{height:32px}}
.site-header nav{display:flex;align-items:center;gap:6px}
.site-header nav a{font-size:14.5px;font-weight:500;color:var(--grafit-2);
  text-decoration:none;padding:9px 14px;border-radius:999px;
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--turkus-2);
  background:var(--turkus-3)}
.tel-pill,.site-header nav a.tel-pill{display:inline-flex;align-items:center;gap:9px;
  background:var(--turkus-2);color:#fff;border-radius:999px;padding:11px 20px;
  font-family:var(--font-nag);font-size:14.5px;font-weight:600;white-space:nowrap;
  box-shadow:var(--cien);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}
.tel-pill svg{width:15px;height:15px;display:block}
.site-header nav a.tel-pill:hover{transform:translateY(-2px);background:#1E524F;color:#fff}
@media (max-width:1120px){.site-header nav .tel-pill{display:none}}

.nav-toggle{display:none;width:46px;height:46px;background:var(--piasek);
  border:1px solid #E5ECEB;border-radius:14px;cursor:pointer;position:relative}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;
  left:13px;right:13px;height:2px;border-radius:2px;background:var(--grafit)}
.nav-toggle::before{top:16px}.nav-toggle span{top:22px}.nav-toggle::after{top:28px}
@media (max-width:920px){
  .nav-toggle{display:block}
  .site-header nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #E5ECEB;
    padding:10px 20px 18px;display:none;box-shadow:0 18px 30px rgba(51,51,51,.08)}
  .site-header nav.otwarte{display:flex}
  .site-header nav a{width:100%;padding:13px 6px;border-radius:12px}
  .site-header nav .tel-pill{display:inline-flex;justify-content:center;margin-top:8px}
}

/* =============================================================================
   HERO
   ============================================================================= */
.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;
  align-items:center;min-height:clamp(380px,52svh,520px);
  padding-block:clamp(52px,7vw,88px);background-color:var(--szalwia-3)}
.hero__tlo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;object-position:68% 55%}
.hero__zaslona{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(97deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 36%,
    rgba(255,255,255,.55) 64%,rgba(255,255,255,.12) 100%)}
.hero h1{margin:0}
.hero__lead{margin-top:18px;max-width:48ch;font-size:clamp(16px,1.7vw,18.5px)}
.hero__cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:clamp(24px,3.2vw,34px)}
@media (max-width:420px){.hero__cta .btn{width:100%}}
.hero__fakty{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;
  font-size:14px;color:var(--grafit-2)}
.hero__fakty span{display:inline-flex;align-items:center;gap:8px}
.hero__fakty svg{width:16px;height:16px;color:var(--turkus);flex:none}
@media (max-width:700px){
  .hero__zaslona{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.88) 55%,rgba(255,255,255,.5) 100%)}
  .hero__tlo{object-position:76% 58%}
}

/* --- pas problemów (szałwia) ------------------------------------------------ */
.pas-problemy{background:var(--szalwia);color:#fff}
.pas-problemy .container{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:8px 26px;padding-block:16px;text-align:center}
.pas-problemy b{font-family:var(--font-nag);font-weight:600;font-size:15.5px}
.pas-problemy span{font-size:14.5px;color:rgba(255,255,255,.94)}

/* =============================================================================
   SEKCJE
   ============================================================================= */
.section{padding-block:clamp(62px,8vw,104px)}
main [id]{scroll-margin-top:94px}
main>.section.mgla{background:var(--piasek)}
main>.section.szalwiowa{background:var(--szalwia-3)}

/* --- karty atutów ----------------------------------------------------------- */
.atuty{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.atuty{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){.atuty{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.atut{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);padding:26px 24px;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.atut:hover{transform:translateY(-4px);box-shadow:var(--cien)}
.atut__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;
  background:var(--turkus-3);color:var(--turkus-2);margin-bottom:15px}
.atut__ico svg{width:23px;height:23px}
.atut h3{font-size:17.5px;margin-bottom:7px}
.atut p{font-size:14.5px;max-width:none}

/* --- usługi (kafle z ikoną) -------------------------------------------------- */
.uslugi-siatka{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.uslugi-siatka{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* „Specjalizacje i metody" na stronie głównej: 4 kafle w rzędzie, dwa rzędy */
@media (min-width:1000px){#zakres .uslugi-siatka{grid-template-columns:repeat(4,minmax(0,1fr))}}
.usluga{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;
  background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);padding:22px}
.usluga__ico{display:grid;place-items:center;width:54px;height:54px;flex:none;
  border-radius:17px;background:var(--turkus-2);color:#fff}
.usluga__ico svg{width:26px;height:26px;display:block}
/* na /oferta/ nagłówkiem karty jest H2 - musi mieć rozmiar h3 i łamać długie
   słowa („endokrynologiczna"), inaczej rozpycha stronę przy 390 px (L-030) */
.usluga h2,.usluga h3{font-size:17.5px;margin-bottom:6px;overflow-wrap:anywhere;
  line-height:1.3}
.usluga p{font-size:14.5px;max-width:none}
/* wariant ze zdjęciem zamiast ikony - foto na całą szerokość kafla, tekst pod */
.usluga--foto{grid-template-columns:minmax(0,1fr);gap:0;padding:0;overflow:hidden}
.usluga__foto{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.usluga--foto>div{padding:20px 22px 24px}

/* --- zespół ------------------------------------------------------------------ */
.zespol-siatka{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.zespol-siatka{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){.zespol-siatka{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Bez zdjęć lekarzy: zamiast monogramów idzie ikona specjalizacji, a karty
   są wyrównane do dołu (grid-template-rows + dl w ostatnim wierszu), żeby
   telefon zawsze siedział w tej samej linii mimo różnej długości opisów. */
.osoba{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);padding:24px;
  display:flex;flex-direction:column;gap:5px}
.osoba__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--turkus-2);color:#fff;margin-bottom:11px}
.osoba__ico svg{width:26px;height:26px;display:block}
.osoba h3{font-size:17px}
.osoba__rola{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--turkus-2);margin-bottom:6px}
.osoba p{font-size:14.5px;max-width:none}
.osoba dl{display:grid;gap:6px;padding-top:12px;border-top:1px solid #EAF0EF}
.osoba p+dl{margin-top:12px}
/* numer zapisów jako pigułka - ta sama forma co telefon w menu */
.osoba__tel{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  margin-top:auto;padding:12px 20px;border-radius:999px;
  background:var(--turkus-2);color:#fff;text-decoration:none;white-space:nowrap;
  font-family:var(--font-nag);font-size:15px;font-weight:600;box-shadow:var(--cien);
  transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}
.osoba__tel:hover{background:#1E524F;transform:translateY(-2px)}
.osoba__tel .btn__ico svg{display:block;width:16px;height:16px}
.osoba dl div{display:flex;gap:8px;align-items:baseline;font-size:14px}
.osoba dt{color:var(--grafit-2);min-width:64px;flex:none}
.osoba dd{margin:0;font-weight:600;color:var(--grafit)}
/* godziny nie mogą się łamać w środku zakresu („11:00-" / "17:00") */
.osoba dd .godz{white-space:nowrap}
.osoba dd a{color:inherit;text-decoration:none}
.osoba dd a:hover{color:var(--turkus-2)}

/* --- kroki wizyty ------------------------------------------------------------ */
.kroki{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.kroki{grid-template-columns:repeat(4,minmax(0,1fr))}}
.krok{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);
  padding:26px 22px 24px;position:relative;overflow:hidden}
.krok__nr{position:absolute;top:-10px;right:10px;font-family:var(--font-nag);
  font-size:76px;font-weight:600;line-height:1;color:var(--szalwia);opacity:.14;
  pointer-events:none}
.krok h3,.krok p{position:relative}
.krok h3{font-size:17px;margin-bottom:6px}
.krok p{font-size:14.5px;max-width:none}

/* --- galeria gabinetu -------------------------------------------------------- */
.gabinet{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.gabinet{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gabinet img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);
  border:1px solid #E5ECEB;box-shadow:var(--cien);display:block}
.gabinet-podpis{margin:16px auto 0;text-align:center;font-size:13px;color:var(--grafit-2);
  max-width:none}

/* --- duo (tekst + zdjęcie) ---------------------------------------------------- */
.duo{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,1fr);
  align-items:center}
@media (min-width:960px){.duo{grid-template-columns:1.05fr .95fr}}
.duo__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);
  box-shadow:var(--cien-duzy);display:block}
.duo__tekst p+p{margin-top:14px}
.lista-check{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px;max-width:60ch}
.lista-check li{position:relative;padding-left:32px;font-size:15.5px}
.lista-check li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;
  border-radius:50%;background:var(--turkus-3);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A6E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat}

/* --- opinie ------------------------------------------------------------------- */
/* Tło: rozmyte wnętrze poczekalni pod białą zasłoną - sekcja przestaje być
   kolejnym płaskim pasem, a kafle opinii dalej mają pełny kontrast. */
main>.section.opinie-blok{position:relative;isolation:isolate;background:var(--szalwia-3)}
.opinie-blok::before,.opinie-blok::after{content:"";position:absolute;inset:0}
.opinie-blok::before{z-index:-2;background:url("images/tlo-opinie.jpg") center/cover no-repeat}
.opinie-blok::after{z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.76) 0%,rgba(255,255,255,.88) 100%)}
.opinie{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.opinie{grid-template-columns:repeat(2,minmax(0,1fr))}}
.opinia{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);padding:26px;
  display:grid;gap:11px;align-content:start}
.opinia__gwiazdki{color:#E0A93B;letter-spacing:3px;font-size:15px}
.opinia p{font-size:15px;max-width:none}
.opinia footer{display:flex;align-items:center;gap:10px;margin-top:2px}
.opinia__awatar{width:38px;height:38px;border-radius:50%;background:var(--szalwia-3);
  color:var(--szalwia-2);display:grid;place-items:center;font-family:var(--font-nag);
  font-weight:600;font-size:15px;flex:none}
.opinia__kto b{display:block;font-size:14px;color:var(--grafit);font-weight:600}
.opinia__kto small{font-size:12.5px;color:var(--grafit-2)}
.opinie-nota{margin:16px auto 0;font-size:13.5px;text-align:center;max-width:none}

/* --- cennik ------------------------------------------------------------------- */
.cennik{display:grid;background:#fff;border:1px solid #E5ECEB;border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--cien);max-width:860px;margin-inline:auto}
.cennik__row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:baseline;
  padding:19px 26px;border-bottom:1px solid #EAF0EF}
.cennik__row:last-child{border-bottom:0}
.cennik__nazwa{font-family:var(--font-nag);font-weight:600;font-size:16.5px;color:var(--grafit)}
.cennik__opis{display:block;font-family:var(--font-tekst);font-weight:400;font-size:13.5px;
  color:var(--grafit-2);margin-top:3px;max-width:56ch}
.cennik__cena{font-family:var(--font-nag);font-weight:600;font-size:13.5px;
  color:var(--turkus-2);background:var(--turkus-3);border-radius:999px;padding:7px 15px;
  white-space:nowrap}
@media (max-width:560px){
  .cennik__row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 20px}
  .cennik__cena{justify-self:start}
}
.cennik-nota{margin:16px auto 0;font-size:13.5px;text-align:center;max-width:70ch}

/* --- FAQ ---------------------------------------------------------------------- */
.faq{display:grid;gap:13px;max-width:820px;margin-inline:auto}
.faq-poz{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r);padding:0}
.faq-poz>summary{cursor:pointer;list-style:none;padding:19px 54px 19px 22px;position:relative;
  font-family:var(--font-nag);font-weight:600;font-size:16px;color:var(--grafit);line-height:1.35}
.faq-poz>summary::-webkit-details-marker{display:none}
.faq-poz>summary::after{content:"+";position:absolute;right:20px;top:50%;
  transform:translateY(-50%);width:28px;height:28px;border-radius:50%;
  background:var(--turkus-3);color:var(--turkus-2);display:grid;place-items:center;
  font-size:18px;font-weight:500}
.faq-poz[open]>summary::after{content:"–"}
.faq-poz>div{padding:0 22px 20px}
.faq-poz p{font-size:14.5px;max-width:none}

/* --- kontakt ------------------------------------------------------------------ */
.kontakt-ciemna{background:var(--grafit);color:#CFD3D3}
.kontakt-ciemna .sec-head h2{color:#fff}
/* na grafitowym tle turkus z logo ma 6:1 - to jedyne miejsce, gdzie kolor
   marki może wystąpić w oryginale i nadal być czytelny */
.kontakt-ciemna .sec-head h2 em{color:var(--turkus-logo)}
.kontakt-ciemna .sec-head p{color:rgba(255,255,255,.86)}
.kontakt-ciemna .etykieta{background:rgba(255,255,255,.14);color:#fff}
.kontakt-grid{display:grid;gap:clamp(24px,3.4vw,40px);grid-template-columns:minmax(0,1fr);
  align-items:stretch}
@media (min-width:900px){.kontakt-grid{grid-template-columns:1fr 1fr}}
.kontakt-karta{background:#fff;border-radius:var(--r-lg);padding:clamp(26px,3.4vw,36px);
  box-shadow:var(--cien-duzy);display:grid;gap:0;align-content:start;color:var(--grafit-2)}
.kontakt-karta h3{color:var(--grafit)}
.kontakt-karta p,.kontakt-karta li{color:var(--grafit-2)}
.kontakt-poz{padding:15px 0;border-bottom:1px solid #EAF0EF;display:grid;gap:3px}
.kontakt-poz:last-of-type{border-bottom:0}
.kontakt-poz dt{font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;color:var(--turkus-2)}
.kontakt-poz dd{margin:0;font-family:var(--font-nag);font-weight:600;font-size:18px;
  color:var(--grafit)}
.kontakt-poz dd a{text-decoration:none;color:inherit}
.kontakt-poz dd a:hover{color:var(--turkus-2)}
.kontakt-poz dd small{display:block;font-family:var(--font-tekst);font-weight:400;
  font-size:13.5px;color:var(--grafit-2);margin-top:3px}
.godziny{display:grid;gap:8px;margin-top:2px}
.godziny__wiersz{display:flex;align-items:baseline;gap:10px;font-size:14.5px;
  font-family:var(--font-tekst);font-weight:400;color:var(--grafit-2)}
.godziny__wiersz i{flex:1;min-width:20px;border-bottom:1.5px dotted #CFD6D5;
  transform:translateY(-4px)}
.godziny__wiersz b{font-family:var(--font-nag);font-weight:600;font-size:14.5px;
  color:var(--turkus-2);white-space:nowrap}
.godziny__wiersz b.zamkniete{color:#9EA3A3;font-weight:500}
.kontakt-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;margin-top:20px}
.mapa-karta{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--cien-duzy);
  background:var(--piasek);min-height:320px}
.mapa{width:100%;height:100%;min-height:320px;border:0;display:block}

/* =============================================================================
   STOPKA
   ============================================================================= */
.site-footer{background:var(--grafit);color:#C0C4C4;padding-block:40px 22px;font-size:14px;
  border-top:1px solid rgba(255,255,255,.10)}
.footer-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:820px){.footer-grid{grid-template-columns:1.2fr .7fr .9fr 1fr;gap:34px}}
.site-footer h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--turkus-logo);font-family:var(--font-nag);font-weight:600;margin-bottom:11px}
.site-footer p{margin-bottom:7px;max-width:40ch}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer strong{color:#fff;font-weight:600}
.footer-znak{display:block;width:clamp(180px,20vw,220px);height:auto;background:#fff;
  border-radius:14px;padding:12px 16px;margin-bottom:14px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.footer-nav{display:grid;gap:7px}
.footer-nota{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:15px;
  display:grid;gap:4px}
.footer-nota p{max-width:none;font-size:12.5px;color:#9BA0A0}

/* sticky CTA mobile */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 14px;
  background:rgba(255,255,255,.97);border-top:1px solid #E5ECEB;
  box-shadow:0 -6px 22px rgba(51,51,51,.14);display:none}
.mobile-cta .btn{width:100%}
@media (max-width:760px){.mobile-cta{display:block}body{padding-bottom:78px}}

/* =============================================================================
   ANIMACJE
   ============================================================================= */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-ready [data-reveal].is-in{opacity:1;transform:none}
.reveal-ready [data-stagger]>*{opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  transition-delay:calc(var(--i,0) * 80ms)}
.reveal-ready [data-stagger].is-in>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal-ready [data-reveal],.reveal-ready [data-stagger]>*{opacity:1 !important;
    transform:none !important;transition:none !important}
  .btn,.atut,.usluga{transition:none}
}

/* --- neutralizacja klas bazowych ---------------------------------------------- */
.atut.card,.opinia.card,.usluga.card,.krok.card,.osoba.card{box-shadow:none}
.faq-poz.card{padding:0}
.kontakt-poz.card{background:transparent;border:0;border-radius:0;box-shadow:none;
  border-bottom:1px solid #EAF0EF;padding:15px 0}
.cennik__row.card{background:transparent;border:0;border-radius:0;box-shadow:none;
  border-bottom:1px solid #EAF0EF;padding:19px 26px}
.cennik__row.card:last-child{border-bottom:0}
.media-frame{border-radius:var(--r);border:0;
  background:linear-gradient(135deg,var(--turkus-3),var(--piasek))}

/* --- formularz (kontakt) -------------------------------------------------------- */
.formularz{display:grid;gap:16px;max-width:640px;margin:0 auto;background:#fff;
  border:1px solid #E5ECEB;border-radius:var(--r-lg);padding:clamp(24px,3.4vw,34px);
  box-shadow:var(--cien);text-align:left}
.formularz .field input,.formularz .field textarea{border-radius:14px;border-color:#D6E0DF}
.formularz .field label{font-family:var(--font-nag);font-weight:600;font-size:14.5px;
  color:var(--grafit)}
.rodo{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--grafit-2)}
.rodo input{margin-top:3px;accent-color:var(--turkus-2)}
.formularz .hint{font-size:12.5px;color:var(--grafit-2)}

/* --- okruszki + kafel treści na podstronach ------------------------------------ */
.okruszki{font-size:13px;color:var(--grafit-2);padding-top:20px}
.okruszki a{color:var(--grafit-2);text-decoration:none}
.okruszki a:hover{color:var(--turkus-2)}
.tresc-kafel{background:#fff;border:1px solid #E5ECEB;border-radius:var(--r-lg);
  box-shadow:var(--cien);padding:clamp(24px,3.4vw,36px) clamp(20px,4vw,44px);
  max-width:820px;margin-inline:auto;text-align:center}
.tresc-kafel p{margin-inline:auto;max-width:62ch;font-size:15.5px}
.tresc-kafel p+p{margin-top:13px}
.tresc-kafel strong{color:var(--turkus-2)}
