  :root{
    --bg:#F4F7FE;
    --mist:#E8F0FE;
    --surface:#FFFFFF;
    --surface-warm:#EAF1FE;
    --ink:#071C49;
    --ink-soft:#566A93;
    --line:#DCE5F5;
    --line-soft:#E9EFFB;
    --primary:#2C6DF4;
    --primary-press:#1A4FD0;
    --primary-deep:#071C49;
    --primary-soft:#BBD0FB;
    --primary-tint:#E7EFFE;
    --primary-light:#86ABFF;
    --accent:#2C6DF4;
    --accent-deep:#1B54D4;
    --accent-soft:#DCE7FE;
    --warm:#F5805F;
    --warm-tint:#FFEDE6;
    --warm-deep:#D9613E;
    --ok:#2C6DF4;
    --radius-sm:12px;
    --radius:18px;
    --radius-lg:26px;
    --shadow:0 2px 4px rgba(7,28,73,.04), 0 16px 34px -20px rgba(7,28,73,.20);
    --shadow-soft:0 1px 2px rgba(7,28,73,.03), 0 10px 24px -18px rgba(7,28,73,.15);
    --shadow-lift:0 4px 10px rgba(7,28,73,.05), 0 28px 52px -26px rgba(7,28,73,.22);
    --ease-out:cubic-bezier(.16,1,.3,1);
    --font-display:'Newsreader', Georgia, 'Times New Roman', serif;
    --maxw:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:var(--bg);color:var(--ink);
    font-size:16.5px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
  }
  p{line-height:1.75}
  h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{
    display:inline-flex;align-items:center;gap:.6rem;
    font-family:'Inter';font-size:.76rem;font-weight:700;letter-spacing:.16em;
    text-transform:uppercase;color:var(--primary)
  }
  .eyebrow::before{content:'';width:22px;height:2px;border-radius:2px;background:var(--warm);flex:none}
  :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
    font-family:'Inter';font-weight:600;font-size:.98rem;
    padding:.85rem 1.5rem;border-radius:999px;border:none;cursor:pointer;
    transition:transform .18s var(--ease-out), background .18s var(--ease-out), box-shadow .18s var(--ease-out);
  }
  .btn-cta{background:var(--primary);color:#fff}
  .btn-cta:hover{background:var(--primary-press);transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(44,109,244,.5)}
  .btn-cta:disabled{background:#D3DBEC;color:#92A0BC;cursor:not-allowed;box-shadow:none;transform:none}
  .btn-ghost{background:var(--surface);color:var(--primary-deep);border:1.5px solid var(--line)}
  .btn-ghost:hover{border-color:var(--primary-soft);background:var(--primary-tint);transform:translateY(-1px)}

  /* ---------- Header ---------- */
  header{position:sticky;top:0;z-index:50;background:var(--mist);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;gap:1.1rem;height:74px}
  .logo{font-family:'Inter';font-weight:600;font-size:1.45rem;color:var(--primary-deep);display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}
  .logo img{height:46px;width:auto;display:block}
  .logo .dot{width:11px;height:11px;border-radius:50%;background:var(--accent);display:inline-block}
  .nav-links{display:flex;align-items:center;gap:.15rem;margin-left:.5rem}
  .nav-links > *{position:relative}
  .nav-link{padding:.5rem .62rem;white-space:nowrap;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--ink-soft);cursor:pointer;background:none;border:none;font-family:inherit;display:inline-flex;align-items:center;gap:.3rem}
  .nav-link:hover{color:var(--ink);background:var(--primary-tint)}
  .nav-spacer{flex:1}
  /* Na stronie z pinezką (główna) selektor już prowadzi do rezerwacji — ukrywamy zdublowane CTA, by menu się nie ściskało */
  .nav:has(.pin) #headerCta{display:none}
  .caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-bottom:3px;transition:transform .2s}
  @media (hover:hover){ .has-mega:hover .caret{transform:rotate(-135deg);margin-bottom:-2px} }

  /* mega menu */
  .mega{
    position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
    box-shadow:var(--shadow);padding:1.6rem;width:min(720px,86vw);
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
    opacity:0;visibility:hidden;transition:.22s var(--ease-out);
  }
  @media (hover:hover){ .has-mega:hover .mega, .mega:hover{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)} }
  .mega h4{font-family:'Inter';font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:.7rem;font-weight:700}
  .mega a{display:block;padding:.45rem .6rem;border-radius:10px;font-size:.94rem;color:var(--ink);transition:background .15s}
  .mega a:hover{background:var(--primary-tint)}
  .mega .soon{color:var(--ink-soft);font-size:.85rem;margin-top:.6rem}
  .mega .soon span{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);padding:.12rem .45rem;border-radius:6px;margin-right:.3rem}
  /* mega menu — Poradnie */
  .mega.mega-por{display:block;width:min(780px,92vw);padding:1.2rem}
  .mega-por-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
  .mega-por-item{display:flex;flex-direction:row;gap:.6rem;align-items:flex-start;padding:.6rem .7rem;border-radius:10px;color:var(--ink)}
  .mega-por-item:hover{background:var(--primary-tint)}
  .mega-por-item .por-ic{width:22px;height:22px;color:var(--primary);flex:none;margin-top:.1rem}
  .mega-por-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
  .mega-por-item strong{font-size:.95rem;font-weight:600;color:var(--ink)}
  .mega-por-item span{font-size:.79rem;color:var(--ink-soft);line-height:1.3}
  .mega-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--line)}
  .mega-foot a{display:inline-block;font-size:.9rem;font-weight:600;color:var(--primary);padding:.25rem .2rem}
  .mega-foot a:hover{background:none;text-decoration:underline}

  /* location pin */
  .pin{position:relative}
  .pin-btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:.5rem .9rem;font-family:inherit;font-weight:600;font-size:.9rem;color:var(--primary-deep);cursor:pointer}
  .pin-btn:hover{border-color:var(--primary)}
  .pin-btn .ic{color:var(--accent)}
  .pin-menu{position:absolute;top:calc(100% + 10px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:.5rem;width:230px;display:none;z-index:60}
  .pin-menu.open{display:block}
  .pin-menu .ttl{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:.5rem .7rem .3rem;font-weight:700}
  .pin-opt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:.92rem;padding:.6rem .7rem;border-radius:10px;cursor:pointer;color:var(--ink)}
  .pin-opt:hover{background:var(--primary-tint)}
  .pin-opt.active{color:var(--primary);font-weight:600}
  .pin-opt .chk{color:var(--accent);font-weight:700;opacity:0}
  .pin-opt.active .chk{opacity:1}

  .menu-toggle{display:none;background:none;border:1.5px solid var(--line);border-radius:12px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
  .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{content:'';display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:.2s}
  .menu-toggle span::before{position:absolute;top:-6px}
  .menu-toggle span::after{position:absolute;top:6px}

  /* ---------- Hero ---------- */
  .hero{
    padding:88px 0 100px;position:relative;overflow:hidden;
    background:
      radial-gradient(58% 78% at 84% 2%, rgba(44,109,244,.13), transparent 62%),
      radial-gradient(46% 60% at 2% 94%, rgba(245,128,95,.08), transparent 60%),
      var(--bg);
  }
  .hero::before{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:radial-gradient(rgba(7,28,73,.06) 1px, transparent 1.4px);
    background-size:24px 24px;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 72%);
            mask-image:linear-gradient(180deg,#000 0%,transparent 72%);
    opacity:.55;
  }
  .hero .wrap{position:relative;z-index:1}
  .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center}
  .hero-grid > div:first-child{animation:heroUp .7s cubic-bezier(.2,.7,.2,1) both}
  .hero-grid > .selector{animation:heroUp .7s cubic-bezier(.2,.7,.2,1) .12s both}
  .hero h1{font-size:clamp(2.7rem,5.6vw,4.5rem);margin:1rem 0 1.15rem;color:var(--primary-deep);letter-spacing:-.015em;line-height:1.06}
  .hero h1 em{font-style:italic;color:var(--primary)}
  .hero p.lead{font-size:1.24rem;line-height:1.65;color:var(--ink-soft);max-width:42ch;margin-bottom:1.8rem;font-weight:400}
  .trust-row{display:flex;gap:.7rem 1.5rem;flex-wrap:wrap;margin-top:1.7rem;color:var(--ink);font-size:.92rem;font-weight:500}
  .trust-row span{display:flex;align-items:center;gap:.55rem}
  .trust-row .ic{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:var(--warm-tint);color:var(--warm-deep);font-size:.72rem;font-weight:800;flex:none}
  @keyframes heroUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

  /* selector card (signature) */
  .selector{
    background:var(--surface);border-radius:var(--radius-lg);padding:1.85rem;
    box-shadow:var(--shadow-lift);border:1px solid var(--line);position:relative;z-index:1
  }
  .selector::before{
    content:'';position:absolute;left:1.85rem;right:1.85rem;top:0;height:3px;border-radius:0 0 4px 4px;
    background:var(--primary)
  }
  .selector .stag{font-family:'Inter';font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:700;display:inline-flex;align-items:center;gap:.5rem}
  .selector h3{font-size:1.55rem;margin:.5rem 0 1.35rem;color:var(--primary-deep);letter-spacing:-.005em}
  .field{margin-bottom:1rem}
  .field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:.42rem}
  .select-wrap{position:relative}
  .select-wrap::after{content:'';position:absolute;right:1.15rem;top:50%;width:9px;height:9px;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:translateY(-70%) rotate(45deg);pointer-events:none;transition:transform .15s}
  select{
    width:100%;appearance:none;font-family:inherit;font-size:1rem;font-weight:500;color:var(--ink);
    background:#F7F9FF;border:1.5px solid var(--line);border-radius:14px;
    padding:.92rem 2.6rem .92rem 1.1rem;cursor:pointer;transition:border-color .15s, box-shadow .15s, background .15s
  }
  select:hover{border-color:var(--primary-soft);background:#fff}
  select:focus-visible{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px var(--primary-tint);outline:none}
  select option:disabled{color:#aab8b2}
  .result-line{
    display:flex;align-items:flex-start;gap:.6rem;font-size:.93rem;line-height:1.45;
    background:var(--primary-tint);color:var(--primary-deep);border-radius:14px;
    padding:.85rem 1rem;margin:.45rem 0 1.15rem;min-height:54px;
    border:1px solid var(--primary-soft);transition:background .2s, border-color .2s, color .2s
  }
  .result-line.warn{background:#F1F4FA;color:#3F4F73;border-color:#DDE3EF}
  .result-line.good{background:var(--warm-tint);color:var(--warm-deep);border-color:#F6C9B9}
  .result-line .ic{flex-shrink:0;margin-top:1px}
  .selector .btn-cta{width:100%;font-size:1rem;padding:.95rem 1.5rem}
  .hero-blob{position:absolute;width:520px;height:520px;right:-130px;top:-90px;border-radius:50%;background:radial-gradient(circle at 50% 50%, rgba(44,109,244,.16), transparent 68%);z-index:0;pointer-events:none}

  /* ---------- Section base ---------- */
  section{padding:100px 0}
  .sec-head{max-width:62ch;margin-bottom:3rem}
  .sec-head .eyebrow{margin-bottom:.9rem}
  .sec-head h2{font-size:clamp(2rem,3.8vw,2.9rem);margin:0 0 .85rem;color:var(--primary-deep);letter-spacing:-.012em;line-height:1.1}
  .sec-head p{color:var(--ink-soft);font-size:1.14rem;line-height:1.65;max-width:56ch}

  /* pillars */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .pillar{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
    padding:1.8rem;display:flex;flex-direction:column;gap:.4rem;transition:transform .18s, box-shadow .18s
  }
  .pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .pillar .picon{width:52px;height:52px;border-radius:15px;background:var(--primary-tint);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:.7rem}
  .pillar.feature .picon{background:var(--accent-soft);color:var(--accent-deep)}
  .pillar h3{font-size:1.32rem;color:var(--primary-deep)}
  .pillar .desc{color:var(--ink-soft);font-size:.96rem;margin:.2rem 0 .5rem}
  .pillar ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin:.3rem 0 1rem}
  .pillar li{display:flex;align-items:center;gap:.5rem;font-size:.95rem}
  .pillar li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}
  .avail-badge{
    margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;
    padding:.5rem .8rem;border-radius:10px;background:var(--primary-tint);color:var(--primary-deep);width:fit-content
  }
  .avail-badge.here{background:#DCE7FE;color:#1B54D4}
  .avail-badge.elsewhere{background:#EEF1F7;color:#51638A}
  .avail-badge .ic{flex-shrink:0}

  /* autism feature */
  .autism{position:relative;overflow:hidden;background:linear-gradient(180deg,#EFF4FF,#E6F0FE);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,3.4rem);display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:center}
  .autism h2{font-size:clamp(1.9rem,3.4vw,2.5rem);color:var(--primary-deep);margin:.7rem 0 1rem;letter-spacing:-.02em}
  .autism p{color:var(--ink-soft);margin-bottom:1.4rem;font-size:1.04rem;line-height:1.6}
  .steps{position:relative;display:flex;flex-direction:column;gap:.75rem;counter-reset:step}
  .steps::before{content:'';position:absolute;left:calc(1.2rem + 17px);top:36px;bottom:36px;width:2px;background:linear-gradient(var(--primary-soft),rgba(187,208,251,0));z-index:0}
  .step{position:relative;z-index:1;display:flex;gap:1rem;background:var(--surface);border:1px solid #DCE6F8;border-radius:16px;padding:1.05rem 1.2rem;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out)}
  .step:hover{transform:translateX(3px);box-shadow:var(--shadow-soft)}
  .step .num{counter-increment:step;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:linear-gradient(180deg,#3D78F6,var(--primary));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.98rem;box-shadow:0 6px 14px -6px rgba(44,109,244,.7)}
  .step .num::before{content:counter(step)}
  .step h4{font-family:'Inter';font-size:1.02rem;font-weight:700;margin-bottom:.15rem;color:var(--ink)}
  .step p{font-size:.9rem;margin:0;color:var(--ink-soft);line-height:1.5}

  /* trust stats */
  .trust{position:relative;overflow:hidden;background:radial-gradient(120% 150% at 100% 0%, #123E8C 0%, #071C49 56%);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:clamp(2.3rem,5vw,3.5rem);color:#eaf3ef}
  .trust::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);mask-image:linear-gradient(180deg,#000,transparent 72%)}
  .trust > *{position:relative;z-index:1}
  .trust .sec-head h2{color:#fff}
  .trust .sec-head p{color:#B6C7EC}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:2.5rem}
  .stat{padding:.3rem 1.4rem}
  .stat:not(:first-child){border-left:1px solid rgba(255,255,255,.12)}
  .stat .n{font-family:'Inter';font-size:clamp(2.3rem,4.2vw,3.2rem);color:#B9D2FF;line-height:1;font-weight:800;letter-spacing:-.02em}
  .stat .l{color:#AFC2E8;font-size:.9rem;margin-top:.5rem;line-height:1.35}
  .values{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .value{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.35rem;transition:background .18s var(--ease-out), transform .18s var(--ease-out)}
  .value:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
  .value h4{font-family:'Inter';font-weight:700;font-size:1.04rem;margin-bottom:.35rem;color:#fff}
  .value h4::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warm);margin-right:.55rem;vertical-align:middle}
  .value p{font-size:.9rem;color:#B6C7EC;line-height:1.5}

  /* locations */
  .locs{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
  .loc{flex:1 1 340px;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), border-color .18s var(--ease-out)}
  .loc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--primary-soft)}
  .loc-map{height:170px;background:linear-gradient(135deg,#dde8fd,#c6d8fc);position:relative}
  .loc-map iframe{width:100%;height:100%;border:0;display:block}
  .loc-map svg{opacity:.6}
  .loc-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
  .loc h3{font-size:1.34rem;color:var(--primary-deep);margin-bottom:.25rem;letter-spacing:-.005em}
  .loc .addr{color:var(--ink-soft);font-size:.9rem;margin-bottom:.9rem}
  .loc .here-list{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.1rem}
  .loc .here-list strong{color:var(--ink);font-weight:600;display:block;margin-bottom:.25rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
  .loc .chips{display:flex;flex-wrap:wrap;gap:.4rem}
  .chip{font-size:.8rem;font-weight:600;background:var(--primary-tint);color:var(--primary-deep);padding:.28rem .66rem;border-radius:999px}
  .loc .btn{margin-top:auto}
  .loc-actions{display:flex;gap:.6rem;margin-top:auto;flex-wrap:wrap}
  .loc-actions .btn{flex:1;min-width:130px;margin-top:0}
  .btn-nav{background:#fff;color:var(--primary);border:1.5px solid var(--primary-soft);white-space:nowrap}
  .btn-nav:hover{background:var(--primary-tint)}

  /* matrix */
  .matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
  table{border-collapse:collapse;width:100%;min-width:540px}
  th,td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--line)}
  thead th{font-family:'Inter';font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;background:var(--primary-tint)}
  tbody th{font-weight:600;color:var(--ink)}
  td.cell{text-align:center}
  .yes{color:var(--ok);font-weight:700}
  .no{color:#c3cdc8}
  tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}

  /* steps how-to */
  .howto{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative}
  .how{text-align:center;padding:1.6rem 1.4rem;position:relative}
  .how .num{width:50px;height:50px;border-radius:16px;background:linear-gradient(180deg,#3D78F6,var(--primary));color:#fff;font-weight:800;font-family:'Inter';font-size:1.32rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;box-shadow:0 10px 22px -8px rgba(44,109,244,.6)}
  .how h4{font-family:'Inter';font-size:1.12rem;font-weight:700;margin-bottom:.4rem;color:var(--ink);letter-spacing:-.01em}
  .how p{color:var(--ink-soft);font-size:.95rem;line-height:1.55;max-width:30ch;margin:0 auto}

  /* testimonials */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .quote{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.7rem;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), border-color .18s var(--ease-out)}
  .quote:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--primary-soft)}
  .quote::before{content:'\201C';position:absolute;top:-.55rem;right:.7rem;font-family:Georgia,'Times New Roman',serif;font-size:5.5rem;line-height:1;color:var(--primary-tint);z-index:0}
  .quote > *{position:relative;z-index:1}
  .quote .stars{color:var(--warm);letter-spacing:.12em;margin-bottom:.8rem;font-size:.98rem}
  .quote p{font-size:1.02rem;color:var(--ink);margin-bottom:1.1rem;line-height:1.6}
  .quote .who{font-size:.85rem;color:var(--ink-soft)}
  .quote .who strong{color:var(--ink);font-weight:700}

  /* faq */
  .faq{max-width:780px;margin:0 auto}
  .acc{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:.7rem;overflow:hidden;transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out)}
  .acc:hover{border-color:var(--primary-soft)}
  .acc[open]{border-color:var(--primary-soft);box-shadow:var(--shadow-soft)}
  .acc summary{cursor:pointer;list-style:none;padding:1.25rem 1.45rem;font-weight:700;color:var(--ink);font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
  .acc summary::-webkit-details-marker{display:none}
  .acc summary .plus{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform .2s}
  .acc summary .plus::before,.acc summary .plus::after{content:'';position:absolute;background:var(--primary);border-radius:2px}
  .acc summary .plus::before{width:14px;height:2px;top:10px;left:4px}
  .acc summary .plus::after{width:2px;height:14px;top:4px;left:10px;transition:transform .2s}
  .acc[open] summary .plus::after{transform:rotate(90deg);opacity:0}
  .acc .acc-body{padding:0 1.45rem 1.35rem;color:var(--ink-soft);font-size:.97rem;line-height:1.65}

  /* final cta */
  .final{position:relative;overflow:hidden;background:radial-gradient(120% 165% at 50% -25%, #143F8E 0%, #071C49 58%);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:clamp(2.6rem,6vw,4.2rem);text-align:center;color:#fff}
  .final::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(72% 80% at 50% 28%,#000,transparent 76%);mask-image:radial-gradient(72% 80% at 50% 28%,#000,transparent 76%)}
  .final > *{position:relative;z-index:1}
  .final h2{font-size:clamp(2.1rem,4.2vw,3.1rem);margin-bottom:.8rem;color:#fff;letter-spacing:-.03em}
  .final p{color:#C7D6F5;font-size:1.12rem;line-height:1.6;max-width:48ch;margin:0 auto 1.9rem}
  .final .btn-cta{font-size:1.05rem;padding:1rem 2.1rem}

  /* footer */
  footer{background:var(--primary-deep);color:#9DB0D4;padding:64px 0 32px;margin-top:80px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
  footer .logo{color:#fff;margin-bottom:.8rem}
  .foot-logo{display:inline-block;background:#fff;padding:14px 18px;border-radius:14px;margin-bottom:1rem;line-height:0}
  .foot-logo img{display:block;width:200px;height:auto}
  footer h5{color:#fff;font-family:'Inter';font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-weight:700}
  footer a,footer p{display:block;color:#9DB0D4;font-size:.92rem;margin-bottom:.55rem}
  footer a:hover{color:#fff}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#7E92B8}

  /* toast */
  .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120%);opacity:0;visibility:hidden;pointer-events:none;background:var(--primary-deep);color:#fff;padding:.9rem 1.4rem;border-radius:14px;box-shadow:var(--shadow);font-size:.94rem;z-index:200;transition:transform .3s var(--ease-out),opacity .25s var(--ease-out),visibility 0s .3s;display:flex;align-items:center;gap:.6rem}
  .toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .3s var(--ease-out),opacity .25s var(--ease-out),visibility 0s 0s}
  .toast .ic{color:var(--accent)}

  /* ============ MOBILE / RESPONSYWNOŚĆ ============ */
  @media(max-width:1024px){
    .pillars,.locs,.howto,.quotes{grid-template-columns:repeat(2,1fr)}
    .stats{grid-template-columns:repeat(2,1fr)}
    .hero-grid{gap:40px}
    .pin{display:none}
    .nav{gap:1rem}
  }
  @media(max-width:900px){
    .hero-grid,.autism{grid-template-columns:1fr;gap:36px}
    .pillars,.locs,.howto,.quotes,.values{grid-template-columns:1fr}
    .stats{grid-template-columns:repeat(2,1fr)}
    .foot-grid{grid-template-columns:1fr 1fr}
    .nav{gap:.75rem;height:64px}
    header{background:var(--mist)}
    .nav-links{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--surface);flex-direction:column;align-items:stretch;padding:1rem 1rem 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom));gap:.15rem;box-shadow:var(--shadow);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:45}
    .nav-links.open{display:flex}
    .nav-link{justify-content:space-between;padding:.8rem .9rem;font-size:1.02rem}
    .mega,
    .mega:hover,
    .has-mega:hover .mega{
      position:static;top:auto;left:auto;right:auto;transform:none;
      width:100%;max-width:100%;grid-template-columns:1fr;
      opacity:1;visibility:visible;box-shadow:none;border:none;
      padding:.3rem 0 .5rem .4rem
    }
    .mega,.mega.mega-por{display:none}
    .has-mega.open .mega{display:grid}
    .has-mega.open .caret{transform:rotate(-135deg)}
    .menu-toggle{display:flex}
    .nav-spacer{display:none}
    .pin{display:none}
    #headerCta{padding:.65rem 1.05rem;font-size:.9rem}
    .hero{padding:40px 0 52px}
    section{padding:58px 0}
    footer{padding:48px 0 28px;margin-top:56px}
  }
  @media(max-width:560px){
    .wrap{padding:0 18px}
    .foot-grid{grid-template-columns:1fr}
    .logo{font-size:1.22rem}
    .hero{padding:32px 0 44px}
    .hero h1{font-size:clamp(2rem,8.5vw,2.7rem)}
    .hero p.lead{font-size:1.05rem}
    .selector{padding:1.25rem}
    .selector h3{font-size:1.25rem}
    .sec-head{margin-bottom:1.8rem}
    .pillar,.quote{padding:1.4rem}
    .form-card{padding:18px}
    .contact-grid{grid-template-columns:1fr}
    section{padding:46px 0}
    .foot-bottom{flex-direction:column;align-items:flex-start;gap:.4rem}
  }
  @media(max-width:430px){
    #headerCta{display:none}
    .trust-row{gap:.8rem 1.1rem}
    .stats{grid-template-columns:1fr}
  }

/* --- nawigacja: stan aktywny --- */
.nav-link.active{color:var(--ink);background:var(--primary-tint)}

/* --- podstrony (oferta / kontakt / strony informacyjne) --- */
.page-hero{padding:56px 0 24px}
.page-hero h1{font-family:'Inter';font-weight:700;font-size:clamp(2rem,5vw,3rem);color:var(--ink);line-height:1.18;letter-spacing:-.02em;margin:.3rem 0 .5rem}
.page-hero p.lead{color:var(--ink-soft);font-size:1.1rem;max-width:62ch}
.section-pad{padding:40px 0}
.prose{max-width:72ch;padding:8px 0 16px}
.prose p{margin:0 0 1rem;color:var(--ink-soft)}
.prose h2{font-family:'Inter';font-weight:700;color:var(--ink);font-size:1.5rem;margin:1.6rem 0 .6rem}
.prose ul,.prose ol{margin:0 0 1rem 1.2rem;color:var(--ink-soft)}
.prose li{margin:.3rem 0}
.prose a{color:var(--primary)}
.offer-cat{margin-bottom:34px}
.offer-cat .picon{font-size:1.6rem}
.offer-cat h2{font-family:'Inter';font-weight:700;font-size:1.55rem;margin:.2rem 0 .2rem}
.offer-cat .desc{color:var(--ink-soft);margin-bottom:10px}
.svc-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.svc-row .nm{font-weight:600;min-width:200px;flex:1}
.loc-pills{display:flex;flex-wrap:wrap;gap:6px}
.loc-pills .pill{background:var(--primary-tint);color:var(--primary-deep);border-radius:999px;padding:.25rem .7rem;font-size:.85rem;font-weight:600}
.loc-pills .none{color:var(--ink-soft);font-size:.88rem}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:8px}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.contact-card h3{margin:0 0 .3rem;font-size:1.05rem}
.contact-card p{color:var(--ink-soft);margin:.15rem 0;font-size:.95rem}
.contact-card a{color:var(--primary)}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;max-width:620px}
.form-card .field{margin-bottom:14px}
.form-card label{display:block;font-size:.8rem;font-weight:600;margin:0 0 5px}
.form-card input,.form-card textarea{width:100%;font:inherit;border:1.5px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:#fff;color:var(--ink)}
.form-card input:focus,.form-card textarea:focus{outline:none;border-color:var(--primary)}
.form-card textarea{min-height:120px;resize:vertical}
.form-card .opt{color:var(--ink-soft);font-weight:500;font-size:.85em}
.form-card select{background:#fff;border-radius:10px;padding:.66rem 2.4rem .66rem .75rem}
.form-card select:focus-visible{border-color:var(--primary);box-shadow:none}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.field-row{grid-template-columns:1fr}}
.notice{border-radius:12px;padding:.8rem 1rem;margin:0 0 16px;font-weight:600;font-size:.95rem}
.notice.ok{background:#e3f5ec;color:#137a4a}
.notice.err{background:#fbe6e3;color:#c0392b}

/* --- Wsparcie rozwoju dziecka (hub + szczegóły) --- */
.prose h3{font-family:'Inter';font-weight:700;color:var(--ink);font-size:1.08rem;margin:1.4rem 0 .4rem}
.prose strong{color:var(--ink)}
.ws-group{font-family:'Inter';font-weight:700;font-size:clamp(1.5rem,3vw,2rem);color:var(--primary-deep);margin:34px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--primary-tint)}
.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ws-card{display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s}
.ws-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--primary-soft)}
.ws-card h3{font-family:'Inter';font-weight:700;font-size:1.18rem;color:var(--primary-deep);line-height:1.2}
.ws-card p{color:var(--ink-soft);font-size:.93rem;margin:0;flex:1}
.ws-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:.3rem}
.ws-price{display:inline-block;background:var(--primary-tint);color:var(--primary-deep);font-weight:700;font-size:.82rem;padding:.25rem .6rem;border-radius:999px}
.ws-price.big{font-size:.95rem;margin-top:.4rem}
.ws-more{color:var(--primary);font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:.3rem;transition:transform .2s var(--ease-out)}
.blog-card:hover .ws-more,.ws-card:hover .ws-more{transform:translateX(3px)}
.ws-why{background:var(--surface-warm);border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.4rem);margin:36px 0 8px}
.ws-why h2{font-family:'Inter';font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--primary-deep);margin-bottom:.6rem}
.ws-why .prose{max-width:none;padding:0}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft);margin-bottom:.6rem}
.crumbs a{color:var(--primary);font-weight:600}
.crumbs span{color:var(--primary-soft)}
.ws-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ====== Blog ====== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out)}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--primary-soft)}
.blog-cover{display:block;height:180px;background-size:cover;background-position:center;background-color:var(--primary-tint);transition:transform .45s var(--ease-out)}
.blog-card:hover .blog-cover{transform:scale(1.06)}
.blog-text{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px}
.blog-date{font-size:.78rem;color:var(--primary);font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.blog-card h3{margin:0;font-size:1.16rem;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.blog-card p{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.55}
.blog-card .ws-more{margin-top:auto;padding-top:6px}
.article-wrap{max-width:760px}
.article-cover{width:100%;border-radius:var(--radius-lg);margin-bottom:24px;display:block}
.subpage .blog-date{display:inline-block;margin-top:6px}
@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}

/* Mega „Poradnie" na mobile = jedna kolumna */
@media(max-width:900px){
  .mega.mega-por{width:100%;padding:.3rem 0 .5rem .4rem}
  .mega-por-grid{grid-template-columns:1fr}
  .mega-foot{flex-direction:column;gap:.3rem;align-items:flex-start}
}

/* Logo w nagłówku — mniejsze na telefonach */
@media(max-width:560px){ .logo img{height:40px} }

/* Mapa w kartach kontaktu */
.contact-map{height:170px;border-radius:12px;overflow:hidden;margin:12px 0 14px;border:1px solid var(--line)}
.contact-map iframe{width:100%;height:100%;border:0;display:block}
.contact-card .btn-nav{display:inline-block}

/* Kafelki poradni na stronie głównej (sekcja „Nasza oferta") */
.por-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.por-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.65rem 1.6rem 1.4rem;text-decoration:none;color:inherit;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}
.por-tile::before{content:'';position:absolute;left:0;top:0;height:3px;width:100%;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease-out)}
.por-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--primary-soft)}
.por-tile:hover::before{transform:scaleX(1)}
.por-tile .por-ic{width:30px;height:30px;color:var(--primary);margin-bottom:.55rem;transition:color .2s var(--ease-out),transform .2s var(--ease-out)}
.por-tile:hover .por-ic{color:var(--primary-press);transform:translateY(-2px)}
.por-tile h3{font-size:1.3rem;color:var(--primary-deep);margin:0;letter-spacing:-.005em;line-height:1.2}
.por-tile p{color:var(--ink-soft);font-size:.93rem;line-height:1.55;margin:0;flex:1}
.por-tile-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.7rem;padding-top:.85rem;border-top:1px solid var(--line-soft)}
.por-tile-foot .cnt{font-size:.76rem;font-weight:600;color:var(--primary-deep);background:var(--primary-tint);padding:.24rem .62rem;border-radius:999px;white-space:nowrap}
.por-tile-foot .go{font-size:.9rem;font-weight:700;color:var(--primary);white-space:nowrap;transition:transform .2s var(--ease-out)}
.por-tile:hover .go{transform:translateX(3px)}
/* Nagłówek grupy w tabeli dostępności */
.mx-group th{background:var(--primary-tint);color:var(--primary-deep);font-family:'Inter';font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;text-align:left;padding:.6rem .9rem}
@media(max-width:900px){.por-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.por-tiles{grid-template-columns:1fr}}

/* Cennik i dostępność — zwijana lista poradni */
.avail-acc{display:flex;flex-direction:column;gap:.6rem}
.av-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.av-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem}
.av-item summary::-webkit-details-marker{display:none}
.av-name{flex:1;font-size:1.05rem;font-weight:600;color:var(--primary-deep)}
.av-meta{font-size:.82rem;color:var(--ink-soft);font-weight:500;white-space:nowrap}
.av-chev{width:9px;height:9px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(45deg);transition:transform .2s;flex:none}
.av-item[open] .av-chev{transform:rotate(-135deg)}
.av-item[open] summary{border-bottom:1px solid var(--line)}
.av-body{padding:.4rem 1.2rem 1rem}
.av-row{display:flex;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid #eef1f6}
.av-row:last-child{border-bottom:none}
.av-svc{flex:1;color:var(--ink);font-size:.95rem}
.av-price{color:var(--primary);font-weight:600;font-size:.86rem;margin-left:.45rem;white-space:nowrap}
.av-where{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;max-width:52%}
.av-all{font-size:.78rem;color:#157a45;background:#e7f6ee;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
.av-loc{font-size:.78rem;color:var(--primary-deep);background:var(--primary-tint);padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
.av-none{font-size:.78rem;color:#9a3b2f;background:#fbeae7;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
@media(max-width:560px){
  .av-row{flex-direction:column;align-items:flex-start;gap:.35rem}
  .av-where{max-width:100%;justify-content:flex-start}
  .av-meta{display:none}
}

/* Ogłoszenie — pływający przycisk + popup */
.updates-fab{position:fixed;left:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;border:none;border-radius:999px;padding:.72rem 1.15rem;font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 10px 26px rgba(7,28,73,.24)}
.updates-fab:hover{background:var(--primary-deep)}
.updates-fab .uf-ic{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--primary);font-weight:800;font-size:.78rem;flex:none}
.updates-overlay{position:fixed;inset:0;z-index:70;background:rgba(7,28,73,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.updates-overlay[hidden]{display:none}
.updates-box{background:#fff;border-radius:18px;max-width:640px;width:100%;max-height:85vh;overflow:auto;padding:30px 32px;position:relative;box-shadow:0 30px 70px rgba(7,28,73,.32)}
.updates-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--primary);font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer}
.updates-close:hover{text-decoration:underline}
.updates-box h2{font-size:1.5rem;margin:0 0 1rem;color:var(--ink);padding-right:84px;line-height:1.25}
.updates-content{color:var(--ink);line-height:1.7}
.updates-content p{margin:0 0 .7rem}
.updates-content a{color:var(--primary);text-decoration:underline}
.updates-content ul,.updates-content ol{margin:.4rem 0 .8rem 1.2rem;padding-left:.6rem}
.updates-content li{margin:.25rem 0}
@media(max-width:560px){.updates-fab{left:12px;bottom:12px;font-size:.9rem;padding:.62rem .95rem}.updates-box{padding:24px 20px}}

/* ============================================================
   WYKOŃCZENIE WIZUALNE (v2) — zorza, ożywienie, detale
   ============================================================ */

/* Akcent zaznaczenia tekstu */
::selection{background:var(--warm-tint);color:var(--warm-deep)}

/* „Eyebrow" na ciemnym tle granatowym — ciepła kreska zostaje widoczna */
.trust .eyebrow,.final .eyebrow{color:#9FC0FF}

/* Delikatne pojawianie się przy scrollu (progresywne — bez JS wszystko widoczne) */
html.reveal-on .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out), transform .6s cubic-bezier(.2,.7,.2,1)}
html.reveal-on .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.reveal-on .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* Statystyki — separacja na mobile (bez pionowych kresek) */
@media(max-width:900px){
  .stats{gap:1.6rem 1.2rem}
  .stat{padding:.3rem 0}
  .stat:not(:first-child){border-left:none}
}

/* Selektor — pasek akcentu dopasowany do mniejszego paddingu na telefonach */
@media(max-width:560px){
  .selector::before{left:1.25rem;right:1.25rem}
  .hero h1{letter-spacing:-.01em}
}

/* ============================================================
   WYSZUKIWARKA BADAŃ (lupka + nakładka „command palette")
   ============================================================ */
.search-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);color:var(--primary-deep);cursor:pointer;flex:none;transition:border-color .15s var(--ease-out), background .15s var(--ease-out), transform .15s var(--ease-out)}
.search-btn:hover{border-color:var(--primary-soft);background:var(--primary-tint);transform:translateY(-1px)}
.search-btn svg{width:19px;height:19px}

.srch-overlay{position:fixed;inset:0;z-index:120;background:rgba(7,28,73,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 20px 20px}
.srch-overlay[hidden]{display:none}
.srch-box{width:min(640px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lift);overflow:hidden;animation:srchIn .18s var(--ease-out)}
@keyframes srchIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.srch-head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line-soft)}
.srch-ic{width:20px;height:20px;color:var(--primary);flex:none}
.srch-input{flex:1;min-width:0;border:none;outline:none;font:inherit;font-size:1.08rem;color:var(--ink);background:none}
.srch-input::placeholder{color:var(--ink-soft)}
.srch-close{border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);font:inherit;font-size:.72rem;font-weight:700;padding:.3rem .55rem;border-radius:7px;cursor:pointer;flex:none}
.srch-close:hover{border-color:var(--primary-soft);color:var(--primary)}
.srch-results{max-height:min(56vh,460px);overflow:auto;padding:.4rem}
.srch-hint,.srch-empty{padding:1.4rem 1.1rem;color:var(--ink-soft);font-size:.95rem;line-height:1.55}
.srch-empty a{color:var(--primary);font-weight:600}
.srch-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-radius:12px;color:inherit;text-decoration:none}
.srch-item:hover,.srch-item.active{background:var(--primary-tint)}
.srch-it-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.srch-it-t{font-weight:600;color:var(--ink);font-size:1rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch-it-t mark{background:var(--warm-tint);color:var(--warm-deep);border-radius:3px;padding:0 .06em}
.srch-it-sub{font-size:.82rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch-it-side{display:flex;align-items:center;gap:.55rem;flex:none}
.srch-price{font-size:.82rem;font-weight:700;color:var(--primary);white-space:nowrap}
.srch-tag{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
.srch-tag-b{background:var(--primary-tint);color:var(--primary-deep)}
.srch-tag-p{background:var(--warm-tint);color:var(--warm-deep)}
.srch-foot{padding:.6rem 1.1rem;border-top:1px solid var(--line-soft);display:flex;justify-content:flex-end}
.srch-foot span{font-size:.76rem;color:var(--ink-soft)}
.srch-foot kbd{font-family:inherit;font-size:.7rem;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:.06rem .36rem;color:var(--ink-soft)}
@media(max-width:900px){ .search-btn{margin-left:auto} }
@media(max-width:560px){
  .srch-overlay{padding:8vh 12px 12px}
  .srch-foot{display:none}
  .srch-input{font-size:1rem}
  .srch-it-side .srch-price{display:none}
}

/* ============================================================
   BARDZO WĄSKIE EKRANY — zabezpieczenia
   ============================================================ */
/* długie słowa (nazwy badań) nie wypychają layoutu poza ekran */
body{overflow-wrap:break-word}
h1,h2,h3,.av-name,.por-tile h3,.srch-it-t{overflow-wrap:anywhere}
@media(max-width:380px){
  .wrap{padding:0 14px}
  .selector{padding:1.1rem}
  .selector h3{font-size:1.18rem}
  .selector::before{left:1.1rem;right:1.1rem}
  .btn{font-size:.94rem}
  .hero h1{font-size:clamp(1.85rem,8.2vw,2.4rem)}
  .av-item summary{padding:.85rem 1rem}
  .av-body{padding:.4rem 1rem 1rem}
}

/* ============================================================
   WARSTWA 2027 (v3) — glass header, aurora, natychmiastowa
   nawigacja, mobilny pasek akcji, mikrointerakcje.
   Wszystko progresywne: starsze przeglądarki dostają wersję v2.
   ============================================================ */

/* --- Płynne przejścia między podstronami (MPA View Transitions) --- */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* --- Typografia 2027: wyważone nagłówki, ładne łamanie akapitów --- */
h1,h2,h3{text-wrap:balance}
p,li,summary{text-wrap:pretty}
html{scrollbar-gutter:stable}

/* --- Skip link (dostępność) --- */
.skip-link{
  position:fixed;top:10px;left:10px;z-index:200;
  background:var(--primary-deep);color:#fff;font-weight:700;font-size:.95rem;
  padding:.7rem 1.1rem;border-radius:12px;
  transform:translateY(-200%);transition:transform .2s var(--ease-out)
}
.skip-link:focus-visible{transform:none}

/* --- Pasek postępu czytania (czysty CSS, scroll-driven animations) --- */
.scroll-progress{display:none}
@supports (animation-timeline: scroll()){
  .scroll-progress{
    display:block;position:fixed;top:0;left:0;right:0;height:3px;z-index:90;pointer-events:none;
    background:linear-gradient(90deg,var(--primary),var(--warm));
    transform-origin:0 50%;transform:scaleX(0);
    animation:wlProgress linear both;animation-timeline:scroll(root)
  }
  @keyframes wlProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* --- Glass header po przewinięciu --- */
header{transition:background .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s var(--ease-out)}
header.is-scrolled{border-color:transparent;box-shadow:0 10px 34px -20px rgba(7,28,73,.35)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  header.is-scrolled{
    background:rgba(236,242,254,.68);
    -webkit-backdrop-filter:blur(16px) saturate(1.5);
    backdrop-filter:blur(16px) saturate(1.5)
  }
}

/* --- Aurora w hero (subtelna, animowana, szanuje reduced-motion) --- */
@property --wl-ang{syntax:'<angle>';initial-value:0deg;inherits:false}
.hero::after{
  content:'';position:absolute;inset:-24% -12% auto -12%;height:130%;z-index:0;pointer-events:none;
  filter:blur(70px);opacity:.42;
  background:conic-gradient(from var(--wl-ang) at 76% 16%,
    rgba(44,109,244,.20), rgba(245,128,95,.10) 28%,
    rgba(134,171,255,.18) 55%, rgba(44,109,244,.20));
  animation:wlAurora 30s linear infinite
}
@keyframes wlAurora{to{--wl-ang:360deg}}
@media (prefers-reduced-motion:reduce){.hero::after{animation:none}}

/* --- Selektor (sygnatura strony): „żywa" gradientowa obwódka --- */
.selector{
  border:1px solid transparent;
  background:
    linear-gradient(var(--surface),var(--surface)) padding-box,
    linear-gradient(150deg,var(--primary-soft), #fff 42%, #F6CDBE 96%) border-box
}
.selector:focus-within{
  background:
    linear-gradient(var(--surface),var(--surface)) padding-box,
    linear-gradient(150deg,var(--primary), var(--primary-soft) 50%, var(--warm)) border-box;
  box-shadow:var(--shadow-lift), 0 0 0 6px rgba(44,109,244,.07)
}

/* --- Przyciski: delikatny połysk przy hover --- */
.btn-cta{position:relative;overflow:hidden}
.btn-cta::after{
  content:'';position:absolute;top:0;bottom:0;left:-40%;width:34%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-18deg);transition:left .5s var(--ease-out);pointer-events:none
}
.btn-cta:hover::after{left:120%}
@media (prefers-reduced-motion:reduce){.btn-cta::after{display:none}}

/* --- FAQ: płynne rozwijanie <details> (interpolate-size, 2025+) --- */
@supports (interpolate-size: allow-keywords){
  :root{interpolate-size:allow-keywords}
  .acc::details-content{
    opacity:0;block-size:0;overflow:hidden;
    transition:content-visibility .32s allow-discrete, opacity .32s var(--ease-out), block-size .32s var(--ease-out)
  }
  .acc[open]::details-content{opacity:1;block-size:auto}
  .av-item::details-content{
    opacity:0;block-size:0;overflow:hidden;
    transition:content-visibility .32s allow-discrete, opacity .32s var(--ease-out), block-size .32s var(--ease-out)
  }
  .av-item[open]::details-content{opacity:1;block-size:auto}
}

/* --- Mobilny pasek szybkich akcji --- */
.mob-actions{display:none}
@media(max-width:900px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .mob-actions{
    position:fixed;left:0;right:0;bottom:0;z-index:80;
    display:grid;grid-template-columns:auto 1fr;gap:10px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.86);border-top:1px solid var(--line);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
  }
  .ma-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    font-weight:700;font-size:.98rem;border-radius:999px;padding:.85rem 1.3rem;
    transition:transform .15s var(--ease-out), background .15s var(--ease-out)
  }
  .ma-btn:active{transform:scale(.97)}
  .ma-btn svg{width:18px;height:18px}
  .ma-call{background:var(--primary-tint);color:var(--primary-deep);border:1.5px solid var(--primary-soft)}
  .ma-book{background:var(--primary);color:#fff;box-shadow:0 10px 24px -12px rgba(44,109,244,.6)}
  /* przyciski pływające nie kolidują z paskiem */
  .updates-fab{bottom:calc(82px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(86px + env(safe-area-inset-bottom))}
}

/* --- Karty: precyzyjniejsze uniesienie (spring) --- */
.por-tile,.quote,.blog-card,.loc{will-change:transform}
.por-tile:hover,.blog-card:hover{transform:translateY(-5px)}

/* --- Stat: liczby z gradientem (kanał marki) --- */
.stat .n{
  background:linear-gradient(120deg,#DCE9FF, #86ABFF 70%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}

/* --- Fokus w ciemnych sekcjach --- */
.trust :focus-visible,.final :focus-visible{outline-color:#9FC0FF}

/* ============================================================
   KRIOLEZJA — sekcja na stronie głównej + podstrona (prose)
   ============================================================ */

/* --- Strona główna: pasmo z rozwijaną informacją --- */
#kriolezja{padding-top:0}
.krio{
  position:relative;overflow:hidden;border-radius:var(--radius-lg);
  border:1px solid #D7E4FA;padding:clamp(2rem,5vw,3.2rem);
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(134,171,255,.20), transparent 60%),
    linear-gradient(180deg,#F2F7FF,#E9F1FE)
}
.krio::before{ /* szron w narożniku */
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(44,109,244,.10) 1px, transparent 1.4px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(60% 70% at 100% 0%, #000, transparent 70%);
          mask-image:radial-gradient(60% 70% at 100% 0%, #000, transparent 70%);
}
.krio > *{position:relative;z-index:1}
.krio-head{display:grid;grid-template-columns:1.15fr .85fr;gap:2.4rem;align-items:center;margin-bottom:1.6rem}
.krio-head h2{font-size:clamp(1.9rem,3.4vw,2.5rem);color:var(--primary-deep);margin:.7rem 0 .9rem;letter-spacing:-.02em}
.krio-head p{color:var(--ink-soft);font-size:1.05rem;line-height:1.65;max-width:52ch}
.krio-facts{display:grid;gap:.7rem}
.kf{display:flex;align-items:baseline;gap:.9rem;background:rgba(255,255,255,.75);border:1px solid #D9E6FB;border-radius:14px;padding:.8rem 1.1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.kf-v{font-family:'Inter';font-weight:800;font-size:1.35rem;color:var(--primary);letter-spacing:-.02em;white-space:nowrap}
.kf-l{font-size:.88rem;color:var(--ink-soft);line-height:1.35}

/* rozwijana część */
.krio-more{border:1px solid #CFE0FA;border-radius:18px;background:var(--surface);overflow:hidden}
.krio-more summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.4rem;font-weight:700;color:var(--primary-deep);font-size:1.04rem
}
.krio-more summary::-webkit-details-marker{display:none}
.krio-more summary:hover{background:var(--primary-tint)}
.krio-more .km-open{display:none}
.krio-more[open] .km-open{display:inline}
.krio-more[open] .km-closed{display:none}
.krio-more summary .plus{flex-shrink:0;width:22px;height:22px;position:relative}
.krio-more summary .plus::before,.krio-more summary .plus::after{content:'';position:absolute;background:var(--primary);border-radius:2px}
.krio-more summary .plus::before{width:14px;height:2px;top:10px;left:4px}
.krio-more summary .plus::after{width:2px;height:14px;top:4px;left:10px;transition:transform .2s,opacity .2s}
.krio-more[open] summary .plus::after{transform:rotate(90deg);opacity:0}
.krio-body{padding:.4rem 1.4rem 1.5rem}
.krio-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.krio-cols h4{font-family:'Inter';font-weight:700;font-size:1rem;color:var(--ink);margin:0 0 .5rem}
.krio-cols ul{list-style:none;margin:0;display:flex;flex-direction:column;gap:.4rem}
.krio-cols li{position:relative;padding-left:1.1rem;font-size:.95rem;color:var(--ink-soft);line-height:1.5}
.krio-cols li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.krio-note{margin:1.2rem 0;padding:.9rem 1.1rem;border-radius:12px;background:var(--warm-tint);border:1px solid #F6CDBE;color:var(--warm-deep);font-size:.92rem;line-height:1.55}
.krio-actions{display:flex;gap:.7rem;flex-wrap:wrap}
@supports (interpolate-size: allow-keywords){
  .krio-more::details-content{
    opacity:0;block-size:0;overflow:hidden;
    transition:content-visibility .34s allow-discrete, opacity .34s var(--ease-out), block-size .34s var(--ease-out)
  }
  .krio-more[open]::details-content{opacity:1;block-size:auto}
}
@media(max-width:900px){
  .krio-head{grid-template-columns:1fr;gap:1.4rem}
  .krio-cols{grid-template-columns:1fr}
}

/* --- Podstrona (prose): fakty, notki, kolumny, ostrzeżenie --- */
.prose .krio-lead{font-size:1.08rem;color:var(--ink);line-height:1.7}
.prose .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.3rem 0 1.6rem}
.prose .fact{display:flex;flex-direction:column;gap:.15rem;background:var(--primary-tint);border:1px solid var(--primary-soft);border-radius:14px;padding:.95rem 1.05rem}
.prose .f-l{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.prose .f-v{font-family:'Inter';font-weight:800;font-size:1.15rem;color:var(--primary-deep);letter-spacing:-.01em}
.prose .f-s{font-size:.82rem;color:var(--ink-soft)}
.prose .note{margin:1rem 0 1.4rem;padding:.9rem 1.1rem;border-radius:12px;background:var(--warm-tint);border:1px solid #F6CDBE;color:var(--warm-deep);font-size:.93rem;line-height:1.6}
.prose ul.cols2{columns:2;column-gap:2.2rem;list-style:none;margin-left:0}
.prose ul.cols2 li{break-inside:avoid;position:relative;padding-left:1.1rem;margin:.35rem 0}
.prose ul.cols2 li::before{content:'';position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.prose ol{counter-reset:kstep;list-style:none;margin-left:0}
.prose ol li{counter-increment:kstep;position:relative;padding-left:2.4rem;margin:.55rem 0}
.prose ol li::before{
  content:counter(kstep);position:absolute;left:0;top:.05em;width:1.7rem;height:1.7rem;border-radius:9px;
  background:linear-gradient(180deg,#3D78F6,var(--primary));color:#fff;font-weight:800;font-size:.85rem;
  display:flex;align-items:center;justify-content:center
}
.prose .warn{margin:1rem 0 1.6rem;padding:1.1rem 1.25rem;border-radius:14px;background:#FFF3F0;border:1.5px solid #F3B9A8}
.prose .warn p{color:var(--warm-deep);margin-bottom:.6rem}
.prose .warn ul.cols2 li::before{background:var(--warm-deep)}
.prose .disclaimer{font-size:.84rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:1rem;margin-top:1.6rem}
.prose details.acc{margin-bottom:.6rem}
@media(max-width:700px){
  .prose .facts{grid-template-columns:1fr}
  .prose ul.cols2{columns:1}
}

/* kotwice nie chowają się pod sticky headerem */
[id]{scroll-margin-top:88px}

/* ============================================================
   WARSTWA v4 — „LIQUID GLASS”
   Białe tło, pływający szklany navbar, Fustat w nagłówkach,
   szklane CTA z wewnętrznym rozbłyskiem, orb w hero.
   ============================================================ */

:root{
  --font-head:'Fustat','Inter',system-ui,sans-serif;
  --glass-stroke:rgba(0,0,0,.10);
  --glass-fill:rgba(255,255,255,.30);
  --glass-inset:inset 0 4px 4px 0 rgba(255,255,255,.25);
  --cta-blue:rgba(0,132,255,.80);
  --star:#FF801E;
}
body{background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* --- Nagłówki: Fustat Bold --- */
h1,h2,.page-hero h1,.logo{font-family:var(--font-head);font-weight:700}
.hero h1{font-weight:800}

/* --- Pływający „Strong Liquid Glass” navbar --- */
header{
  position:sticky;top:30px;z-index:60;
  background:transparent;border-bottom:none;
  pointer-events:none;               /* klika się tylko pigułka */
  padding:0 16px;
}
header .nav{
  pointer-events:auto;
  width:fit-content;max-width:min(1600px,100%);
  margin:0 auto;height:auto;
  padding:10px 16px;gap:.9rem;
  background:var(--glass-fill);
  -webkit-backdrop-filter:blur(50px) saturate(1.4);
  backdrop-filter:blur(50px) saturate(1.4);
  border:1px solid var(--glass-stroke);
  border-radius:16px;
  box-shadow:var(--glass-inset), 0 12px 32px -20px rgba(7,28,73,.28);
  transition:box-shadow .28s var(--ease-out), background .28s var(--ease-out);
}
header.is-scrolled{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:transparent}
header.is-scrolled .nav{
  background:rgba(255,255,255,.45);
  box-shadow:var(--glass-inset), 0 18px 44px -22px rgba(7,28,73,.38);
}
@media(max-width:900px){
  header{top:10px;padding:0 10px}
  header .nav{width:100%;padding:8px 12px}
}

/* CTA w nagłówku i selektorze: szkło + strzałka w białym kółku */
.btn-cta{
  background:var(--cta-blue);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  border-radius:16px;color:#fff;
  box-shadow:inset 0 4px 4px 0 rgba(255,255,255,.35), 0 10px 26px -12px rgba(0,132,255,.65);
  transition:transform .22s var(--ease-out), background .22s var(--ease-out), box-shadow .22s var(--ease-out);
  display:inline-flex;align-items:center;gap:.6rem;justify-content:center;
}
.btn-cta::before{ /* białe kółko ze strzałką */
  content:'→';order:2;
  width:1.45em;height:1.45em;flex:none;border-radius:50%;
  background:#fff;color:#0084FF;font-weight:800;font-size:.92em;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .22s var(--ease-out);
}
.btn-cta:hover{transform:scale(1.02);background:rgba(0,132,255,.92)}
.btn-cta:hover::before{transform:translateX(2px)}
.btn-cta[disabled]{box-shadow:none}
.btn-cta[disabled]::before{opacity:.5}

/* --- HERO: czysta biel + warstwowa poświata top-left --- */
.hero{background:#fff}
.hero::before{ /* poświata: dwie rozmyte elipsy */
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(52% 42% at 12% 8%,  rgba(96,177,255,.34), transparent 70%),
    radial-gradient(38% 30% at 26% 20%, rgba(49,154,255,.22), transparent 72%),
    radial-gradient(30% 24% at 4% 34%,  rgba(96,177,255,.14), transparent 75%);
  filter:blur(2px);
  -webkit-mask-image:none;mask-image:none;background-size:auto;
}
.hero::after{display:none} /* aurora v3 ustępuje poświacie v4 */
.hero-blob{display:none}
.hero .wrap{max-width:min(1600px,100%)}

/* Nagłówek 75px / 1.05 / -2px */
.hero h1{
  font-size:clamp(2.9rem,5.2vw,75px);
  line-height:1.05;letter-spacing:clamp(-2px,-0.026em,-1px);
  margin:.9rem 0 1.1rem;
}
.hero h1 em{font-family:var(--font-head);font-style:normal;color:#0084FF}
.hero .lead{font-size:18px;letter-spacing:-.3px;line-height:1.6;max-width:56ch}

/* Badge ocen z pięcioma gwiazdkami */
.rate-badge{
  display:inline-flex;align-items:center;gap:.6rem;margin:1rem 0 0;
  background:rgba(255,255,255,.55);border:1px solid var(--glass-stroke);border-radius:999px;
  padding:.42rem .95rem .42rem .7rem;font-size:.86rem;color:var(--ink-soft);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:var(--glass-inset);
}
.rate-badge strong{color:var(--ink)}
.stars{display:inline-flex;gap:2px}
.stars i{
  width:14px;height:14px;background:var(--star);display:inline-block;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}

/* --- Orb: własna animowana szklana kula (czysty CSS, zero zasobów zewnętrznych) ---
   Warstwy: core (szkło + głębia) → dwa wirujące gradienty koniczne (przeciwne
   kierunki, różne tempo — efekt „przelewania się" koloru) → oddychająca poświata
   i rozbłysk. Tylko transform/opacity — animacja idzie na GPU. */
.hero-grid{position:relative}
.hero-orb{
  position:absolute;z-index:0;pointer-events:none;
  right:-6%;top:50%;
  width:min(620px,52vw);aspect-ratio:1;
  transform:translateY(-50%) scale(1.25);
}
.orb-core{ /* baza: szklana kula — działa też przy prefers-reduced-motion */
  position:absolute;inset:0;border-radius:50%;
  background:
    radial-gradient(38% 38% at 33% 28%, rgba(255,255,255,.95), rgba(255,255,255,0) 60%),
    radial-gradient(60% 60% at 68% 72%, rgba(0,132,255,.55), rgba(0,132,255,0) 70%),
    radial-gradient(75% 75% at 50% 50%, rgba(49,154,255,.38), rgba(96,177,255,.16) 62%, rgba(96,177,255,0) 78%);
  filter:blur(4px) saturate(1.5);
  opacity:.9;
  animation:orbFloat 9s ease-in-out infinite;
}
.orb-swirl{
  position:absolute;inset:5%;border-radius:50%;
  background:conic-gradient(from 0deg,
    rgba(44,109,244,0)   0deg,
    rgba(44,109,244,.85) 70deg,
    rgba(110,168,255,.9) 130deg,
    rgba(44,109,244,0)   200deg,
    rgba(0,132,255,.7)   270deg,
    rgba(44,109,244,0)   360deg);
  filter:blur(22px) saturate(1.6);
  mix-blend-mode:screen;
  opacity:.85;
  animation:orbSpin 16s linear infinite;
}
.orb-swirl.b{
  inset:12%;
  background:conic-gradient(from 140deg,
    rgba(255,255,255,0)   0deg,
    rgba(160,205,255,.85) 60deg,
    rgba(255,255,255,0)   140deg,
    rgba(245,128,95,.28)  210deg,   /* delikatny koralowy akcent brandu */
    rgba(255,255,255,0)   270deg,
    rgba(120,180,255,.6)  320deg,
    rgba(255,255,255,0)   360deg);
  filter:blur(30px) saturate(1.35);
  opacity:.75;
  animation:orbSpin 26s linear infinite reverse;
}
.orb-shine{ /* rozbłysk + oddychająca poświata */
  position:absolute;inset:0;border-radius:50%;
  background:
    radial-gradient(30% 30% at 30% 24%, rgba(255,255,255,.9), rgba(255,255,255,0) 65%),
    radial-gradient(closest-side, rgba(110,168,255,.22), rgba(110,168,255,0) 72%);
  filter:blur(6px);
  animation:orbBreath 7s ease-in-out infinite;
}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@keyframes orbBreath{0%,100%{opacity:.75}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .orb-core,.orb-swirl,.orb-swirl.b,.orb-shine{animation:none}
  .orb-swirl{opacity:.55}.orb-swirl.b{opacity:.45}
}
@media(max-width:900px){
  .hero-orb{right:-30%;top:auto;bottom:-8%;width:88vw;opacity:.55}
}

/* Selektor: liquid glass nad orbem */
.selector{
  position:relative;z-index:1;
  background:
    linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)) padding-box,
    linear-gradient(150deg,rgba(255,255,255,.9),rgba(187,208,251,.6) 50%,rgba(0,132,255,.35)) border-box;
  border:1px solid transparent;border-radius:22px;
  -webkit-backdrop-filter:blur(50px) saturate(1.35);
  backdrop-filter:blur(50px) saturate(1.35);
  box-shadow:var(--glass-inset), 0 30px 60px -30px rgba(7,28,73,.35);
}
.selector:focus-within{
  box-shadow:var(--glass-inset), 0 34px 66px -30px rgba(0,132,255,.4), 0 0 0 6px rgba(0,132,255,.06);
}
.selector select{background-color:rgba(255,255,255,.75)}

/* --- Pasek zaufania (grayscale wordmarki) --- */
.trusted{padding:34px 0 10px;background:#fff}
.trusted-h{
  text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#9AA7C2;margin-bottom:1.2rem;
}
.trusted-row{
  display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;
  gap:clamp(28px,7vw,100px);
}
.tw{
  font-family:var(--font-head);font-weight:700;font-size:clamp(1.05rem,2vw,1.45rem);
  color:#B9C2D6;letter-spacing:-.01em;white-space:nowrap;
  filter:grayscale(1);transition:color .25s var(--ease-out),filter .25s var(--ease-out);
}
.tw:hover{color:#7C8AA8}

/* --- Spójność reszty strony z nową bielą --- */
section{background-color:transparent}
.page-hero h1{letter-spacing:-.022em}
@media(max-width:640px){
  .hero h1{font-size:clamp(2.35rem,9vw,3rem)}
}
/* treść hero zawsze nad poświatą i orbem */
.hero-grid > div:first-child{position:relative;z-index:1}

/* ============================================================
   v4.1 — poprawki mobile: drawer menu, pasek akcji, pin
   ============================================================ */

@media(max-width:900px){
  /* backdrop-filter na .nav więził fixed-drawer wewnątrz pigułki —
     na mobile pigułka dostaje solidne tło zamiast blura */
  header .nav{
    -webkit-backdrop-filter:none;backdrop-filter:none;
    background:rgba(255,255,255,.94);
  }
  header.is-scrolled .nav{background:rgba(255,255,255,.97)}

  /* drawer jako arkusz pod pływającą pigułką */
  .nav-links{
    top:84px;left:10px;right:10px;
    bottom:auto;max-height:calc(100dvh - 100px);
    border-radius:16px;border:1px solid var(--glass-stroke);
    box-shadow:0 30px 60px -25px rgba(7,28,73,.35);
  }

  /* otwarte menu lub wyszukiwarka chowają dolny pasek akcji */
  body:has(.nav-links.open) .mob-actions,
  body:has(.srch-overlay:not([hidden])) .mob-actions,
  body:has(.pin-menu.open) .mob-actions{display:none}

  /* przyciski paska nie zlewają się i nie łamią tekstu */
  .mob-actions{grid-template-columns:auto 1fr;align-items:stretch}
  .ma-btn{white-space:nowrap;min-height:46px}
  .ma-call{flex:none}
}

/* Wybór placówki (pin) — dostępny też na mobile, na górze drawera */
@media(max-width:1024px){
  .nav-links .pin-mobile{display:block;order:-1;margin-bottom:.5rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-soft)}
}
.pin-mobile{display:none}
.pin-mobile .ttl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;padding:.2rem .2rem .5rem}
.pin-mobile .pm-opts{display:flex;gap:.5rem;flex-wrap:wrap}
.pin-mobile .pin-opt{
  flex:1 1 auto;justify-content:center;text-align:center;
  border:1.5px solid var(--line);border-radius:999px;padding:.55rem .9rem;background:#fff;
}
.pin-mobile .pin-opt.active{border-color:var(--primary);background:var(--primary-tint);color:var(--primary)}
.pin-mobile .pin-opt .chk{display:none}

/* ---------- Formularz kontaktowy: układ i podpowiedzi ---------- */
.form-card .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card .field-row .field{min-width:0}
@media(max-width:640px){.form-card .field-row{grid-template-columns:1fr}}
.form-card ::placeholder{color:#9AA9C7;opacity:1}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px rgba(0,132,255,.08)
}

/* ===================== RODO / cookies ===================== */
/* Zgoda w formularzu kontaktowym */
.rodo-check{display:flex;gap:.7rem;align-items:flex-start;margin:6px 0 16px;cursor:pointer;font-size:.86rem;line-height:1.5;color:var(--ink-soft, #51638A)}
.rodo-check input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--blue, #2C6DF4)}
.rodo-check a{color:var(--blue, #2C6DF4);font-weight:600}
.rodo-clause{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line, #DCE4F4);font-size:.78rem;line-height:1.55;color:#6b7a99}
.rodo-clause a{color:var(--blue, #2C6DF4)}

/* Dane rejestrowe w stopce (art. 206 KSH) */
.foot-legal{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.74rem;line-height:1.6;color:rgba(255,255,255,.45);text-align:center}

/* Baner cookies */
.cookie-bar{position:fixed;left:14px;right:14px;bottom:14px;z-index:120;display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  max-width:980px;margin:0 auto;background:rgba(7,28,73,.97);color:#DCE6FA;border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:16px 20px;box-shadow:0 20px 50px -20px rgba(7,28,73,.6);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cookie-bar[hidden]{display:none}
.cookie-txt{flex:1 1 380px;font-size:.84rem;line-height:1.55}
.cookie-txt strong{color:#fff}
.cookie-txt a{color:#9FC0FB;font-weight:600}
.cookie-acts{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btn{font:inherit;font-weight:700;font-size:.86rem;border:none;border-radius:10px;padding:.6rem 1.05rem;cursor:pointer;
  background:var(--blue, #2C6DF4);color:#fff;transition:filter .15s}
.cookie-btn:hover{filter:brightness(1.08)}
.cookie-btn.ghost{background:transparent;color:#C6D6F7;border:1.5px solid rgba(255,255,255,.28)}
.cookie-btn.ghost:hover{background:rgba(255,255,255,.08);filter:none}
@media(max-width:560px){.cookie-bar{padding:14px}.cookie-acts{width:100%}.cookie-btn{flex:1}}

/* Mapa Google — placeholder do czasu zgody */
.map-consent{display:flex;align-items:stretch}
.map-load-btn{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;
  font:inherit;cursor:pointer;border:2px dashed var(--line, #DCE4F4);border-radius:inherit;background:#F4F8FE;color:var(--ink, #071C49);
  padding:22px 18px;min-height:180px;transition:border-color .15s,background .15s}
.map-load-btn:hover{border-color:var(--blue, #2C6DF4);background:#EDF3FE}
.map-load-btn .mlb-t{font-weight:800;font-size:1rem}
.map-load-btn .mlb-s{font-size:.76rem;line-height:1.5;color:#6b7a99;max-width:34ch;font-weight:500}

/* Baner cookies na mobile — nad paskiem szybkich akcji, nie zasłania go */
@media(max-width:900px){
  .cookie-bar{bottom:calc(78px + env(safe-area-inset-bottom));left:10px;right:10px}
}

/* ===================== Oznaczenia finansowania (NFZ / Prywatnie) ===================== */
.pay-badges{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 10px}
.pay-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1}
.pay-badge.nfz{color:#0E7A3D;background:#E4F5EB;border:1px solid #BFE6CF}
.pay-badge.nfz::before{content:"";width:7px;height:7px;border-radius:50%;background:#12A653}
.pay-badge.prv{color:#1B54D4;background:var(--primary-tint,#E9F0FE);border:1px solid #C9DAFB}
.pay-badge.prv::before{content:"";width:7px;height:7px;border-radius:50%;background:#2C6DF4}
.pay-badge.big{font-size:.78rem;padding:6px 14px}
.pay-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}

/* Filtr nad listą usług */
.pay-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0 6px;
  padding:10px 14px;background:#F6F9FE;border:1px solid var(--line,#DCE4F4);border-radius:14px;width:fit-content}
.pay-filter-lbl{font-size:.8rem;font-weight:700;color:#51638A;margin-right:2px}
.pay-chip{font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;border-radius:999px;
  padding:.42rem 1rem;border:1.5px solid var(--line,#DCE4F4);background:#fff;color:#51638A;
  transition:border-color .15s,color .15s,background .15s}
.pay-chip:hover{border-color:var(--blue,#2C6DF4);color:var(--blue,#2C6DF4)}
.pay-chip.active{background:var(--navy,#071C49);border-color:var(--navy,#071C49);color:#fff}
@media(max-width:560px){.pay-filter{width:100%;justify-content:flex-start}}
