/* Style z prototypu (strona/zrodla/prototyp.src.html), przeniesione skryptem konwertuj_wp.py.
   Przyciski z data-go sa teraz odnosnikami <a>, stad dopisek na koncu. */
  /* ---------- czcionki z wlasnego serwera, bez Google Fonts (RODO): Figtree i Lora z fonts.gstatic.com,
     licencja SIL Open Font License, pobrane 12.10.2026; latin-ext ma polskie znaki ---------- */
  @font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:swap;
    src:url("../fonts/figtree-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:swap;
    src:url("../fonts/figtree-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;
    src:url("../fonts/lora-500-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;
    src:url("../fonts/lora-500-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

  /* Wersja 10. Kierunek A (zdjecia i biel) plus C (diagnoza, luk). Jeden wyglad, bez trybu ciemnego. */
  :root{
    color-scheme:light;
    /* kolory logo */
    --red:#E8402A; --orange:#F5871F; --yellow:#FFC20E; --green:#7AB929; --blue:#29ABE2; --magenta:#EC008C;
    /* dzialanie: przyciski i linki akcji */
    --action:#C3301D; --action-h:#A92815; --action-wash:#FDEFEA;
    /* produkty: pelny kolor, tekst, pasek, tlo, linia */
    --zl:#FFC20E; --zl-ink:#8F6800; --zl-mid:#FFE39A; --zl-wash:#FFF6DC; --zl-line:#F3D57A;
    --pr:#29ABE2; --pr-ink:#146C96; --pr-mid:#C9E9F8; --pr-wash:#EAF5FC; --pr-line:#BFE0F2;
    --po:#7AB929; --po-ink:#4F7A16; --po-mid:#D8EDBD; --po-wash:#EEF7E4; --po-line:#CFE5B5;
    /* neutralne, cieple */
    --bg:#FFFFFF; --warm:#FAF7F2; --card:#FFFFFF;
    --ink:#241C18; --ink-2:#463A33; --ink-3:#6B5D55;
    --line:#EDE6DD; --line-2:#DDD2C4; --staff:#D6CABB;

    --shadow:0 1px 2px rgba(43,34,29,.05), 0 18px 40px -24px rgba(43,34,29,.34);
    --r:20px; --r-sm:12px;
    --arch:50% 50% 22px 22px / 34% 34% 22px 22px;
    --section:clamp(4rem,9vw,7rem);
    --gap:clamp(1.5rem,3vw,2.5rem);

    --f-head:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --f-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --f-voice:"Lora",Georgia,"Times New Roman",serif;
    --maxw:88.75rem; --read:38rem;

    /* kolor strony: start czerwony, podstrony nadpisuja */
    --accent:var(--action); --accent-ink:var(--action); --accent-wash:var(--action-wash);
  }
  .page-zl{--accent:var(--zl);--accent-ink:var(--zl-ink);--accent-wash:var(--zl-wash)}
  .page-pr{--accent:var(--pr);--accent-ink:var(--pr-ink);--accent-wash:var(--pr-wash)}
  .page-po{--accent:var(--po);--accent-ink:var(--po-ink);--accent-wash:var(--po-wash)}

  *{box-sizing:border-box}
  body{
    margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);
    font-size:17.5px;line-height:1.6;overflow-x:clip
  }
  @media (max-width:1079px){ body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom, 0px))} }
  h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;line-height:1.1;letter-spacing:-.02em;text-wrap:balance;margin:0;color:var(--ink)}
  p,dl,dd,figure{margin:0}
  ul,ol{margin:0;padding:0;list-style:none}
  a{color:inherit}
  img{max-width:100%;height:auto;display:block}
  button{font:inherit;color:inherit}
  :focus-visible{outline:3px solid var(--pr-ink);outline-offset:3px;border-radius:6px}
  .shell{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
  .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  [hidden]{display:none!important}

  /* ---------- pasek roboczy i rzeczy do potwierdzenia ---------- */
  .draft{background:var(--warm);border-bottom:1px solid var(--line);font-size:.84rem;color:var(--ink-2);line-height:1.5}
  .draft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem 1rem;padding-block:.55rem;text-align:center}
  .draft b{color:var(--ink);font-weight:800}
  .tbc-btn{
    font-family:var(--f-head);font-weight:700;font-size:.8rem;color:var(--ink);cursor:pointer;
    background:var(--zl-wash);border:1px solid var(--zl-line);border-radius:999px;padding:.3rem .85rem
  }
  .tbc-btn:hover{border-color:var(--zl-ink)}
  .tbc-list{padding-block:.2rem 1.1rem}
  .tbc-list ol{display:grid;gap:.25rem;max-width:44rem;margin-inline:auto}
  .tbc-list button{
    display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.6rem;align-items:start;width:100%;
    text-align:left;background:none;border:0;border-radius:10px;padding:.4rem .5rem;cursor:pointer;color:var(--ink)
  }
  .tbc-list button:hover{background:var(--card)}
  .tbc-n{
    display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;margin-top:.05rem;
    background:var(--zl-ink);color:#fff;font:700 .74rem/1 var(--f-head)
  }
  body.tbc-on .tbc{
    background:linear-gradient(transparent 55%, var(--zl-mid) 55%);border-bottom:1.5px dashed var(--zl-ink);
    -webkit-box-decoration-break:clone;box-decoration-break:clone
  }
  body.tbc-on .tbc::after{
    content:attr(data-n);display:inline-grid;place-items:center;width:1.3em;height:1.3em;margin-left:.3em;
    border-radius:50%;background:var(--zl-ink);color:#fff;font:700 .68em/1 var(--f-head);vertical-align:.2em
  }

  /* ---------- naglowek ---------- */
  .top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:box-shadow .2s ease}
  .top.small{box-shadow:0 10px 24px -20px rgba(43,34,29,.45)}
  .stripe{height:4px;background:linear-gradient(90deg,var(--red) 0 16.66%,var(--orange) 0 33.33%,var(--yellow) 0 50%,var(--green) 0 66.66%,var(--blue) 0 83.33%,var(--magenta) 0)}
  .topbar{display:flex;align-items:center;gap:1rem;padding-block:.7rem;min-width:0;transition:padding .2s ease}
  .top.small .topbar{padding-block:.35rem}
  .logo{display:flex;align-items:center;text-decoration:none;flex:none}
  .logo img{height:54px;width:auto;transition:height .2s ease}
  .top.small .logo img{height:42px}
  .navlink{
    position:relative;font-family:var(--f-head);color:var(--ink-2);background:none;border:0;cursor:pointer;
    white-space:nowrap;transition:background-color .15s ease,color .15s ease
  }
  [data-go="zlobek"]{--nav-c:var(--zl);--nav-i:var(--zl-ink);--nav-w:var(--zl-wash)}
  [data-go="przedszkole"]{--nav-c:var(--pr);--nav-i:var(--pr-ink);--nav-w:var(--pr-wash)}
  [data-go="terapia"]{--nav-c:var(--po);--nav-i:var(--po-ink);--nav-w:var(--po-wash)}

  /* komputer: placowki z kropka w kolorze i wiekiem, potem cennik, kontakt, przycisk */
  .desk{margin-left:auto;display:flex;align-items:center;gap:.15rem}
  .desk .navlink{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:12px;font-size:.98rem;font-weight:600;text-align:left}
  .desk .navlink:hover{color:var(--ink);background:var(--warm)}
  .desk .ni{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--nav-w);color:var(--nav-i)}
  .desk .ni svg{width:1.15rem;height:1.15rem}
  .desk .nt{display:grid;line-height:1.2}
  .desk .nt small{font-family:var(--f-body);font-size:.76rem;font-weight:500;color:var(--ink-3)}
  .desk .navlink[aria-current="page"]{color:var(--ink);font-weight:700}
  .desk .navlink[aria-current="page"]::after{
    content:"";position:absolute;left:.8rem;right:.8rem;bottom:.1rem;height:3px;border-radius:3px;background:var(--nav-c,var(--action))
  }
  .desk .sep{width:1px;height:1.6rem;background:var(--line-2);margin-inline:.35rem}
  .top-cta{min-height:44px;padding:.55rem 1.1rem;font-size:.95rem;margin-left:.5rem}
  .top-call{
    display:none;align-items:center;gap:.45rem;flex:none;font-family:var(--f-head);font-weight:700;font-size:.95rem;
    color:var(--action);text-decoration:none;font-variant-numeric:tabular-nums
  }
  .top-call svg{width:1rem;height:1rem}
  .top-call:hover{text-decoration:underline;text-underline-offset:4px}
  @media (min-width:1240px){ .top-call{display:inline-flex} }

  /* telefon: w naglowku logo, cennik i sluchawka, menu w dolnym pasku */
  .mob{display:none;margin-left:auto;align-items:center;gap:.4rem}
  .mob .navlink{font-size:.92rem;font-weight:700;padding:.55rem .7rem;border-radius:999px;border:1px solid var(--line-2);min-height:42px}
  .mob .navlink[aria-current="page"]{border-color:var(--ink);color:var(--ink)}
  .mob-call{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--action);color:#fff;flex:none}
  .mob-call svg{width:1.2rem;height:1.2rem}
  .tabbar{display:none}
  @media (max-width:1079px){
    .desk{display:none}
    .mob{display:flex}
    .logo img{height:46px}
    .top.small .logo img{height:38px}
    .tabbar{
      display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:60;
      background:rgba(255,255,255,.97);border-top:1px solid var(--line-2);
      padding:.3rem max(.25rem, calc((100% - 36rem) / 2)) calc(.3rem + env(safe-area-inset-bottom, 0px));
      box-shadow:0 -10px 24px -20px rgba(43,34,29,.4)
    }
    .tabbar{transition:padding .25s ease}
    .tab{position:relative;display:grid;justify-items:center;align-content:center;gap:.2rem;min-height:56px;padding:.3rem .1rem;font-size:.7rem;font-weight:600;color:var(--ink-3);transition:min-height .25s ease}
    .tab .ti{display:grid;place-items:center;width:3.3rem;height:1.95rem;border-radius:999px;color:var(--nav-i,var(--ink-2));transition:background-color .2s ease,height .25s ease}
    .tab svg{width:1.3rem;height:1.3rem}
    .tab .tl{max-height:1.2em;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}
    .tab[aria-current="page"]{color:var(--ink);font-weight:800}
    .tab[aria-current="page"] .ti{background:var(--nav-w,var(--action-wash));color:var(--nav-i,var(--action))}
    .tabbar.compact{padding-top:.15rem;padding-bottom:calc(.15rem + env(safe-area-inset-bottom, 0px))}
    .tabbar.compact .tab{min-height:46px;gap:.05rem}
    .tabbar.compact .ti{height:1.5rem}
    .tabbar.compact .tab svg{width:1.15rem;height:1.15rem}
  }
  @media (max-width:360px){ .tab{font-size:.62rem} .tab .ti{width:2.8rem} .mob .navlink{padding-inline:.55rem} }
  /* waskie telefony: najpierw znika Sale, potem O nas; oba zostaja w stopce i w odnosnikach na starcie */
  @media (max-width:349px){ .mob .navlink[data-go="sale"]{display:none} }
  @media (max-width:319px){ .mob .navlink[data-go="o-nas"]{display:none} }

  /* ---------- przyciski ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
    font-family:var(--f-head);font-size:1rem;font-weight:700;line-height:1.2;text-align:center;
    padding:.95rem 1.5rem;border-radius:var(--r-sm);text-decoration:none;
    border:1px solid transparent;cursor:pointer;min-height:52px;
    transition:background-color .15s ease,border-color .15s ease,transform .15s ease
  }
  .btn:active{transform:translateY(1px)}
  .btn-main{background:var(--action);color:#fff}
  .btn-main:hover{background:var(--action-h)}
  .btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line-2)}
  .btn-ghost:hover{border-color:var(--ink-3)}
  .btn-pr{background:var(--pr-ink);color:#fff}
  .btn-pr:hover{background:#0F5A7E}
  .btn-po{background:var(--po-ink);color:#fff}
  .btn-po:hover{background:#3E6111}
  .btn-row{display:flex;flex-wrap:wrap;gap:.75rem}
  .link{
    display:inline-flex;align-items:center;gap:.35rem;font-family:var(--f-head);font-weight:700;
    color:var(--action);text-decoration:none;background:none;border:0;padding:0;cursor:pointer
  }
  .link:hover{text-decoration:underline;text-underline-offset:4px}
  .link svg{width:1rem;height:1rem;flex:none}
  .chev{width:1.05rem;height:1.05rem;flex:none;transition:transform .15s ease}
  .link:hover .chev,.badge:hover .chev,.rib:hover .chev{transform:translateX(3px)}

  /* ---------- typografia ---------- */
  .eyebrow{
    display:block;font-family:var(--f-head);font-size:.78rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:1.1rem
  }
  .display{font-size:clamp(2.35rem,1.25rem + 4.1vw,4.05rem);line-height:1.03;letter-spacing:-.032em}
  .h1{font-size:clamp(2.05rem,1.2rem + 3vw,3.3rem);line-height:1.06;letter-spacing:-.028em}
  .h2{font-size:clamp(1.7rem,1.2rem + 1.8vw,2.45rem);line-height:1.1;letter-spacing:-.024em}
  .h3{font-size:clamp(1.14rem,1rem + .45vw,1.3rem);line-height:1.25;letter-spacing:-.01em}
  .lead{font-size:clamp(1.08rem,1rem + .35vw,1.24rem);line-height:1.6;color:var(--ink-2);max-width:36rem}
  .prose{max-width:var(--read);color:var(--ink-2)}
  .prose strong{color:var(--ink);font-weight:800}
  .voice{font-family:var(--f-voice);font-style:normal;font-weight:500;font-size:clamp(1.5rem,1.1rem + 1.5vw,2.2rem);line-height:1.3;color:var(--ink);text-wrap:balance}
  .note{font-size:.9rem;color:var(--ink-3);line-height:1.5}
  /* trzy produkty w naglowku startu, podkreslone swoim kolorem */
  .u{text-decoration-line:underline;text-decoration-thickness:.13em;text-underline-offset:.12em}
  .u-zl{text-decoration-color:var(--zl)} .u-pr{text-decoration-color:var(--pr)} .u-po{text-decoration-color:var(--po)}

  /* ---------- sekcje ---------- */
  .band{padding-block:var(--section)}
  .band.tight{padding-top:clamp(2.2rem,5vw,3.6rem)}
  .band-head{display:grid;gap:1.1rem;max-width:44rem;margin-bottom:clamp(2rem,4vw,3rem)}
  .fb{background:var(--bgc);box-shadow:0 0 0 100vmax var(--bgc);clip-path:inset(0 -100vmax)}
  .bg-zl{--bgc:var(--zl-wash)} .bg-pr{--bgc:var(--pr-wash)} .bg-po{--bgc:var(--po-wash)} .bg-warm{--bgc:var(--warm)}
  .split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
  @media (min-width:900px){ .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
  .grid-2{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
  @media (min-width:760px){ .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))} }

  /* ---------- start: hero ---------- */
  .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem);align-items:center;padding-block:clamp(2.4rem,6vw,4.8rem) clamp(2.4rem,5vw,3.6rem)}
  @media (min-width:960px){ .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} }
  .hero .lead{margin-top:1.6rem}
  .hero .btn-row{margin-top:2.2rem}
  .hero-meta{margin-top:1.3rem;font-size:.92rem;color:var(--ink-3)}
  /* rekrutacja przez caly rok, wolne miejsca (klientka, 28.09) */
  .rek{display:flex;align-items:center;gap:.6rem;width:fit-content;max-width:100%;margin-top:1.5rem;padding:.6rem 1rem;
    border-radius:14px;background:var(--po-wash);border:1px solid var(--po-line);color:var(--po-ink);
    font-family:var(--f-head);font-weight:700;font-size:.98rem;line-height:1.35}
  .rek::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;background:var(--po)}
  .page-head .rek{margin-top:1.3rem}
  .hero-visual{position:relative}
  @media (min-width:600px){ .hero-visual{padding-bottom:2.4rem} }
  .arch{position:relative;isolation:isolate}
  .arch img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--arch)}
  .arch::before{
    content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--arch);
    background:var(--zl-mid);transform:translate(14px,14px)
  }
  .arch-pr::before{background:var(--pr-mid)} .arch-po::before{background:var(--po-mid)}
  .badge{
    position:relative;margin:-3.4rem .9rem 0;max-width:min(20rem,calc(100% - 1.8rem));
    display:grid;gap:.3rem;text-align:left;color:var(--ink);cursor:pointer;
    background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.05rem 1.25rem 1.15rem;
    box-shadow:0 22px 44px -24px rgba(43,34,29,.55);transition:transform .15s ease
  }
  @media (min-width:600px){ .badge{position:absolute;left:clamp(.75rem,3vw,1.25rem);bottom:0;margin:0} }
  @media (min-width:960px){ .badge{left:-1.75rem} }
  .badge:hover{transform:translateY(-2px)}
  .badge .tag{display:flex;align-items:center;gap:.45rem;font-family:var(--f-head);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--zl-ink)}
  .badge .tag::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--zl)}
  .badge .k{font-family:var(--f-head);font-weight:800;font-size:1.7rem;line-height:1.05;letter-spacing:-.02em}
  .badge .l{font-size:.9rem;color:var(--ink-2);line-height:1.45}
  .badge .go{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;font-family:var(--f-head);font-weight:700;font-size:.92rem;color:var(--action)}

  .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.25rem;padding-top:1.8rem;border-top:1px solid var(--line)}
  @media (min-width:720px){ .facts{grid-template-columns:repeat(4,minmax(0,1fr))} }
  .fact{display:grid;gap:.15rem;align-content:start}
  .fact b{font-family:var(--f-head);font-weight:700;font-size:clamp(1.45rem,1.15rem + 1vw,1.9rem);line-height:1.05;letter-spacing:-.02em;white-space:nowrap}
  .fact span{font-size:.9rem;color:var(--ink-3);line-height:1.4}

  /* ---------- start: pieciolinia, wiek dziecka od 1 do 6 lat ---------- */
  .score{--S:62px;position:relative;height:calc(var(--S) * 4 + 1px);margin-top:2.9rem}
  @media (max-width:640px){ .score{--S:50px} }
  .staff{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,var(--staff) 0 1px,transparent 1px var(--S))}
  .bl{position:absolute;top:0;height:100%;width:1px;left:calc(var(--at) / 5 * 100%);background:var(--staff)}
  .bl-end{position:absolute;top:0;right:0;height:100%;width:4px;background:var(--ink-3)}
  .bl-end::before{content:"";position:absolute;top:0;bottom:0;left:-6px;width:1px;background:var(--ink-3)}
  .rib{
    position:absolute;z-index:1;
    left:calc(var(--from) / 5 * 100% + 5px);width:calc((var(--to) - var(--from)) / 5 * 100% - 10px);
    top:calc(var(--row) * var(--S) - var(--S) * .37);height:calc(var(--S) * .74);
    display:flex;align-items:center;gap:.7rem;padding:0 1rem 0 .8rem;min-width:0;
    background:var(--rb);color:var(--ink);text-align:left;cursor:pointer;
    border:1px solid var(--rl);border-radius:999px;
    transition:transform .15s ease,box-shadow .15s ease,opacity .3s ease
  }
  .rib.to-end{width:calc((var(--to) - var(--from)) / 5 * 100% - 22px)}
  .rib:hover{transform:translateY(-1px);box-shadow:0 12px 24px -16px rgba(43,34,29,.55)}
  .rib-zl{--rb:var(--zl-mid);--rl:var(--zl-line)} .rib-pr{--rb:var(--pr-mid);--rl:var(--pr-line)} .rib-po{--rb:var(--po-mid);--rl:var(--po-line)}
  .nh{flex:none;width:calc(var(--S) * .3);height:calc(var(--S) * .22);border-radius:50%;background:var(--ink);transform:rotate(-20deg)}
  .rt{display:grid;min-width:0;line-height:1.2}
  .rt b{font-family:var(--f-head);font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden}
  .rt small{font-size:.82rem;color:var(--ink-2);white-space:nowrap;overflow:hidden}
  .rib .chev{margin-left:auto}
  .rib .short{display:none}
  @media (max-width:640px){
    .rib .full,.rt small{display:none}
    .rib .short{display:inline}
    .rib{padding:0 .75rem 0 .6rem;gap:.5rem}
    .rt b{font-size:.95rem}
  }
  @media (max-width:420px){ .rib .chev{display:none} }
  .ages{position:relative;height:1.6rem;margin-top:1.05rem;font-family:var(--f-head);font-weight:600;font-size:.85rem;color:var(--ink-3)}
  .ages span{position:absolute;top:0;left:calc(var(--at) / 5 * 100%);transform:translateX(-50%);white-space:nowrap}
  .ages span::before{content:"";position:absolute;left:50%;top:-.95rem;width:1px;height:.5rem;background:var(--ink-3)}
  .ages span:first-child{transform:none}
  .ages span:first-child::before{left:0}
  .ages span:last-child{transform:translateX(-100%)}
  .ages span:last-child::before{left:auto;right:0}
  .score-note{margin-top:1.2rem}

  /* ---------- nutka dziecka na pieciolinii ---------- */
  .kid{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem}
  .kid-q{font-family:var(--f-head);font-weight:700;font-size:1.08rem}
  .kid-in{display:flex;flex-wrap:wrap;gap:.6rem;flex:1 1 18rem;max-width:24rem}
  .kid select{flex:1 1 9rem;width:auto;min-height:46px;font-weight:600;padding-block:.55rem}
  .kid-mark{position:absolute;z-index:0;top:-2.6rem;bottom:0;left:calc(var(--x, 0) * 100%);width:0;pointer-events:none;transition:left .45s cubic-bezier(.3,.7,.2,1)}
  .km-lbl{
    position:absolute;top:0;left:0;transform:translateX(-50%);white-space:nowrap;
    background:var(--action);color:#fff;font:700 .8rem/1.2 var(--f-head);padding:.32rem .7rem;border-radius:999px;
    box-shadow:0 8px 18px -10px rgba(195,48,29,.6)
  }
  .kid-mark.al-l .km-lbl{transform:translateX(-.75rem)}
  .kid-mark.al-r .km-lbl{transform:translateX(calc(-100% + .75rem))}
  .km-stem{position:absolute;top:1.7rem;bottom:.2rem;left:-1px;width:2px;background:var(--action)}
  .km-head{position:absolute;bottom:-.4rem;left:-.6rem;width:1.15rem;height:.82rem;border-radius:50%;background:var(--action);transform:rotate(-20deg)}
  .score.has-kid .rib{opacity:.35}
  .score.has-kid .rib.hit{opacity:1}
  .kid-out{display:grid;gap:1rem;margin-top:1.5rem;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card);max-width:46rem;box-shadow:var(--shadow)}
  .kid-say{color:var(--ink);font-size:1.04rem}
  .kid-say b{font-weight:800}

  /* ---------- start: diagnoza na miejscu (z kierunku C) ---------- */
  .diag{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}
  @media (min-width:900px){ .diag{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center} }
  .diag .prose{margin-top:1.3rem}
  .diag .btn-row{margin-top:1.9rem}
  .team{background:var(--card);border-radius:var(--r);padding:clamp(1.3rem,3vw,1.9rem) clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow)}
  .team-h{font-family:var(--f-head);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem}
  .team li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.1rem .95rem;align-items:center;padding-block:.95rem;border-bottom:1px solid var(--line)}
  .team li:last-child{border-bottom:0;padding-bottom:.2rem}
  .team .ico{grid-row:span 2;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--po-wash);color:var(--po-ink);display:grid;place-items:center}
  .ico svg{width:1.35rem;height:1.35rem}
  .team b{font-family:var(--f-head);font-weight:700;font-size:1.05rem;line-height:1.2}
  .team .d{font-size:.9rem;color:var(--ink-2);line-height:1.35}

  /* ---------- rachunki ---------- */
  .bills{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
  @media (min-width:800px){ .bills{grid-template-columns:repeat(3,minmax(0,1fr))} }
  .bill{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,2.6vw,1.9rem)}
  .bill-top{display:flex;align-items:center;gap:.55rem;font-family:var(--f-head);font-weight:700;font-size:.95rem}
  .bill-top .dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--c);flex:none}
  .bill-big{margin-top:1.1rem;font-family:var(--f-head);font-weight:800;font-size:clamp(2.3rem,1.7rem + 2vw,3.1rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
  .bill-big small{display:block;margin-top:.5rem;font-family:var(--f-body);font-weight:600;font-size:.92rem;letter-spacing:0;color:var(--ink-2)}
  .bill dl{margin-top:1.4rem;border-top:1.5px dashed var(--line-2)}
  .bill dl div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem 1rem;padding-block:.62rem;border-bottom:1px solid var(--line);font-size:.95rem}
  .bill dt{color:var(--ink-2);line-height:1.4}
  .bill dd{margin-left:auto;font-family:var(--f-head);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
  .bill .sum dt{color:var(--ink);font-weight:700}
  .bill .free{color:var(--po-ink)}
  .bill-go{margin-top:auto;padding-top:1.3rem}
  .bill-foot{margin-top:1rem;font-size:.9rem;color:var(--ink-3)}
  .bill-zl{--c:var(--zl)} .bill-pr{--c:var(--pr)} .bill-po{--c:var(--po)}

  /* ---------- zdjecia ---------- */
  .photo img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}
  .photo.p43 img{aspect-ratio:4/3}
  .photo figcaption{margin-top:.6rem;font-size:.84rem;color:var(--ink-3)}
  /* Sale: zdjecia placowek z galerii w panelu (od 31.10 pionowe 1200 x 1600), dwa w rzedzie na telefonie, cztery od 760 px */
  .sale-g + .sale-g{margin-top:clamp(2.2rem,4vw,3rem)}
  .sale-foto{display:grid;gap:clamp(.6rem,1.4vw,1rem);grid-template-columns:repeat(2,minmax(0,1fr));max-width:69rem}
  @media (min-width:760px){ .sale-foto{grid-template-columns:repeat(4,minmax(0,1fr))} }
  .sale-foto a{display:block}
  .sale-foto img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:14px}
  /* zdjecia z banerow maja 375 do 450 px szerokosci: przy szerokim kontenerze nie rosna ponad ok. 480 px,
     inaczej sa rozciagniete 1,3 do 1,7 raza (pomiar 7.10). */
  @media (min-width:960px){ .hero-visual{width:100%;max-width:30rem;justify-self:end} }
  @media (min-width:900px){
    .page-head.two:not(.os-head) > .ph-photo{width:100%;max-width:30rem;justify-self:end}
    .split > .photo{width:100%;max-width:30rem}
    .split > .photo:first-child{justify-self:start}
    .split > .photo:last-child{justify-self:end}
  }
  /* film z sal zlobka: pionowy 480 x 854, plik obok strony (media/), laduje sie dopiero po kliknieciu */
  .vid{width:100%;max-width:20rem}
  .vid video{display:block;width:100%;height:auto;aspect-ratio:480/854;border-radius:var(--r);background:#2B221D;box-shadow:var(--shadow)}
  .vid figcaption{margin-top:.6rem;font-size:.84rem;color:var(--ink-3)}
  @media (min-width:900px){ .split > .vid:last-child{justify-self:center} }
  .sale-wizyta{display:grid;gap:1.2rem;margin-top:clamp(2.2rem,4vw,3rem);padding-top:clamp(1.8rem,3vw,2.4rem);border-top:1px solid var(--line-2)}

  /* ---------- listy ---------- */
  .ticks{display:grid;gap:.8rem}
  .ticks li{padding-left:2rem;position:relative;color:var(--ink-2)}
  .ticks li::before{
    content:"";position:absolute;left:0;top:.22em;width:1.3rem;height:1.3rem;border-radius:50%;
    background:var(--po-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F7A16' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/.76rem no-repeat
  }
  .fb.bg-po .ticks li::before{background-color:var(--card)}
  .ticks li b{color:var(--ink);font-weight:800}
  .plain{display:grid;gap:.8rem}
  .plain li{padding-left:1.4rem;position:relative;color:var(--ink-2)}
  .plain li::before{content:"";position:absolute;left:.2rem;top:.72em;width:.45rem;height:.45rem;border-radius:50%;background:var(--line-2)}

  /* ---------- mapa okolicy (OpenStreetMap) ---------- */
  .map{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(.6rem,1.6vw,.9rem);box-shadow:var(--shadow)}
  .map-svg{display:block;width:100%;height:auto;border-radius:calc(var(--r) - 6px);overflow:hidden}
  .map figcaption{padding:.8rem .5rem .2rem;font-size:.82rem;color:var(--ink-3);line-height:1.45}
  .m-land{fill:#F3EEE6}
  .m-gm{fill:#F3EEE6;stroke:#fff;stroke-width:3;stroke-linejoin:round}
  .m-gm.g-kos{fill:#FCEFC7} .m-gm.g-gdy{fill:#E3EFF6} .m-gm.g-rum{fill:#E7F1DC}
  .m-sea{fill:#CDE6F4}
  .m-coast{fill:none;stroke:#9CCBE6;stroke-width:2.5;stroke-linejoin:round}
  .m-sea-t{font:italic 500 19px var(--f-voice);fill:#3F7FA6;letter-spacing:.02em}
  .m-gm-t{font:700 15px var(--f-head);fill:#9A8B80;letter-spacing:.14em;text-anchor:middle}
  .m-ring{fill:none;stroke:var(--action);stroke-width:2;stroke-dasharray:7 7;opacity:.4}
  .m-ring-t{font:700 16px var(--f-head);fill:var(--action);opacity:.75}
  .m-pl{cursor:pointer;outline:none}
  .m-ln{stroke:var(--ink);stroke-width:2;stroke-dasharray:3 6;stroke-linecap:round;opacity:0;transition:opacity .2s ease}
  .m-dot{fill:var(--ink);stroke:#fff;stroke-width:3;transition:r .2s ease}
  .m-n{font:700 21px var(--f-head);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:5;stroke-linejoin:round}
  .m-d{font:600 18px var(--f-body);fill:var(--ink-2)}
  .m-pl:hover .m-ln,.m-pl:focus .m-ln{opacity:.8}
  .m-pl:hover .m-dot,.m-pl:focus .m-dot{r:9;fill:var(--action)}
  .m-pl:focus-visible .m-n{fill:var(--action)}
  .m-home-dot{fill:var(--action);stroke:#fff;stroke-width:4}
  .m-pulse{fill:var(--action);opacity:.35;transform-box:fill-box;transform-origin:center;animation:mpuls 2.4s ease-out infinite}
  @keyframes mpuls{0%{transform:scale(1);opacity:.4}100%{transform:scale(3.2);opacity:0}}
  .m-home-t{font:800 26px var(--f-head);fill:var(--action);paint-order:stroke;stroke:#fff;stroke-width:6;stroke-linejoin:round}
  .m-home-s{font:600 17px var(--f-body);fill:var(--ink-2);paint-order:stroke;stroke:#fff;stroke-width:5;stroke-linejoin:round}

  /* ---------- zakonczenie startu ---------- */
  .cta{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem 3rem;align-items:center;background:var(--zl-wash);border:1px solid var(--zl-line);border-radius:26px;padding:clamp(1.8rem,5vw,3.4rem)}
  @media (min-width:900px){ .cta{grid-template-columns:minmax(0,1.25fr) auto} }
  .cta .prose{margin-top:1rem;color:#4A3A1E}

  /* ---------- naglowki podstron ---------- */
  .page-head{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center;padding-block:clamp(2.6rem,6vw,4.8rem)}
  @media (min-width:900px){ .page-head.two{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} }
  .page-head .lead{margin-top:1.4rem}
  .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.7rem}
  .chips li{font-family:var(--f-head);font-weight:700;font-size:.88rem;padding:.4rem .85rem;border-radius:999px;background:var(--card);border:1px solid var(--line-2)}
  .ph-photo{padding:0 14px 14px 0}
  .summary{background:var(--card);border-radius:var(--r);padding:clamp(1.3rem,3vw,1.9rem);box-shadow:var(--shadow)}
  .summary-top{display:flex;align-items:center;gap:.9rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
  .summary-top img{width:4.4rem;height:auto}
  .summary-top b{font-family:var(--f-head);font-size:1.05rem;line-height:1.25}
  .summary dl div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem 1rem;padding-block:.7rem;border-bottom:1px solid var(--line)}
  .summary dl div:last-child{border-bottom:0;padding-bottom:0}
  .summary dt{color:var(--ink-2)}
  .summary dd{margin-left:auto;font-family:var(--f-head);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}

  /* ---------- tresc podstron ---------- */
  .col h3,.col h2.h3{margin-bottom:1.2rem}
  .feature{display:grid;gap:.7rem;align-content:start;padding-top:1.5rem;border-top:1px solid var(--line-2)}
  .feature h3{display:flex;align-items:center;gap:.85rem}
  .feature p{color:var(--ink-2)}
  .feature .ico{flex:none;width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-ink)}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2rem);display:grid;gap:.7rem;align-content:start}
  .card p{color:var(--ink-2)}
  .note-inline{font-size:.94rem;color:var(--ink-2);background:var(--warm);border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1.1rem;max-width:var(--read)}
  .fb .note-inline{background:var(--card)}

  .steps{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
  @media (min-width:760px){ .steps-3{grid-template-columns:repeat(3,minmax(0,1fr))} .steps-4{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (min-width:1080px){ .steps-4{grid-template-columns:repeat(4,minmax(0,1fr))} }
  .steps li{display:grid;gap:.55rem;align-content:start;padding-top:1.3rem;border-top:2px solid var(--accent)}
  .sn{font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
  .steps p{color:var(--ink-2)}

  .day{display:grid;border-top:1px solid var(--line-2);max-width:46rem}
  .day li{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:1.2rem;align-items:baseline;padding-block:.9rem;border-bottom:1px solid var(--line)}
  .day .tm{font-family:var(--f-head);font-weight:700;color:var(--accent-ink);font-variant-numeric:tabular-nums}
  .day p{color:var(--ink-2)}
  .day-note{margin-top:1.4rem}
  /* plan dnia na zywo, czas warszawski */
  .live{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin-bottom:1.4rem;font-weight:700;color:var(--ink);max-width:46rem}
  .live-dot{flex:none;width:.62rem;height:.62rem;border-radius:50%;background:var(--po);animation:puls 2.2s ease-out infinite}
  .live.off .live-dot{background:var(--line-2);animation:none}
  .live-time{font-family:var(--f-head);font-variant-numeric:tabular-nums;color:var(--ink-3)}
  @keyframes puls{0%{box-shadow:0 0 0 0 rgba(122,185,41,.55)}70%{box-shadow:0 0 0 .6rem rgba(122,185,41,0)}100%{box-shadow:0 0 0 0 rgba(122,185,41,0)}}
  .day li.now{background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent);border-radius:12px;border-bottom-color:transparent;margin-inline:-.9rem;padding-inline:.9rem}
  .day li.now p::after{
    content:"teraz";display:inline-block;margin-left:.6rem;padding:.12rem .5rem;border-radius:999px;
    background:var(--accent);color:var(--ink);font:700 .7rem/1.4 var(--f-head);letter-spacing:.08em;text-transform:uppercase;vertical-align:.12em
  }

  /* ---------- plan tygodnia, plan dnia, kalendarz ---------- */
  .days{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem}
  .days button{
    position:relative;min-width:3.4rem;min-height:42px;padding:.45rem .85rem;border-radius:999px;cursor:pointer;
    border:1px solid var(--line-2);background:var(--card);font-family:var(--f-head);font-weight:700;font-size:.92rem;color:var(--ink-2)
  }
  .days button:hover{border-color:var(--ink-3)}
  .days button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
  .days button.today::after{content:"";position:absolute;top:.28rem;right:.32rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--action)}
  .day p b{display:block;color:var(--ink);font-weight:700}
  .day p span{display:block;font-size:.93rem;color:var(--ink-2)}
  .day-extra{margin-bottom:1rem;font-size:.95rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:.7rem 1rem;max-width:46rem}
  .wk-panel{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
  @media (min-width:760px){ .wk-panel{grid-template-columns:repeat(2,minmax(0,1fr))} }
  .wk-col{display:grid;gap:.9rem;align-content:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,2.6vw,1.6rem)}
  .wk-h{display:flex;align-items:center;gap:.6rem;font-size:1.05rem}
  .wk-h .ni{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:10px}
  .wk-h .ni svg{width:1.15rem;height:1.15rem}
  .wk-pr .ni{background:var(--pr-wash);color:var(--pr-ink)} .wk-zl .ni{background:var(--zl-wash);color:var(--zl-ink)}
  .wk-list li{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.8rem;padding-block:.55rem;border-bottom:1px solid var(--line)}
  .wk-list li:last-child{border-bottom:0}
  .wk-list .tm{font-family:var(--f-head);font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}
  .cal{display:grid;border-top:1px solid var(--line-2);max-width:46rem}
  .cal li{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:.2rem 1.2rem;padding-block:.8rem;border-bottom:1px solid var(--line)}
  @media (max-width:600px){ .cal li{grid-template-columns:minmax(0,1fr)} }
  .cal-d{font-family:var(--f-head);font-weight:700}
  .cal-t{color:var(--ink-2)}
  .cal li.open .cal-d,.cal li.open .cal-t{color:var(--po-ink)}
  .cal li.next{background:var(--card);box-shadow:inset 0 0 0 1px var(--action);border-radius:12px;border-bottom-color:transparent;margin-inline:-.9rem;padding-inline:.9rem}
  .cal-next{margin-bottom:1rem;font-weight:700;color:var(--action)}

  /* ---------- ludzie ---------- */
  .f-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
  .f-photo figcaption{margin-top:.5rem;font-size:.8rem;color:var(--ink-3)}
  .f-bios{display:grid;gap:1.2rem;margin-top:1.6rem;grid-template-columns:minmax(0,1fr)}
  @media (min-width:600px){ .f-bios{grid-template-columns:repeat(2,minmax(0,1fr))} }
  .f-bios .h3{font-size:1.05rem}
  .f-bios p{margin-top:.4rem;color:var(--ink-2);font-size:.95rem}
  .crew-h{margin-top:clamp(2.6rem,5vw,3.4rem)}
  .crew{display:flex;flex-wrap:wrap;gap:1rem .6rem;margin-top:1.1rem}
  .crew li{width:7.6rem}
  .crew a{display:grid;justify-items:center;gap:.35rem;width:100%;text-align:center;background:none;border:0;padding:.5rem .3rem;border-radius:14px;cursor:pointer}
  .crew a:hover{background:var(--warm)}
  .crew b{font:700 .88rem/1.2 var(--f-head)}
  .crew small{font-size:.74rem;color:var(--ink-3);line-height:1.25}
  .c-av{width:4.4rem;height:4.4rem;border-radius:50%;object-fit:cover;background:var(--warm)}
  .c-av.ini,.p-av.ini{display:grid;place-items:center;font-family:var(--f-head);font-weight:800;color:var(--accent-ink);background:var(--accent-wash)}
  .c-av.ini{font-size:1.4rem}
  .people{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
  @media (min-width:760px){ .people{grid-template-columns:repeat(2,minmax(0,1fr))} }
  .person{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1.1rem;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.1rem,2.4vw,1.4rem)}
  @media (max-width:420px){ .person{grid-template-columns:minmax(0,1fr)} }
  .p-av{width:5.2rem;height:5.2rem;border-radius:50%;object-fit:cover;background:var(--warm)}
  .p-av.ini{font-size:1.6rem}
  .person .h3{font-size:1.08rem}
  .p-rola{margin-top:.2rem;font-family:var(--f-head);font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
  .p-bio{margin-top:.55rem;color:var(--ink-2);font-size:.95rem}
  .p-go{margin-top:.75rem}

  /* ---------- zapowiedz zespolu na starcie ---------- */
  .meet{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
  @media (min-width:900px){ .meet{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)} }
  .meet .crew-h{margin-top:0}

  /* ---------- O nas ---------- */
  .about{display:grid;gap:clamp(2.2rem,4vw,3.2rem)}
  .about-intro p + p{margin-top:1rem}
  .about .f-bios{margin-top:0;gap:clamp(1.6rem,3vw,2.2rem);grid-template-columns:minmax(0,1fr);max-width:var(--read)}
  .about .f-bios > div + div{padding-top:clamp(1.6rem,3vw,2.2rem);border-top:1px solid var(--line)}
  .about .f-bios p + p{margin-top:.8rem}
  .about .f-bios .f-cytat{margin-top:1.1rem;padding:.9rem 1.2rem;background:var(--warm);border-left:3px solid var(--line-2);border-radius:0 var(--r-sm) var(--r-sm) 0}
  .about .f-bios .f-cytat p{margin:0;font-family:var(--f-voice);font-size:1.02rem;line-height:1.55;color:var(--ink)}
  .about-join{max-width:var(--read);border-top:1px solid var(--line-2);padding-top:clamp(1.8rem,3vw,2.4rem)}
  .about-join p{margin-top:.9rem;color:var(--ink-2)}
  .about-join .about-sign{margin-top:1.4rem;font-family:var(--f-voice);font-size:1.12rem;color:var(--ink)}
  .about-sign b{display:block;margin-top:.15rem;font-family:var(--f-head);font-size:1rem;font-weight:800}
  .zesp{display:grid;gap:clamp(2rem,4vw,2.8rem)}
  .zesp-h{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}
  .zesp-h .ico{flex:none;width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-ink)}
  .zesp-h .ico svg{width:1.3rem;height:1.3rem}
  .zesp-list{display:grid;gap:clamp(.8rem,1.6vw,1.1rem);grid-template-columns:minmax(0,1fr)}
  @media (min-width:640px){ .zesp-list{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (min-width:1000px){ .zesp-list{grid-template-columns:repeat(3,minmax(0,1fr))} }
  .t-card{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:1rem;align-items:center;width:100%;height:100%;text-align:left;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;cursor:pointer}
  .t-card:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
  .t-card:hover .chev{transform:translateX(3px)}
  .t-av{width:4.6rem;height:4.6rem;border-radius:50%;object-fit:cover;background:var(--warm)}
  .t-av.ini{display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:1.5rem;color:var(--accent-ink);background:var(--accent-wash)}
  .t-txt{display:grid;gap:.2rem;justify-items:start}
  .t-txt b{font:700 1.02rem/1.25 var(--f-head)}
  .t-txt small{font-size:.86rem;color:var(--ink-3);line-height:1.35}
  .t-txt .link{margin-top:.3rem;font-size:.9rem}

  /* ---------- podstrona osoby ---------- */
  .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;margin-bottom:1.5rem;font-size:.88rem;color:var(--ink-3)}
  .crumbs a{background:none;border:0;padding:0;font:inherit;color:var(--ink-2);cursor:pointer}
  .crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
  .crumbs .chev{width:.85rem;height:.85rem;opacity:.55}
  .crumbs [aria-current]{color:var(--ink);font-weight:700}
  .os-rola{margin-top:.7rem;font-family:var(--f-head);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
  .os-head{grid-template-areas:"crumbs" "foto" "txt";row-gap:1.6rem}
  .os-head .crumbs{grid-area:crumbs;margin-bottom:0}
  .os-head .ph-photo{grid-area:foto}
  .os-head .os-txt{grid-area:txt}
  @media (min-width:900px){ .os-head{grid-template-areas:"crumbs foto" "txt foto";grid-template-rows:auto 1fr;align-items:start} .os-head .ph-photo{align-self:center} }
  .os-head .lead{margin-top:1.1rem}
  .os-cta{margin-top:1.9rem}
  .os-foto{width:100%;max-width:13.5rem}
  @media (min-width:900px){ .os-foto{max-width:24rem;margin-inline:auto} }
  .os-foto img{aspect-ratio:1/1}
  .os-ini{display:grid;place-items:center;aspect-ratio:1/1;border-radius:var(--arch);background:var(--card);font-family:var(--f-head);font-weight:800;font-size:clamp(4.5rem,14vw,7.5rem);color:var(--accent-ink)}
  .os-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.4rem,5vw,4.5rem);align-items:start}
  @media (min-width:960px){ .os-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)} }
  .os-opis{margin-top:1.3rem}
  .os-opis p + p{margin-top:1rem}
  .os-h{margin:2.3rem 0 1rem}
  .os-cytat{margin-top:2.3rem;padding:1.3rem 1.5rem;max-width:var(--read);background:var(--accent-wash);border-left:4px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0}
  .os-cytat p{font-family:var(--f-voice);font-size:1.14rem;line-height:1.55;color:var(--ink)}
  .os-cytat footer{margin-top:.6rem;font-size:.88rem;color:var(--ink-3)}
  .os-side{display:grid;gap:1.6rem}
  .os-info{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.3rem 1.3rem}
  .os-info div{display:grid;gap:.1rem;padding-block:.8rem;border-bottom:1px solid var(--line)}
  .os-info div:last-child{border-bottom:0}
  .os-info dt{font-family:var(--f-head);font-weight:700;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
  .os-info dd{color:var(--ink)}
  .os-box .h3{font-size:1.08rem;margin-bottom:.8rem}
  .os-list{display:grid;gap:.8rem}
  .os-list li{display:grid;gap:.15rem;padding-left:.95rem;border-left:2px solid var(--accent)}
  .os-list b{font-weight:600;color:var(--ink);line-height:1.4}
  .os-list span{font-size:.9rem;color:var(--ink-3);line-height:1.4}

  /* ---------- dni tematyczne ---------- */
  .ev-wrap{margin-top:clamp(2.6rem,5vw,3.6rem);padding-top:clamp(2rem,4vw,2.8rem);border-top:1px solid var(--line-2)}
  .ev-tabs{margin-top:1.3rem}
  .ev-list{display:grid;border-top:1px solid var(--line-2);max-width:52rem}
  .ev-list li{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:.3rem 1rem;align-items:baseline;padding-block:.75rem;border-bottom:1px solid var(--line)}
  @media (max-width:560px){ .ev-list li{grid-template-columns:3.6rem minmax(0,1fr)} .ev-gs{grid-column:2} }
  .ev-d{font-family:var(--f-head);color:var(--ink-3);font-size:.85rem;font-variant-numeric:tabular-nums}
  .ev-d b{display:block;color:var(--ink);font-size:1.02rem}
  .ev-t{color:var(--ink)}
  .ev-gs{display:flex;flex-wrap:wrap;gap:.3rem}
  .ev-g{font-family:var(--f-head);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px}
  .ev-z{background:var(--zl-wash);color:var(--zl-ink)} .ev-p{background:var(--pr-wash);color:var(--pr-ink)}
  .ev-list li.past{opacity:.5}
  .ev-list li.next{background:var(--card);box-shadow:inset 0 0 0 1px var(--action);border-radius:12px;border-bottom-color:transparent;margin-inline:-.9rem;padding-inline:.9rem}

  /* ---------- kalkulator zlobka ---------- */
  .calc{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}
  @media (min-width:900px){ .calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start} }
  .ctrl{display:grid;gap:1.1rem;margin-top:1.8rem;padding:1.3rem 1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
  .ctrl-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:700}
  .ctrl output{font-family:var(--f-head);font-weight:800;font-size:1.4rem;font-variant-numeric:tabular-nums}
  .ctrl input[type=range]{width:100%;margin:0;min-height:36px;accent-color:var(--zl-ink)}
  .switch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;font-weight:600;padding-top:1rem;border-top:1px solid var(--line)}
  .switch input{width:1.3rem;height:1.3rem;min-height:0;padding:0;margin:.2rem 0 0;accent-color:var(--zl-ink)}
  .ctrl.ctrl-pr input{accent-color:var(--pr-ink)}
  .calc .ticks{margin-top:1.8rem}
  .calc .note{margin-top:1.2rem}

  /* ---------- tabele ---------- */
  .table-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:14px;background:var(--card)}
  table{border-collapse:collapse;width:100%;min-width:26rem;font-size:1rem}
  th,td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
  th{font-family:var(--f-head);font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
  td.num,th.num{text-align:right}
  td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;font-family:var(--f-head)}
  tr:last-child td{border-bottom:0}
  td.free{color:var(--po-ink)}

  /* ---------- kontakt ---------- */
  .phones{display:grid;border-top:1px solid var(--line-2)}
  .phones a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;text-decoration:none;padding:1.1rem 0;border-bottom:1px solid var(--line)}
  .phones a:hover .no{text-decoration:underline;text-underline-offset:4px}
  @media (max-width:380px){ .phones a{grid-template-columns:minmax(0,1fr);gap:.2rem} }
  .phones .who{font-size:.94rem;color:var(--ink-2)}
  .phones .who b{display:block;color:var(--ink);font-size:1.05rem;font-weight:700;font-family:var(--f-head)}
  .phones .no{font-family:var(--f-head);font-size:1.3rem;font-weight:700;color:var(--action);font-variant-numeric:tabular-nums;white-space:nowrap}
  .addr{margin-top:1.2rem}
  .addr a{color:var(--pr-ink);font-weight:700}
  form{display:grid;gap:1.1rem;max-width:var(--read)}
  label{display:grid;gap:.4rem;font-size:.95rem;color:var(--ink);font-weight:700}
  input,select,textarea{
    font-family:var(--f-body);font-size:16px;color:var(--ink);font-weight:400;
    background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);
    padding:.8rem .9rem;width:100%;min-height:50px
  }
  input:hover,select:hover,textarea:hover{border-color:var(--ink-3)}
  textarea{min-height:7rem;resize:vertical}
  .consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start}
  .consent input{width:1.3rem;height:1.3rem;min-height:0;margin-top:.2rem;accent-color:var(--po-ink)}
  .consent label{font-size:.9rem;color:var(--ink-2);font-weight:400}
  input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--action)}

  /* ---------- formularz w trzech krokach ---------- */
  .stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .stepper li{padding-top:.55rem;border-top:3px solid var(--line-2);font-family:var(--f-head);font-weight:600;font-size:.84rem;color:var(--ink-3);line-height:1.3}
  .stepper li.st-on{border-top-color:var(--action);color:var(--ink);font-weight:700}
  .stepper li.st-done{border-top-color:var(--action)}
  .step-count{margin-top:-.4rem;font-size:.85rem;color:var(--ink-3)}
  .step{display:grid;gap:1.1rem;min-width:0;margin:0;padding:0;border:0}
  .step legend{padding:0;margin-bottom:.2rem;font-family:var(--f-head);font-weight:700;font-size:1.25rem;line-height:1.25;letter-spacing:-.01em}
  .row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
  .f-age{min-height:1.5em;font-size:.95rem;color:var(--ink-2)}
  .opts{display:grid;gap:.5rem}
  .opt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--card);cursor:pointer;font-weight:600}
  .opt:hover{border-color:var(--ink-3)}
  .opt input{width:1.15rem;height:1.15rem;min-height:0;margin:0;padding:0;accent-color:var(--action)}
  .opt:has(input:checked){border-color:var(--action);background:var(--action-wash)}
  .step-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.2rem;margin-top:.4rem}
  .f-err{font-size:.94rem;color:var(--action-h);background:var(--action-wash);border:1px solid #F1C3B9;border-radius:var(--r-sm);padding:.8rem 1rem}
  .done{display:grid;gap:.9rem;padding:clamp(1.3rem,3vw,1.8rem);border:1px solid var(--po-line);background:var(--po-wash);border-radius:var(--r)}
  .done:focus{outline:none}
  .done dl div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.8rem;padding-block:.45rem;border-bottom:1px solid var(--po-line)}
  .done dt{color:var(--ink-3);font-size:.92rem}
  .done dd{color:var(--ink);font-weight:600;overflow-wrap:anywhere}

  /* ---------- pytania i odpowiedzi ---------- */
  .faq{max-width:48rem;border-top:1px solid var(--line-2)}
  .faq details{border-bottom:1px solid var(--line)}
  .faq summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;
    padding:1.15rem 0;font-family:var(--f-head);font-weight:700;font-size:1.08rem;line-height:1.35
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{
    content:"";flex:none;width:.55rem;height:.55rem;margin-right:.3rem;
    border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-3px);transition:transform .2s ease
  }
  .faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
  .faq summary:hover{color:var(--action)}
  .faq .a{padding:0 0 1.3rem;color:var(--ink-2);max-width:var(--read)}

  /* ---------- stopka ---------- */
  footer{background:var(--warm);border-top:1px solid var(--line)}
  .foot{display:grid;grid-template-columns:minmax(0,1fr);gap:2.2rem;padding-block:clamp(2.8rem,6vw,4.4rem) 0}
  @media (min-width:760px){ .foot{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (min-width:1080px){ .foot{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))} }
  .foot-logos{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1rem}
  .foot-logos img{width:5.5rem;height:auto}
  .foot h4{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.85rem}
  .foot p,.foot a{font-size:.96rem;color:var(--ink-2);text-decoration:none}
  .foot a{display:block}
  .foot a:hover{color:var(--action)}
  .flist{display:grid;gap:.5rem}
  .legal{margin-top:2.4rem;padding-block:1.3rem 1.6rem;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-3)}
  .stripe-foot{height:4px}

  /* ---------- uslugi poradni: karty i podstrony (raport 12) ---------- */
  .usl-grid{display:grid;gap:.9rem;grid-template-columns:minmax(0,1fr)}
  @media (min-width:640px){ .usl-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (min-width:1080px){ .usl-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
  .usl-grid li{display:flex}
  .usl{display:grid;gap:.5rem;align-content:start;width:100%;text-align:left;cursor:pointer;color:var(--ink);
    background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.2rem;transition:border-color .15s ease,transform .15s ease}
  .usl:hover{border-color:var(--po-ink);transform:translateY(-2px)}
  .usl .ico{width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;background:var(--po-wash);color:var(--po-ink)}
  .usl b{font-family:var(--f-head);font-weight:700;font-size:1.02rem;line-height:1.25}
  .usl-d{font-size:.9rem;color:var(--ink-2);line-height:1.45}
  .usl-c{display:inline-flex;align-items:center;gap:.3rem;margin-top:.15rem;font-family:var(--f-head);font-weight:700;font-size:.92rem;color:var(--po-ink)}
  .us-head .crumbs{margin-bottom:1.3rem}
  /* dlugie slowa w naglowkach (np. neurologopedyczna) przy 265 px wychodzily poza ekran */
  .h1,.h2,.display{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
  .us-cta{margin-top:1.9rem}
  .os-main > * + .us-h{margin-top:clamp(2.2rem,4vw,3rem)}
  .us-h{margin-bottom:1.2rem}
  .us-opis{margin-top:1.5rem}
  .us-opis p + p{margin-top:1rem}
  .os-main > .us-opis:first-child{margin-top:0}
  .us-note{margin-top:1.8rem}
  .us-link{margin-top:1.2rem}
  .us-cena{margin-bottom:.9rem}
  .us-tab table{min-width:0}
  .us-free{font-family:var(--f-head);font-weight:800;font-size:1.6rem;color:var(--po-ink)}
  .t-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;
    text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:1.5px;text-underline-offset:3px}
  .t-link:hover{color:var(--action);text-decoration-color:currentColor}
  .t-opis{display:block;margin-top:.25rem;font-size:.84rem;line-height:1.45;color:var(--ink-3)}
  .rek{cursor:pointer;text-align:left}
  .rek:hover{border-color:var(--po-ink)}
  .odl{margin-top:.9rem}

  @media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }

  /* ---------- odnosniki zamiast przyciskow z prototypu ---------- */
  a.btn,a.badge,a.rib,a.rek,a.navlink,a.t-card,a.usl,a.link,a.tab,.crew a,.crumbs a,.flist a{text-decoration:none}
  .mob a.navlink{display:inline-flex;align-items:center}
  a.rek{color:var(--po-ink)}

  /* ---------- wysylka formularza ---------- */
  .f-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
  .btn:disabled{opacity:.65;cursor:progress}
  .consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}

  /* ---------- dokumenty, statuty, poradnik (zwykle strony z edytora) ---------- */
  .tresc{max-width:46rem}
  .tresc > * + *{margin-top:1rem}
  .tresc h2{font-family:var(--f-head);font-weight:700;font-size:clamp(1.2rem,1.1rem + .4vw,1.4rem);line-height:1.3;color:var(--ink);margin-top:2.4rem}
  .tresc h3{font-family:var(--f-head);font-weight:700;font-size:1.08rem;line-height:1.35;color:var(--ink);margin-top:1.8rem}
  .tresc h4{font-weight:700;color:var(--ink);margin-top:1.4rem}
  .tresc > :first-child{margin-top:0}
  .tresc ul{list-style:disc;padding-left:1.3rem}
  .tresc ol{list-style:decimal;padding-left:1.5rem}
  .tresc li + li{margin-top:.4rem}
  .tresc strong{color:var(--ink)}
  .tresc a{color:var(--pr-ink);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
  .dok{margin-top:.4rem}
  .dok-lista{display:grid;gap:.9rem;margin-top:1.1rem}
  .dok-lista li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem}
  .dok-typ{font-size:.85rem;color:var(--ink-3)}
  .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.6rem}
  .legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
  .legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
