/* ============================================================
   REHA-COMPLEX — Biłgoraj | rehabilitacja & fizjoterapia
   Kierunek: medyczny + ruch, świeży teal/zieleń, jasno i czysto
   Display: Newsreader (serif optyczny) · Body: Hanken Grotesk
   Self-hosted woff2 (latin + latin-ext). Vanilla, zero buildu.
   ============================================================ */

/* ---------- Fonts (self-host, variable woff2 → wszystkie wagi) ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500 600;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-ext.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:'Newsreader';font-style:normal;font-weight:500 600;font-display:swap;
  src:url('/assets/fonts/newsreader-latin.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/hanken-latin-ext.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:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/hanken-latin.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokens ---------- */
:root{
  --bg:#F3FAFA;          /* mgła morska — tło główne */
  --surface:#FFFFFF;
  --mist:#E7F3F2;        /* sekcja alt / powierzchnia miękka */
  --mist-2:#DCEEEC;
  --ink:#103A40;         /* tekst główny (na bg ~12.8:1) */
  --ink-soft:#48696D;    /* tekst drugorzędny (na bg ~5.2:1) */
  --teal:#0C6E78;        /* primary (na bg ~5.4:1 AA) */
  --teal-deep:#0A565F;   /* hover / na jasnym */
  --teal-ink:#073B41;    /* bardzo ciemny teal — tła ciemne */
  --green:#177A45;       /* akcent „zdrowienie" (biały tekst ~5.4:1, na bg ~5.1:1 AA) */
  --green-deep:#125F37;  /* hover akcentu */
  --green-soft:#E3F4EA;  /* tło pigułek zielonych */
  --teal-soft:#DCF0F0;   /* tło pigułek teal */
  --line:#D2E6E4;        /* delikatne linie */
  --line-strong:#BCDAD7;
  --warn:#B25A12;        /* uwaga (na jasnym ~4.6:1) */
  --on-dark:#EAF6F4;
  --on-dark-soft:#A8CFCC;

  --maxw:1180px;
  --r-sm:12px; --r:16px; --r-lg:22px; --r-xl:30px; --r-pill:999px;
  --shadow-sm:0 2px 10px rgba(16,58,64,.06);
  --shadow:0 16px 44px -22px rgba(16,58,64,.30);
  --shadow-lg:0 34px 80px -34px rgba(16,58,64,.40);
  --ease:cubic-bezier(.22,.61,.36,1);
  --space:clamp(3.6rem,8vw,6.4rem);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:400;font-size:1.0625rem;line-height:1.68;color:var(--ink);
  background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0;margin:0}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
::selection{background:#BDE7E2;color:var(--teal-ink)}

/* baza ikon — siatka bezpieczeństwa (nigdy ogromne) */
.ico{width:1.3em;height:1.3em;flex:none;stroke-width:1.7}

/* ---------- Typografia ---------- */
h1,h2,h3,h4{font-family:'Newsreader','Georgia',serif;font-weight:600;line-height:1.1;color:var(--ink);letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,6.2vw,4.3rem);font-weight:600;line-height:1.04;letter-spacing:-.018em}
h2{font-size:clamp(1.95rem,4.3vw,2.95rem);line-height:1.08;letter-spacing:-.012em}
h3{font-size:clamp(1.32rem,2.5vw,1.7rem)}
h4{font-size:1.12rem;font-family:'Hanken Grotesk',sans-serif;font-weight:700;letter-spacing:.01em}
p{max-width:66ch}
strong{font-weight:700;color:var(--ink)}
em{font-style:italic;color:var(--teal-deep)}
.lead{font-size:clamp(1.1rem,2.1vw,1.3rem);color:var(--ink-soft);line-height:1.6;font-weight:400}
.tnum{font-variant-numeric:tabular-nums}

.eyebrow{display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:1rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);border-radius:2px}
.eyebrow--plain::before{display:none}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.2rem)}
.section{padding-block:var(--space)}
.section--mist{background:var(--mist)}
.section--tight{padding-block:clamp(2.4rem,5vw,3.6rem)}
.section__head{max-width:64ch;margin-bottom:clamp(2rem,4vw,3rem)}
.section__head.center{margin-inline:auto;text-align:center}
.section__head .lead{margin-top:.9rem}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--teal);color:#fff;
  padding:.7rem 1.1rem;border-radius:0 0 10px 0;font-weight:600}
.skip:focus{left:0}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.topbar{background:var(--teal-ink);color:var(--on-dark);font-size:.86rem}
.topbar__in{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;justify-content:center;
  padding-block:.5rem;text-align:center}
.topbar a{display:inline-flex;align-items:center;gap:.4rem;color:var(--on-dark);font-weight:600}
.topbar a:hover{color:#fff}
.topbar .ico{width:1.05em;height:1.05em;color:var(--green)}
.topbar .sep{opacity:.35}
@media (max-width:560px){.topbar .sep{display:none}}

.header{position:sticky;top:0;z-index:100;background:rgba(243,250,250,.86);
  backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:74px;padding-block:.5rem}

.brand{display:inline-flex;align-items:center;gap:.7rem;flex:none}
.brand__mark{width:46px;height:46px;flex:none}
.brand__name{font-family:'Newsreader',serif;font-weight:600;font-size:1.42rem;line-height:1;
  color:var(--ink);letter-spacing:-.01em}
.brand__name span{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:700;
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);margin-top:.28rem}

.nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}
.nav__list{display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.5rem)}
.nav__list a{font-weight:600;font-size:.98rem;color:var(--ink);white-space:nowrap;
  padding:.4rem 0;position:relative;transition:color .18s var(--ease)}
.nav__list a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--green);border-radius:2px;transition:right .22s var(--ease)}
.nav__list a:hover{color:var(--teal-deep)}
.nav__list a:hover::after,.nav__list a[aria-current="page"]::after{right:0}
.nav__list a[aria-current="page"]{color:var(--teal-deep)}

.nav__cta{display:flex;align-items:center;gap:.9rem}
.nav__phone{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--teal-deep);
  white-space:nowrap;font-variant-numeric:tabular-nums}
.nav__phone .ico{color:var(--green)}
.nav__phone:hover{color:var(--teal-ink)}

.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line-strong);
  background:var(--surface);align-items:center;justify-content:center;position:relative}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;
  width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s var(--ease),opacity .2s}
.burger span::before{transform:translateY(-7px)}
.burger span::after{transform:translateY(7px)}
.nav.open ~ .burger span,.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:rotate(-45deg)}

.nav__scrim{position:fixed;inset:0;background:rgba(7,59,65,.42);z-index:90;opacity:0;
  pointer-events:none;transition:opacity .25s}
.nav__scrim.show{opacity:1;pointer-events:auto}

@media (max-width:1040px){
  .burger{display:inline-flex}
  .nav{position:fixed;top:0;right:0;height:100dvh;width:min(86vw,360px);z-index:95;
    flex-direction:column;align-items:stretch;gap:0;background:var(--surface);
    box-shadow:var(--shadow-lg);padding:5.2rem 1.6rem 2rem;transform:translateX(102%);
    transition:transform .3s var(--ease);overflow-y:auto}
  .nav.open{transform:translateX(0)}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__list li{border-bottom:1px solid var(--line)}
  .nav__list a{display:block;padding:1rem .2rem;font-size:1.08rem}
  .nav__list a::after{display:none}
  .nav__list a[aria-current="page"]{color:var(--green-deep)}
  .nav__cta{flex-direction:column;align-items:stretch;gap:.8rem;margin-top:1.6rem}
  .nav__phone{justify-content:center;padding:.9rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:1.1rem}
  .nav__cta .btn{justify-content:center}
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:1rem;line-height:1;
  padding:.95rem 1.5rem;border-radius:var(--r-pill);white-space:nowrap;cursor:pointer;
  transition:transform .16s var(--ease),box-shadow .2s var(--ease),background .2s,color .2s,border-color .2s;
  border:2px solid transparent}
.btn .ico{width:1.15em;height:1.15em}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--teal);color:#fff;box-shadow:0 10px 26px -12px rgba(12,110,120,.7)}
.btn--primary:hover{background:var(--teal-deep);box-shadow:0 14px 32px -12px rgba(12,110,120,.8)}
.btn--accent{background:var(--green);color:#fff;box-shadow:0 10px 26px -12px rgba(31,143,87,.7)}
.btn--accent:hover{background:var(--green-deep)}
.btn--ghost{background:var(--surface);color:var(--teal-deep);border-color:var(--line-strong)}
.btn--ghost:hover{border-color:var(--teal);background:var(--mist)}
.btn--ondark{background:#fff;color:var(--teal-deep)}
.btn--ondark:hover{background:var(--on-dark)}
.btn--ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--ghost-dark:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn--lg{padding:1.1rem 1.9rem;font-size:1.06rem}
.btn--block{display:flex;width:100%}

/* ============================================================
   HERO (type-led, świeży, motyw „linii ruchu")
   ============================================================ */
.hero{position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 88% -10%, rgba(70,208,138,.16), transparent 60%),
    radial-gradient(90% 80% at 6% 4%, rgba(12,110,120,.10), transparent 55%),
    var(--bg)}
.hero__inner{padding-block:clamp(3rem,8vw,5.4rem)}
.hero__grid{display:grid;gap:clamp(2.2rem,5vw,3.6rem);align-items:center}
@media (min-width:920px){.hero__grid{grid-template-columns:1.08fr .92fr}}
.hero h1{margin-block:.2rem .9rem}
.hero h1 em{font-style:italic;color:var(--teal)}
.hero__lead{max-width:48ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:.5rem .95rem;
  font-size:.92rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm)}
.pill .ico{width:1.05em;height:1.05em;color:var(--teal)}
.pill--green .ico{color:var(--green)}

/* karta hero — „od 2008 / NFZ" + linia pulsu */
.hero__card{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:clamp(1.5rem,3vw,2.2rem);overflow:hidden}
.hero__card::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 100% 0%, rgba(70,208,138,.12), transparent 60%);pointer-events:none}
.pulse{width:100%;height:88px;margin-bottom:1.3rem}
.pulse path{stroke:var(--teal);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pulse .peak{stroke:var(--green)}
.hero__stats{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.stat{position:relative}
.stat b{display:block;font-family:'Newsreader',serif;font-weight:600;font-size:clamp(2rem,4.5vw,2.7rem);
  line-height:1;color:var(--teal-deep);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:.35rem;font-size:.92rem;color:var(--ink-soft);line-height:1.4}
.hero__note{margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--line);
  display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--ink-soft)}
.hero__note .ico{color:var(--green);margin-top:.1rem}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust-strip{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.trust-strip{grid-template-columns:repeat(4,1fr)}}
.ts{display:flex;flex-direction:column;gap:.3rem;padding:1.2rem 1.3rem;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.ts .ico{width:1.7rem;height:1.7rem;color:var(--teal);margin-bottom:.4rem}
.ts b{font-family:'Newsreader',serif;font-size:1.18rem;font-weight:600;color:var(--ink)}
.ts span{font-size:.9rem;color:var(--ink-soft);line-height:1.45}

/* ============================================================
   FILARY / KARTY USŁUG
   ============================================================ */
.grid{display:grid;gap:clamp(1.1rem,2.4vw,1.6rem)}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
@media (min-width:640px){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid--3{grid-template-columns:repeat(3,1fr)}}

.svc{position:relative;display:flex;flex-direction:column;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2rem);
  box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .25s var(--ease),border-color .2s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.svc__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.svc__ico{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;
  border-radius:15px;background:var(--teal-soft);color:var(--teal-deep)}
.svc__ico .ico{width:1.65rem;height:1.65rem}
.svc__num{font-family:'Newsreader',serif;font-size:1.5rem;font-weight:600;color:var(--line-strong)}
.svc h3{margin-bottom:.5rem}
.svc p{font-size:.98rem;color:var(--ink-soft);margin-bottom:1rem}
.svc ul.svc__list{margin:0 0 1.1rem;display:grid;gap:.45rem}
.svc__list li{display:flex;gap:.5rem;font-size:.93rem;color:var(--ink)}
.svc__list .ico{width:1.05rem;height:1.05rem;color:var(--green);margin-top:.28rem;flex:none}
.svc__link{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;
  color:var(--teal-deep)}
.svc__link .ico{width:1.05em;height:1.05em;transition:transform .2s var(--ease)}
.svc:hover .svc__link .ico{transform:translateX(4px)}
.svc--feature{background:linear-gradient(160deg,var(--teal-ink),var(--teal-deep));color:var(--on-dark);border-color:transparent}
.svc--feature h3,.svc--feature .svc__num{color:#fff}
.svc--feature p{color:var(--on-dark)}
.svc--feature .svc__ico{background:rgba(255,255,255,.12);color:#fff}
.svc--feature .svc__list li{color:var(--on-dark)}
.svc--feature .svc__list .ico{color:#7BE3AC}
.svc--feature .svc__link{color:#fff}

/* ============================================================
   SPLIT (copy + panel graficzny)
   ============================================================ */
.split{display:grid;gap:clamp(2rem,4vw,3.4rem);align-items:center}
@media (min-width:900px){.split{grid-template-columns:1.05fr .95fr}.split--rev .split__panel{order:-1}}
.checks{display:grid;gap:1rem;margin-top:1.4rem}
.checks li{display:flex;gap:.8rem;align-items:flex-start}
.checks .ico{width:1.55rem;height:1.55rem;flex:none;color:#fff;background:var(--green);
  border-radius:50%;padding:.32rem;stroke-width:2.4;margin-top:.1rem}
.checks strong{display:block}
.checks span{color:var(--ink-soft);font-size:.97rem}
.checks li>div>strong{color:var(--ink)}

.panel{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);box-shadow:var(--shadow);padding:clamp(1.6rem,3vw,2.2rem);overflow:hidden}
.panel--mist{background:linear-gradient(165deg,var(--mist),var(--surface))}
.panel__head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.3rem}
.panel__head .ico{width:1.6rem;height:1.6rem;color:var(--green)}
.panel__head h3{font-size:1.3rem}
.steps{display:grid;gap:1rem;counter-reset:step}
.step{display:flex;gap:1rem;align-items:flex-start}
.step__no{flex:none;width:40px;height:40px;border-radius:12px;background:var(--green-soft);
  color:var(--green-deep);display:flex;align-items:center;justify-content:center;
  font-family:'Newsreader',serif;font-weight:600;font-size:1.2rem}
.step b{display:block;margin-bottom:.15rem}
.step span{font-size:.94rem;color:var(--ink-soft);line-height:1.5}

/* ============================================================
   NFZ vs PRYWATNIE — tabela porównawcza
   ============================================================ */
.compare{display:grid;gap:1.2rem}
@media (min-width:760px){.compare{grid-template-columns:1fr 1fr}}
.col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.col--nfz{border-top:4px solid var(--teal)}
.col--priv{border-top:4px solid var(--green)}
.col__tag{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;
  font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.4rem .85rem;border-radius:var(--r-pill);margin-bottom:1rem}
.col--nfz .col__tag{background:var(--teal-soft);color:var(--teal-deep)}
.col--priv .col__tag{background:var(--green-soft);color:var(--green-deep)}
.col h3{margin-bottom:.4rem}
.col>p{font-size:.96rem;color:var(--ink-soft);margin-bottom:1.2rem}
.col__list{display:grid;gap:.75rem;margin-bottom:1.4rem}
.col__list li{display:flex;gap:.6rem;font-size:.96rem}
.col__list .ico{width:1.2rem;height:1.2rem;flex:none;margin-top:.2rem}
.col--nfz .col__list .ico{color:var(--teal)}
.col--priv .col__list .ico{color:var(--green)}
.col .btn{margin-top:auto}

/* ============================================================
   CENNIK
   ============================================================ */
.price-note{display:flex;gap:.7rem;align-items:flex-start;background:var(--green-soft);
  border:1px solid #C6E7D3;border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:2rem;
  font-size:.96rem;color:var(--ink)}
.price-note .ico{color:var(--green-deep);margin-top:.15rem;flex:none}
.price-group{margin-bottom:2.4rem}
.price-group h3{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;
  padding-bottom:.7rem;border-bottom:2px solid var(--line)}
.price-group h3 .ico{color:var(--teal);width:1.5rem;height:1.5rem}
.price-list{display:grid;gap:.2rem}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.9rem .4rem;border-bottom:1px solid var(--line)}
.price-row:last-child{border-bottom:0}
.price-row__name{font-weight:600;color:var(--ink)}
.price-row__name small{display:block;font-weight:400;font-size:.86rem;color:var(--ink-soft);margin-top:.15rem}
.price-row__val{font-family:'Newsreader',serif;font-weight:600;font-size:1.18rem;color:var(--teal-deep);
  white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.price-row__val small{font-family:'Hanken Grotesk',sans-serif;font-weight:400;font-size:.8rem;color:var(--ink-soft);display:block}

/* ============================================================
   FAQ
   ============================================================ */
.faq{display:grid;gap:.9rem;max-width:780px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:.4rem .4rem;box-shadow:var(--shadow-sm);transition:border-color .2s}
.faq details[open]{border-color:var(--line-strong)}
.faq summary{display:flex;align-items:center;gap:.9rem;cursor:pointer;list-style:none;
  padding:1rem 1.1rem;font-weight:700;color:var(--ink);font-size:1.04rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{margin-left:auto;color:var(--teal);transition:transform .25s var(--ease)}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq__a{padding:0 1.1rem 1.1rem;color:var(--ink-soft);line-height:1.6}
.faq__a p{max-width:none}

/* ============================================================
   ZESPÓŁ / O NAS
   ============================================================ */
.team{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media (min-width:680px){.team{grid-template-columns:repeat(2,1fr)}}
.member{display:flex;gap:1.1rem;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.member__av{flex:none;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:var(--teal-soft);color:var(--teal-deep);
  font-family:'Newsreader',serif;font-weight:600;font-size:1.4rem}
.member h3{font-size:1.2rem;margin-bottom:.2rem}
.member .role{font-weight:700;color:var(--green-deep);font-size:.9rem;margin-bottom:.5rem}
.member p{font-size:.94rem;color:var(--ink-soft)}

.value-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media (min-width:640px){.value-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.value-grid{grid-template-columns:repeat(3,1fr)}}
.value{padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.value .ico{width:1.8rem;height:1.8rem;color:var(--green);margin-bottom:.8rem}
.value h4{font-family:'Newsreader',serif;font-weight:600;font-size:1.22rem;letter-spacing:0;margin-bottom:.4rem;text-transform:none}
.value p{font-size:.95rem;color:var(--ink-soft)}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);
  background:linear-gradient(155deg,var(--teal-ink),var(--teal-deep));color:#fff;
  padding:clamp(2.4rem,5vw,3.6rem);box-shadow:var(--shadow-lg);text-align:center}
.cta-band::before{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 120% at 90% -20%, rgba(70,208,138,.30), transparent 60%);pointer-events:none}
.cta-band h2{color:#fff;position:relative}
.cta-band p{color:var(--on-dark);max-width:56ch;margin:1rem auto 0;position:relative}
.cta-band .hero__cta{justify-content:center;position:relative;margin-top:2rem}
.cta-band .pill{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.cta-band .pill .ico{color:#7BE3AC}

/* ============================================================
   PAGE HERO (podstrony) + breadcrumb
   ============================================================ */
.page-hero{background:
  radial-gradient(90% 80% at 92% -20%, rgba(70,208,138,.12), transparent 55%),
  var(--mist);border-bottom:1px solid var(--line)}
.page-hero__in{padding-block:clamp(2.4rem,6vw,4rem)}
.page-hero h1{margin-top:.4rem}
.page-hero .lead{margin-top:1rem;max-width:60ch}
.crumb{font-size:.9rem}
.crumb ol{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--ink-soft)}
.crumb a{color:var(--teal-deep);font-weight:600}
.crumb a:hover{text-decoration:underline}
.crumb li:not(:last-child)::after{content:"›";margin-left:.45rem;color:var(--line-strong)}
.crumb [aria-current="page"]{color:var(--ink-soft)}

/* ============================================================
   KONTAKT
   ============================================================ */
.contact-grid{display:grid;gap:1.6rem}
@media (min-width:880px){.contact-grid{grid-template-columns:1fr 1.15fr;align-items:start}}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--shadow-sm)}
.info-card h3{margin-bottom:1.2rem}
.info-list{display:grid;gap:1.1rem;margin-bottom:1.5rem}
.info-list li{display:flex;gap:.85rem;align-items:flex-start}
.info-list .ico{width:1.4rem;height:1.4rem;color:var(--teal);margin-top:.15rem;flex:none}
.info-list b{display:block;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:700;margin-bottom:.1rem}
.info-list a,.info-list span:not(.ico){color:var(--ink);font-weight:600}
.info-list a:hover{color:var(--teal-deep)}
.info-list .multi a{display:block;font-weight:600}

.hours{border-top:1px solid var(--line);padding-top:1.2rem}
.hours h4{font-family:'Hanken Grotesk',sans-serif;font-size:.82rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.7rem}
.hours__row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;
  border-bottom:1px dashed var(--line);font-size:.96rem}
.hours__row:last-child{border-bottom:0}
.hours__row b{color:var(--ink)}
.hours__row .closed{color:var(--ink-soft)}

/* Formularz */
.form{display:grid;gap:1.1rem}
.form__row{display:grid;gap:1.1rem}
@media (min-width:560px){.form__row{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:.4rem}
.field label{font-weight:600;font-size:.94rem;color:var(--ink)}
.field .req{color:var(--green-deep)}
.field input,.field select,.field textarea{
  font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);
  border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:.8rem .95rem;
  width:100%;min-height:48px;transition:border-color .18s,box-shadow .18s}
.field textarea{min-height:130px;resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--teal);box-shadow:0 0 0 3px rgba(12,110,120,.16)}
.field .err{display:none;color:#B42318;font-size:.86rem;font-weight:600}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#D92D20;background:#FEF3F2}
.field.invalid .err{display:block}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.consent input{width:1.25rem;height:1.25rem;flex:none;margin-top:.15rem;accent-color:var(--teal)}
.form__note{font-size:.84rem;color:var(--ink-soft)}
.form__status{font-weight:600;padding:0;margin:0}
.form__status.ok{background:var(--green-soft);color:var(--green-deep);padding:.9rem 1.1rem;
  border-radius:var(--r-sm);border:1px solid #C6E7D3}

/* Mapa — własny ograniczony kontener */
.map-block{margin-top:2.4rem;max-width:920px}
.map-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);aspect-ratio:16/9;background:var(--mist)}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-link{margin-top:.9rem;display:inline-flex;align-items:center;gap:.4rem;
  color:var(--teal-deep);font-weight:700}
.map-link .ico{width:1.05em;height:1.05em;transition:transform .2s var(--ease)}
.map-link:hover .ico{transform:translateX(3px)}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--teal-ink);color:var(--on-dark);padding-top:clamp(3rem,6vw,4.4rem)}
.footer__grid{display:grid;gap:2.4rem;padding-bottom:2.6rem}
@media (min-width:760px){.footer__grid{grid-template-columns:1.5fr 1fr 1.3fr}}
.footer .brand__name{color:#fff}
.footer .brand__name span{color:var(--on-dark-soft)}
.footer__about{margin-top:1.1rem;color:var(--on-dark-soft);font-size:.96rem;max-width:42ch}
.footer h4{color:#fff;font-family:'Hanken Grotesk',sans-serif;font-size:.84rem;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:1.1rem;font-weight:700}
.footer__links li,.footer__contact li{margin-bottom:.7rem}
.footer__links a{color:var(--on-dark-soft);font-size:.97rem}
.footer__links a:hover{color:#fff}
.footer__contact li{display:flex;gap:.65rem;align-items:flex-start;color:var(--on-dark-soft);font-size:.96rem}
.footer__contact .ico{width:1.2rem;height:1.2rem;color:var(--green);margin-top:.15rem;flex:none}
.footer__contact a{color:var(--on-dark);font-weight:600;font-variant-numeric:tabular-nums}
.footer__contact a:hover{color:#fff}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:1.4rem;
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;
  font-size:.86rem;color:var(--on-dark-soft)}
.footer__bottom a{color:var(--on-dark-soft);text-decoration:underline;text-underline-offset:2px}
.footer__bottom a:hover{color:#fff}

/* ============================================================
   REVEAL (animacje wejścia — z bezpieczną siatką)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .reveal[data-d="2"]{transition-delay:.08s}
  .reveal[data-d="3"]{transition-delay:.16s}
  .reveal[data-d="4"]{transition-delay:.24s}
  .reveal.is-visible{opacity:1;transform:none}
  .reveal-instant .reveal{opacity:1;transform:none;transition:none}
}

/* ---------- Utilities ---------- */
.mt-0{margin-top:0}
.center{text-align:center}
.muted{color:var(--ink-soft)}
.prose p{margin-bottom:1.1rem}
.prose p:last-child{margin-bottom:0}
.lede-block{max-width:62ch}
