/* theme.css - balticmed bootscore-child. Zrodlo: makiety w1_fala_v5 + o_nas + lekarz_rodzinny
   (projekty/balticmed/redesign/design/wizualizacje/). Generowane skryptem gen_theme.py - edytuj makiety, nie ten plik,
   dopoki makiety sa zrodlem prawdy fazy 1. Produkcja: font ITC Avant Garde (Jost = zamiennik). */

:root{
  --ink:#332A5F; --deep:#232048; --fala:#6AC1E8; --wash:#E9F4FB; --wash2:#DCEEF8;
  --paper:#F7F9FB; --line:#D8E3EC; --white:#fff; --muted:#5A557E;
  --gold:#E8B04A;
  --r:18px; --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper)}
h1,h2,h3,.disp{font-family:Jost,system-ui,sans-serif;font-weight:600;line-height:1.12;letter-spacing:.005em}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:Jost;font-weight:500;font-size:1.02rem;
  padding:.85em 1.5em;border-radius:999px;text-decoration:none;border:0;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--fala);outline-offset:3px;border-radius:6px}
.btn-ink{background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(51,42,95,.22)}
.btn-fala{background:var(--fala);color:var(--deep);box-shadow:0 10px 24px rgba(106,193,232,.35)}
.btn-ghost{border:2px solid var(--ink);color:var(--ink)}
.btn-white{background:#fff;color:var(--deep);box-shadow:0 10px 24px rgba(35,32,72,.3)}
.btn-gold{background:var(--gold);color:var(--deep);box-shadow:0 10px 24px rgba(232,176,74,.35)}
.eyebrow{font-family:Jost;font-weight:500;font-size:.86rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
section{padding:88px 0}
.sec-head{max-width:660px;margin-bottom:44px}
.sec-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:.35em 0 .4em;color:var(--deep)}
.sec-head p{color:var(--muted)}
@media(prefers-reduced-motion:no-preference){
  .rev{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.9,.3,1)}
  .rev.in{opacity:1;transform:none}
}

/* ==== top bar (secondary): wyrównany do prawej, lowercase, bez „kontakt" ==== */
.topbar{background:var(--deep);color:#fff;font-family:Jost;font-weight:500;font-size:.86rem;text-transform:lowercase}
.topbar .wrap{display:flex;gap:22px;align-items:center;justify-content:flex-end;height:38px}
.topbar a{text-decoration:none;opacity:.85;white-space:nowrap}
.topbar a:hover{opacity:1;color:var(--fala)}
.topbar .lead-link{color:var(--fala);opacity:1}
.topbar .tb-drop{position:relative}
.topbar .tb-drop>a::after{content:" ▾";font-size:.75em}
.topbar .tb-menu{display:none;position:absolute;top:100%;right:-12px;z-index:80;background:#fff;color:var(--ink);
  min-width:300px;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(35,32,72,.18);padding:10px;text-transform:none}
.topbar .tb-drop:hover .tb-menu,.topbar .tb-drop:focus-within .tb-menu{display:block}
.topbar .tb-menu a{display:block;padding:8px 12px;border-radius:8px;opacity:1;white-space:normal}
.topbar .tb-menu a:hover{background:var(--wash);color:var(--deep)}
@media(max-width:900px){.topbar .wrap{overflow-x:auto;justify-content:flex-start}.topbar .tb-drop{display:none}}

/* ==== header ==== */
header.main{position:sticky;top:0;z-index:70;background:rgba(247,249,251,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:26px;height:76px}
.nav .logo img{height:44px;width:auto}
.nav nav{display:flex;gap:4px;margin-left:auto;font-family:Jost;font-weight:500;font-size:.99rem}
.nav nav>div{}
.nav nav a.top{display:inline-block;text-decoration:none;opacity:.85;padding:26px 12px}
.nav nav a.top:hover{opacity:1;color:var(--deep)}
.nav nav .has-sub>a.top::after{content:" ▾";font-size:.7em;opacity:.7}

/* ==== mega menu — cool wersja: karty z ikonami + hero po prawej ==== */
.mega{display:none;position:absolute;left:0;right:0;top:100%;z-index:80;background:#fff;
  border-top:1px solid var(--line);box-shadow:0 24px 60px rgba(35,32,72,.18);padding:34px 0}
.has-sub:hover .mega,.has-sub:focus-within .mega{display:block}
.mega-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.65fr .95fr;gap:44px;align-items:stretch}
.mega-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}
.mega-col h5{font-family:Jost;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.mega-list{list-style:none;display:grid;gap:6px}
.mega-list li a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:9px 10px;border-radius:10px;
  font-weight:400;transition:background .12s ease}
.mega-list li a:hover{background:var(--wash);color:var(--deep)}
.mega-list .ico{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:var(--wash);
  display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:Jost;font-weight:600;font-size:.85rem}
.mega-list a:hover .ico{background:var(--fala);color:var(--deep)}
.mega-list .more{font-weight:500}
.mega-list .more::after{content:" →";opacity:.6}
.mega-hero{background:var(--deep);color:#fff;border-radius:calc(var(--r) + 4px);
  padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;position:relative;overflow:hidden}
.mega-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;filter:saturate(1.1) brightness(.7)}
.mega-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(35,32,72,.95) 0%,rgba(35,32,72,.82) 55%,rgba(35,32,72,.7) 100%);pointer-events:none}
.mega-hero::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  background:radial-gradient(circle,rgba(106,193,232,.4),transparent 60%);pointer-events:none;z-index:2}
.mega-hero .eyebrow{color:#9fd9f2;position:relative;z-index:3}
.mega-hero h4{font-family:Jost;font-size:1.35rem;font-weight:600;line-height:1.2;margin:12px 0 14px;position:relative;z-index:3;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.mega-hero p{opacity:.95;font-size:.94rem;position:relative;z-index:3;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.mega-hero .btn{align-self:flex-start;margin-top:18px;position:relative;z-index:3;padding:.7em 1.2em;font-size:.95rem}
.nav .btn{padding:.6em 1.2em;font-size:.95rem;margin-left:8px}
.nav .burger{display:none}
@media(max-width:1080px){.mega-inner{grid-template-columns:1fr}.mega-hero{min-height:auto}}
@media(max-width:980px){
  .nav nav,.nav>.btn{display:none}
  .nav .burger{display:block;margin-left:auto;font-family:Jost;font-weight:500}
  .nav .burger summary{list-style:none;cursor:pointer;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px}
  .nav .burger summary::-webkit-details-marker{display:none}
  .nav .burger[open] summary{background:var(--ink);color:#fff}
  .mob-panel{position:fixed;left:0;right:0;top:76px;bottom:0;overflow:auto;background:#fff;z-index:90;padding:22px 24px 90px;border-top:1px solid var(--line)}
  .mob-panel a{display:block;padding:11px 4px;text-decoration:none;font-size:1.08rem;border-bottom:1px solid var(--line)}
  .mob-panel .grp{margin:18px 0 4px;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
}

/* ==== HERO — crossfade zdjęć + Lottie EKG-line + dynamiczny status godzin ==== */
.hero{padding:64px 0 32px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);color:var(--deep)}
.hero h1 em{font-style:normal;color:var(--ink)}
.hero p.lead{margin:22px 0 30px;font-size:1.16rem;max-width:34em;color:var(--muted)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-slider{position:relative;aspect-ratio:5/4;max-width:600px;width:100%;margin:0 auto;
  border-radius:130px 26px 130px 26px;overflow:hidden;box-shadow:0 18px 40px rgba(35,32,72,.14)}
.hero-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity 2.2s ease}
.hero-slider .slide.on{opacity:1}
.hero-slider .slide img{width:100%;height:100%;object-fit:cover;transform-origin:center}
@media(prefers-reduced-motion:no-preference){
  .hero-slider .slide img{animation:kb 24s ease-in-out infinite alternate;will-change:transform}
  .hero-slider .slide:nth-child(1) img{animation-delay:-2s;transform-origin:60% 55%}
  .hero-slider .slide:nth-child(2) img{animation-delay:-7s;transform-origin:40% 45%}
  .hero-slider .slide:nth-child(3) img{animation-delay:-12s;transform-origin:55% 60%}
  .hero-slider .slide:nth-child(4) img{animation-delay:-17s;transform-origin:45% 50%}
  .hero-slider .slide:nth-child(5) img{animation-delay:-22s;transform-origin:50% 45%}
  @keyframes kb{from{transform:scale(1)}to{transform:scale(1.05)}}
}
.ekg{position:absolute;left:20px;bottom:20px;z-index:3;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:14px;padding:12px 18px;
  display:flex;align-items:center;gap:14px;font-family:Jost;font-weight:500;color:var(--deep);
  box-shadow:0 6px 18px rgba(35,32,72,.10);max-width:calc(100% - 40px)}
.ekg .dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;position:relative}
.ekg .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;opacity:.35}
.ekg.open .dot{background:#2FB673;color:#2FB673}
.ekg.closed .dot{background:#E8934A;color:#E8934A}
@media(prefers-reduced-motion:no-preference){
  .ekg .dot::after{animation:ring 2.2s ease-out infinite}
  @keyframes ring{0%{transform:scale(1);opacity:.6}80%{transform:scale(2.6);opacity:0}100%{opacity:0}}
}
.ekg svg{display:block;width:80px;height:26px;flex:0 0 80px}
.ekg svg path{fill:none;stroke:var(--fala);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:no-preference){
  .ekg svg path{stroke-dasharray:300;stroke-dashoffset:300;animation:draw 3.6s linear infinite}
  @keyframes draw{to{stroke-dashoffset:-300}}
}
.ekg .lb{font-size:.85rem;color:var(--muted);font-weight:400;line-height:1.35}
.ekg .lb b{color:var(--deep);font-weight:600;display:block;font-size:.95rem;letter-spacing:.005em}
.ekg .lb a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.ekg .lb a:hover{color:var(--fala)}
.badge-count{position:absolute;right:22px;top:22px;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-radius:14px;padding:12px 18px;font-family:Jost;color:var(--deep);box-shadow:0 6px 18px rgba(35,32,72,.10)}
.badge-count b{font-size:1.4rem;font-weight:600;color:var(--deep);display:block;line-height:1}
.badge-count span{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-slider{order:-1}}

/* ==== pasek zaufania — editorial, nie dashboard ==== */
.trust{background:var(--deep);color:#fff;padding:34px 0}
.trust .wrap{text-align:center}
.trust p{font-family:Jost;font-weight:400;font-size:clamp(1.05rem,1.9vw,1.35rem);line-height:1.5;
  max-width:52em;margin:0 auto;letter-spacing:.005em}
.trust b{font-family:Jost;font-weight:600;color:var(--fala)}
.trust .under{margin-top:10px;font-family:"Source Sans 3";font-size:.87rem;opacity:.75;text-transform:none;letter-spacing:0}

/* ==== dlaczego warto — 3 KOLUMNY z animowanymi ikonami ==== */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:32px 28px;
  transition:transform .15s ease, box-shadow .15s ease}
.why-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(51,42,95,.12)}
.why-ico{width:64px;height:64px;border-radius:18px;
  background:linear-gradient(135deg,var(--wash),var(--wash2));color:var(--ink);
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;
  transition:background .3s ease, transform .3s ease;position:relative}
.why-card:hover .why-ico{background:linear-gradient(135deg,var(--fala),var(--ink));color:#fff;transform:rotate(-4deg)}
.why-ico svg{width:32px;height:32px;position:relative;z-index:2;overflow:visible}
.why-ico svg *{transition:all .4s ease}
/* mikroanimacje per ikona — transform-box:fill-box: transformacje od środka elementu
   (domyślny origin = view-box przesuwał kształty poza viewBox i SVG je ucinał) */
@media(prefers-reduced-motion:no-preference){
  .why-ico .a-pin,.why-ico .a-orbit,.why-ico .a-check,.why-ico .a-pulse{
    transform-box:fill-box;transform-origin:center}
  .why-ico .a-pin{animation:pinBob 2.4s ease-in-out infinite}
  @keyframes pinBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3.5px)}}
  .why-ico .a-orbit{animation:orbit 5s linear infinite}
  @keyframes orbit{to{transform:rotate(360deg)}}
  .why-ico .a-check{stroke-dasharray:12;stroke-dashoffset:12;animation:checkDraw 1.8s ease-in-out infinite}
  @keyframes checkDraw{0%{stroke-dashoffset:12}45%,75%{stroke-dashoffset:0}100%{stroke-dashoffset:12}}
  .why-ico .a-pulse{animation:pulseScale 2s ease-in-out infinite}
  @keyframes pulseScale{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}
}
.why-card h3{font-size:1.25rem;color:var(--deep);margin-bottom:10px}
.why-card p{color:var(--muted);font-size:.98rem}
@media(max-width:900px){.why{grid-template-columns:1fr}}

/* ==== 3 kroki — 30/70 z pionową osią czasu ==== */
#kroki{background:linear-gradient(180deg,var(--paper),var(--wash))}
#kroki .wrap{display:grid;grid-template-columns:.9fr 2fr;gap:60px;align-items:start}
#kroki .head{position:sticky;top:120px}
#kroki .head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--deep);margin:.35em 0 .4em}
#kroki .head p{color:var(--muted);margin-bottom:26px}
.timeline{position:relative;padding-left:64px}
.timeline::before{content:"";position:absolute;left:22px;top:22px;bottom:22px;width:2px;
  background:linear-gradient(180deg,var(--fala),var(--wash2))}
.tl-step{position:relative;padding:6px 0 40px;min-height:44px}
.tl-step:last-child{padding-bottom:0}
.tl-step::before{content:"";position:absolute;left:-64px;top:0;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--fala),var(--ink));box-shadow:0 0 0 5px var(--wash),0 10px 24px rgba(51,42,95,.16)}
.tl-step .n{position:absolute;left:-64px;top:0;width:44px;height:44px;display:flex;align-items:center;
  justify-content:center;font-family:Jost;font-weight:600;color:#fff;font-size:1.35rem;z-index:2;line-height:1}
.tl-step h3{font-size:1.28rem;color:var(--deep);margin-bottom:8px;padding-top:8px}
.tl-step p{color:var(--muted)}
@media(max-width:960px){#kroki .wrap{grid-template-columns:1fr}#kroki .head{position:static}}

/* ==== placówki: 6 kafli POZ + region chipy ==== */
#placowki{background:linear-gradient(180deg,var(--paper) 0%,var(--wash) 100%);position:relative}
#placowki .sec-head{max-width:none;text-align:center}
#placowki .sec-head h2{white-space:nowrap}
#placowki .sec-head p:not(.eyebrow){max-width:660px;margin:0 auto}
@media(max-width:760px){#placowki .sec-head h2{white-space:normal}}
.finder{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;margin-bottom:44px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;box-shadow:0 18px 44px rgba(51,42,95,.08)}
.finder label{font-family:Jost;font-weight:500;display:block;margin-bottom:10px;color:var(--deep)}
.finder select{width:100%;font:inherit;padding:.8em 1em;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.finder .hint{font-size:.88rem;color:var(--muted);margin-top:10px}
.finder-result{background:var(--wash);border-radius:14px;padding:22px;min-height:130px}
.finder-result h3{font-size:1.2rem;color:var(--deep)}
.finder-result .addr{color:var(--muted);margin:4px 0 12px}
.finder-result a{font-family:Jost;font-weight:500}
@media(max-width:860px){.finder{grid-template-columns:1fr}}
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.city{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 26px 22px;
  text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:center;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.city:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(51,42,95,.14);border-color:var(--fala)}
.city .cn{width:44px;height:44px;border-radius:50%;background:var(--wash);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-family:Jost;font-weight:600;font-size:1.1rem}
.city:hover .cn{background:var(--fala);color:var(--deep)}
.city h3{font-size:1.14rem;color:var(--deep);grid-column:2}
.city .addr{font-size:.92rem;color:var(--muted);grid-column:2}
.city .go{grid-column:1 / -1;font-family:Jost;font-weight:500;font-size:.9rem;color:var(--ink);
  padding-top:4px;border-top:1px solid var(--line);margin-top:4px;padding-top:12px}
.city .go::after{content:" →"}
@media(max-width:900px){.city-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.city-grid{grid-template-columns:1fr}}
.region-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.chip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.55em 1.15em;
  font-family:Jost;font-weight:500;font-size:.98rem;text-decoration:none;transition:all .15s ease}
.chip:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.chip.new{border-color:var(--gold);background:var(--gold);color:var(--deep)}
.group-label{display:flex;align-items:baseline;gap:14px;margin:34px 0 16px}
.group-label h3{font-size:1.3rem;color:var(--deep)}
.group-label span{font-size:.9rem;color:var(--muted)}

/* ==== NOWA SEKCJA: W RAMACH NFZ ==== */
#nfz{background:#fff;position:relative}
#nfz .sec-head{max-width:none;display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;margin-bottom:44px}
#nfz .sec-head-text{max-width:640px}
/* Logo NFZ — faktyczny znak (brandkit/logo/nfz/czyste) + podpis */
.nfz-logo{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.85rem;font-family:Jost;
  padding:14px 20px;border-left:3px solid var(--fala)}
.nfz-logo img{height:56px;width:auto;display:block}
.nfz-logo .label{line-height:1.3;max-width:250px}
.nfz-logo .label b{color:var(--deep);font-weight:600;display:block;font-size:.92rem}

.nfz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nfz{background:var(--paper);border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:32px 28px;
  display:flex;flex-direction:column;gap:14px;transition:transform .15s ease, box-shadow .15s ease;
  text-decoration:none;color:inherit}
.nfz:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(51,42,95,.1)}
.nfz-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
/* Ikony: duże 60px, gradient błękit→granat, biały outline SVG, na hover intensywniej */
.nfz-ico{width:60px;height:60px;border-radius:16px;
  background:linear-gradient(135deg,var(--fala),var(--ink));color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 60px;
  box-shadow:0 10px 20px rgba(51,42,95,.15);transition:transform .2s ease}
.nfz:hover .nfz-ico{transform:rotate(-6deg) scale(1.05)}
.nfz-ico svg{width:32px;height:32px;stroke-width:2}
.nfz-tag{font-family:Jost;font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fala);background:var(--wash);padding:.3em .8em;border-radius:999px}
.nfz h3{font-size:1.22rem;color:var(--deep)}
.nfz p{color:var(--muted);font-size:.98rem;flex:1}
.nfz .go{font-family:Jost;font-weight:500;color:var(--ink);font-size:.95rem;padding-top:6px;text-decoration:none}
.nfz .go::after{content:" →"}
@media(max-width:900px){.nfz-grid{grid-template-columns:1fr}#nfz .sec-head{grid-template-columns:1fr}}

/* ==== PAKIETY MEDYCZNE — Pakiet START (baza gratis) + 9 dodatków ==== */
#pakiety{background:linear-gradient(135deg,var(--deep) 0%,var(--ink) 80%);color:#fff;position:relative;overflow:hidden}
#pakiety::before{content:"";position:absolute;left:-160px;top:-100px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(106,193,232,.18),transparent 60%);pointer-events:none}
#pakiety .wrap{position:relative;z-index:2}
#pakiety .eyebrow{color:#9fd9f2}
#pakiety .sec-head{max-width:640px;margin-left:auto;margin-right:auto;text-align:center}
#pakiety .sec-head h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem)}
#pakiety .sec-head p{color:rgba(255,255,255,.82)}

/* Pakiet START — hero-band z gratis-badge */
.pk-start{background:linear-gradient(135deg,rgba(106,193,232,.16),rgba(255,255,255,.04));
  border:1px solid rgba(106,193,232,.4);border-radius:calc(var(--r) + 8px);
  padding:36px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  margin-bottom:38px;position:relative;overflow:hidden}
.pk-start .badge-gratis{width:116px;height:116px;border-radius:50%;background:var(--fala);color:var(--deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:Jost;
  transform:rotate(-6deg);box-shadow:0 12px 28px rgba(106,193,232,.35);flex:0 0 116px;position:relative}
.pk-start .badge-gratis::before{content:"";position:absolute;inset:7px;border-radius:50%;
  border:1.5px dashed rgba(35,32,72,.35)}
.pk-start .badge-gratis .tag{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  white-space:nowrap;line-height:1;margin-left:.24em}
.pk-start .badge-gratis .word{font-size:1.5rem;letter-spacing:.06em;font-weight:600;line-height:1;
  white-space:nowrap;margin-left:.06em}
.pk-start .content{color:#fff}
.pk-start .tier{font-family:Jost;font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#9fd9f2}
.pk-start h3{font-family:Jost;font-weight:600;font-size:1.6rem;color:#fff;margin:8px 0 10px}
.pk-start p{color:rgba(255,255,255,.82);max-width:38em;margin-bottom:14px}
.pk-start ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.94rem;color:rgba(255,255,255,.88)}
.pk-start li{padding-left:22px;position:relative;font-family:Jost;font-weight:500}
.pk-start li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:6px;
  border-left:2px solid var(--fala);border-bottom:2px solid var(--fala);transform:rotate(-45deg)}
.pk-start .cta{display:flex;flex-direction:column;gap:10px;text-align:right}
.pk-start .cta small{font-size:.82rem;color:rgba(255,255,255,.65);font-family:Jost;letter-spacing:.02em}

/* Grid 9 dodatków — 3x3 karty z ikoną organu + ceną */
.pk-add-head{font-family:Jost;font-weight:600;font-size:1.15rem;color:#fff;margin-bottom:18px;letter-spacing:.005em;text-align:center}
.pk-add-head small{font-family:"Source Sans 3";color:rgba(255,255,255,.72);font-size:.9rem;font-weight:400;display:block;margin-top:4px}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pk-add{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--r) + 4px);
  padding:22px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  text-decoration:none;color:inherit;transition:transform .15s ease, background .15s ease, border-color .15s ease;
  backdrop-filter:blur(6px)}
.pk-add:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);border-color:rgba(106,193,232,.4)}
.pk-add-ico{width:44px;height:44px;border-radius:12px;background:rgba(106,193,232,.14);color:var(--fala);
  display:flex;align-items:center;justify-content:center;flex:0 0 44px}
.pk-add-ico svg{width:26px;height:26px;stroke-width:1.8}
.pk-add h4{font-family:Jost;font-weight:600;color:#fff;font-size:1.02rem;line-height:1.15}
.pk-add h4 small{display:block;font-family:"Source Sans 3";font-weight:400;color:rgba(255,255,255,.6);font-size:.82rem;margin-top:2px}
.pk-add .cena{font-family:Jost;font-weight:600;color:var(--fala);font-size:1.05rem;white-space:nowrap;text-align:right;line-height:1.1}
.pk-add .cena small{font-family:"Source Sans 3";font-weight:400;color:rgba(255,255,255,.55);font-size:.72rem;display:block;text-transform:lowercase}

.pk-foot{margin-top:38px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.pk-foot p{color:rgba(255,255,255,.72);font-size:.94rem}
.pk-foot a{color:var(--fala);font-family:Jost;font-weight:500;text-decoration:none}
@media(max-width:900px){
  .pk-start{grid-template-columns:1fr;gap:20px;text-align:center}
  .pk-start .badge-gratis{margin:0 auto}
  .pk-start .cta{text-align:center;align-items:center}
  .pk-grid{grid-template-columns:1fr}
}

/* ==== CM Kaszubska — wariant D (split 50/50 + 3 flagowe specjalizacje editorial) ==== */
#kaszubska{background:#fff;padding:100px 0;position:relative;overflow:hidden}
#kaszubska::before{content:"";position:absolute;left:-140px;top:-100px;width:420px;height:420px;
  background:radial-gradient(circle,rgba(106,193,232,.14),transparent 60%);pointer-events:none}
#kaszubska .sec-head{position:relative;z-index:2;max-width:660px;margin:0 auto 44px;text-align:center}
.kasz-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch;position:relative;z-index:2}
.kasz-foto{position:relative}
.kasz-foto img{width:100%;height:100%;object-fit:cover;border-radius:24px;min-height:480px;box-shadow:0 30px 60px rgba(35,32,72,.22)}
.kasz-foto .badge{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:16px 22px;
  font-family:Jost;box-shadow:0 14px 34px rgba(35,32,72,.18)}
.kasz-foto .badge b{color:var(--deep);font-size:1.5rem;font-weight:600;display:block;line-height:1}
.kasz-foto .badge span{color:var(--muted);font-size:.85rem}
.kasz-specs{display:flex;flex-direction:column;gap:16px}
.spec-row{display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:center;
  padding:22px 26px;background:var(--paper);border:1px solid var(--line);border-radius:18px;
  text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.spec-row:hover{transform:translateX(4px);box-shadow:0 20px 40px rgba(51,42,95,.1);border-color:var(--fala)}
.spec-ico-k{width:56px;height:56px;border-radius:14px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--ink)}
.spec-ico-k svg{width:26px;height:26px}
.spec-row:hover .spec-ico-k{background:var(--fala);color:var(--deep);border-color:var(--fala)}
.spec-copy h3{font-size:1.15rem;color:var(--deep);margin-bottom:4px}
.spec-copy p{font-size:.95rem;color:var(--muted)}
.spec-arrow{font-family:Jost;font-weight:500;color:var(--ink)}
.kasz-cta{margin-top:20px;display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.kasz-split{grid-template-columns:1fr}}

/* ==== opinie ==== */
#opinie .sec-head,#edukacja .sec-head,#faq .sec-head{margin-left:auto;margin-right:auto;text-align:center}
.op-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.op{background:#fff;border-radius:var(--r);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:12px}
.op .stars{color:var(--fala);letter-spacing:.15em;font-size:1.02rem}
.op blockquote{font-size:.97rem;font-style:italic}
.op figcaption{margin-top:auto;font-family:Jost;font-weight:500;font-size:.88rem;color:var(--muted)}
.op-src{margin-top:18px;font-size:.85rem;color:var(--muted)}
@media(max-width:1000px){.op-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.op-grid{grid-template-columns:1fr}}

/* ==== EDUKACJA + poznaj lekarzy (scalone) ==== */
#edukacja{background:var(--wash)}
.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.edu{background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;
  display:flex;flex-direction:column;overflow:hidden;transition:transform .15s ease, box-shadow .15s ease}
.edu:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(51,42,95,.12)}
.edu .thumb{aspect-ratio:16/9;background:var(--wash);position:relative;overflow:hidden}
.edu .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.edu:hover .thumb img{transform:scale(1.03)}
.edu .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 55%,rgba(35,32,72,.35))}
.edu-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.edu time{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:Jost}
.edu h3{font-size:1.1rem;color:var(--deep);line-height:1.3}
.edu span.read{margin-top:auto;font-family:Jost;font-weight:500;font-size:.92rem;color:var(--ink);padding-top:10px}
.edu span.read::after{content:" →"}
.edu-more{margin-top:32px;text-align:center}
@media(max-width:860px){.edu-grid{grid-template-columns:1fr}}

.zespol{margin-top:56px;background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);
  padding:34px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
.zespol .faces{display:flex}
.zespol .faces .f{width:58px;height:58px;border-radius:50%;background:var(--wash);border:3px solid #fff;
  margin-left:-14px;background-size:cover;background-position:center;flex:0 0 58px;box-shadow:0 6px 14px rgba(51,42,95,.15)}
.zespol .faces .f:first-child{margin-left:0}
.zespol h3{font-size:1.2rem;color:var(--deep);margin-bottom:4px}
.zespol p{color:var(--muted);font-size:.95rem;max-width:32em}
@media(max-width:860px){.zespol{grid-template-columns:1fr;text-align:center}.zespol .faces{justify-content:center}}

/* ==== FAQ ==== */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:Jost;font-weight:500;font-size:1.05rem;
  display:flex;justify-content:space-between;gap:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--fala);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 24px 22px;color:var(--muted);max-width:62em}

/* ==== finał ==== */
.final{background:linear-gradient(135deg,var(--deep),var(--ink));color:#fff;text-align:center;border-radius:calc(var(--r) + 8px);
  padding:70px 30px;position:relative;overflow:hidden}
.final h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-bottom:.4em}
.final p{opacity:.85;max-width:38em;margin:0 auto 30px}
.final .hours{margin-top:26px;font-family:Jost;font-weight:500;font-size:.95rem;opacity:.75}

/* ==== pasek UE / FENiKS ==== */
.eu-bar{background:#fff;border-top:1px solid var(--line);padding:26px 0}
.eu-bar img{max-width:min(100%,1050px);margin:0 auto;height:auto}

/* ==== stopka — pełna szerokość, bez hasła „nowoczesna opieka…" ==== */
footer{background:var(--deep);color:#fff;padding:60px 0 40px}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
footer img.flogo{height:52px;width:auto;margin-bottom:14px}
footer h4{font-family:Jost;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fala);margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:7px;font-size:.94rem}
footer a{text-decoration:none;opacity:.82}
footer a:hover{opacity:1;color:var(--fala)}
footer .sub{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin:16px 0 8px;font-family:Jost}
.foot-brand p{opacity:.72;font-size:.9rem;margin-top:8px}
.foot-brand a{color:var(--fala);opacity:1;font-family:Jost;font-weight:500}

.foot-company{border-top:1px solid rgba(255,255,255,.15);margin-top:44px;padding-top:30px;
  display:grid;grid-template-columns:auto 1.05fr 1.05fr 1.3fr;gap:40px;font-size:.87rem;opacity:.85;line-height:1.65;align-items:start}
.foot-company b{font-family:Jost;font-weight:500;color:#fff;opacity:1}
.foot-company .row{margin-bottom:6px}
.foot-company a{color:var(--fala);opacity:.9}
/* Kolumna 1: logo kwadratowe TV (białe, na granacie stopki) */
.foot-logo{align-self:center}
.foot-logo img{width:128px;height:auto;display:block}
.fine{margin-top:24px;font-size:.82rem;opacity:.55}
@media(max-width:1100px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.foot-company{grid-template-columns:1fr;text-align:center}.foot-logo{margin:0 auto}}
@media(max-width:640px){.foot-grid{grid-template-columns:1fr}}

/* ==== mobile sticky CTA ==== */
.mob-cta{display:none}
@media(max-width:760px){
  .mob-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:1px;background:var(--line)}
  .mob-cta a{flex:1;text-align:center;padding:16px 8px;font-family:Jost;font-weight:600;text-decoration:none;font-size:1rem}
  .mob-cta .a1{background:var(--ink);color:#fff}
  .mob-cta .a2{background:var(--fala);color:var(--deep)}
  body{padding-bottom:58px}
}


/* ===================== PODSTRONY: wspolne wzorce ===================== */

/* ==== breadcrumb — pill pod headerem (wzorzec z produkcji, język v5) ==== */
.crumbs{background:var(--wash);border-bottom:1px solid var(--line)}
.crumbs .wrap{display:flex;align-items:center;gap:10px;height:44px;font-family:Jost;font-weight:500;font-size:.85rem;color:var(--muted)}
.crumbs a{text-decoration:none;opacity:.8}
.crumbs a:hover{opacity:1;color:var(--deep)}
.crumbs .sep{opacity:.45}
.crumbs b{color:var(--deep);font-weight:500}

/* wyjscie Yoast breadcrumbs w naszym pasku */
.crumbs .breadcrumb_last{color:var(--deep);font-weight:500}
.crumbs span{color:var(--muted)}

/* ==== hero podstrony — mniejszy niż na głównej, ten sam split ==== */
.phero{padding:64px 0 48px}
.phero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.phero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);color:var(--deep)}
.phero h1 em{font-style:normal;color:var(--ink)}
.phero p.lead{margin:22px 0 30px;font-size:1.14rem;max-width:34em;color:var(--muted)}
.phero .cta{display:flex;gap:14px;flex-wrap:wrap}
.phero-foto{position:relative;aspect-ratio:5/4;max-width:600px;width:100%;margin:0 auto;
  border-radius:130px 26px 130px 26px;overflow:hidden;box-shadow:0 18px 40px rgba(35,32,72,.14)}
.phero-foto img{width:100%;height:100%;object-fit:cover}
  border-radius:14px;padding:12px 18px;font-family:Jost;color:var(--deep);box-shadow:0 6px 18px rgba(35,32,72,.10)}
@media(max-width:900px){.phero .wrap{grid-template-columns:1fr}.phero-foto{order:-1}}

/* anchor-pills pod hero (mini-menu strony: o przychodni / inicjatywy / kaszubska / opinie) */
.anchors{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.anchors a{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.5em 1.1em;
  font-family:Jost;font-weight:500;font-size:.92rem;text-decoration:none;transition:all .15s ease}
.anchors a:hover{border-color:var(--ink);background:var(--ink);color:#fff}


/* ===================== O NAS ===================== */

/* ==== sieć przychodni — editorial 50/50 z mozaiką zdjęć ==== */
#siec{background:#fff}
.siec-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.siec-copy h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--deep);margin:.35em 0 .5em}
.siec-copy p{color:var(--muted);margin-bottom:16px;max-width:36em}
.siec-copy p b{color:var(--deep);font-weight:600}
.siec-copy .btn{margin-top:10px}
.mozaika{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:460px}
.mozaika img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.mozaika .m1{grid-row:1 / -1;border-radius:90px 18px 18px 18px}
.mozaika .m3{border-radius:18px 18px 90px 18px}
@media(max-width:900px){.siec-grid{grid-template-columns:1fr}.mozaika{min-height:340px}}

/* ==== inicjatywy — rzędy editorial (nie identyczne kafle) ==== */
#inicjatywy{background:linear-gradient(180deg,var(--paper),var(--wash))}
#inicjatywy .sec-head{max-width:none;text-align:center;margin-left:auto;margin-right:auto}
#inicjatywy .sec-head p:not(.eyebrow){max-width:680px;margin:0 auto}
.ini-list{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto}
.ini{display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:26px 30px;
  text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.ini:hover{transform:translateX(4px);box-shadow:0 20px 40px rgba(51,42,95,.1);border-color:var(--fala)}
.ini-ico{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--fala),var(--ink));color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 64px;box-shadow:0 10px 20px rgba(51,42,95,.15);
  transition:transform .2s ease}
.ini:hover .ini-ico{transform:rotate(-6deg) scale(1.05)}
.ini-ico svg{width:32px;height:32px;stroke-width:2}
.ini-copy h3{font-size:1.2rem;color:var(--deep);margin-bottom:6px}
.ini-copy p{font-size:.97rem;color:var(--muted);max-width:42em}
.ini .go{font-family:Jost;font-weight:500;color:var(--ink);white-space:nowrap}
.ini .go::after{content:" →"}
.ini .tag{font-family:Jost;font-weight:500;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fala);background:var(--wash);padding:.3em .8em;border-radius:999px;display:inline-block;margin-bottom:8px}
@media(max-width:760px){.ini{grid-template-columns:1fr}.ini-ico{margin-bottom:4px}.ini .go{justify-self:start}}

/* ==== pull-quote band ==== */
.credo{background:var(--deep);color:#fff;padding:64px 0}
.credo .wrap{max-width:900px;text-align:center}
.credo p{font-family:Jost;font-weight:400;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.5}
.credo b{color:var(--fala);font-weight:600}
.credo .src{margin-top:14px;font-family:"Source Sans 3";font-size:.88rem;opacity:.6}

/* Kaszubska na O nas: kolumna tekstowa + linki (reszta wzorca w bloku v5) */
.kasz-body{display:flex;flex-direction:column;gap:18px;justify-content:center}
.kasz-body p{color:var(--muted);max-width:38em}
.kasz-body p b{color:var(--deep);font-weight:600}
.kasz-links{display:flex;flex-direction:column;gap:12px;margin:6px 0}
.kasz-links a{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;
  padding:16px 22px;background:var(--paper);border:1px solid var(--line);border-radius:14px;
  text-decoration:none;font-family:Jost;font-weight:500;color:var(--deep);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease}
.kasz-links a:hover{transform:translateX(4px);border-color:var(--fala);box-shadow:0 14px 30px rgba(51,42,95,.09)}
.kasz-links a span{color:var(--ink)}
.kasz-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
@media(max-width:900px){.kasz-split{grid-template-columns:1fr}}

/* ==== centrum obsługi pacjenta — band 50/50 ==== */
#cop{background:#fff}
.cop-grid{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:40px 44px}
.cop-grid h2{font-size:clamp(1.5rem,2.8vw,2rem);color:var(--deep);margin:.3em 0 .5em}
.cop-grid p{color:var(--muted);max-width:44em;margin-bottom:10px}
@media(max-width:860px){.cop-grid{grid-template-columns:1fr}}

/* scope O nas: opinie na gradiencie, podpis zrodla wysrodkowany */
.p-o-nas #opinie{background:linear-gradient(180deg,var(--paper),var(--wash))}
.p-o-nas .op-src{text-align:center}


/* ===================== LEKARZ RODZINNY ===================== */

.badge-nfz{position:absolute;right:22px;top:22px;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-radius:14px;padding:12px 18px;font-family:Jost;color:var(--deep);box-shadow:0 6px 18px rgba(35,32,72,.10);
  display:flex;align-items:center;gap:12px}
.badge-nfz img{height:34px;width:auto}
.badge-nfz span{font-size:.8rem;color:var(--muted);line-height:1.3}
.badge-nfz b{display:block;font-size:.92rem;color:var(--deep)}

/* ==== band deklaracji — 3 dokumenty ==== */
.dekl{background:var(--deep);color:#fff;padding:44px 0}
.dekl .wrap{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center}
.dekl h2{font-size:clamp(1.2rem,2.2vw,1.5rem);color:#fff;max-width:13em;line-height:1.3}
.dekl h2 small{display:block;font-family:"Source Sans 3";font-weight:400;font-size:.72em;opacity:.75;margin-top:8px;letter-spacing:.005em}
.dekl-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dekl-list a{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:14px;padding:16px 20px;text-decoration:none;font-family:Jost;font-weight:500;font-size:.98rem;
  transition:background .15s ease, border-color .15s ease, transform .15s ease}
.dekl-list a:hover{background:rgba(255,255,255,.1);border-color:rgba(106,193,232,.5);transform:translateY(-2px)}
.dekl-list .ic{width:40px;height:40px;border-radius:11px;background:rgba(106,193,232,.16);color:var(--fala);
  display:flex;align-items:center;justify-content:center;flex:0 0 40px}
.dekl-list .ic svg{width:22px;height:22px;stroke-width:2}
.dekl-list small{display:block;font-family:"Source Sans 3";font-weight:400;opacity:.65;font-size:.8rem}
@media(max-width:1000px){.dekl .wrap{grid-template-columns:1fr}.dekl h2{max-width:none}.dekl-list{grid-template-columns:1fr}}

/* ==== editorial artykułowy — 65-75ch ==== */
.art{background:#fff}
.art .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.art .copy h2{font-size:clamp(1.5rem,2.8vw,2.1rem);color:var(--deep);margin:1.6em 0 .5em}
.art .copy h2:first-of-type{margin-top:.3em}
.art .copy p{color:var(--muted);max-width:68ch;margin-bottom:16px}
.art aside{position:sticky;top:120px;display:flex;flex-direction:column;gap:18px}
.art aside .foto{border-radius:24px 24px 90px 24px;overflow:hidden;box-shadow:0 22px 48px rgba(35,32,72,.16)}
.art aside .foto img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.art aside .kontakt{background:var(--wash);border-radius:var(--r);padding:26px 28px}
.art aside .kontakt h3{font-size:1.12rem;color:var(--deep);margin-bottom:8px}
.art aside .kontakt p{font-size:.94rem;color:var(--muted);margin-bottom:14px}
@media(max-width:960px){.art .grid{grid-template-columns:1fr}.art aside{position:static}}

/* ==== para kafli: odpowiedzialność / profilaktyka ==== */
#filary{background:linear-gradient(180deg,var(--paper),var(--wash))}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.duo-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:36px 34px;
  transition:transform .15s ease, box-shadow .15s ease}
.duo-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(51,42,95,.12)}
.duo-ico{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--fala),var(--ink));color:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:0 10px 20px rgba(51,42,95,.15)}
.duo-ico svg{width:32px;height:32px;stroke-width:2}
.duo-card h3{font-size:1.3rem;color:var(--deep);margin-bottom:12px}
.duo-card p{color:var(--muted)}
@media(max-width:860px){.duo{grid-template-columns:1fr}}

/* ==== kiedy do lekarza + przygotowanie — 2 kolumny ==== */
#kiedy{background:#fff}
#kiedy .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
#kiedy h2{font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--deep);margin:.3em 0 .6em}
#kiedy p{color:var(--muted);max-width:60ch;margin-bottom:16px}
.sympt{list-style:none;display:grid;gap:12px;margin-top:8px}
.sympt li{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;padding:16px 20px;color:var(--ink)}
.sympt .chk{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--fala),var(--ink));
  color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 26px;margin-top:2px}
.sympt .chk svg{width:14px;height:14px;stroke-width:3}
.przygotuj{background:var(--wash);border-radius:calc(var(--r) + 4px);padding:32px 34px}
.przygotuj ul{list-style:none;display:grid;gap:10px;margin:14px 0 4px}
.przygotuj li{display:flex;gap:12px;align-items:flex-start;color:var(--ink)}
.przygotuj li::before{content:"";flex:0 0 10px;width:10px;height:10px;border-radius:50%;
  background:var(--fala);margin-top:8px}
@media(max-width:900px){#kiedy .grid{grid-template-columns:1fr}}

/* scope Lekarz rodzinny: placowki na bieli, FAQ na wash, kafle city na paper */
.p-lekarz-rodzinny #placowki{background:#fff}
.p-lekarz-rodzinny #placowki .sec-head h2{white-space:normal}
.p-lekarz-rodzinny .city{background:var(--paper)}
.p-lekarz-rodzinny #faq{background:var(--wash)}
