
:root{
  --ink:#10142b; --copy:#465466; --muted:#7a8798;
  --line:#e3ecf3; --hair:#eff5fa;
  --ground:#ffffff; --wash:#eff9ff; --wash2:#f6fbff;
  --blue:#087fc5; --lit:#18bff0; --mint:#5ee7c4;
  --ok:#0f8a5f; --okbg:#e8f8f1; --warn:#c2410c; --warnbg:#fdf1e8;
  --radius:18px;
  --shadow:0 1px 2px rgba(16,20,43,.04), 0 18px 40px -28px rgba(16,20,43,.35);
  --display:'Outfit','Segoe UI',system-ui,sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ground);color:var(--copy);
  font-family:var(--body);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--lit);outline-offset:2px;border-radius:6px}
img{max-width:100%}

h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0 0 .5em;
  line-height:1.12;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:700;margin:0}
h1 em{font-style:normal;color:var(--blue)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:1.06rem;font-weight:600}
.lead{font-size:1.15rem;color:#33414f;max-width:64ch;margin:1rem 0 0}
.kick{font:600 .78rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);margin:0 0 .9rem}
.podt{color:var(--muted);margin:0 0 1.5rem;max-width:62ch}

/* nagłówek */
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:1.2rem;justify-content:space-between;
  padding-block:.9rem;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:.62rem;text-decoration:none}
.logo:hover{text-decoration:none}
.znak{display:block;width:62px;height:38px;flex:0 0 auto;
  background-image:url("https://akademia.movetherapy.pl/uploads/site/2312/4eb397310e8f605a8a608d52d6a1695c.png");
  background-size:274px 107px;background-position:-106px -34px;background-repeat:no-repeat}
.nazwa{display:flex;flex-direction:column;line-height:1.06}
.nazwa b{font-family:var(--display);font-size:1.04rem;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.nazwa i{font-style:normal;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.topnav{display:flex;gap:1.3rem;font-size:.95rem;flex-wrap:wrap;align-items:center}
.topnav a{color:var(--copy)}
.topnav a:hover{color:var(--blue)}

/* przyciski */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.5rem;border-radius:999px;font-weight:600;font-size:1rem;
  font-family:var(--display);border:1px solid transparent;cursor:pointer;white-space:nowrap;
  background:linear-gradient(100deg,var(--lit) 0%,var(--mint) 100%);color:var(--ink)!important;
  box-shadow:0 14px 30px -16px rgba(24,191,240,.9);text-decoration:none!important}
.btn:hover{filter:brightness(1.04)}
.btn.sec,.btn--ghost{background:#fff;color:var(--ink)!important;border-color:var(--line);box-shadow:none}
.btn--sm{padding:.6rem 1.1rem;font-size:.9rem}
.btn+.btn{margin-top:.6rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.cta .btn+.btn{margin-top:0}

/* pigułki zaufania */
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.pill{display:inline-flex;align-items:center;gap:.45rem;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:.5rem 1rem;
  font-size:.88rem;font-weight:500;color:var(--ink)}
.pill i{color:var(--ok);font-style:normal;font-weight:700}

/* hero */
.hero{background:linear-gradient(160deg,#fff 0%,#f2fbff 45%,#e8f7ff 100%);
  padding:clamp(2.6rem,5vw,4.2rem) 0 clamp(2.6rem,5vw,3.6rem)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.6rem;align-items:center}
.hero-foto{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/3;max-width:100%}
.hero-foto img{width:100%;height:100%;object-fit:cover;display:block}
.pod-hero{font-size:.88rem;color:var(--muted);margin:1.1rem 0 0}

/* liczby */
.stats{display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:1.9rem 1.5rem 1.9rem 0;border-right:1px solid var(--hair)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--display);font-size:2.05rem;font-weight:700;
  color:var(--blue);letter-spacing:-.03em;line-height:1;margin-bottom:.45rem;
  font-variant-numeric:tabular-nums}
.stat span{font-size:.9rem;color:var(--muted)}

/* sekcje */
section{padding-block:clamp(2.4rem,4vw,3.4rem)}
section+section{border-top:1px solid var(--hair)}
.tlo{background:var(--wash2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* pas ze zdjęciem */
.pas{position:relative;border-radius:var(--radius);overflow:hidden;
  min-height:clamp(220px,30vw,320px);display:flex;align-items:flex-end;
  box-shadow:var(--shadow)}
.pas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pas .napis{position:relative;padding:clamp(1.4rem,3vw,2.2rem);
  background:linear-gradient(0deg,rgba(6,20,32,.92) 0%,rgba(6,20,32,.72) 45%,rgba(6,20,32,.15) 100%);
  width:100%;color:#fff}
.pas .napis h3{color:#fff;font-size:clamp(1.15rem,2.4vw,1.6rem);margin:0 0 .3rem}
.pas .napis p{margin:0;font-size:.98rem;color:rgba(255,255,255,.86);max-width:56ch}

/* kadrowane zdjęcia w siatkach */
.foto-box{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/3}
.foto-box img{width:100%;height:100%;object-fit:cover;display:block}
.foto-box.pion{aspect-ratio:1/1}

/* filtry */
.filtry{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem;box-shadow:var(--shadow);display:grid;gap:.8rem;
  grid-template-columns:2fr 1fr 1fr;margin-bottom:1.6rem}
.filtry label{display:block;font:600 .72rem/1 var(--display);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.filtry input,.filtry select{width:100%;padding:.7rem .85rem;border:1px solid var(--line);
  border-radius:12px;background:#fff;color:var(--ink);font:400 1rem var(--body)}
.wynik{font-size:.92rem;color:var(--muted);margin:0 0 1rem}
.wynik b{color:var(--ink)}

/* karty osób */
.karty{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));margin-bottom:1rem}
.karta{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .16s,border-color .16s}
.karta:hover{box-shadow:var(--shadow);border-color:#cfe7f6}
.karta .gora{display:flex;gap:.9rem;align-items:flex-start}
.awatar{width:58px;height:58px;border-radius:50%;flex:0 0 58px;object-fit:cover;
  background:linear-gradient(135deg,var(--lit),var(--mint));
  display:grid;place-items:center;color:#0b2233;font:700 1.25rem var(--display)}
.karta h3{margin:0 0 .15rem;font-size:1.08rem;font-weight:700;line-height:1.25}
.karta h3 a{color:var(--ink)}
.karta .rola{font-size:.88rem;color:var(--muted)}
.karta .op{font-size:.95rem;color:var(--copy);margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tagi{display:flex;flex-wrap:wrap;gap:.35rem}
.tag{font:600 .74rem/1 var(--display);background:var(--wash);color:var(--blue);
  border:1px solid #dceefb;padding:.4rem .6rem;border-radius:999px}
.tag.lv{background:var(--okbg);border-color:#c9ecdd;color:var(--ok)}
.tag.nr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;
  border-color:var(--line);color:var(--muted);font-weight:400}

/* profil */
.profil{display:grid;grid-template-columns:1fr 340px;gap:2.4rem;align-items:start;
  padding-block:clamp(2rem,4vw,3rem)}
.pfoto{width:128px;height:128px;border-radius:22px;object-fit:cover;
  background:linear-gradient(135deg,var(--lit),var(--mint));display:grid;place-items:center;
  color:#0b2233;font:700 2.4rem var(--display)}
.pnag{display:flex;gap:1.4rem;align-items:center;margin-bottom:1.4rem;flex-wrap:wrap}
.pnag h1{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.bio{font-size:1.06rem;color:var(--copy);max-width:62ch}
.lista{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.lista li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.85rem 1.1rem;
  display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}
.lista .kurs{font-weight:600;font-size:.98rem;color:var(--ink)}
.lista .det{font:400 .82rem ui-monospace,monospace;color:var(--muted);white-space:nowrap}

/* panel boczny */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;box-shadow:var(--shadow);position:sticky;top:88px}
.panel h3{margin:0 0 1rem}
.dane{display:grid;gap:.7rem;margin-bottom:1.2rem}
.dane div{display:flex;justify-content:space-between;gap:.8rem;font-size:.95rem;align-items:baseline}
.dane dt{color:var(--muted)}
.dane dd{margin:0;font-weight:600;color:var(--ink);text-align:right}
.dane dd.mono{font-family:ui-monospace,monospace;font-weight:400;font-size:.88rem}
.panel .btn{width:100%}
.panel .btn+.btn{margin-top:.6rem}
.skad{font-size:.8rem;color:var(--muted);margin:1rem 0 0;text-align:center}

/* status */
.stat-b{display:inline-flex;align-self:flex-start;align-items:center;gap:.45rem;
  font:600 .8rem var(--display);padding:.4rem .8rem;border-radius:999px}
.stat-b.ok{background:var(--okbg);color:var(--ok)}
.stat-b.no{background:var(--warnbg);color:var(--warn)}
.stat-b::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}

/* weryfikacja */
.wer{max-width:620px;margin:0 auto}
.wer .pole{display:flex;gap:.6rem;margin:1.4rem 0}
.wer input{flex:1;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;
  background:#fff;color:var(--ink);font:400 1rem ui-monospace,monospace}
.wer button{padding:.9rem 1.5rem;border-radius:999px;border:0;cursor:pointer;
  background:var(--ink);color:#fff;font:600 .98rem var(--display)}
#wynikWer{margin-top:1.4rem}
.karta.wynik-ok{border-color:#a9e3cc}
.karta.wynik-zle{border-color:#f0c9ab}

/* formularz */
.form{max-width:760px;margin:0 auto}
.grupa{margin-bottom:1.5rem}
.grupa>label,fieldset>legend{display:block;font:600 .95rem var(--display);
  margin-bottom:.4rem;color:var(--ink);padding:0}
.pom{font-size:.88rem;color:var(--muted);margin:0 0 .5rem}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=url],
.form select,.form textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);
  border-radius:14px;background:#fff;color:var(--ink);font:400 1rem var(--body)}
.form textarea{min-height:140px;resize:vertical;line-height:1.55}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;
  margin:0 0 1.5rem;background:#fff}
.checki{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.checki label,.zgoda label{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;
  color:var(--copy);cursor:pointer;font-weight:400}
.checki input,.zgoda input{margin-top:.28rem;flex:0 0 auto;width:17px;height:17px;accent-color:#18bff0}
.zgoda{display:grid;gap:.9rem}
.zgoda .wym{font-size:.76rem;color:var(--blue);font-weight:600}
.licz{font-size:.8rem;color:var(--muted);text-align:right;margin-top:.3rem;font-variant-numeric:tabular-nums}

/* kartki informacyjne */
.info,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem}
.info{background:linear-gradient(150deg,#fff 0%,#f2fbff 100%);border-color:#bfe9fb;
  box-shadow:0 20px 46px -30px rgba(8,127,197,.55);margin-bottom:1.6rem}
.info p{margin:0;font-size:1rem;color:var(--copy)}
.info p+p{margin-top:.6rem}
.siatka{display:grid;gap:1.1rem}
.siatka-2{grid-template-columns:repeat(2,1fr)}
.siatka-3{grid-template-columns:repeat(3,1fr)}

/* kalkulator punktów */
.kbox{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
.kgr{margin-bottom:1.8rem}
.kgr h3{margin:0 0 .2rem}
.lista-poz{display:grid;gap:.4rem;margin-top:.7rem}
.poz{display:flex;align-items:center;gap:.7rem;cursor:pointer;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:.7rem .95rem;
  font-size:.96rem;color:var(--copy);transition:border-color .12s,background .12s}
.poz:hover{border-color:#bfe9fb}
.poz input{flex:0 0 auto;width:17px;height:17px;accent-color:#18bff0;margin:0}
.poz .nm{flex:1;min-width:0}
.poz .pk{font:600 .8rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);white-space:nowrap}
.poz:has(input:checked){border-color:#9fe0c8;background:var(--okbg)}
.poz:has(input:checked) .pk{color:var(--ok)}
.pola{display:grid;gap:.5rem;margin-top:.7rem}
.pola label{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:.6rem .95rem;
  font-size:.96rem;color:var(--copy)}
.pola input{width:78px;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;
  background:#fff;color:var(--ink);font:600 1rem ui-monospace,monospace;text-align:center}
.kprawa{position:sticky;top:88px}
.kwynik{background:#fff;border:1px solid #bfe9fb;border-radius:var(--radius);padding:1.5rem;
  box-shadow:0 20px 46px -30px rgba(8,127,197,.55);
  background-image:linear-gradient(150deg,#fff 0%,#f5fcff 100%)}
.kl{display:block;font:600 .68rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.45rem}
.kwynik>b{display:block;font:700 2.8rem/1 var(--display);color:var(--blue);letter-spacing:-.03em;
  font-variant-numeric:tabular-nums}
.kp{display:block;font-size:.88rem;color:var(--muted);margin-top:.3rem}
.pasek{height:8px;border-radius:999px;background:var(--hair);overflow:hidden;margin:1.1rem 0 .6rem}
.pasek i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--lit),var(--mint));transition:width .25s}
.kstan{font-size:.8rem;color:var(--muted);margin:0 0 1.1rem;line-height:1.5}
.kpoz{border-top:1px solid var(--line);padding-top:1rem;margin-bottom:1rem}
.kpoz b{display:block;font:700 1.2rem/1.2 var(--display);color:var(--ink)}
.kbrak{font-size:.9rem;color:var(--copy);margin:.5rem 0 0;line-height:1.5}
.rekom{border-top:1px solid var(--line);padding-top:1rem;margin-bottom:1.1rem}
.rekp{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;
  font-size:.88rem;padding:.45rem 0;border-bottom:1px dashed var(--line)}
.rekp:last-child{border-bottom:0}
.rekp .rn{color:var(--copy);line-height:1.35}
.rekp .rp{font:600 .78rem ui-monospace,monospace;color:var(--blue);white-space:nowrap}

/* poziomy */
.poziomy{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;gap:.7rem}
.poziomy li{counter-increment:p;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:1.2rem 1.4rem 1.2rem 3.6rem;position:relative}
.poziomy li::before{content:counter(p);position:absolute;left:1.2rem;top:1.25rem;
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--wash);color:var(--blue);font:700 .8rem var(--display)}
.poziomy b{display:block;font:700 1.06rem/1.2 var(--display);color:var(--ink);margin-bottom:.25rem}
.poziomy .war{display:block;font-size:.96rem;color:var(--copy)}
.poziomy .daje{display:block;font-size:.88rem;color:var(--muted);margin-top:.35rem}

/* tabela */
.tabbox{overflow-x:auto}
.tab{width:100%;border-collapse:collapse;font-size:.96rem;min-width:460px}
.tab th{text-align:left;font:600 .72rem var(--display);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);padding:0 .9rem .6rem 0;border-bottom:1px solid var(--line)}
.tab td{padding:.8rem .9rem .8rem 0;border-bottom:1px solid var(--hair);color:var(--copy)}
.tab td:first-child{color:var(--ink);font-weight:600}
.tab .nr{text-align:right;padding-right:0;font-family:ui-monospace,monospace;white-space:nowrap}

/* stopka */
footer{background:var(--wash2);border-top:1px solid var(--line);
  padding:2.6rem 0 3rem;font-size:.9rem;color:var(--muted);margin-top:2.5rem}
footer .wrap{display:flex;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;align-items:center}
footer .znak{opacity:.9}
.stopka-logo{display:flex;align-items:center;gap:.62rem}
.pusto{text-align:center;padding:3rem 1.2rem;color:var(--muted)}

@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-foto{order:-1}
  .profil{grid-template-columns:1fr}
  .panel{position:static}
  .kbox{grid-template-columns:1fr}
  .kprawa{position:static;order:-1}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{padding-right:1rem}
  .stat:nth-child(2){border-right:0}
  .siatka-3,.siatka-2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .filtry{grid-template-columns:1fr}
  .topnav{gap:.9rem;font-size:.88rem}
  .top .wrap{padding-block:.7rem}
  .panel,.kprawa{top:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
