/* Publiczne strony Numernabis: czytelniejszy marketing i spokojny ruch w hero. */
:root{
  --marketing-ink:#17213b;
  --marketing-muted:#65708b;
  --marketing-blue:#4e6bea;
  --marketing-violet:#7b5dde;
  --marketing-line:rgba(91,108,166,.16);
  --marketing-ease:cubic-bezier(.22,.61,.36,1);
}

.public-page{color:var(--marketing-ink)}
.public-page .eyebrow{letter-spacing:.18em}
.public-page .button,
.plans-public-page .pricing-grid button,
.plans-public-page .tutoring-strip a,
.tutoring-public-page .hero-actions a,
.tutoring-public-page .booking-section form>button{
  transition:transform .18s var(--marketing-ease),box-shadow .18s ease,background .18s ease;
}
.public-page a:focus-visible,
.public-page button:focus-visible,
.public-page summary:focus-visible,
.public-page input:focus-visible,
.public-page select:focus-visible,
.public-page textarea:focus-visible{
  outline:3px solid rgba(78,107,234,.28);
  outline-offset:3px;
}

/* Strona główna ---------------------------------------------------------- */
.landing-page .hero{
  position:relative;
  isolation:isolate;
  min-height:790px;
  background:
    radial-gradient(circle at 77% 42%,rgba(105,123,236,.16),transparent 28%),
    radial-gradient(circle at 54% 9%,rgba(255,255,255,.92),transparent 34%),
    linear-gradient(135deg,#eef3ff 0%,#f8f9fd 56%,#f5f1ff 100%);
}
.landing-page .hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.2;
  background-image:radial-gradient(rgba(63,82,151,.23) .7px,transparent .7px);
  background-size:24px 24px;
  mask-image:linear-gradient(90deg,transparent 42%,#000 67%,transparent 96%);
}
.landing-page .hero-content{position:relative;z-index:2;max-width:720px}
.landing-page .hero h1{max-width:720px;margin-bottom:26px;letter-spacing:-4.4px}
.landing-page .hero-content>p{max-width:650px;color:#6a7590;font-size:17px;line-height:1.72}
.landing-page .hero-actions{margin:34px 0 36px}
.landing-page .button{border-radius:11px}
.landing-page .button-primary{box-shadow:0 14px 30px rgba(78,84,214,.24)}
.landing-page .button-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(78,84,214,.31)}
.landing-page .text-link{border-color:#8790a7}

.landing-page .capability-icons span{
  width:38px;
  height:38px;
  border:2px solid rgba(248,250,255,.98);
  background:rgba(255,255,255,.86);
  color:#5167cb;
  box-shadow:0 7px 18px rgba(35,46,91,.1);
  backdrop-filter:blur(12px);
}
.landing-page .capability-icons span:nth-child(2){background:#eef1ff;color:#745bd3}
.landing-page .capability-icons span:last-child{background:#18213d;color:#fff}
.landing-page .capability-icons svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.landing-page .trust-row{align-items:center}
.landing-page .trust-row strong{font:800 13px/1.35 Manrope,sans-serif}
.landing-page .trust-row small{margin-top:2px;color:#7b859d;font-size:11px}

.landing-page .hero-visual{
  isolation:isolate;
  height:570px;
  overflow:visible;
}
.landing-page .hero-visual::before{
  z-index:0;
  width:470px;
  height:470px;
  background:linear-gradient(145deg,rgba(205,218,255,.82),rgba(233,218,255,.76));
  filter:blur(.2px);
  animation:marketing-halo-breathe 9s ease-in-out infinite;
}
.landing-page .hero-motion{
  position:absolute;
  z-index:1;
  inset:-24px -48px;
  pointer-events:none;
  opacity:.88;
  filter:drop-shadow(0 18px 42px rgba(70,80,164,.08));
  animation:marketing-field-float 11s ease-in-out infinite alternate;
}
.landing-page .hero-motion svg{display:block;width:100%;height:100%;overflow:visible}
.landing-page .motion-halo{animation:marketing-halo-pulse 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.landing-page .motion-rings{animation:marketing-rings-turn 42s linear infinite;transform-box:view-box;transform-origin:center}
.landing-page .motion-ring{fill:none;stroke:#6e80df;stroke-width:1.15;stroke-dasharray:3 11;opacity:.42;vector-effect:non-scaling-stroke}
.landing-page .motion-ring-b{stroke:#9a77db;stroke-dasharray:1 9;opacity:.34}
.landing-page .motion-connector,
.landing-page .motion-trace{fill:none;vector-effect:non-scaling-stroke}
.landing-page .motion-connector{stroke:url(#motion-line);stroke-width:1.15;opacity:.18}
.landing-page .motion-connector-soft{opacity:.12}
.landing-page .motion-trace{
  stroke:url(#motion-line);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:2 22;
  animation:marketing-trace-flow 13s linear infinite;
  opacity:.72;
}
.landing-page .motion-trace-delayed{animation-delay:-6.5s;animation-direction:reverse;opacity:.5}
.landing-page .motion-node{
  fill:#fff;
  stroke:#6479e3;
  stroke-width:2;
  filter:drop-shadow(0 3px 7px rgba(75,90,190,.3));
  transform-box:fill-box;
  transform-origin:center;
  animation:marketing-node-pulse 4.8s ease-in-out infinite;
}
.landing-page .node-two{animation-delay:-1.6s;stroke:#8b67d8}
.landing-page .node-three{animation-delay:-3.2s}
.landing-page .lesson-card{
  z-index:3;
  width:min(460px,86%);
  border-color:rgba(255,255,255,.96);
  background:rgba(255,255,255,.88);
  box-shadow:0 38px 92px rgba(37,45,91,.2);
  animation:marketing-card-enter .8s .12s var(--marketing-ease) both;
}
.landing-page .live-dot{background:#edf8f3;color:#13775d}
.landing-page .live-dot::before{background:#25a57c;box-shadow:0 0 0 4px rgba(37,165,124,.11)}
.landing-page .chart{background-color:rgba(248,251,250,.9)}
.landing-page .lesson-progress p{max-width:300px;color:#3e4862;font-size:11px;line-height:1.4}
.landing-page .result-badge{gap:9px;padding:12px 15px}
.landing-page .result-badge strong{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:#eef0ff;
  color:#685bd1;
}
.landing-page .result-badge strong svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.landing-page .result-badge span{color:#5e687f;line-height:1.45}
.landing-page .result-badge span b{color:#222c49;font:800 9px/1.2 Manrope,sans-serif}
.landing-page .stats-strip strong{font-size:25px;letter-spacing:-.7px}
.landing-page .stats-strip span{font-size:11px;line-height:1.45}
.landing-page .section-heading>p{max-width:650px;font-size:16px;line-height:1.7}
.landing-page .offer-card{min-height:495px}
.landing-page .offer-card h3{line-height:1.3}
.landing-page .offer-card p{line-height:1.65}
.landing-page .popular{letter-spacing:.08em}
.landing-page .method-copy{max-width:690px}
.landing-page .method-copy h2{max-width:680px}
.landing-page .method-copy p{font-size:15px;line-height:1.7}
.landing-page .step p{line-height:1.6}
.landing-page .final-cta h2{max-width:860px}

@keyframes marketing-field-float{
  0%{transform:translate3d(-5px,-4px,0) rotate(-.5deg)}
  100%{transform:translate3d(7px,8px,0) rotate(.7deg)}
}
@keyframes marketing-rings-turn{to{transform:rotate(360deg)}}
@keyframes marketing-trace-flow{to{stroke-dashoffset:-240}}
@keyframes marketing-node-pulse{0%,100%{opacity:.55;transform:scale(.84)}50%{opacity:1;transform:scale(1.25)}}
@keyframes marketing-halo-pulse{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
@keyframes marketing-halo-breathe{0%,100%{transform:scale(.98)}50%{transform:scale(1.035)}}
@keyframes marketing-card-enter{from{opacity:0;transform:translateY(22px) rotate(-2.8deg) scale(.975)}to{opacity:1;transform:rotate(-1.6deg)}}

/* Pakiety ---------------------------------------------------------------- */
.plans-public-page{
  background:
    radial-gradient(circle at 50% -8%,rgba(108,124,235,.18),transparent 30%),
    #f5f7fb;
}
.plans-public-page .plans-hero{max-width:920px;padding-top:94px}
.plans-public-page .plans-hero h1{max-width:890px;margin-right:auto;margin-left:auto;line-height:1.04}
.plans-public-page .plans-hero>p{max-width:790px;font-size:15px;line-height:1.75}
.plans-public-page .current-plan{padding:12px 16px}
.plans-public-page .pricing-grid{gap:14px}
.plans-public-page .pricing-grid article{min-height:570px;padding:26px 22px}
.plans-public-page .pricing-grid header>span{font-size:16px}
.plans-public-page .pricing-grid header p{min-height:58px;font-size:11px;line-height:1.55}
.plans-public-page .pricing-grid li{padding-top:7px;padding-bottom:7px;font-size:10.5px;line-height:1.45}
.plans-public-page .pricing-grid button{min-height:40px;font-size:10.5px}
.plans-public-page .pricing-grid button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 23px rgba(69,80,190,.22)}
.plans-public-page .recommendation{font-size:7.5px}
.plans-public-page .pricing-logic,
.plans-public-page .tutoring-strip{padding:38px}
.plans-public-page .pricing-logic h2,
.plans-public-page .tutoring-strip h2{font-size:25px;line-height:1.25}
.plans-public-page .pricing-logic p,
.plans-public-page .tutoring-strip p{font-size:12px;line-height:1.75}
.plans-public-page .tutoring-strip a{font-size:11px;white-space:nowrap}
.plans-public-page .tutoring-strip a:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(31,41,67,.18)}

/* Korepetycje ------------------------------------------------------------ */
.tutoring-public-page .tutoring-hero{
  background:
    radial-gradient(circle at 82% 25%,rgba(105,123,230,.2),transparent 29%),
    linear-gradient(180deg,#fff,#f5f7fc);
}
.tutoring-public-page .tutoring-copy h1{max-width:760px;font-size:clamp(46px,5.35vw,74px);line-height:1.01}
.tutoring-public-page .tutoring-copy>p{max-width:700px;font-size:16px;line-height:1.75}
.tutoring-public-page .lesson-price b{font-size:12px}
.tutoring-public-page .lesson-price small{font-size:9px}
.tutoring-public-page .hero-actions a{font-size:11px}
.tutoring-public-page .hero-actions a:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(67,81,187,.28)}
.tutoring-public-page .hero-actions small{font-size:9px}
.tutoring-public-page .lesson-benefits strong{font-size:16px}
.tutoring-public-page .lesson-benefits small{font-size:11px;line-height:1.55}
.tutoring-public-page .section-heading{max-width:850px}
.tutoring-public-page .section-heading>p,
.tutoring-public-page .booking-copy>p{max-width:760px;font-size:14px;line-height:1.75}
.tutoring-public-page .subject-grid p,
.tutoring-public-page .process-line p{font-size:12px;line-height:1.65}
.tutoring-public-page .process-line h3{font-size:16px}
.tutoring-public-page .booking-section label{font-size:10px}
.tutoring-public-page .booking-section input,
.tutoring-public-page .booking-section select,
.tutoring-public-page .booking-section textarea{font-size:12px}
.tutoring-public-page .booking-section form>button{min-height:43px;font-size:11px}
.tutoring-public-page .booking-section form>button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(79,92,211,.28)}
.tutoring-public-page .form-status{font-size:10px;line-height:1.5}
.tutoring-public-page .faq-section summary{font-size:14px}
.tutoring-public-page .faq-section details p{font-size:12px;line-height:1.75}

@media(max-width:1200px){
  .landing-page .hero{gap:3vw}
  .landing-page .hero h1{font-size:clamp(48px,5.8vw,72px)}
  .landing-page .hero-motion{inset:-10px -28px}
}

@media(max-width:980px){
  .landing-page .hero{min-height:auto;background:linear-gradient(145deg,#eff3ff,#f8f8fd 58%,#f3efff)}
  .landing-page .hero-content{max-width:760px}
  .landing-page .hero-visual{width:min(720px,100%);margin:auto}
  .landing-page .offer-card{min-height:auto}
  .plans-public-page .plans-hero{padding-top:68px}
  .tutoring-public-page .tutoring-copy h1{max-width:820px}
}

@media(max-width:650px){
  .landing-page .hero h1{font-size:clamp(43px,13vw,60px);letter-spacing:-2.8px}
  .landing-page .hero-content>p{font-size:15px}
  .landing-page .trust-row{align-items:flex-start}
  .landing-page .hero-visual{height:440px}
  .landing-page .hero-motion{inset:0 -34px;opacity:.72}
  .landing-page .hero-visual::before{width:350px;height:350px}
  .landing-page .lesson-card{width:88%}
  .landing-page .formula-one{top:28px}
  .landing-page .formula-two{bottom:28px}
  .landing-page .result-badge{right:-1%;bottom:54px}
  .landing-page .stats-strip strong{font-size:21px}
  .plans-public-page .plans-hero h1{font-size:43px;letter-spacing:-2.6px}
  .plans-public-page .pricing-grid article{min-height:auto}
  .plans-public-page .pricing-logic,
  .plans-public-page .tutoring-strip{padding:28px 24px}
  .tutoring-public-page .tutoring-copy h1{font-size:42px;letter-spacing:-2.4px}
}

@media(max-width:410px){
  .landing-page .capability-icons{display:none}
  .landing-page .hero-visual{height:410px}
  .landing-page .lesson-progress p{max-width:220px;font-size:9px}
  .landing-page .result-badge{padding:9px 11px}
  .landing-page .result-badge strong{width:27px;height:27px}
}

@media(prefers-reduced-motion:reduce){
  .landing-page .hero-motion,
  .landing-page .hero-motion *,
  .landing-page .hero-visual::before,
  .landing-page .lesson-card{animation:none!important}
  .landing-page .lesson-card{transform:rotate(-1.6deg)}
}
