*{ box-sizing:border-box; }
body{ margin:0; background:linear-gradient(165deg,#fdf6ec,#f5e6d3); color:#463a2e; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:17.5px; line-height:1.6; }
h1,h2,h3,p{ margin:0; }
a{ text-decoration:none; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
#droga, #wspolpraca, #zapisy{ scroll-margin-top:24px; }

.nav{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; padding:20px min(5vw,54px) 0; background:transparent; }
.brand{ justify-self:start; display:flex; align-items:center; gap:14px; }
.mark{ width:132px; height:52px; flex:none; transition:transform .25s; }
.brand:hover .mark{ transform:scale(1.04); }
.dymki{ width:min(250px,72vw); height:auto; filter:drop-shadow(0 6px 14px rgba(70,58,46,.16)); margin-bottom:6px; }
.b-txt{ display:flex; flex-direction:column; line-height:1.12; }
.b-txt small{ font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#a1875f; font-weight:700; max-width:16ch; }
.links{ justify-self:center; display:flex; gap:6px; }
.links a{ font-weight:700; font-size:15.5px; color:#6d5f4e; padding:11px 18px; border-radius:999px; transition:background .2s, color .2s; }
.links a:hover{ background:rgba(179,85,46,.12); color:#b3552e; }
.tel{ justify-self:end; background:#b3552e; color:#fff; font-weight:800; font-size:15.5px; padding:12px 22px; border-radius:999px; white-space:nowrap; }
.tel:hover{ background:#93401f; }
@media (max-width:820px){ .nav{ grid-template-columns:auto 1fr; } .links{ display:none; } .b-txt small{ display:none; } }

/* ── HERO (z 01) ── */
.hero{ position:relative; display:grid; grid-template-columns:1fr 400px; gap:clamp(28px,5vw,64px); padding:10px min(5vw,54px) 36px; align-items:center; max-width:1200px; margin:0 auto; min-height:calc(100svh - 86px); }
@media (max-height:820px){ .chat{ height:clamp(360px, calc(100svh - 360px), 560px); } }

/* deseń wypełniający prawą stronę */
.desen{ position:absolute; inset:0; pointer-events:none; overflow:clip;
  background-image:radial-gradient(rgba(179,85,46,.16) 2px, transparent 2.6px);
  background-size:30px 30px;
  -webkit-mask-image:linear-gradient(97deg, transparent 42%, #000 72%);
  mask-image:linear-gradient(97deg, transparent 42%, #000 72%); }
.desen i{ position:absolute; border-radius:50%; }
.desen .k1{ width:480px; height:480px; right:-140px; top:-30px; border:2.5px dashed rgba(179,85,46,.28); }
.desen .k2{ width:640px; height:640px; right:-230px; top:-110px; border:1.5px solid rgba(179,85,46,.16); }
.desen .k3{ width:190px; height:190px; right:-60px; bottom:-10px; background:radial-gradient(circle at 35% 30%, rgba(255,217,140,.55), rgba(217,126,63,.18) 70%, transparent); }
@media (prefers-reduced-motion: no-preference){
  @keyframes obrot{ to{ transform:rotate(360deg) } }
  .desen .k1{ animation:obrot 120s linear infinite; }
}
.kick{ font-size:13.5px; letter-spacing:.14em; text-transform:uppercase; color:#b3552e; font-weight:800; }
.hero h1{ font-family:Georgia,serif; font-size:clamp(34px,4.4vw,54px); line-height:1.12; font-weight:600; margin-top:16px; }
.hero h1 em{ font-style:italic; color:#b3552e; }
.lead{ margin-top:18px; font-size:18.5px; color:#6d5f4e; max-width:44ch; }
.go{ display:inline-block; margin-top:28px; background:linear-gradient(120deg,#d97e3f,#b3552e); color:#fff; font-weight:800; font-size:17px; padding:16px 34px; border-radius:999px; border:none; cursor:pointer; box-shadow:0 12px 28px rgba(179,85,46,.35); transition:transform .15s; }
.go:hover{ transform:translateY(-2px); }
.alt{ display:block; margin-top:14px; font-size:15px; color:#6b5d49; max-width:44ch; }

.phone{ position:relative; background:#fff; border-radius:38px; padding:20px 16px 16px; box-shadow:0 26px 60px rgba(120,80,40,.25); border:1px solid #f0e2cd; }
.hero-txt{ position:relative; }
.pbar{ display:flex; align-items:center; gap:10px; font-size:14px; color:#6d5f4e; border-bottom:1px solid #f0e6d6; padding:0 8px 12px; font-weight:700; }
.pav{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#e8a06a,#c97a45); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; }
.dot-on{ width:9px; height:9px; border-radius:50%; background:#4caf6e; margin-left:auto; }
.chat{ display:flex; flex-direction:column; gap:10px; padding:16px 6px 8px; height:560px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#e3d3b4 transparent; }
.msg{ max-width:85%; padding:11px 15px; border-radius:18px; font-size:15px; line-height:1.45; display:none; }
@keyframes msgIn{ from{ opacity:0; transform:translateY(14px) scale(.97) } to{ opacity:1; transform:none } }
.msg.shown{ display:block; animation:msgIn .45s ease-out; }
.msg.voice.shown{ display:flex; }
.them{ background:#f2ece1; color:#463a2e; border-bottom-left-radius:6px; align-self:flex-start; }
.me{ background:linear-gradient(130deg,#3c7a52,#2f6342); color:#f2fbf4; border-bottom-right-radius:6px; align-self:flex-end; }
.msg.img{ padding:6px; }
.msg.img img{ display:block; width:200px; max-width:100%; border-radius:13px; }
.msg.img span{ display:block; padding:7px 9px 4px; font-size:13.5px; }
.voice{ align-items:center; gap:10px; }
.pl{ background:rgba(255,255,255,.2); border:none; color:#fff; width:30px; height:30px; border-radius:50%; cursor:pointer; }
.wave{ display:flex; align-items:center; gap:2.5px; height:22px; }
.wave i{ width:3px; background:rgba(255,255,255,.75); border-radius:2px; height:30%; }
.wave i:nth-child(2n){ height:70%; } .wave i:nth-child(3n){ height:100%; } .wave i:nth-child(5n){ height:50%; }
.msg.typing.shown{ display:inline-flex; gap:4px; padding:13px 16px; align-self:flex-start; }
.msg.typing.me.shown{ align-self:flex-end; }
.typing b{ width:7px; height:7px; border-radius:50%; background:#b7a88f; animation:blink 1s infinite; }
.typing b:nth-child(2){ animation-delay:.2s } .typing b:nth-child(3){ animation-delay:.4s }
@keyframes blink{ 0%,60%,100%{ opacity:.25 } 30%{ opacity:1 } }
.replay{ display:block; margin:6px auto 2px; background:none; border:none; color:#b3552e; font-weight:700; font-size:13.5px; cursor:pointer; font-family:inherit; }

/* ── DROGA ── */
.intro2{ text-align:center; padding:44px 24px 8px; }
.intro2 h2{ font-family:Georgia,serif; font-size:clamp(26px,3.4vw,38px); font-weight:600; }
.intro2 p{ margin-top:10px; color:#6d5f4e; max-width:56ch; margin-left:auto; margin-right:auto; }

.trail{ position:relative; max-width:900px; margin:20px auto 0; padding:30px min(5vw,44px) 20px; }
.tpath{ position:absolute; top:0; bottom:0; left:50%; width:120px; height:100%; margin-left:-60px; overflow:visible; }
.tpath path{ fill:none; stroke-width:3.5; }
#dots{ stroke:#e3d3b4; stroke-dasharray:2 14; stroke-linecap:round; }
#ink{ stroke:#b3552e; stroke-linecap:round; }

.stop{ position:relative; width:47%; background:#fff; border-radius:22px; padding:22px 20px 16px; box-shadow:0 12px 30px rgba(120,80,40,.14); margin-bottom:46px; }
.stop:nth-child(odd of .stop){ margin-left:auto; }
.stop .n{ position:absolute; top:-16px; left:22px; width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#d97e3f,#b3552e); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:17px; box-shadow:0 6px 14px rgba(179,85,46,.35); }
.stop h3{ font-size:18.5px; margin:6px 0 12px; }
.co{ font-size:13.5px; color:#6b5d49; line-height:1.5; margin:-6px 0 12px; }
.stop.hot .co{ color:#b5a68c; }

/* na szerokich ekranach opis wędruje na drugą stronę ścieżki, wyśrodkowany w pionie */
@media (min-width:761px){
  .co{ position:absolute; top:50%; transform:translateY(-50%); width:min(340px,86%); margin:0; font-size:17px; line-height:1.65; color:#6d5f4e; }
  .co::before{ content:""; display:block; width:48px; height:3.5px; border-radius:2px; background:#d97e3f; margin-bottom:12px; }
  .stop:nth-child(odd of .stop) .co{ right:calc(100% + 96px); text-align:right; }
  .stop:nth-child(odd of .stop) .co::before{ margin-left:auto; }
  .stop:nth-child(even of .stop) .co{ left:calc(100% + 96px); text-align:left; }
  .stop.hot .co{ color:#6d5f4e; }
}
.stop>p{ font-size:14.5px; color:#6b5d49; margin-top:12px; }
.stop.hot{ background:linear-gradient(140deg,#463a2e,#352b21); color:#f6ecdc; }
.stop.hot>p{ color:#cdbfa8; }
.again{ margin-top:10px; background:none; border:none; color:#b3552e; font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; padding:0; }
.stop.hot .again{ color:#e8a06a; }

.mini{ background:#faf4ea; border-radius:16px; padding:12px; min-height:175px; position:relative; overflow:hidden; }
.stop>p{ font-size:14px; margin-top:10px; }
.stop.hot .mini{ background:#3a3128; }

/* scena 1: wideorozmowa */
.call-in{ text-align:center; padding:12px 0; position:relative; }
.call-in .cav{ position:relative; display:inline-flex; width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#e8a06a,#c97a45); color:#fff; align-items:center; justify-content:center; font-size:26px; font-weight:800; }
.ring{ position:absolute; left:50%; top:38px; width:64px; height:64px; margin-left:-32px; border-radius:50%; border:2.5px solid #d97e3f; opacity:0; }
.scene.play .ring.r1{ animation:ringp 1.6s ease-out infinite; }
.scene.play .ring.r2{ animation:ringp 1.6s ease-out .5s infinite; }
@keyframes ringp{ from{ transform:scale(1); opacity:.7 } to{ transform:scale(2.1); opacity:0 } }
.call-in b{ display:block; margin-top:10px; font-size:16px; }
.call-in small{ color:#6b5d49; font-size:13px; }
.accept{ display:inline-block; margin-top:12px; background:#3c7a52; color:#fff; font-weight:800; font-size:14px; padding:10px 22px; border-radius:999px; }
.call-on{ position:absolute; inset:0; opacity:0; transition:opacity .5s; }
.call-on img{ width:100%; height:100%; object-fit:cover; }
.call-on .timer{ position:absolute; top:10px; left:12px; background:rgba(0,0,0,.55); color:#fff; font-size:13px; font-weight:700; padding:4px 10px; border-radius:999px; font-variant-numeric:tabular-nums; }
.call-on .hang{ position:absolute; bottom:10px; left:50%; transform:translateX(-50%); width:40px; height:40px; border-radius:50%; background:#d43a2f; color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; }
.scene.answered .call-on{ opacity:1; }

/* scena 2: phishing */
.sms{ background:#fff; border-radius:12px; padding:12px 14px; box-shadow:0 4px 12px rgba(120,80,40,.12); }
.sms-h{ font-size:12px; color:#6b5d49; border-bottom:1px solid #f0e6d6; padding-bottom:6px; }
.sms-b{ font-size:14px; margin-top:8px; }
.sms-num,.sms-link{ transition:background .4s, color .4s; padding:1px 3px; border-radius:4px; }
.sms-b b{ color:#b3552e; }
.scene.f1 .sms-num{ background:#ffd9d4; color:#a1231a; }
.scene.f2 .sms-link{ background:#ffd9d4; color:#a1231a; }
.flag{ position:absolute; right:10px; background:#a1231a; color:#fff; font-size:11.5px; font-weight:800; padding:5px 10px; border-radius:999px; opacity:0; transform:translateX(14px); transition:opacity .4s, transform .4s; }
.flag.f1{ top:14px; } .flag.f2{ top:52px; } .flag.f3{ top:90px; }
.scene.f1 .flag.f1, .scene.f2 .flag.f2, .scene.f3 .flag.f3{ opacity:1; transform:none; }
.stamp{ position:absolute; left:50%; bottom:18px; transform:translateX(-50%) rotate(-8deg) scale(3); border:3.5px solid #a1231a; color:#a1231a; font-weight:900; font-size:22px; letter-spacing:.06em; padding:6px 18px 8px; border-radius:8px; opacity:0; text-align:center; background:rgba(255,255,255,.85); transition:opacity .3s, transform .3s cubic-bezier(.2,1.2,.4,1); }
.stamp small{ display:block; font-size:10.5px; letter-spacing:.02em; font-weight:700; }
.scene.stamped .stamp{ opacity:1; transform:translateX(-50%) rotate(-8deg) scale(1); }

/* scena 3: e-recepta */
.ikp{ background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 12px rgba(120,80,40,.12); }
.ikp-h{ background:#0f6e56; color:#fff; font-weight:800; font-size:14px; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ikp-h small{ font-weight:600; font-size:10px; color:#bfe4d6; }
.powiad{ display:flex; align-items:center; gap:8px; margin:12px 14px 0; background:#eef7f3; border-radius:10px; padding:10px 12px; font-size:13px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.scene.notif .powiad{ opacity:1; transform:none; }
.kod-box{ margin:10px 14px 0; text-align:center; border:2px dashed #bfe4d6; border-radius:10px; padding:10px; opacity:0; transform:scale(.9); transition:opacity .4s, transform .4s cubic-bezier(.2,1.3,.4,1); }
.scene.coded .kod-box{ opacity:1; transform:none; }
.kod-box small{ display:block; font-size:11.5px; color:#6b5d49; }
.kod{ font-size:26px; letter-spacing:.3em; color:#0f6e56; font-variant-numeric:tabular-nums; }
.odebrane{ margin:10px 14px 12px; background:#e2f2e6; color:#1d5230; font-weight:700; font-size:12.5px; padding:8px 10px; border-radius:8px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.scene.received .odebrane{ opacity:1; transform:none; }

/* scena 4: bank */
.bank{ background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 12px rgba(120,80,40,.12); }
.bank-h{ background:#1d4e6e; color:#fff; font-weight:800; font-size:14px; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; }
.bank-h small{ font-weight:600; font-size:10.5px; background:#e8a00c; color:#3a2b04; padding:2px 8px; border-radius:999px; }
.saldo{ padding:10px 14px; font-size:14px; border-bottom:1px solid #eef2f5; }
.saldo b{ font-size:17px; font-variant-numeric:tabular-nums; }
.rach{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 14px; font-size:13.5px; }
.rach b{ font-size:15px; }
.pay{ font-family:inherit; background:#1d4e6e; color:#fff; font-weight:800; font-size:13.5px; padding:10px 18px; border-radius:999px; border:none; cursor:pointer; transition:transform .15s; }
.scene.paying .pay{ transform:scale(.92); opacity:.6; }
.paid-note{ margin:0 14px 12px; background:#e2f2e6; color:#1d5230; font-weight:700; font-size:13.5px; padding:9px 12px; border-radius:8px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.scene.paid .paid-note{ opacity:1; transform:none; }

/* scena 4: zakupy */
.shop{ background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 12px rgba(120,80,40,.12); padding-bottom:12px; }
.shop-h{ display:flex; justify-content:space-between; align-items:center; background:#f6efe2; font-weight:800; font-size:13.5px; padding:10px 14px; }
.cart b{ display:inline-block; min-width:18px; text-align:center; background:#b3552e; color:#fff; border-radius:999px; font-size:12px; padding:1px 5px; }
.scene.carted .cart b{ animation:pop2 .4s cubic-bezier(.2,1.4,.4,1); }
@keyframes pop2{ 50%{ transform:scale(1.5) } }
.prod{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin:10px 14px 0; padding:10px 12px; border:1.5px solid #eee4d2; border-radius:10px; font-size:13px; transition:border-color .4s, background .4s; }
.prod i{ font-style:normal; font-size:11.5px; color:#6b5d49; text-align:right; }
.scene.compared .pr1{ opacity:.45; }
.scene.compared .pr2{ border-color:#2f7a46; background:#f0f8f1; }
.scene.compared .pr2 i{ color:#1d5230; font-weight:700; }
.tocart{ font-family:inherit; display:block; margin:12px 14px 0; width:calc(100% - 28px); background:#b3552e; color:#fff; font-weight:800; font-size:13.5px; padding:11px; border-radius:999px; border:none; cursor:pointer; }
.bought{ margin:10px 14px 0; background:#e2f2e6; color:#1d5230; font-weight:700; font-size:13px; padding:9px 12px; border-radius:8px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.scene.carted .bought{ opacity:1; transform:none; }

/* scena 5: wyszukiwanie */
.srch{ background:#fff; border-radius:12px; padding:12px; box-shadow:0 4px 12px rgba(120,80,40,.12); }
.s-box{ display:flex; align-items:center; gap:8px; border:2px solid #d8c9ab; border-radius:999px; padding:9px 14px; font-size:13.5px; }
.s-box i{ font-style:normal; }
.s-q{ white-space:nowrap; overflow:hidden; color:#463a2e; font-weight:600; }
.caret{ width:2px; height:16px; background:#b3552e; }
.scene.play .caret{ animation:blink2 .9s steps(1) infinite; }
@keyframes blink2{ 50%{ opacity:0 } }
.res{ margin-top:9px; padding:8px 10px; border-radius:8px; background:#faf6ee; font-size:12px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.res b{ display:block; font-size:12.5px; color:#1d4e6e; }
.res span{ color:#6b5d49; }
.scene.res1 .r1, .scene.res2 .r2, .scene.res3 .r3{ opacity:1; transform:none; }
.scene.res1 .r1 b{ text-decoration:underline; }
.srch-ok{ margin-top:9px; background:#e2f2e6; color:#1d5230; font-weight:700; font-size:12.5px; padding:8px 10px; border-radius:8px; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
.scene.found .srch-ok{ opacity:1; transform:none; }

/* scena 6: AI */
.ai-call{ color:#f6ecdc; }
.ai-top{ text-align:center; padding:6px 0 10px; }
.ai-top .cav{ display:inline-flex; width:52px; height:52px; border-radius:50%; align-items:center; justify-content:center; font-size:22px; font-weight:800; }
.cav.red{ background:#7a2b22; color:#ffd9d4; }
.cav.green{ background:#2f6342; color:#d9f2e0; }
.ai-top b{ display:block; margin-top:8px; font-size:15px; }
.ai-top small{ display:block; color:#cdbfa8; font-size:12.5px; font-style:italic; max-width:30ch; margin:4px auto 0; }
.wave2{ display:flex; justify-content:center; gap:3px; height:18px; margin-top:8px; }
.wave2 i{ width:3px; background:#d97e3f; border-radius:2px; height:30%; align-self:center; }
.scene.play .wave2 i{ animation:eq 0.9s ease-in-out infinite; }
.wave2 i:nth-child(2n){ animation-delay:.15s } .wave2 i:nth-child(3n){ animation-delay:.3s }
@keyframes eq{ 0%,100%{ height:25% } 50%{ height:100% } }
.warn{ display:block; margin-top:8px; font-size:11.5px; color:#e8a06a; font-style:normal; font-weight:700; opacity:0; transition:opacity .4s; }
.scene.warned .warn{ opacity:1; }
.rule-card{ margin-top:10px; background:#a1231a; color:#fff; border-radius:12px; text-align:center; padding:12px; opacity:0; transform:scale(.8); transition:opacity .4s, transform .4s cubic-bezier(.2,1.3,.4,1); }
.rule-card b{ font-size:17px; letter-spacing:.04em; }
.rule-card span{ display:block; font-size:12px; margin-top:2px; color:#ffd9d4; }
.scene.ruled .rule-card{ opacity:1; transform:none; }
.verify{ display:flex; align-items:center; gap:10px; margin-top:10px; background:#2c3f31; border-radius:12px; padding:10px 12px; opacity:0; transform:translateY(10px); transition:opacity .4s, transform .4s; }
.verify b{ font-size:13.5px; display:block; }
.verify small{ color:#a9c7b2; font-size:12px; font-style:italic; }
.verify i{ font-style:normal; margin-left:auto; width:26px; height:26px; border-radius:50%; background:#4caf6e; color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; }
.scene.verified .verify{ opacity:1; transform:none; }

/* ── liczniki + zapisy ── */
.counters{ display:flex; justify-content:center; gap:clamp(26px,6vw,80px); padding:44px min(5vw,54px); background:#fbf2e4; border-top:1px solid #eadfc9; border-bottom:1px solid #eadfc9; flex-wrap:wrap; text-align:center; }
.counters b{ display:block; font-size:44px; font-weight:850; letter-spacing:-.03em; color:#b3552e; font-variant-numeric:tabular-nums; }
.counters span{ display:block; font-size:14.5px; color:#6b5d49; max-width:22ch; margin:0 auto; }
.counters .inf{ font-size:70px; line-height:43px; padding-top:10px; }
@media (prefers-reduced-motion: no-preference){
  @keyframes infpop{ 0%{ transform:scale(.4) rotate(-20deg); opacity:0 } 100%{ transform:none; opacity:1 } }
  .counters.on .inf{ animation:infpop .8s cubic-bezier(.2,1.3,.4,1) both; }
}

/* ── współpraca ── */
.wspolpraca{ padding:64px min(5vw,54px); }
.w-in{ max-width:1000px; margin:0 auto; text-align:center; }
.wspolpraca h2{ font-family:Georgia,serif; font-size:clamp(26px,3.4vw,38px); font-weight:600; }
.w-lead{ margin:14px auto 0; font-size:18px; color:#6d5f4e; max-width:68ch; }
.w-lead b{ color:#b3552e; }
.partnerzy{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin-top:32px; }
@media (min-width:920px){ .partnerzy{ grid-template-columns:repeat(5,1fr); } }
.pt{ background:#fff; border-radius:18px; padding:22px 16px; box-shadow:0 10px 26px rgba(120,80,40,.12); }
.pt-ico{ display:inline-flex; width:56px; height:56px; border-radius:50%; background:#fbf2e4; color:#b3552e; align-items:center; justify-content:center; }
.pt-ico svg{ width:30px; height:30px; }
.pt b{ display:block; font-size:16px; margin-top:12px; }
.pt span{ display:block; font-size:13.5px; color:#6b5d49; margin-top:4px; }
.kadra{ display:flex; align-items:center; gap:18px; margin-top:26px; background:linear-gradient(120deg,#fbf2e4,#f7e8d2); border:1px solid #eadfc9; border-radius:20px; padding:22px 26px; text-align:left; flex-wrap:wrap; }
.k-ico{ flex:none; width:52px; height:52px; border-radius:50%; background:#fff; color:#b3552e; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(120,80,40,.15); }
.k-ico svg{ width:26px; height:26px; }
.kadra p{ flex:1; min-width:260px; font-size:16.5px; color:#5c5142; }
.k-go{ background:#b3552e; color:#fff; font-weight:800; font-size:15px; padding:13px 24px; border-radius:999px; white-space:nowrap; }
.k-go:hover{ background:#93401f; }

.signup{ background:linear-gradient(140deg,#3c7a52,#2f6342); color:#f2fbf4; padding:60px min(5vw,54px) 66px; }
.s-head{ max-width:640px; margin:0 auto; text-align:center; }
.s-head h2{ font-family:Georgia,serif; font-size:clamp(26px,3.2vw,36px); font-weight:600; }
.s-head p{ margin-top:10px; color:#c4dcc9; font-size:17px; }

/* ── karty kontaktu w zielonej sekcji ── */
.k-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:22px; max-width:1000px; margin:34px auto 0; align-items:stretch; }
.k-card{ background:#fff; border-radius:22px; padding:32px 30px; box-shadow:0 16px 36px rgba(15,45,28,.28); color:#463a2e; }
.k-card h2{ font-family:Georgia,serif; font-size:24px; font-weight:600; margin-bottom:12px; color:#463a2e; }
.k-fon{ background:linear-gradient(140deg,#fbf2e4,#f7e8d2); border:1px solid #eadfc9; display:flex; flex-direction:column; }
.k-fon p{ color:#6d5f4e; font-size:16px; }
.k-tel{ display:inline-block; margin-top:22px; background:linear-gradient(120deg,#d97e3f,#b3552e); color:#fff; font-weight:800; font-size:21px; padding:16px 26px; border-radius:999px; text-align:center; box-shadow:0 12px 28px rgba(179,85,46,.3); }
.k-godz{ display:block; margin-top:14px; font-size:14.5px; color:#6b5d49; text-align:center; }
.k-card form{ display:flex; flex-direction:column; gap:12px; margin:0; text-align:left; }
.k-card label{ font-size:14px; font-weight:700; color:#6b5d49; display:flex; flex-direction:column; gap:5px; }
.k-card input, .k-card textarea{ font:inherit; font-size:16.5px; padding:12px 14px; border-radius:12px; border:2px solid #eadfc9; background:#fdfaf4; color:#463a2e; resize:vertical; }
.k-card input:focus, .k-card textarea:focus{ outline:none; border-color:#b3552e; }
.k-card .go{ margin-top:4px; box-shadow:none; }
.k-note{ font-size:13px; color:#a1917a; margin-top:2px; }

footer{ display:flex; justify-content:space-between; padding:22px min(5vw,54px); font-size:14.5px; color:#6b5d49; flex-wrap:wrap; gap:8px; }
.ft-tel{ color:#b3552e; font-weight:800; }
@media (max-width:760px){ .k-grid{ grid-template-columns:1fr; } }

.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s, transform .7s; }
.reveal.on{ opacity:1; transform:none; }

@media (max-width:900px){ .hero{ grid-template-columns:1fr; } .phone{ order:-1; max-width:400px; margin:0 auto; width:100%; } .desen{ display:none; } }
@media (max-width:760px){ .stop{ width:100%; } .tpath{ display:none; } }
@media (prefers-reduced-motion: reduce){
  .msg,.reveal{ opacity:1 !important; transform:none !important; transition:none; }
  .msg.shown{ animation:none; }
  .typing b,.ring,.wave2 i{ animation:none !important; }
}

/* ═══ prowadzący ═══ */
.prowadzacy{ padding:74px min(5vw,54px); display:flex; justify-content:center; }
.p-card{ display:flex; align-items:center; gap:clamp(26px,4vw,44px); max-width:780px; background:#fff; border-radius:22px; padding:clamp(28px,4vw,42px); box-shadow:0 14px 40px rgba(70,58,46,.09); }
.p-foto{ flex:0 0 auto; width:clamp(92px,12vw,116px); height:clamp(92px,12vw,116px); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:clamp(30px,4vw,38px); letter-spacing:1px; color:#fff; background:linear-gradient(140deg,#3c7a52,#2f6342); box-shadow:inset 0 0 0 4px #fbf2e4, 0 6px 18px rgba(60,122,82,.28); }
.p-kick{ display:block; font-size:14.5px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:#b3552e; margin-bottom:6px; }
.p-txt h2{ font-size:clamp(23px,3.4vw,29px); font-weight:900; color:#463a2e; margin-bottom:10px; }
.p-txt p{ font-size:17.5px; line-height:1.6; color:#5d5040; }
.p-cytat{ margin-top:14px; font-style:italic; color:#3c7a52; font-weight:600; border-left:3px solid #ffd98c; padding-left:14px; }
@media (max-width:640px){
  .p-card{ flex-direction:column; text-align:center; }
  .p-cytat{ border-left:0; border-top:3px solid #ffd98c; padding:12px 0 0; }
}
