/* Znajdowalni: strona główna i 404. Jeden plik zamiast kilku warstw poprawek. */
/* --- bundle.css --- */
:root{--ink:#0f1115;--paper:#fafaf8;--teal:#00b8b0;--aqua:#bfefec;--coral:#ff846f;--lime:#d7ed7a;--line:#c7cfce;--sans:Montserrat,Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-lockup img{display:block;width:162px;height:auto}.nav nav{display:flex;gap:23px}.nav a,.footer-inner a{font-size:13px;color:var(--ink);text-decoration:none}.nav-cta,.button{border:0;font:600 13px var(--sans);cursor:pointer;text-decoration:none;display:inline-flex;gap:14px;align-items:center;justify-content:center}.nav-cta{background:transparent;color:var(--ink)}.hero{padding:50px 0 90px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:610px}.eyebrow,.kicker{font:500 11px "DM Mono",monospace;letter-spacing:.09em;margin:0 0 16px}.hero h1,h2{font:700 clamp(42px,6vw,78px)/.99 var(--serif);letter-spacing:-.03em;margin:0}.hero h1 em,h2 em{font-style:normal;color:var(--teal)}.lede{max-width:560px;font-size:18px;line-height:1.5;margin:27px 0}.preview-form{max-width:640px}.preview-start{background:#fff;border:1px solid var(--ink);padding:6px;display:flex;gap:6px;box-shadow:6px 6px 0 var(--ink)}.preview-start input{border:0;min-width:0;flex:1;padding:12px 14px;font:14px var(--sans);outline-color:var(--teal)}.button{padding:15px 17px}.button.ink{background:var(--ink);color:#fff}.button.coral{background:var(--coral);color:var(--ink);margin-top:15px}.text-action,.back{border:0;background:none;color:var(--ink);padding:15px 0 0;font:600 13px var(--sans);text-decoration:underline;cursor:pointer}.form-note{font-size:12px;margin:10px 0;color:#50605f}.hero-art{height:430px;position:relative;margin-left:20px}.orbit{position:absolute;border:1px solid var(--teal);border-radius:50%;animation:float 7s ease-in-out infinite}.orbit-a{width:380px;height:380px;right:10px;top:15px}.orbit-b{width:270px;height:270px;right:65px;top:70px;border-color:var(--coral);animation-delay:-2s}.signal-card{position:absolute;background:var(--ink);color:#fff;padding:25px;box-shadow:8px 8px 0 var(--coral);display:grid;gap:12px}.signal-card b{font:700 31px var(--serif);letter-spacing:-.03em}.signal-card small{font-size:13px;max-width:150px}.card-one{right:88px;top:100px;transform:rotate(-5deg)}.card-two{bottom:30px;left:20px;background:var(--lime);color:var(--ink);box-shadow:8px 8px 0 var(--ink);transform:rotate(4deg)}.card-two strong{font:700 25px var(--serif)}.spark{position:absolute;font-size:37px;color:var(--coral)}.s1{top:30px;left:80px}.s2{bottom:25px;right:20px;color:var(--teal)}@keyframes float{50%{transform:translateY(-12px)}}.benefits{background:var(--ink);color:var(--paper);padding:45px 0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.benefit-grid span,.steps span{color:var(--lime);font:500 12px "DM Mono"}.benefit-grid h2{font:700 28px var(--serif);letter-spacing:-.03em;margin:12px 0}.benefit-grid p{max-width:280px;margin:0;color:#d8e2da}.section{padding:108px 0}.section h2{font-size:clamp(37px,5vw,66px)}.scenarios,.compare{background:#e4ecea}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:46px}.scenario-grid article{min-height:250px;padding:31px;background:var(--paper);border:1px solid var(--ink)}.scenario-grid article:last-child{background:var(--coral)}h3{font:700 30px/1.08 var(--serif);letter-spacing:-.03em;margin:15px 0}.scenario-grid p:last-child{max-width:410px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{max-width:265px}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--ink)}.steps article{padding:25px 28px 0 0}.steps article+article{border-left:1px solid var(--ink);padding-left:28px}.steps h3{font-size:31px}.directions{background:var(--ink);color:var(--paper)}.directions h2 em{color:var(--lime)}.intro{max-width:560px}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:45px}.site-preview{height:350px;padding:14px 19px 19px;color:#1d2020;display:flex;flex-direction:column;overflow:hidden}.site-preview.beauty{background:#f0b5a9}.site-preview.physio{background:#b7d8d0}.site-preview.garage{background:#ffdc59}.browser{display:flex;gap:4px}.browser i{height:6px;width:6px;border-radius:50%;background:#1d2020}.mini-nav{display:flex;justify-content:space-between;border-bottom:1px solid #1d2020;padding:13px 0;font-size:11px;font-weight:700}.site-preview h3{font-size:36px;margin:40px 0 15px;max-width:240px}.mini-lines{display:grid;gap:5px}.mini-lines b{height:5px;background:#1d2020;width:80%}.mini-lines b:nth-child(2){width:60%}.mini-lines b:nth-child(3){width:70%}.site-preview button{align-self:flex-start;margin-top:auto;border:0;padding:10px;background:#1d2020;color:#fff;font:600 11px var(--sans)}.site-preview p{font:11px "DM Mono";margin:14px 0 0}.pricing{background:var(--teal)}.pricing h2 em{color:var(--ink)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.plan{background:var(--paper);padding:35px}.plan h3{font-size:33px}.plan>p{min-height:48px}.price{display:flex;align-items:center;gap:12px;margin:27px 0}.price strong{font:700 68px/.8 var(--serif);letter-spacing:-.03em}.price span{font-size:13px}.button.light{width:100%;background:var(--ink);color:#fff;margin-bottom:27px}.plan ul{list-style:" -   ";padding-left:16px;margin:0}.plan li{padding:5px 0}.onboarding{display:grid;grid-template-columns:1.1fr auto auto 1fr;gap:25px;align-items:center;background:var(--ink);color:var(--paper);padding:29px 34px;margin-top:20px}.onboarding h3{font-size:25px;margin:0}.old-price{font:700 32px var(--serif);text-decoration:line-through;color:#c8c1b7}.old-price small,.new-price small{font:12px var(--sans);display:block;text-decoration:none}.arrow{font-size:30px;color:var(--lime)}.new-price{font:700 45px var(--serif);color:var(--lime)}.onboarding>p{grid-column:1/-1;margin:0;font-size:13px;color:#c9d5cb}.included{padding:75px 0}.included-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.included-grid div{padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.included-grid span{color:var(--coral);margin-right:8px}.compare-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;margin-top:46px}.compare-grid article{border:1px solid var(--ink);padding:28px}.compare-grid article+article{border-left:0}.compare-grid .ours{background:var(--ink);color:var(--paper)}.compare-grid h3{font-size:31px}.compare-grid b{font:500 11px "DM Mono";text-transform:uppercase}.founder{background:var(--coral)}.founder-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.portrait-placeholder{aspect-ratio:1;background:var(--ink);position:relative;display:grid;place-items:center;transform:rotate(-3deg)}.portrait-placeholder:before{content:"";position:absolute;width:70%;height:70%;border:1px solid var(--lime);border-radius:50%;transform:rotate(20deg)}.portrait-placeholder span{position:relative;z-index:1;color:var(--paper);text-align:center;font:700 30px/1 var(--serif)}.founder h2 em{color:var(--ink)}.founder p{max-width:600px;font-size:18px}.todo{font-size:12px!important;font-style:italic}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.accordions{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--ink);padding:17px 0}summary{list-style:none;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{max-width:700px;margin:13px 35px 3px 0;font-size:15px}.final-cta{background:var(--lime);padding:105px 0}.final-cta h2{font-size:clamp(43px,6vw,75px);margin-bottom:33px}.final-cta h2 em{color:var(--coral)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.detail-grid label,.consent{display:grid;gap:5px;font-size:13px;font-weight:600}.detail-grid input{border:1px solid var(--ink);background:#fff;padding:12px;font:15px var(--sans)}.consent{display:flex;align-items:flex-start;margin-top:12px;font-weight:400}.consent input{margin-top:4px}.form-status{padding:24px;background:#fff;border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.form-status span{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:var(--lime);font-weight:700}.form-status.demo span{background:var(--coral)}.form-status h3{font-size:28px}.footer-inner{display:grid;grid-template-columns:auto 1fr auto auto;gap:26px;align-items:center;padding:35px 0;font-size:13px}.footer-inner p{margin:0}.footer-inner small{color:#6d7774}.mobile-cta{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.wrap{width:min(100% - 32px,600px)}.nav{height:69px}.nav nav,.nav-cta{display:none}.hero{padding:28px 0 52px}.hero-grid{display:block;min-height:0}.hero h1{font-size:56px}.lede{font-size:17px}.preview-start{display:block;padding:5px}.preview-start input{width:100%;padding:13px}.preview-start .button{width:100%;margin-top:4px}.hero-art{height:240px;margin:45px 0 0}.orbit-a{width:215px;height:215px;right:15px}.orbit-b{width:150px;height:150px;right:48px;top:48px}.card-one{padding:16px;right:30px;top:52px}.signal-card b{font-size:24px}.card-two{left:10px;bottom:15px;padding:16px}.s1{left:15px}.benefit-grid,.scenario-grid,.direction-grid,.plans,.founder-grid,.faq-grid{grid-template-columns:1fr;gap:20px}.benefits{padding:35px 0}.benefit-grid{gap:28px}.benefit-grid article{padding-bottom:24px;border-bottom:1px solid #49615d}.section{padding:72px 0}.section-heading{display:block}.steps{grid-template-columns:1fr;gap:0;margin-top:30px}.steps article,.steps article+article{border-left:0;border-bottom:1px solid var(--ink);padding:22px 0}.site-preview{height:320px}.onboarding{grid-template-columns:1fr;gap:13px;padding:25px}.onboarding .arrow{display:none}.included-grid{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:1fr}.compare-grid article+article{border-left:1px solid var(--ink);border-top:0}.founder-grid{gap:40px}.portrait-placeholder{max-width:280px}.faq-grid{gap:25px}.footer-inner{grid-template-columns:1fr;gap:10px;padding-bottom:85px}.mobile-cta{display:flex;position:fixed;z-index:10;bottom:12px;left:12px;right:12px;background:var(--coral);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:15px;justify-content:space-between;font:700 15px var(--sans);color:var(--ink)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{animation:none}}

/* Ostatnia warstwa dopracowania: czytelność i spokojniejszy rytm. */
h2{line-height:1.1;letter-spacing:-.03em}.hero h1{line-height:1.03}.hero h1 em,h2 em{display:inline-block}.plan ul{list-style:none;padding-left:0}.plan li{position:relative;padding-left:18px}.plan li::before{content:"•";position:absolute;left:0;color:var(--teal)}.case-study{background:var(--aqua)}.case-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}.case-copy p:not(.eyebrow){max-width:470px;font-size:17px}.case-copy .case-note{font:500 11px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.case-visual{background:#fff;border:1px solid var(--ink);padding:12px;box-shadow:10px 10px 0 var(--ink)}.case-visual img{display:block;width:100%;height:auto}.text-action{display:block;max-width:540px;text-align:left;line-height:1.45}.form-note{max-width:550px}@media(max-width:760px){h2{line-height:1.14;letter-spacing:-.03em}.hero h1{line-height:1.07}.case-grid{grid-template-columns:1fr;gap:28px}.case-visual{box-shadow:6px 6px 0 var(--ink)}.text-action{font-size:13px}.hero h1 em,h2 em{display:block}}

.industry-fit{background:var(--ink);color:var(--paper);padding:100px 0}.industry-fit h2 em{color:var(--teal)}.fit-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:start}.industry-tags{display:flex;flex-wrap:wrap;gap:9px}.industry-tags span{border:1px solid #ffffff30;padding:10px 13px;font-size:13px}.industry-note{margin:45px 0 0;color:#aab7b5;font-size:13px;line-height:1.6}@media(max-width:760px){.industry-fit{padding:70px 0}.fit-layout{grid-template-columns:1fr;gap:32px}.industry-tags{gap:7px}.industry-tags span{padding:8px 10px;font-size:12px}.industry-note{margin-top:28px}}
.industry-links { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; margin-top:1.25rem; }
.industry-links a { color:inherit; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:700px) { .industry-links { display:grid; gap:.55rem; } }

.positioning{padding:100px 0;background:var(--paper);border-bottom:1px solid var(--line)}.positioning-grid{display:grid;grid-template-columns:.3fr 1.05fr .75fr;gap:36px;align-items:end}.positioning h2{font-size:clamp(38px,4.6vw,65px)}.positioning>p,.positioning-grid>p:last-child{margin:0;font-size:17px;line-height:1.6;max-width:380px}.positioning .eyebrow{align-self:start}@media(max-width:760px){.positioning{padding:70px 0}.positioning-grid{grid-template-columns:1fr;gap:20px}.positioning-grid>p:last-child{font-size:16px}.positioning .eyebrow{margin:0}}

.choose-plan{padding:95px 0;background:var(--paper)}.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.choose-grid article{padding:30px;background:var(--aqua);border:1px solid var(--ink)}.choose-grid article:last-child{background:var(--lime)}.choose-grid h2{font-size:33px;line-height:1.08}.choose-grid p{max-width:440px;margin-bottom:0}.integration-note{margin-top:18px;padding:31px;background:var(--ink);color:var(--paper)}.integration-note h3{font-size:28px}.integration-note p{max-width:760px;margin-bottom:0;color:#d7e5e2}@media(max-width:760px){.choose-plan{padding:70px 0}.choose-grid{grid-template-columns:1fr}.choose-grid article,.integration-note{padding:24px}.choose-grid h2{font-size:28px}.integration-note h3{font-size:26px}}

.plan-compare { background: var(--cream, #f7f3ea); }
.pricing-guidance { margin: 2rem 0 0; padding: 1.4rem 1.6rem; border: 1px solid var(--ink, #121416); background: var(--soft-teal, #e3f5f1); }
.pricing-guidance h3 { margin: .2rem 0 1rem; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.pricing-guidance-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; }
.pricing-guidance-grid p { margin:0; max-width:34rem; }
.pricing-guidance-grid strong { font-weight:700; }
.pricing-guidance .integration-note { margin:1.2rem 0 0; padding-top:1rem; border-top:1px solid #a9c8c2; font-size:.92rem; }
.plan-compare h2 { max-width: 760px; margin: .25rem 0 2rem; }
.plan-table-wrap { overflow-x: auto; border: 1px solid var(--ink, #121416); box-shadow: 7px 7px 0 var(--ink, #121416); background: #fffdf8; }
.plan-table { width: 100%; min-width: 620px; border-collapse: collapse; text-align: left; }
.plan-table th, .plan-table td { padding: 1rem 1.1rem; border-bottom: 1px solid #cfd7d2; vertical-align: top; }
.plan-table thead th { background: var(--ink, #121416); color: var(--cream, #f7f3ea); font-weight: 700; }
.plan-table thead th:nth-child(3) { background: var(--teal, #17b2a6); color: var(--ink, #121416); }
.plan-table tbody th { width: 28%; font-weight: 700; }
.plan-table tbody td:nth-child(3) { background: #e3f5f1; }
.plan-table tr:last-child th, .plan-table tr:last-child td { border-bottom: 0; }
.plan-table-note { margin: 1.4rem 0 0; max-width: 760px; color: #59615f; font-size: .92rem; }
@media (max-width: 700px) { .plan-table-wrap { box-shadow: 4px 4px 0 var(--ink, #121416); } .plan-table th, .plan-table td { padding: .8rem .75rem; font-size: .9rem; } }
@media (max-width: 700px) { .pricing-guidance-grid { grid-template-columns:1fr; gap:.7rem; } }

.brand-lockup{display:block;flex:0 0 auto}.brand-lockup img{width:185px;max-height:42px;object-fit:contain;object-position:left center}.footer-inner .brand-lockup img{width:180px}@media(max-width:760px){.brand-lockup img{width:172px;max-height:39px}}

/* Finalna paleta: teal jest marką, limonka jest sygnałem działania. */
:root{--ink:#121416;--paper:#F7F3EA;--teal:#17B2A6;--aqua:#E3F5F1;--coral:#FF705E;--lime:#B9F24A}.preview-start .button.ink,.button.light,.mobile-cta{background:var(--lime);color:var(--ink)}.preview-start .button.ink:hover,.button.light:hover,.mobile-cta:hover{background:#c9ff63}.preview-start{box-shadow:6px 6px 0 var(--ink)}.card-two{box-shadow:8px 8px 0 var(--ink)}.new-price{color:var(--lime)}.pricing{background:var(--teal)}.integration-note{background:var(--ink)}

/* Hero: ewolucja od zaniedbanej wizytówki Google do nowoczesnej strony mobilnej. */

/* --- sekcja hero i formularz (bez zmian) --- */
.hero{padding-top:28px;padding-bottom:68px}
.hero-grid{min-height:575px}
.hero .preview-start{padding:8px;gap:8px}
.hero .preview-start input{padding:17px 16px}
.hero [data-jedno-pole] .preview-start input{padding-left:14px;padding-right:10px}
.hero [data-jedno-pole] .preview-start input::placeholder{font-size:13.5px}
.hero .preview-start .button{padding:18px 21px}
.hero .form-note{margin-top:13px}

/* --- hero: porównanie „przed i po” (hero-przed-po.js); dane przykładowe, zmyślona firma --- */
.hero-art.hero-pp{margin-left:26px;position:relative;padding-bottom:20px}
.pp-podpis{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-size:12px;color:#40514e}
.pp-podpis b{font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.pp-podpis span{font-weight:600;white-space:nowrap}
.pp{--pp-x:50%;position:relative}
.pp-okno{position:relative;border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:#fff}
.pp-pasek{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#EFE9DE;border-bottom:1px solid var(--ink)}
.pp-pasek i{width:8px;height:8px;border-radius:50%;background:#C3BCAF}
.pp-pasek span{margin-left:10px;flex:1;max-width:240px;font-size:11px;color:#6b726f;background:#fff;border-radius:5px;padding:3px 10px}
.pp-scena{position:relative;overflow:hidden;aspect-ratio:1200/750;--pp-s:.42}
.pp-warstwa{position:absolute;left:0;top:0;transform-origin:0 0;transform:scale(var(--pp-s))}
.pp-przed{clip-path:inset(0 calc(100% - var(--pp-x)) 0 0)}
.pp-linia{position:absolute;top:0;bottom:0;left:var(--pp-x);z-index:3;width:2px;margin-left:-1px;background:var(--lime,#B9F24A);box-shadow:0 0 0 1px rgba(18,20,22,.6),0 0 22px rgba(185,242,74,.7);pointer-events:none}
.pp-uchwyt{position:absolute;top:50%;left:var(--pp-x);z-index:4;display:flex;transform:translate(-50%,-50%);border-radius:999px;background:var(--ink);color:#fff;font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);pointer-events:none}
.pp-uchwyt span{min-width:84px;padding:9px 12px;text-align:center}
.pp-uchwyt span:first-child{padding-right:26px;border-radius:999px 0 0 999px}
.pp-uchwyt span+span{padding-left:26px;border-radius:0 999px 999px 0;background:#B9F24A;color:var(--ink)}
.pp-uchwyt i{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-style:normal;font-size:14px;color:var(--ink)}
.pp-znacznik{position:absolute;z-index:2;padding:5px 9px;font:700 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.pp-l{left:12px;bottom:12px;background:rgba(18,20,22,.85);color:#fff}.pp-r{right:12px;top:12px;background:#B9F24A;color:var(--ink)}
.pp-suwak{position:absolute;left:0;right:0;bottom:0;top:30px;z-index:5;width:100%;height:calc(100% - 30px);margin:0;opacity:0;cursor:ew-resize}
.pp-okno:has(.pp-suwak:focus-visible){outline:3px solid var(--teal);outline-offset:4px}
.pp-tel{position:absolute;right:-56px;bottom:-56px;z-index:6;width:clamp(112px,23%,150px);padding:7px;border-radius:24px;background:var(--ink);box-shadow:0 30px 40px -24px rgba(0,0,0,.55)}
.pp-tel-ekran{border-radius:18px;aspect-ratio:390/780;background:#fff}
.pp-tel .pp-uchwyt span{display:none}.pp-tel .pp-uchwyt i{width:24px;height:24px;margin:-12px 0 0 -12px;font-size:11px}.pp-tel .pp-uchwyt{background:none;box-shadow:none}
.pp-suwak-tel{display:none}
.pp-zmiany{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;max-width:calc(100% - 120px);margin:28px 0 0;padding:0}
.pp-zmiany li{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:13px;line-height:1.35;font-weight:600}
.pp-zmiany b{flex:none;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#B9F24A;display:grid;place-items:center;font-size:11px}
/* „przed”: wizytówka w mapach (ogólny wygląd, bez logo i znaków Google) */
.pp-mapa{position:relative;width:1200px;height:750px;overflow:hidden;background:#e9e5dc;color:#202124;font-family:Roboto,Arial,sans-serif}
.pp-mapa-tel{width:390px;height:780px}
.pp-mapa-tlo{position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,#c8e6c9 0 70px,transparent 71px),radial-gradient(circle at 62% 78%,#c8e6c9 0 55px,transparent 56px),linear-gradient(115deg,transparent 47%,#aadaff 47% 50%,transparent 50%),linear-gradient(0deg,transparent 31%,#fff 31% 33%,transparent 33%),linear-gradient(0deg,transparent 64%,#fff 64% 65.5%,transparent 65.5%),linear-gradient(90deg,transparent 58%,#fff 58% 59.5%,transparent 59.5%),linear-gradient(90deg,transparent 82%,#fff 82% 83.2%,transparent 83.2%),linear-gradient(28deg,transparent 52%,#fde293 52% 54%,transparent 54%),repeating-linear-gradient(0deg,#e9e5dc 0 46px,#f2efe8 46px 48px),repeating-linear-gradient(90deg,transparent 0 58px,#f2efe8 58px 60px)}
.pp-pinezka{position:absolute;left:66%;top:44%;width:34px;height:34px;margin:-34px 0 0 -17px;border-radius:50% 50% 50% 0;background:#ea4335;transform:rotate(-45deg);box-shadow:0 4px 8px rgba(0,0,0,.3)}
.pp-pinezka::after{content:"";position:absolute;left:11px;top:11px;width:12px;height:12px;border-radius:50%;background:#7a1f17}
.pp-mapa-tel .pp-pinezka{left:58%;top:24%}
.pp-szukaj{position:absolute;left:24px;top:22px;z-index:2;width:400px;height:48px;display:flex;align-items:center;padding:0 20px;border-radius:24px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);font-size:15px;color:#5f6368}
.pp-mapa-tel .pp-szukaj{left:14px;right:14px;top:14px;width:auto;height:46px;font-size:14px}
.pp-wiz{position:absolute;left:0;top:0;bottom:0;width:430px;padding-top:84px;background:#fff;box-shadow:2px 0 8px rgba(0,0,0,.18)}
.pp-wiz-foto{height:150px;display:grid;place-items:center;background:linear-gradient(135deg,#cfcac0,#b9b3a7);color:#7d776c;font-size:13px}
.pp-wiz-tresc{padding:16px 24px}
.pp-wiz-nazwa{display:block;margin:0 0 4px;font-size:24px;font-weight:400}
.pp-wiz-ocena{margin-bottom:2px;font-size:14px;color:#70757a}.pp-wiz-ocena b{color:#202124;font-weight:500}.pp-wiz-ocena i{font-style:normal;color:#fbbc04;letter-spacing:1px}
.pp-wiz-kat{margin-bottom:14px;font-size:14px;color:#70757a}.pp-otwarte{color:#188038}
.pp-wiz-akcje{display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 0;border-top:1px solid #e8eaed;border-bottom:1px solid #e8eaed}
.pp-wiz-akcje span{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;font-size:12.5px;color:#1a73e8;text-align:center}
.pp-wiz-akcje i{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dadce0;border-radius:50%;font-style:normal;font-size:16px}
.pp-wiz-akcje .pp-brak{color:#b0b3b8}.pp-wiz-akcje .pp-brak i{border-style:dashed}
.pp-wiz-wiersz{display:flex;gap:16px;padding:9px 0;font-size:14px;color:#3c4043}.pp-wiz-wiersz i{width:20px;font-style:normal;text-align:center;color:#5f6368}
.pp-wiz-wiersz.pp-brak{color:#c5221f;font-weight:600}.pp-wiz-wiersz.pp-brak i{color:#c5221f}
.pp-dymek{position:absolute;left:470px;top:110px;max-width:300px;padding:14px 16px;border-left:4px solid #c5221f;background:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);font:600 15px/1.4 var(--sans);color:#202124}
.pp-dymek small{display:block;margin-top:4px;font-size:13px;font-weight:400;color:#5f6368}
.pp-arkusz{position:absolute;left:0;right:0;bottom:0;height:460px;padding:10px 20px;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.2)}
.pp-arkusz::before{content:"";display:block;width:36px;height:4px;margin:0 auto 14px;border-radius:2px;background:#dadce0}
.pp-arkusz .pp-wiz-tresc{padding:0}.pp-arkusz .pp-wiz-nazwa{font-size:22px}.pp-arkusz .pp-wiz-akcje span{width:58px;font-size:11.5px}
/* „po”: nowa strona firmy (projekt przykładowy) */
.pp-nowa,.pp-nowa-tel{position:relative;overflow:hidden;background:#14181b;color:#fff;font-family:var(--sans)}
.pp-nowa{width:1200px;height:750px}.pp-nowa-tel{width:390px;height:780px}
.pp-nw-foto{position:absolute;inset:0;background:url(assets/templates/hero-budowlane.webp) center 40%/cover}
.pp-nw-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,19,.94) 0%,rgba(14,17,19,.78) 40%,rgba(14,17,19,.12) 72%),linear-gradient(0deg,rgba(14,17,19,.85),transparent 30%)}
.pp-nowa-tel .pp-nw-foto{bottom:auto;height:430px}.pp-nowa-tel .pp-nw-foto::after{background:linear-gradient(0deg,#14181b 2%,rgba(20,24,27,.35) 60%,rgba(20,24,27,.6))}
.pp-nw-nav{position:relative;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 56px}
.pp-nowa-tel .pp-nw-nav{height:70px;padding:0 20px}
.pp-nw-logo{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:900;letter-spacing:.04em}
.pp-nw-logo i{position:relative;width:32px;height:32px;border:2.5px solid #fff}.pp-nw-logo i::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:2.5px solid #ff6a1a;transform:translateX(-50%)}
.pp-nw-menu{display:flex;gap:28px;font-size:14px;font-weight:500;color:rgba(255,255,255,.85)}
.pp-nw-gora{padding:12px 20px;border-radius:6px;background:#ff6a1a;font-size:14px;font-weight:700}
.pp-nt-menu{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.5);border-radius:8px;font-size:20px}
.pp-nw-tresc{position:relative;display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:center;padding:34px 56px 0}
.pp-nt-tresc{position:relative;padding:150px 20px 0}
.pp-nw-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffb27f}
.pp-nw-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.25)}
.pp-nw-h{display:block;margin:0 0 20px;font-size:60px;font-weight:900;line-height:1;letter-spacing:-.035em}.pp-nw-h em{font-style:normal;color:#ff6a1a}
.pp-nowa-tel .pp-nw-h{font-size:38px;margin-bottom:14px}
.pp-nw-lead{display:block;max-width:30em;margin:0 0 28px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.85)}
.pp-nowa-tel .pp-nw-lead{font-size:16px;margin-bottom:18px}
.pp-nw-przyciski{display:flex;gap:12px}
.pp-nw-btn{display:inline-block;padding:17px 26px;border-radius:8px;background:#ff6a1a;font-size:16px;font-weight:700;box-shadow:0 14px 30px -12px rgba(255,106,26,.8)}
.pp-nw-btn2{display:inline-flex;align-items:center;gap:8px;padding:16px 22px;border:1.5px solid #3ddc84;border-radius:8px;background:rgba(61,220,132,.12);font-size:16px;font-weight:600}
.pp-nw-karta{padding:22px;border-radius:16px;background:rgba(255,255,255,.96);color:#14181b;box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.pp-nw-karta>b{display:block;margin-bottom:4px;font-size:21px;font-weight:800}
.pp-nw-opis{display:block;margin-bottom:14px;font-size:13px;color:#5b6468}
.pp-nw-chipy{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pp-nw-chipy span{padding:6px 12px;border:1.5px solid #dcdfe2;border-radius:999px;font-size:13px;font-weight:600}.pp-nw-chipy .on{background:#14181b;border-color:#14181b;color:#fff}
.pp-nw-pole{display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 14px;border:1.5px solid #dcdfe2;border-radius:8px;font-size:14px;color:#8a9296}.pp-nw-pole b{color:#14181b}
.pp-nw-wynik{display:block;margin-bottom:12px;padding:12px 14px;border-radius:10px;background:#fff3ea}.pp-nw-wynik small{font-size:12px;color:#8a5a3a}.pp-nw-wynik b{display:block;font-size:23px;font-weight:800}
.pp-nw-karta .pp-nw-btn{display:block;padding:14px;text-align:center;font-size:15px;box-shadow:none}
.pp-nw-zaufanie{position:absolute;left:0;right:0;bottom:0;display:flex;gap:44px;padding:20px 56px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:rgba(255,255,255,.8)}
.pp-nw-zaufanie b{margin-right:6px;color:#fff}.pp-nw-zaufanie i{margin-right:6px;font-style:normal;letter-spacing:2px;color:#ffc24a}
.pp-nt-fakty{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pp-nt-fakty span{padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.75)}.pp-nt-fakty b{display:block;font-size:15px;color:#fff}
.pp-nt-dol{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.12);background:#14181b}
.pp-nt-dol>span{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 0;border-radius:10px;font-size:15px;font-weight:700}
.pp-nt-dol>span+span{background:#ff6a1a}.pp-nt-dol .pp-dzwoni{border:1.5px solid #3ddc84;background:rgba(61,220,132,.12)}
/* „Dzwoniący” przycisk telefonu na nowej stronie */
.pp-dzwoni{position:relative}
.pp-sl{display:inline-block;transform-origin:50% 60%;animation:ppDzwonek 2.6s ease-in-out infinite}
.pp-dzwoni::before,.pp-dzwoni::after{content:"";position:absolute;inset:-2px;border:2px solid #3ddc84;border-radius:inherit;opacity:0;animation:ppFala 2.6s ease-out infinite}
.pp-dzwoni::after{animation-delay:.35s}
@keyframes ppDzwonek{0%,58%,100%{transform:rotate(0)}62%{transform:rotate(-18deg)}66%{transform:rotate(16deg)}70%{transform:rotate(-14deg)}74%{transform:rotate(12deg)}78%{transform:rotate(-8deg)}82%{transform:rotate(0)}}
@keyframes ppFala{0%,55%{opacity:0;transform:scale(1)}60%{opacity:.9}100%{opacity:0;transform:scale(1.35,1.6)}}
@media(prefers-reduced-motion:reduce){.pp-sl,.pp-dzwoni::before,.pp-dzwoni::after{animation:none}}
/* Telefon: zamiast pomniejszonego okna komputera porównanie w wersji na telefon, z własnym suwakiem. */
@media(max-width:640px){
  .hero-art.hero-pp{margin:34px 0 0;padding-bottom:0}
  .pp-okno{display:none}
  .pp-tel{position:relative;right:auto;bottom:auto;width:min(270px,78vw);margin:0 auto;padding:9px;border-radius:32px}
  .pp-tel-ekran{border-radius:24px}
  .pp-tel .pp-uchwyt i{width:34px;height:34px;margin:-17px 0 0 -17px;font-size:14px}
  .pp-suwak-tel{display:block;top:9px;left:9px;right:9px;bottom:9px;width:calc(100% - 18px);height:calc(100% - 18px)}
  .pp-podpis{flex-wrap:wrap}
  .pp-zmiany{flex-direction:column;max-width:none;margin-top:24px}
}

/* --- mobile --- */
@media(max-width:760px){
  .hero{padding-top:22px;padding-bottom:52px}
  .hero-grid{min-height:0}
  .hero .preview-start{padding:6px}
  .hero .preview-start input{padding:15px}
  .hero .preview-start .button{padding:16px}

}

.plans .plan:first-child{background:var(--paper)}.plans .plan:nth-child(2){background:var(--aqua)}.plan ul{list-style:none;padding-left:0;display:grid;gap:10px}.plan li{position:relative;padding:0 0 0 25px;line-height:1.35}.plan li::before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:800}.plan li span{display:block}.plan li small{display:block;margin-top:4px;color:#4d5e5b;font-size:11px;line-height:1.35}.ownership-note{margin-top:20px;padding:23px 28px;border:1px solid var(--ink);background:var(--paper);display:grid;grid-template-columns:minmax(210px,.6fr) 1.4fr;gap:28px}.ownership-note strong{font:700 24px/1.05 var(--serif);letter-spacing:-.03em}.ownership-note p{margin:0;font-size:13px;line-height:1.55}@media(max-width:760px){.ownership-note{grid-template-columns:1fr;gap:10px;padding:22px}.ownership-note strong{font-size:23px}}

/* Wspólna oś dla obu kart, niezależnie od długości tekstu. */
.pricing .plan{display:flex;flex-direction:column}
.pricing .plan h3{height:51px;display:flex;align-items:flex-end;margin:0 0 15px}
.pricing .plan>p:not(.price-note){min-height:48px;margin:0}
.pricing .plan .price{height:92px;margin:27px 0}
.pricing .plan .price-note{min-height:48px;margin:0}
.pricing .plan .button{min-height:46px}

@media(max-width:760px){
  .pricing .plan h3{height:auto}
  .pricing .plan .price{height:auto}
}

.case-copy .case-link{display:inline-flex;align-items:center;gap:13px;margin-top:22px;color:var(--ink);font:700 13px var(--sans);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.case-link span{color:var(--teal);font-size:18px;line-height:1}.case-facts{margin:29px 0 0;display:grid;gap:12px}.case-facts div{border-top:1px solid #89bcb6;padding-top:10px}.case-facts dt{font:600 10px "DM Mono",monospace;letter-spacing:.08em}.case-facts dd{margin:4px 0 0;font-size:13px;line-height:1.4}.case-visual{position:relative;display:block;color:var(--ink);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.case-visit{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:9px 11px;background:var(--lime);border:1px solid var(--ink);font:700 11px var(--sans);opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}.case-visit b{font-size:15px}@media(hover:hover){.case-visual:hover{transform:translateY(-4px);box-shadow:14px 14px 0 var(--ink)}.case-visual:hover .case-visit{opacity:1;transform:translateY(0)}.case-copy .case-link:hover{color:var(--teal)}}@media(max-width:760px){.case-facts{margin-top:23px}.case-visit{opacity:1;transform:none}.case-visual{display:block}}

.contact-section{padding:82px 0;background:var(--aqua)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.contact-grid h2{font-size:clamp(40px,5vw,64px)}.contact-grid>div>p:last-of-type{max-width:360px;font-size:16px}.contact-email{margin-top:24px;font-size:13px!important}.contact-email a{color:var(--ink);font-weight:700}.contact-form{display:grid;gap:14px;padding:28px;background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.contact-form>label{display:grid;gap:5px;font-size:13px;font-weight:600}.contact-form label small{font-size:11px;font-weight:500}.contact-form textarea{resize:vertical;min-height:78px;border:1px solid var(--ink);background:#fff;padding:12px;font:15px var(--sans);line-height:1.45}.contact-form .button{justify-self:start;margin-top:4px}.consent-row{display:grid;grid-template-columns:24px 1fr;column-gap:10px;row-gap:3px;align-items:start;font-size:12px;line-height:1.45}.consent-row input{width:24px;height:24px;margin:0;accent-color:var(--teal);grid-row:span 2;cursor:pointer}.consent-row label{cursor:pointer}.consent-row a{grid-column:2;color:var(--ink);font-weight:600;text-decoration:underline}.contact-form input:not([type="checkbox"]){min-height:48px}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #17b2a655;outline-offset:1px}.contact-form :user-invalid:not(:placeholder-shown){border-color:var(--coral)}@media(max-width:760px){.contact-section{padding:64px 0}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-form{padding:20px;box-shadow:5px 5px 0 var(--ink)}.contact-form .detail-grid{grid-template-columns:1fr}.contact-form .button{width:100%}.consent-row{font-size:12px}}

.preview-form .consent{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;font-size:12px;line-height:1.45;margin-top:12px}
.preview-form .consent label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.preview-form .consent input{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:var(--teal);cursor:pointer}
.preview-form .consent a{color:var(--ink);font-weight:600;text-decoration:underline}

.price-note{margin:0 0 0;color:#65716f;font-size:13px;line-height:1.35}.plan .button.light{margin-top:34px}.price strong{font-family:var(--sans);font-size:clamp(58px,6vw,72px);font-weight:700;letter-spacing:normal;line-height:.95}.price{align-items:flex-end}.plan h3{color:var(--teal)}.plan:nth-child(2) h3{color:var(--coral)}.hero-branze{max-width:540px;margin:12px 0 0;color:#65716f;font-size:13px;line-height:1.45}.pricing-clarity{max-width:820px;margin:18px 0 34px;padding:14px 16px;border-left:3px solid var(--ink);background:#e3f5f1;font-size:14px;line-height:1.55}.about{background:var(--paper);position:relative;overflow:hidden}.about:before,.about:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.about:before{width:290px;height:290px;right:-90px;top:-110px;background:#e3f5f1}.about:after{width:220px;height:220px;left:-110px;bottom:-90px;background:#fff0c9}.about-grid{position:relative;z-index:1;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.about-photo{max-width:360px;aspect-ratio:4/5;background:var(--aqua);border:1px solid var(--ink);box-shadow:9px 9px 0 var(--ink);overflow:hidden;transform:rotate(-2deg)}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.about-copy{max-width:650px}.about-copy h2{font-size:clamp(37px,5vw,64px)}.about-copy p:not(.eyebrow){font-size:16px;max-width:610px}.about-copy p+p{margin-top:15px}@media(max-width:760px){.about{padding:64px 0}.about-grid{grid-template-columns:1fr;gap:38px}.about-photo{max-width:250px;margin:0 auto}.about-copy h2{font-size:43px}.about-copy p:not(.eyebrow){font-size:15px}.plan .button.light{margin-top:28px}.price strong{font-size:58px}}
/* Delikatne światło tła, bez gradientów na CTA i typografii. */
.positioning,.choose-plan{position:relative;overflow:hidden}.positioning:after,.choose-plan:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(35px);opacity:.22;pointer-events:none}.positioning:after{right:-110px;top:-130px;background:var(--aqua)}.choose-plan:after{left:-120px;bottom:-140px;background:var(--coral)}.positioning>.wrap,.choose-plan>.wrap{position:relative;z-index:1}

/* Gęstszy rytm: zachowuje oddech, ale szybciej prowadzi do kolejnego argumentu. */
.section{padding:84px 0}.positioning{padding:80px 0}.industry-fit{padding:82px 0}.choose-plan{padding:76px 0}.final-cta{padding:82px 0}.plan>p{min-height:62px}.integration-note h3{margin-top:0}.integration-note p{max-width:820px}.integration-note p+p{margin-top:15px}@media(max-width:760px){.section{padding:64px 0}.positioning,.industry-fit,.choose-plan{padding:64px 0}.final-cta{padding:70px 0}.plan>p{min-height:0}}

/* Reakcja na interakcję: przejścia hover/focus, animowane FAQ, wejścia sekcji.
   Ruch tylko na opacity/transform/height  -  nigdy na właściwościach układu,
   żeby nic nie przeskakiwało przy ładowaniu. */

/* --- 1. Przyciski i linki --- */
.button,
.nav-cta,
.mobile-cta,
.preview-start .button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease
}
.button:active,
.nav-cta:active,
.mobile-cta:active,
.preview-start .button:active{transform:translateY(1px)}

#top nav a{position:relative;transition:color .16s ease}
#top nav a:after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .2s ease
}
#top nav a:hover:after,
#top nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}

/* --- 2. Widoczny focus dla klawiatury --- */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
  border-radius:2px
}

/* --- 3. FAQ --- */
summary{transition:color .16s ease}
.faq-grid summary:hover{color:var(--teal)}
.faq-grid summary span{
  display:inline-block;line-height:1;
  transition:transform .24s cubic-bezier(.22,.61,.36,1),color .16s ease
}
.faq-grid details[open] summary span{color:var(--teal)}
.faq-body{overflow:hidden}

/* --- 4. Wejścia sekcji przy scrollu --- */
.mo-reveal{opacity:0;transform:translateY(10px);will-change:opacity,transform}
.mo-in{
  opacity:1;transform:none;
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1)
}
.mo-in.mo-done{will-change:auto}

/* --- Bez ruchu, jeśli użytkownik tego nie chce --- */
@media(prefers-reduced-motion:reduce){
  .button,.nav-cta,.mobile-cta,.preview-start .button,
  #top nav a,#top nav a:after,summary,.faq-grid summary span{transition:none}
  .mo-reveal{opacity:1;transform:none}
  .mo-in{transition:none}
}

/* Przyklejony nagłówek i nawigacja mobilna.
   Do 760px oryginalne menu i CTA są ukryte (.nav nav,.nav-cta{display:none}),
   więc telefon nie miał żadnej nawigacji  -  stąd hamburger i pełnoekranowy panel. */

/* --- przyklejony nagłówek --- */
#top{
  position:sticky;top:0;z-index:60;
  background:var(--paper);
  transition:box-shadow .2s ease
}
#top.is-stuck{box-shadow:0 1px 0 rgba(18,20,22,.14)}
/* Wysokość nagłówka zostaje stała (82px desktop / 69px mobile). Kurczenie przy
   scrollu odpuszczone: istniejący CSS wymusza wysokość przez !important, a na
   mobile stała wysokość jest i tak konieczna  -  panel menu zaczyna się dokładnie
   pod nagłówkiem i każda zmiana zostawiałaby szczelinę albo zakładkę. */

/* kotwice nie mogą chować się pod nagłówkiem */
section[id]{scroll-margin-top:96px}
/* Formularz podglądu (#hero-preview) to kotwica z Facebooka i zachęt na blogu: pokazujemy go z hasłem nad nim, nie pod nagłówkiem. */
form[id]{scroll-margin-top:220px}

/* --- hamburger --- */
.nav-toggle{
  display:none;
  width:44px;height:44px;padding:0;
  flex:0 0 auto;align-items:center;justify-content:center;
  gap:5px;flex-direction:column;
  background:transparent;border:1px solid var(--ink);border-radius:0;
  cursor:pointer
}
.nav-toggle span{
  display:block;width:19px;height:2px;background:var(--ink);
  transition:transform .22s ease,opacity .18s ease
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --- panel mobilny --- */
.mobile-nav{
  position:fixed;left:0;right:0;top:69px;bottom:0;z-index:55;
  background:var(--paper);
  border-top:1px solid var(--ink);
  padding:26px 20px calc(20px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:4px;
  overflow-y:auto;
  animation:navIn .18s ease both
}
.mobile-nav[hidden]{display:none}
.mobile-nav nav{display:flex;flex-direction:column}
.mobile-nav nav a{
  display:flex;align-items:center;min-height:56px;
  padding:0 2px;
  font:600 19px var(--sans);letter-spacing:-.02em;color:var(--ink);
  border-bottom:1px solid var(--line);
  text-decoration:none
}
.mobile-nav-cta{
  margin-top:22px;
  display:flex;align-items:center;justify-content:space-between;
  min-height:54px;padding:0 18px;
  background:var(--lime);color:var(--ink);
  border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  font:700 15px var(--sans);cursor:pointer
}

/* Tylko przezroczystość. Gdyby animacja się nie wykonała (np. karta w tle,
   gdzie przeglądarka je wstrzymuje), panel i tak leży dokładnie pod nagłówkiem
    -  przesunięcie w transformacji zostawiłoby go w złym miejscu. */
@keyframes navIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .mobile-nav{animation:none}
  .nav-toggle span,#top,#top .nav{transition:none}
}

/* --- przełącznik widoków --- */
@media(max-width:760px){
  .nav-toggle{display:flex}
  #top .nav{height:69px}
  .mobile-nav{top:69px}
  section[id]{scroll-margin-top:82px}
  /* panel otwarty: blokada przewijania tła i schowanie dolnego CTA,
     żeby dwa przyklejone elementy nie zjadały ekranu */
  body.nav-open{overflow:hidden}
  body.nav-open .mobile-cta{display:none}
}
@media(min-width:761px){
  .mobile-nav{display:none}
}

/* --- pozostałe drobne poprawki --- */
/* <picture> jest liniowe, więc bez tego kadrowanie zdjęcia by się rozjechało */
.about-photo picture{display:block;width:100%;height:100%}

/* Baner zgody na cookies.
   Strona główna w ogóle nie ładowała stylów banera  -  były wyłącznie w legal.css,
   którego index.html nie wczytuje. Efekt: surowy HTML doklejony do dołu strony.
   Te reguły są w osobnym pliku, ładowanym wszędzie tam, gdzie działa consent.js. */

.cookie-banner {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 32px;
  width: min(620px, calc(100vw - 40px));
  padding: 26px 28px 24px;
  background: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 8px 8px 0 var(--ink), 0 24px 80px rgba(15, 17, 21, .22);
  animation: cookieIn .28s cubic-bezier(.22, .61, .36, 1) both;
}

body.cookie-open::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 69;
  pointer-events: none;
  background: rgba(15, 17, 21, .16);
}

/* akcent marki na górnej krawędzi */
.cookie-banner::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: 5px;
  background: var(--lime);
}

.cookie-banner b {
  display: block;
  font: 700 18px var(--sans);
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 7px;
}

.cookie-banner p {
  margin: 0 0 10px;
  font: 400 14px/1.6 var(--sans);
  color: rgba(18, 20, 22, .72);
}

.cookie-banner a {
  display: inline-block;
  font: 600 12px var(--sans);
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(18, 20, 22, .3);
  padding-bottom: 1px;
  transition: border-color .16s ease, color .16s ease;
}
.cookie-banner a:hover { color: var(--teal); border-bottom-color: var(--teal); }

.cookie-banner-actions {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}
.cookie-choices{display:flex;gap:12px;margin:8px 0;font:600 12px var(--sans)}.cookie-choices label{display:inline-flex;align-items:center;gap:4px}.cookie-choices input{width:16px;height:16px;accent-color:var(--teal)}

/* Przyciski banera opisane wprost, bez polegania na .button  -
   ten styl jest rozrzucony po kilku arkuszach i różni się między nimi. */
.cookie-banner .button {
  flex: 1;
  min-height: 48px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid var(--ink);
  border-radius: 0;
  font: 700 13px var(--sans);
  letter-spacing: -.01em;
  cursor: pointer;
  background: var(--lime);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  transition: transform .14s ease, box-shadow .14s ease, background-color .16s ease;
}
.cookie-banner .button:hover { background: #c9ff63; }
.cookie-banner .button:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--ink); }

.cookie-banner .button.secondary {
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-weight: 600;
}
.cookie-banner .button.secondary:hover { background: rgba(18, 20, 22, .06); }

@keyframes cookieIn {
  from { opacity: 0; transform: translate(-50%, 12px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* --- mobile --- */
@media (max-width: 760px) {
  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    padding: 12px;
    box-shadow: 4px 4px 0 var(--ink);
    animation-name: cookieInMobile;
  }
  .cookie-banner b { margin-bottom: 3px; font-size: 14px; }
  .cookie-banner p { margin-bottom: 5px; font-size: 12px; line-height: 1.35; }
  .cookie-banner a { font-size: 11px; }
  .cookie-banner-actions { flex-direction: row; gap: 7px; margin-top: 9px; }
  .cookie-banner .button { width: auto; min-height: 40px; padding: 0 8px; font-size: 11px; }
  .cookie-choices{gap:9px;margin:5px 0;font-size:11px}
  /* dolne CTA i baner nie mogą walczyć o to samo miejsce */
  body.cookie-open .mobile-cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { animation: none; transform: translateX(-50%); }
  .cookie-banner .button,
  .cookie-banner a { transition: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .cookie-banner { transform: none; }
}

@keyframes cookieInMobile {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}

/* Galeria szablonów demonstracyjnych  -  przykładowe projekty per branża. */

.szablony-sekcja .szablony-naglowek{max-width:56ch;margin-bottom:34px}
.szablony-naglowek .industry-note,.szablony-naglowek p{color:#50605d}

.szablony-grid{display:grid;gap:22px}

.szablon{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);
  text-decoration:none;color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease;
}
.szablon:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.szablon:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}

/* miniatura: pasek przeglądarki + świat kolorystyczny szablonu */
.szablon-podglad{position:relative;aspect-ratio:16/11;border-bottom:1px solid var(--ink);overflow:hidden}
.szablon-podglad::after{content:"PODGLĄD UKŁADU";position:absolute;right:10px;bottom:10px;padding:5px 7px;background:var(--paper,#fafaf8);border:1px solid var(--ink);font:600 9px/1 var(--sans);letter-spacing:.08em}
.szablon-pasek{
  display:flex;align-items:center;gap:5px;height:24px;padding:0 10px;
  background:#EDE9E0;border-bottom:1px solid var(--ink);
}
.szablon-pasek i{width:7px;height:7px;border-radius:50%;background:#C3BCAF;display:block}
.szablon-plotno{position:absolute;inset:24px 0 0}
.szablon-plotno svg{width:100%;height:100%;display:block}

.szablon-tresc{padding:20px 20px 22px;display:flex;flex-direction:column;gap:7px;flex:1}
.szablon-branza{
  font:600 9.5px/1.25 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--teal);
}
.szablon h3{font:700 21px/1.15 var(--serif);letter-spacing:-.02em;margin:0}
.szablon p{font-size:14.5px;line-height:1.55;color:#50605d;margin:0}
.szablon-link{
  margin-top:auto;padding-top:12px;
  font:600 13.5px/1 var(--sans);color:var(--ink);
  display:inline-flex;align-items:center;gap:7px;
}
.szablon:hover .szablon-link{color:#0E6F67}

.szablony-nota{
  margin-top:26px;font-size:14.5px;color:#50605d;
  border-left:2px solid var(--teal);padding-left:14px;max-width:62ch;
}

/* pojedynczy szablon na stronie branżowej */
.szablon-solo{max-width:520px;margin-top:22px}

@media(min-width:700px){
  .szablony-grid{grid-template-columns:repeat(3,1fr);gap:24px}
}
@media(max-width:699px){
  .szablon{box-shadow:4px 4px 0 var(--ink)}
  .szablon:hover{transform:none;box-shadow:4px 4px 0 var(--ink)}
}
@media(prefers-reduced-motion:reduce){
  .szablon{transition:none}
  .szablon:hover{transform:none}
}

:root{--teal:#0B5F58}.pricing-link a{color:var(--ink);font-weight:700;text-underline-offset:3px}.footer-inner small{color:#4d5b58}.plan h3{color:var(--teal)}.plan:nth-child(2) h3{color:#9c3526}.price-note{color:#40514e}.szablon-branza{font-size:11px;color:var(--teal)}
/* --- quality.css --- */
/* Ostatnia warstwa jakości: nie zmienia kompozycji, tylko czytelność i odbiór. */
.nav nav a{font-size:14px;font-weight:500;letter-spacing:.01em}
.nav-cta{padding:10px 0;font-weight:700}
.preview-start{border-color:#8f9a98;box-shadow:3px 3px 0 var(--ink);border-radius:2px}
.preview-start:focus-within{border-color:var(--teal);box-shadow:3px 3px 0 var(--teal)}
.preview-start .button{min-height:48px}
.hero-price{margin:18px 0 0;max-width:540px;padding-left:12px;border-left:3px solid #B9F24A;font-size:15px;font-weight:700;line-height:1.45;color:#20302d}
.hero-branze{margin:10px 0 0;max-width:540px;color:#50605f;font-size:13px;line-height:1.45}
.lead-strip{padding:18px 0;background:#121416;color:#f5f1e8}
.lead-strip-grid{display:grid;gap:8px;align-items:center}
.lead-strip strong{font:700 18px/1.2 var(--serif)}
.lead-strip span{color:#cbd4d1;font-size:14.5px}
.lead-strip a{color:#b9f24a;text-decoration:none;font-weight:700}
@media(min-width:860px){.lead-strip-grid{grid-template-columns:auto 1fr auto;gap:24px}.szablony-sekcja{padding-top:72px}}
@media(max-width:760px){.preview-start{box-shadow:3px 3px 0 var(--ink)}.nav-cta{padding:0}.hero-branze{font-size:12px}}
/* --- szablony.css --- */
/* Galeria szablonów demonstracyjnych  -  przykładowe projekty per branża. */

.szablony-sekcja .szablony-naglowek{max-width:56ch;margin-bottom:34px}
.szablony-naglowek .industry-note,.szablony-naglowek p{color:#50605d}

.szablony-grid{display:grid;gap:22px}

.szablon{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);
  text-decoration:none;color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease;
}
.szablon:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.szablon:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}

/* miniatura: pasek przeglądarki + świat kolorystyczny szablonu */
.szablon-podglad{position:relative;aspect-ratio:16/11;border-bottom:1px solid var(--ink);overflow:hidden}
.szablon-podglad::after{content:"PODGLĄD UKŁADU";position:absolute;right:10px;bottom:10px;padding:5px 7px;background:var(--paper,#fafaf8);border:1px solid var(--ink);font:600 9px/1 var(--sans);letter-spacing:.08em}
.szablon-pasek{
  display:flex;align-items:center;gap:5px;height:24px;padding:0 10px;
  background:#EDE9E0;border-bottom:1px solid var(--ink);
}
.szablon-pasek i{width:7px;height:7px;border-radius:50%;background:#C3BCAF;display:block}
.szablon-plotno{position:absolute;inset:24px 0 0}
.szablon-plotno svg{width:100%;height:100%;display:block}
.szablon-plotno img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.szablon:hover .szablon-plotno img{transform:scale(1.035);filter:saturate(1.04) contrast(1.03)}

.szablon-tresc{padding:20px 20px 22px;display:flex;flex-direction:column;gap:7px;flex:1}
.szablon-branza{
  font:600 9.5px/1.25 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--teal);
}
.szablon h3{font:700 21px/1.15 var(--serif);letter-spacing:-.02em;margin:0}
.szablon p{font-size:14.5px;line-height:1.55;color:#50605d;margin:0}
.szablon-link{
  margin-top:auto;padding-top:12px;
  font:600 13.5px/1 var(--sans);color:var(--ink);
  display:inline-flex;align-items:center;gap:7px;
}
.szablon:hover .szablon-link{color:#0E6F67}

.szablony-nota{
  margin-top:26px;font-size:14.5px;color:#50605d;
  border-left:2px solid var(--teal);padding-left:14px;max-width:62ch;
}

/* pojedynczy szablon na stronie branżowej */
.szablon-solo{max-width:520px;margin-top:22px}

@media(min-width:700px){
  .szablony-grid{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media(min-width:1040px){
  .szablony-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:699px){
  .szablon{box-shadow:4px 4px 0 var(--ink)}
  .szablon:hover{transform:none;box-shadow:4px 4px 0 var(--ink)}
}
@media(prefers-reduced-motion:reduce){
  .szablon{transition:none}
  .szablon:hover{transform:none}
}
/* --- final-polish.css --- */
/* Finalny szlif przed publikacją: jeden prawdziwy krój, spokojniejszy rytm i czytelny proces. */
:root{font-synthesis:none}

.hero h1,h1,h2,h3,.signal-card b,.card-two strong,.price strong,.old-price,.new-price,.onboarding h3,.form-status h3{
  font-weight:600;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}

.hero h1,h2{
  letter-spacing:-.03em;
  line-height:1.01;
}

.hero h1{max-width:750px}

.lead-strip{padding:22px 0}
.lead-strip strong{font:600 21px/1.15 var(--serif);letter-spacing:-.025em}
.lead-strip span{font-size:15px;line-height:1.5}

.process{background:#f7f3ea}
.process .section-heading{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  gap:70px;
  align-items:start;
}
.process .section-heading h2{max-width:780px;font-size:clamp(46px,5.1vw,74px)}
.process .section-heading>p{max-width:330px;margin:39px 0 0;font-size:17px;line-height:1.55}
.process .steps{
  margin-top:58px;
  border-top-color:#28302e;
}
.process .steps article{min-height:240px;padding:32px 34px 0 0}
.process .steps article+article{padding-left:34px}
.process .steps span{
  display:block;
  color:#17b2a6;
  font:700 clamp(42px,4.25vw,60px)/.9 var(--sans);
  letter-spacing:-.07em;
  font-variant-numeric:tabular-nums;
}
.process .steps h3{
  margin:30px 0 12px;
  font:600 clamp(25px,2vw,31px)/1.06 var(--sans);
  letter-spacing:-.03em;
}
.process .steps p{max-width:335px;margin:0;color:#4e5c5a;font-size:16px;line-height:1.6}

@media(max-width:760px){
  .hero h1{font-size:48px;letter-spacing:-.03em;line-height:1.02}
  .lead-strip{padding:24px 0}.lead-strip strong{font-size:23px}.lead-strip span{font-size:15px}
  .process .section-heading{display:block}.process .section-heading h2{font-size:clamp(43px,12vw,57px)}
  .process .section-heading>p{margin:24px 0 0;font-size:16px}
  .process .steps{margin-top:39px}
  .process .steps article,.process .steps article+article{min-height:0;padding:27px 0 28px}
  .process .steps span{font-size:49px}.process .steps h3{margin:20px 0 10px;font-size:27px}
  .plan>p:not(.price-note){min-height:72px!important}
}
/* --- typografia-fix.css --- */
/* Lokalnie hostowane fonty z pełnym alfabetem oraz polskimi znakami. */
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-pl.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-latin.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-latin-ext.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Mono";src:url("assets/fonts/DMMono-500-pl.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:"Playfair Display",Georgia,"Times New Roman",serif;--mono:"DM Mono",ui-monospace,"SFMono-Regular",Consolas,monospace}
body{font-size:17px}
.hero h1{font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-.03em}
h2,.section h2,.about-copy h2,.final-cta h2,.process .section-heading h2{font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-.03em}
.benefit-grid h2{font-size:clamp(24px,2.2vw,28px);letter-spacing:-.02em}
h3,.plan h3,.compare-grid h3,.steps h3,.process .steps h3{font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.024em}
.eyebrow,.kicker,.benefit-grid span,.steps span,.compare-grid b,.site-preview p{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em}
.hero-branze{font-size:14.5px}.form-note{font-size:13.5px}.footer-inner{font-size:14px}.onboarding>p{font-size:14px}.price span{font-size:14px}details p{font-size:16px;line-height:1.6}.plan li{font-size:16px}.szablon p{font-size:15px}.szablon-branza{font-size:11.5px;letter-spacing:.09em}.szablon h3{font-size:22px}.szablon-link{font-size:14.5px}.szablon-podglad::after{font-size:10.5px}.lead-strip span{font-size:16px}
.positioning,.industry-fit{padding:76px 0}.included{padding:92px 0}
.cookie-settings.link-like,.footer-inner .cookie-settings{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.footer-inner .cookie-settings:hover{text-decoration:underline}
@media(max-width:760px){body{font-size:16.5px}.hero h1{font-size:clamp(38px,11vw,48px);line-height:1.06;letter-spacing:-.03em}h2,.section h2,.about-copy h2,.final-cta h2,.process .section-heading h2{font-size:clamp(30px,8.4vw,38px)}.hero-branze{font-size:14px}.positioning,.industry-fit{padding:56px 0}}
/* --- opinia klienta --- */
.case-quote{margin:26px 0 0;padding:22px 24px;background:#fff;border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);max-width:520px}
.case-quote blockquote{margin:0}
.case-quote blockquote p{margin:0;font:400 16px/1.6 var(--sans);max-width:none}
.case-quote figcaption{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-top:14px;font-size:14px}
.case-quote figcaption span{font:500 11px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#50605f}
@media(max-width:760px){.case-quote{padding:18px;box-shadow:4px 4px 0 var(--ink)}.case-quote blockquote p{font-size:15px}}

/* Nagłówki łamią się równo, bez pojedynczego słowa w ostatniej linii */
h1, h2, h3 { text-wrap: balance; }
.pricing-more{margin:26px 0 0;text-align:center}.pricing-more a{color:var(--ink);font-weight:800;text-decoration:underline;text-underline-offset:4px}

/* --- Liczniki: jak klienci wybierają lokalną firmę ---
   Prawdziwe wartości są w HTML, JS (motion.js) tylko je odlicza od zera. */
.stats{padding:88px 0 92px;background:var(--paper);border-bottom:1px solid var(--line)}
.stats-head{display:grid;grid-template-columns:.3fr 1.05fr .75fr;gap:36px;align-items:end;margin-bottom:64px}
.stats-head .eyebrow{align-self:start;margin:0}
.stats-head h2{margin:0;font-size:clamp(34px,4vw,52px)}
.stats-head h2 em{color:var(--teal)}
.stats-head>p:last-child{margin:0;font-size:17px;line-height:1.55;max-width:340px}
.stats-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}
.stat{padding:34px 32px 30px;display:flex;flex-direction:column}
.stat+.stat{border-left:1px solid var(--ink)}
.stat-value{margin:0;display:flex;align-items:baseline;line-height:.8;font-family:var(--serif);font-weight:700;letter-spacing:-.04em}
.stat-num{font-size:clamp(56px,5.6vw,80px);font-variant-numeric:lining-nums tabular-nums;min-width:1.15em}
.stat-pct{font-size:clamp(56px,5.6vw,80px);margin-left:.04em;color:var(--teal)}
.stat-figure:after{content:"";display:block;width:36px;height:3px;margin:22px 0 20px;background:var(--teal)}
.stat-text{margin:0;font-size:16px;line-height:1.45;font-weight:600}
.stat-impl{margin:14px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:14.5px;line-height:1.5;color:var(--teal-dark,#0B5F58)}
/* Wiersze trzech kolumn na tej samej wysokości: kreska oddzielająca
   dopisek zawsze w jednej linii, niezależnie od długości tekstu. */
@supports(grid-template-rows:subgrid){
  .stat{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
}
.stats-source{margin:28px 0 0;max-width:640px;font-size:11.5px;line-height:1.6;color:#7b8482}
.stats-source a{color:inherit;text-decoration-color:#c7cfce;text-underline-offset:2px}
.stats-source a:hover{color:var(--ink)}
@media(max-width:900px){
  .stats-head{grid-template-columns:1fr;gap:16px}
  .stat{padding:28px 22px 24px}
}
@media(max-width:760px){
  .stats{padding:64px 0}
  .stats-head{margin-bottom:40px}
  .stats-head>p:last-child{font-size:16px}
  .stats-grid{grid-template-columns:1fr;box-shadow:4px 4px 0 var(--ink)}
  .stat{display:grid;grid-row:auto;grid-template-rows:none;grid-template-columns:118px 1fr;column-gap:16px;padding:22px 20px}
  .stat+.stat{border-left:0;border-top:1px solid var(--ink)}
  .stat-figure{grid-column:1;grid-row:1/3;align-self:start}
  .stat-num{font-size:46px}
  .stat-pct{font-size:46px}
  .stat-figure:after{width:28px;margin:12px 0 0}
  .stat-text{grid-column:2;grid-row:1;font-size:15px}
  .stat-impl{grid-column:2;grid-row:2;font-size:14px;margin-top:10px;padding-top:10px}
}

/* Hero strony głównej: jedno pole i makieta na tablecie (na końcu, żeby nadpisać reguły bazowe). */
@media(min-width:1024px) and (max-width:1199px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.hero-art.hero-pp{margin-left:0}.pp-tel{right:-6px;bottom:-50px;width:118px}.pp-zmiany{max-width:calc(100% - 130px)}}
/* Wąski tablet: jedna kolumna jak na telefonie (tekst i formularz, pod nimi podgląd), z rozmiarami z komputera. */
@media(min-width:761px) and (max-width:1023px){.hero-grid{display:block;min-height:0}.hero-art.hero-pp{margin:40px 0 0;max-width:620px;padding-bottom:90px}}
@media(min-width:1024px) and (max-width:1199px){.hero [data-jedno-pole] .preview-start{display:block}.hero [data-jedno-pole] .preview-start input{width:100%}.hero [data-jedno-pole] .preview-start .button{width:100%;margin-top:6px}}
@media(max-width:400px){.hero [data-jedno-pole] .preview-start input{padding-left:12px;padding-right:8px}.hero [data-jedno-pole] .preview-start input::placeholder{font-size:12.5px}}
