
:root{
  --green:#96C93D;
  --green-2:#79b82f;
  --green-dark:#3f7f21;
  --green-soft:#eef8e5;
  --ink:#1f2b21;
  --text:#334033;
  --muted:#627064;
  --bg:#f8fbf5;
  --card:#ffffff;
  --line:#dfead8;
  --shadow:0 14px 34px rgba(37,61,31,.09);
  --radius:22px;
  --max:1180px;
  --font-scale:1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale))}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#fff 0,#f8fbf5 360px,#fff 100%);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:0}
a{color:var(--green-dark);font-weight:800;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:#2d6418}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:8px}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:#111;padding:12px 16px;border:2px solid var(--green);z-index:9999}.skip-link:focus{left:8px}
.accessibility{position:fixed;right:14px;bottom:14px;z-index:1000;display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:var(--shadow)}
.accessibility button{border:0;background:var(--green-soft);color:var(--ink);font-weight:900;border-radius:999px;padding:8px 10px;cursor:pointer}.accessibility button:hover{background:var(--green)}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:800;backdrop-filter:blur(14px)}
.topline{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 18px}.brand img{width:150px;height:auto}.top-contact{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.top-contact a{display:inline-flex;align-items:center;min-height:44px;border-radius:999px;padding:10px 16px;text-decoration:none;background:var(--green-soft);color:var(--green-dark)}.top-contact .booking-small{background:var(--green);color:#17320f}.main-nav{max-width:var(--max);margin:0 auto;display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;padding:0 16px 10px}.main-nav a{padding:10px 12px;border-radius:999px;color:var(--ink);text-decoration:none}.main-nav a:hover,.main-nav a.active{background:var(--green-soft);color:var(--green-dark)}
main{max-width:var(--max);margin:0 auto;padding:26px 18px 58px}.hero,.page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:28px;margin-bottom:30px;overflow:hidden}.page-hero.narrow{display:block;text-align:center;max-width:980px;margin-left:auto;margin-right:auto}.hero-copy,.page-hero>div{min-width:0}.eyebrow{display:inline-flex;align-items:center;margin-bottom:12px;border:1px solid #cde8b8;background:var(--green-soft);color:var(--green-dark);font-weight:950;border-radius:999px;padding:7px 12px;font-size:.9rem}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;line-height:1.15;margin-top:0}h1{font-size:clamp(1.65rem,2.45vw,2.55rem);margin-bottom:14px;max-width:880px}h2{font-size:clamp(1.22rem,1.75vw,1.65rem);margin-bottom:10px}h3{font-size:1.08rem;margin-bottom:8px;letter-spacing:-.02em}.lead{font-size:1rem;color:#4d5b4e;max-width:820px}.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;background:var(--green);color:#18340f!important;text-decoration:none;font-weight:950;box-shadow:0 12px 24px rgba(153,202,59,.32);border:2px solid transparent}.btn:hover{filter:saturate(1.04);transform:translateY(-1px)}.btn.ghost{background:#fff;border-color:#cde8b8;color:var(--green-dark)!important;box-shadow:none}.hero-photo,.side-photo{margin:0;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:var(--green-soft);box-shadow:0 10px 30px rgba(37,61,31,.08)}.hero-photo img{width:100%;height:360px;object-fit:cover}.side-photo img{width:100%;height:300px;object-fit:cover}.hero-photo figcaption,.photo-grid figcaption{font-size:.92rem;color:#526152;padding:10px 12px;background:#fff}.trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:20px 0 0}.trust-list li,.checklist li{border:1px solid #d5ebc6;background:var(--green-soft);border-radius:16px;padding:10px 12px;font-weight:800;color:#314b2b}.section{margin:34px 0}.section-heading{text-align:center;max-width:900px;margin:0 auto 22px}.section-heading.compact{max-width:820px}.section-heading p{color:var(--muted)}.cards{display:grid;gap:18px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.notice,.quote-card,.service-block,.price-section,.legal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.small{padding:18px}.problem-cards .card a{display:inline-flex;margin-top:8px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:24px;align-items:center}.notice{border-left:8px solid var(--green)}.quote-card{background:linear-gradient(180deg,#fff,var(--green-soft));font-size:1rem;font-weight:700}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.photo-grid figure{margin:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(37,61,31,.08)}.photo-grid img{width:100%;height:230px;object-fit:cover}.location-card p{margin:.35rem 0}.services-list{display:grid;gap:18px}.service-block{scroll-margin-top:160px}.service-block h2{text-align:left}.method{background:var(--green-soft);border:1px solid #d5ebc6;border-radius:16px;padding:12px;margin:14px 0}.team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.team-card{display:grid;grid-template-columns:76px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);border:2px solid #d5ebc6;color:var(--green-dark);font-weight:950;font-size:1.2rem}.role{color:var(--green-dark);font-weight:900;margin:.2rem 0 .65rem}.role.big{font-size:1.1rem}.price-section h2{text-align:center}.tools{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0}.tools label{display:grid;gap:5px;font-weight:900;color:var(--ink)}.tools input,.tools select{min-height:48px;min-width:min(360px,86vw);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px}table{border-collapse:collapse;width:100%;min-width:800px;background:#fff}caption{text-align:left;padding:12px;color:var(--muted)}th,td{padding:13px 14px;border-bottom:1px solid #edf2ea;text-align:left;vertical-align:top}thead th{background:#eff8e7;color:#1f2b21}.group th{background:#2f3e2f;color:#fff}.price{font-weight:950;white-space:nowrap;color:#1f2b21}.faq-list{display:grid;gap:12px;max-width:980px;margin:0 auto}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(37,61,31,.07);padding:6px 18px}.faq-list summary{cursor:pointer;font-weight:950;color:var(--ink);padding:14px 0}.faq-list p{margin:0 0 14px}.checklist{display:grid;gap:10px;list-style:none;margin:16px 0 0;padding:0}.site-footer{background:#263326;color:#fff;margin-top:20px;padding:28px 18px 78px}.site-footer a{color:#dff4d2}.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.footer-bottom{max-width:var(--max);margin:18px auto 0;text-align:center;color:#dce8d6}.mobile-cta{display:none}
body.high-contrast{--green:#b6ff45;--green-2:#b6ff45;--green-dark:#0b0b0b;--green-soft:#ffffcc;--ink:#000;--text:#000;--muted:#111;--bg:#fff;--card:#fff;--line:#000;background:#fff}body.high-contrast .site-header,body.high-contrast .card,body.high-contrast .notice,body.high-contrast .service-block,body.high-contrast .price-section{border-color:#000}body.high-contrast a{color:#000;text-decoration:underline}body.high-contrast .btn{background:#000;color:#fff!important;border-color:#000}body.high-contrast .btn.ghost{background:#fff;color:#000!important}
@media (max-width:980px){.hero,.page-hero,.split{grid-template-columns:1fr}.cards.three,.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr}.team-list{grid-template-columns:1fr}.hero-photo img{height:300px}.site-header{position:relative}.accessibility{bottom:76px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px rgba(0,0,0,.08)}.mobile-cta a{min-height:58px;display:grid;place-items:center;text-decoration:none;font-weight:950}.mobile-cta a:first-child{background:#fff;color:var(--green-dark)}.mobile-cta a:last-child{background:var(--green);color:#17320f}.site-footer{padding-bottom:92px}}
@media (max-width:720px){h1{font-size:clamp(1.35rem,6.8vw,1.9rem)}h2{font-size:clamp(1.12rem,5.2vw,1.42rem)}.topline{display:grid;justify-items:center;text-align:center}.top-contact{justify-content:center}.main-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.main-nav a{white-space:nowrap}.hero,.page-hero{padding:20px;border-radius:24px}.cards.two,.cards.three,.cards.four{grid-template-columns:1fr}.trust-list{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:230px}.hero-photo img{height:270px}.team-card{grid-template-columns:1fr}.avatar{width:64px;height:64px}main{padding:24px 14px 52px}.accessibility{right:8px;bottom:70px}.accessibility button{padding:7px 9px}.tools{justify-content:stretch}.tools label{width:100%}.tools input,.tools select{width:100%;min-width:0}.btn{width:100%}.hero-actions,.actions{display:grid;grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.service-icon{width:48px;height:48px;margin-bottom:10px;border-radius:16px;background:var(--green-soft);border:1px solid #d5ebc6;padding:9px}
.therapy-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.therapy-strip figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(37,61,31,.08)}
.therapy-strip img{width:100%;height:210px;object-fit:cover}
.therapy-strip figcaption{font-size:.92rem;color:#526152;padding:10px 12px;background:#fff}
@media (max-width:980px){.therapy-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.therapy-strip{grid-template-columns:1fr}.therapy-strip img{height:230px}.brand img{width:142px}.hero,.page-hero{padding:18px}}

.team-card h2,.cards .card h2{font-size:1.08rem}
.service-block h2{font-size:1.25rem}
.legal h2{font-size:1.26rem}
.page-hero.narrow h1{max-width:860px;margin-left:auto;margin-right:auto}

/* Strefa Pacjenta */
.patient-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:-10px auto 28px;max-width:980px}
.patient-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--green-dark);box-shadow:0 8px 22px rgba(37,61,31,.06)}
.patient-nav a:hover{background:var(--green-soft)}
.info-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.info-panel p{margin:.75rem 0}
.rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rule-card h3{min-height:2.2em}
.patient-note{margin-top:18px}
.patient-zone-teaser .quote-card{font-weight:700}
@media (max-width:980px){.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.patient-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.patient-nav a{white-space:nowrap}.rules-grid{grid-template-columns:1fr}.info-panel{padding:18px}}

/* Doprecyzowanie czytelności po korekcie nagłówków */
.page-hero.narrow{max-width:920px}
.quote-card p{margin:0}
@media (min-width:981px){.hero,.page-hero{padding:26px}.hero-photo img{height:330px}}


/* Poprawa podpisów zdjęć i zapobieganie wychodzeniu tekstu poza karty */
.side-photo figcaption{font-size:.9rem;line-height:1.45;color:#526152;padding:10px 12px;background:#fff;overflow-wrap:anywhere;word-break:normal}
.hero-photo figcaption,.photo-grid figcaption,.therapy-strip figcaption{overflow-wrap:anywhere;word-break:normal}
.card,.notice,.quote-card,.service-block,.price-section,.legal,.info-panel,.side-photo{overflow-wrap:anywhere}
@media (max-width:720px){.side-photo figcaption{font-size:.88rem;line-height:1.45;padding:10px 12px}}

.team-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.team-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;padding:9px 14px;border:1px solid #cde8b8;text-decoration:none;font-weight:900;color:var(--green-dark)}
.team-actions .book-direct{background:var(--green);border-color:var(--green);color:#17320f!important;box-shadow:0 8px 18px rgba(153,202,59,.22)}
.team-actions .profile-link{background:#fff}
@media (max-width:720px){.team-actions{display:grid;grid-template-columns:1fr}.team-actions a{width:100%}}
