:root{--o:#F07A1E;--o2:#ff9a45;--bg:#07080a;--c:#111318;--t:#e9ebef;--m:#9aa0aa}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--t);line-height:1.6;overflow-x:hidden}
a{color:var(--o)}img{max-width:100%;height:auto;display:block}
#bg{position:fixed;inset:0;z-index:-2;pointer-events:none}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(rgba(240,122,30,.05) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(240,122,30,.05) 1px,transparent 1px) 0 0/40px 40px,radial-gradient(ellipse at 70% 0%,rgba(240,122,30,.15),transparent 60%)}
.w{max-width:1180px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:50;background:rgba(7,8,10,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(240,122,30,.25)}
header .w{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
header img{height:34px;width:auto}nav{display:flex;gap:22px;align-items:center}
nav a{color:var(--t);text-decoration:none;font-size:.95rem}nav a:hover{color:var(--o)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--o);color:#000;font-weight:700;padding:13px 22px;border-radius:10px;text-decoration:none;box-shadow:0 0 22px rgba(240,122,30,.45);transition:.2s}
.btn:hover{background:var(--o2);box-shadow:0 0 34px rgba(240,122,30,.7);transform:translateY(-2px)}
.btn.g{background:transparent;color:var(--t);border:1px solid var(--o);box-shadow:none}
nav .btn{padding:9px 16px;color:#000}
.hero{position:relative;padding:70px 0 90px;overflow:hidden}
.hero .w{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}
.kick{color:var(--o);letter-spacing:.25em;text-transform:uppercase;font-size:.8rem;font-weight:700}
h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.08;margin:12px 0 16px;font-weight:900}
h1 span{color:var(--o);text-shadow:0 0 28px rgba(240,122,30,.5)}
.lead{color:#c9ccd3;font-size:1.1rem;max-width:560px}
.term{margin:22px 0;font-family:ui-monospace,Consolas,monospace;background:#0c0e12;border:1px solid rgba(240,122,30,.35);border-radius:10px;padding:12px 16px;max-width:520px;color:#7dffa8;min-height:48px}
.term b{color:var(--o)}.cur{display:inline-block;width:9px;height:1.1em;background:var(--o);vertical-align:-3px;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.robot-wrap{position:relative;display:flex;justify-content:center}
.robot-wrap:before{content:"";position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,122,30,.35),transparent 65%);top:10%;animation:pulse 4s ease-in-out infinite}
.robot{position:relative;width:min(400px,80vw);animation:float 5s ease-in-out infinite;transition:transform .15s ease-out}
.robot img{filter:drop-shadow(0 0 24px rgba(240,122,30,.35))}
.eye{position:absolute;width:9%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffb36b 30%,rgba(240,122,30,.0) 70%);mix-blend-mode:screen;animation:glow 2.6s ease-in-out infinite}
@keyframes float{50%{translate:0 -16px}}@keyframes pulse{50%{opacity:.55;scale:1.08}}@keyframes glow{50%{opacity:.35}}
.circ{position:absolute;inset:0;z-index:-1;width:100%;height:100%;opacity:.8}
.circ path{fill:none;stroke:var(--o);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--o));stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 6s ease-in-out infinite}
.circ path:nth-child(2){animation-delay:1s}.circ path:nth-child(3){animation-delay:2s}.circ path:nth-child(4){animation-delay:3s}
.circ circle{fill:var(--o);filter:drop-shadow(0 0 6px var(--o))}
@keyframes draw{0%{stroke-dashoffset:1400}50%{stroke-dashoffset:0}100%{stroke-dashoffset:-1400}}
.strip{background:var(--o);color:#000;font-weight:800;text-align:center;padding:14px;letter-spacing:.04em;font-size:1.05rem}
section{padding:80px 0}h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:10px}h2 span{color:var(--o)}
.sub{color:var(--m);max-width:700px;margin-bottom:36px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{position:relative;background:linear-gradient(160deg,#15181e,#0d0f13);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:26px;transition:transform .2s,border-color .2s,box-shadow .2s;transform-style:preserve-3d}
.card:hover{border-color:var(--o);box-shadow:0 0 30px rgba(240,122,30,.25)}
.card svg{width:44px;height:44px;stroke:var(--o);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px;filter:drop-shadow(0 0 6px rgba(240,122,30,.6))}
.card h3{font-size:1.15rem;margin-bottom:6px}.card p{color:var(--m);font-size:.96rem}
.card.big{grid-column:span 2}
.sale{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sale ul{list-style:none;margin:18px 0 24px}.sale li{padding:8px 0 8px 30px;position:relative;border-bottom:1px dashed rgba(255,255,255,.08)}
.sale li:before{content:"";position:absolute;left:4px;top:16px;width:12px;height:12px;border:2px solid var(--o);border-radius:3px;box-shadow:0 0 8px var(--o)}
.sale img{filter:drop-shadow(0 0 40px rgba(240,122,30,.3))}
.ksero{background:linear-gradient(135deg,rgba(240,122,30,.14),rgba(240,122,30,.02));border:1px solid rgba(240,122,30,.4);border-radius:20px;padding:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}
.mail{font-family:ui-monospace,monospace;color:var(--o);word-break:break-all}
.area{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.area span{border:1px solid rgba(240,122,30,.4);padding:6px 14px;border-radius:30px;font-size:.92rem}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.contact .card a{color:var(--t);font-weight:700;font-size:1.15rem;text-decoration:none}.contact .card a:hover{color:var(--o)}
footer{border-top:1px solid rgba(240,122,30,.3);padding:40px 0 24px;background:#050506;font-size:.92rem;color:var(--m)}
footer .w{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
footer img{width:90px}footer a{color:var(--m)}footer a:hover{color:var(--o)}
.bot{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:18px;font-size:.85rem}
.rv{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
.doc{max-width:820px;padding:60px 20px}.doc h1{font-size:2rem}.doc h2{font-size:1.25rem;margin:26px 0 8px;color:var(--o)}.doc p,.doc li{color:#c9ccd3;margin-bottom:8px}.doc ul{padding-left:20px}
@media(max-width:900px){nav a:not(.btn){display:none}.hero .w,.sale,.ksero{grid-template-columns:1fr}.hero{padding:40px 0 60px}.robot-wrap{order:-1}.robot{width:min(280px,70vw)}.card.big{grid-column:auto}footer .w{grid-template-columns:1fr}section{padding:56px 0}.ksero{padding:26px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.circ path{stroke-dashoffset:0}#bg{display:none}}
.btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1}.logo img{height:30px}.sub2{color:#fff;font-weight:700;letter-spacing:.42em;font-size:.62rem;margin-top:4px}
.cform{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:linear-gradient(160deg,#15181e,#0d0f13);border:1px solid rgba(240,122,30,.4);border-radius:20px;padding:32px;box-shadow:0 0 40px rgba(240,122,30,.12)}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--m)}.cform .full{grid-column:1/-1}
.cform input,.cform select,.cform textarea{background:#0a0b0e;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px;color:var(--t);font:inherit}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 3px rgba(240,122,30,.25)}
.cform .chk{flex-direction:row;align-items:flex-start;gap:10px}.chk input{width:18px;height:18px;margin-top:3px;accent-color:var(--o)}
.hp{position:absolute;left:-9999px}.fbot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cform button{border:0;cursor:pointer;font:inherit;font-weight:700}
.fmsg{color:var(--o2)}.pend{font-family:ui-monospace,monospace;font-size:.85rem;color:#ffb36b;border:1px dashed var(--o);border-radius:8px;padding:8px 12px}
@media(max-width:900px){.cform{grid-template-columns:1fr;padding:22px}}
.cform .chk{display:block;line-height:1.5}.chk input{display:inline-block;vertical-align:-3px;margin:0 8px 0 0}
.robot video,.robot>img{display:block;width:100%;height:auto;aspect-ratio:720/900;filter:none}
.robot.anim{animation:none}
.robot video,.robot>img{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 80%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 80%,transparent 100%)}
.sub2{letter-spacing:.8em;margin-right:-.8em}
/* ===== ANIMACJE v3 ===== */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn:after{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-160%) skewX(-20deg);z-index:-1;pointer-events:none}
.btn:hover:after{transition:transform .7s;transform:translateX(330%) skewX(-20deg)}
.btn.g:hover{border-color:var(--o2);background:rgba(240,122,30,.12)}
.callw{position:relative;display:inline-flex;border-radius:12px}
.callw:before,.callw:after{content:"";position:absolute;inset:0;border-radius:12px;border:2px solid var(--o);opacity:0;animation:ring 2.2s ease-out infinite;pointer-events:none}
.callw:after{animation-delay:1.1s}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.35,1.6);opacity:0}}
.callw.sm:before,.callw.sm:after{animation-name:ringsm}@keyframes ringsm{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.18,1.45);opacity:0}}
.call:after{animation:shine 3s ease-in-out infinite}
@keyframes shine{0%,55%{transform:translateX(-160%) skewX(-20deg)}85%,100%{transform:translateX(330%) skewX(-20deg)}}
.call .ic{display:inline-flex;animation:wig 2.2s ease-in-out infinite;transform-origin:50% 60%}
@keyframes wig{0%,60%,100%{transform:rotate(0)}64%,72%,80%{transform:rotate(-16deg)}68%,76%,84%{transform:rotate(16deg)}}
.hint{color:var(--m);font-size:.92rem;margin-left:10px}
.fab{display:none}
@media(max-width:900px){.fab{display:flex;position:fixed;right:16px;bottom:16px;z-index:60;align-items:center;gap:8px;background:var(--o);color:#000;font-weight:800;text-decoration:none;padding:14px 18px;border-radius:40px;box-shadow:0 8px 26px rgba(240,122,30,.55);animation:fabin .6s .8s both}
.fab:before{content:"";position:absolute;inset:0;border-radius:40px;border:2px solid var(--o);animation:ring 2s ease-out infinite;pointer-events:none}
.fab svg{width:20px;height:20px;stroke:#000;fill:none;stroke-width:2;animation:wig 2.2s ease-in-out infinite}
@keyframes fabin{from{transform:translateY(120px);opacity:0}}footer{padding-bottom:90px}.hint{display:block;margin:10px 0 0}}
/* pasek przewijany */
.strip{overflow:hidden;padding:14px 0;white-space:nowrap}
.mq{display:inline-flex;gap:0;animation:mq 28s linear infinite}
.mq span{padding:0 22px;position:relative}.mq span:after{content:"◆";position:absolute;right:-6px;font-size:.6em;top:.35em}
@keyframes mq{to{transform:translateX(-50%)}}
/* stagger wejść */
.rv{transition-delay:var(--d,0s)}
.rv.l{transform:translateX(-40px)}.rv.r{transform:translateX(40px)}.rv.z{transform:scale(.92)}.rv.in{transform:none}
/* animowane tło sekcji */
section{position:relative;overflow:hidden}
section:not(.hero):before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(240,122,30,.13),transparent 65%);top:-120px;right:-160px;z-index:-1;animation:blob 16s ease-in-out infinite alternate;pointer-events:none}
section:nth-of-type(odd):not(.hero):before{left:-180px;right:auto;animation-duration:20s}
@keyframes blob{to{transform:translate(-140px,260px) scale(1.25)}}
h2 span{display:inline-block;position:relative}
h2 span:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--o);box-shadow:0 0 10px var(--o);transform:scaleX(0);transform-origin:left;transition:transform .9s .3s}
.in h2 span:after,h2.in span:after{transform:scaleX(1)}
/* karty */
.card{overflow:hidden}
.card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(240,122,30,.22),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover:before{opacity:1}
.card:hover{transform:translateY(-8px) scale(1.02)}
.card:after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--o),transparent);transform:translateX(-100%);pointer-events:none}
.card:hover:after{transition:transform .8s;transform:translateX(100%)}
.card svg{transition:transform .4s}.card:hover svg{transform:translateY(-4px) scale(1.12) rotate(-4deg)}
.card svg *{stroke-dasharray:120;stroke-dashoffset:120}
.card.in svg *{animation:sd 1.4s var(--d,0s) ease-out forwards}
@keyframes sd{to{stroke-dashoffset:0}}
.card.in svg{animation:ifl 4s 1.6s ease-in-out infinite}
@keyframes ifl{50%{transform:translateY(-4px)}}
.card:hover svg{animation-play-state:paused}
.sale li{opacity:0;transform:translateX(-20px);transition:opacity .5s,transform .5s}
.in li{opacity:1;transform:none}.in li:nth-child(2){transition-delay:.12s}.in li:nth-child(3){transition-delay:.24s}.in li:nth-child(4){transition-delay:.36s}
.sale img.in{animation:ifl 5s ease-in-out infinite}
.area span{transition:transform .25s,background .25s}.area span:hover{transform:translateY(-3px);background:rgba(240,122,30,.15)}
.ksero{position:relative;overflow:hidden}
.ksero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(240,122,30,.12) 50%,transparent 70%);transform:translateX(-100%);animation:sweep 6s ease-in-out infinite;pointer-events:none}
@keyframes sweep{60%,100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.card svg *{stroke-dashoffset:0!important}.sale li,.rv.l,.rv.r,.rv.z{opacity:1;transform:none}.mq{transform:none}.callw:before,.callw:after,.fab:before{display:none}h2 span:after{transform:scaleX(1)}}
.card.done{transition:transform .25s,border-color .2s,box-shadow .2s;transition-delay:0s}
section{overflow:visible}section.hero{overflow:hidden}
section:not(.hero):before{opacity:.6}
footer .bot a.cr3310{display:inline-flex;align-items:center;gap:8px;color:#8a8f98;text-decoration:none;opacity:.6;font-size:.85em;transition:opacity .3s,transform .3s,filter .3s}
footer .bot a.cr3310 img{height:22px;width:auto;display:block}
footer .bot a.cr3310:hover,footer .bot a.cr3310:focus-visible{opacity:1;color:#fff;transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(240,122,30,.55))}
@media (prefers-reduced-motion:reduce){footer .bot a.cr3310{transition:none}footer .bot a.cr3310:hover{transform:none;filter:none}}
footer .bot a.cr3310{opacity:.72;font-size:.9em}footer .bot a.cr3310 img{height:24px}
footer a.tt svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ckb{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:720px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;padding:16px 18px;background:rgba(14,15,18,.96);border:1px solid rgba(240,122,30,.45);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 24px rgba(240,122,30,.18);color:#c9cdd4;font-size:.92em;opacity:0;transform:translateY(30px);transition:opacity .45s,transform .45s}
.ckb.on{opacity:1;transform:none}.ckb p{margin:0;flex:1 1 300px}.ckb a{color:var(--o)}.ckb-b{display:flex;gap:10px;flex-wrap:wrap}.ckb .btn{padding:10px 16px;cursor:pointer;font:inherit;font-weight:700}
.ckb .btn:focus-visible,[data-cookie-reset]:focus-visible{outline:2px solid var(--o);outline-offset:3px}
@media (max-width:600px){.ckb{bottom:84px}}
@media (prefers-reduced-motion:reduce){.ckb{transition:none;transform:none}}
.ckb{background:#0e0f12}
/* ===== v6: modal, kontakt, tiktok, dziekujemy ===== */
html.noscroll{overflow:hidden}
.pm{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.pm[hidden]{display:none}
.pm-bg{position:absolute;inset:0;background:rgba(0,0,0,.72);opacity:0;transition:opacity .3s}
.pm-box{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:linear-gradient(160deg,#15181e,#0b0c10);border:1px solid rgba(240,122,30,.55);border-radius:22px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 50px rgba(240,122,30,.25);opacity:0;transform:translateY(24px) scale(.96);transition:opacity .3s,transform .3s}
.pm.on .pm-bg{opacity:1}.pm.on .pm-box{opacity:1;transform:none}
.pm-box h2{margin:0 0 6px;font-size:1.6rem}.pm-box h2 span{color:var(--o)}.pm-box .sub{margin-bottom:16px}
.pm-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(240,122,30,.5);background:#0a0b0e;color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:transform .2s,background .2s}
.pm-x:hover{transform:rotate(90deg);background:rgba(240,122,30,.2)}
.pm-x:focus-visible,.pm .btn:focus-visible{outline:2px solid var(--o);outline-offset:3px}
.pform{padding:0;border:0;box-shadow:none;background:none}
.pform input[type=file]{padding:14px;border:1px dashed rgba(240,122,30,.6);cursor:pointer}
.pform input[type=file]::file-selector-button{background:var(--o);color:#000;border:0;border-radius:8px;padding:8px 14px;font-weight:700;margin-right:12px;cursor:pointer}
.fhint{margin:-6px 0 0;font-size:.85rem;color:var(--m)}
button.btn{border:0;cursor:pointer;font:inherit;font-weight:700}
/* kontakt */
.kgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:stretch}
.kleft{display:flex;flex-direction:column;gap:22px}
.kacts{display:flex;flex-direction:column;gap:14px}
.kbig{display:block}
.kact{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:18px;background:linear-gradient(160deg,#171a20,#0e1014);border:1px solid rgba(240,122,30,.35);color:var(--t);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.kact:hover,.kact:focus-visible{transform:translateX(6px);border-color:var(--o);box-shadow:0 10px 30px rgba(240,122,30,.25)}
.kact:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-20deg);transition:transform .7s}
.kact:hover:after{transform:translateX(420%) skewX(-20deg)}
.kact.call{background:linear-gradient(120deg,var(--o),#ff9a3c);color:#000;border-color:transparent}
.kact.call small{color:rgba(0,0,0,.7)}
.ki{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(240,122,30,.14)}
.kact.call .ki{background:rgba(0,0,0,.15)}
.ki svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kact:not(.call) .ki svg{stroke:var(--o)}
.kact:hover .ki svg{animation:kwig .5s}
@keyframes kwig{30%{transform:rotate(-12deg) scale(1.1)}60%{transform:rotate(10deg)}}
.kt{display:flex;flex-direction:column}.kt b{font-size:1.2rem}.kt small{color:var(--m);font-size:.85rem}
.kaddr{display:flex;align-items:center;gap:10px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kaddr svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--o);stroke-width:2}
.ksoc{display:flex;gap:14px}
.ksoc a{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(240,122,30,.5);background:#0e1014;color:var(--o);transition:transform .25s,background .25s,box-shadow .25s}
.ksoc a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ksoc a:hover,.ksoc a:focus-visible{transform:translateY(-5px) rotate(-6deg);background:var(--o);color:#000;box-shadow:0 0 24px rgba(240,122,30,.6)}
.ksoc a:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,6px);background:#000;border:1px solid var(--o);color:#fff;font-size:.78rem;padding:4px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ksoc a:hover:after,.ksoc a:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.kleft .area{margin-top:0;align-items:center}.area-t{border:0!important;padding-left:0!important;color:var(--m)}
.kmap{position:relative;min-height:420px;border-radius:22px;overflow:hidden;border:1px solid rgba(240,122,30,.6);box-shadow:0 0 40px rgba(240,122,30,.25);background:#0b0c10}
.kmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) grayscale(.35) contrast(.95)}
.map-ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(240,122,30,.18),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 40px)}
.map-ph svg{width:54px;height:54px;fill:none;stroke:var(--o);stroke-width:1.6;animation:float 3s ease-in-out infinite}
.map-ph p{color:var(--m);max-width:320px;margin:10px auto 16px}
/* tiktok */
.ttgrid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;justify-content:center;max-width:900px;margin:0 auto}
.ttbot{position:relative;display:flex;flex-direction:column;align-items:flex-end}
.robot2{width:min(340px,70vw);transform:scaleX(-1)}
.robot2.anim{animation:none}
.bubble{position:relative;align-self:flex-end;margin-right:10px;background:var(--o);color:#000;font-weight:800;padding:12px 18px;border-radius:18px 18px 4px 18px;box-shadow:0 8px 24px rgba(240,122,30,.4);animation:bob 2.6s ease-in-out infinite}
@keyframes bob{50%{transform:translate(6px,-4px)}}
.phone{position:relative;width:320px;height:620px;padding:14px;border-radius:46px;background:linear-gradient(145deg,#1d2027,#07080a);border:2px solid #2a2d35;box-shadow:0 0 0 1px #000,0 30px 70px rgba(0,0,0,.7),0 0 60px rgba(240,122,30,.35)}
.phone:before{content:"";position:absolute;inset:-2px;border-radius:48px;padding:2px;background:linear-gradient(140deg,var(--o),transparent 40%,transparent 60%,var(--o));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8}
.ph-notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:20px;background:#000;z-index:3}
.ph-scr{position:relative;width:100%;height:100%;border-radius:34px;overflow:auto;background:#000;overscroll-behavior:contain}
.ph-scr blockquote{margin:0}
.tt-ph{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:radial-gradient(circle at 50% 45%,rgba(240,122,30,.25),transparent 60%),#050506}
.tt-play{width:84px;height:84px;border-radius:50%;border:0;background:var(--o);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 rgba(240,122,30,.6);animation:ring 2s infinite}
.tt-play svg{width:36px;height:36px;fill:#000;margin-left:4px}
.tt-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.tt-ph p{margin:10px 0 0;font-weight:800;font-size:1.2rem}.tt-ph small{color:var(--m);max-width:220px}
@keyframes ring{70%{box-shadow:0 0 0 22px rgba(240,122,30,0)}100%{box-shadow:0 0 0 0 rgba(240,122,30,0)}}
.ttcta{text-align:center;margin-top:28px}.ttcta .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:-3px}
/* dziekujemy */
.thx{text-align:center;padding-top:80px;padding-bottom:80px}.thx .sub{max-width:560px;margin:0 auto}
.thx-ic svg{width:96px;height:96px;fill:none;stroke:var(--o);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 18px rgba(240,122,30,.6));animation:float 4s ease-in-out infinite}
.thx-b{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
@media(max-width:900px){.kgrid{grid-template-columns:1fr}.kmap{min-height:340px}.kaddr{white-space:normal}
.ttgrid{grid-template-columns:1fr;justify-items:center;gap:8px}.ttbot{align-items:center}.robot2{width:170px}.bubble{align-self:center;margin:0 0 -10px}.phone{width:min(300px,86vw);height:560px}}
@media (prefers-reduced-motion:reduce){.pm-bg,.pm-box{transition:none}.pm-box{transform:none}.kact,.kact:after,.ksoc a,.ksoc a:after{transition:none}.kact:hover{transform:none}.kact:hover .ki svg,.bubble,.tt-play,.map-ph svg,.thx-ic svg{animation:none}.ksoc a:hover{transform:none}}
.robot2{transform:none}.robot2 video,.robot2>img{transform:scaleX(-1)}
/* v7: pasek ikon, baner-gra, banery nagłówków */
.istrip{background:#050506;border-top:1px solid #1c1e24;border-bottom:1px solid #1c1e24;padding:26px 0 22px;position:relative;overflow:hidden}
.istrip .w{position:relative}
.istrip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:8px;position:relative;z-index:1}
.istrip li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.istrip .si{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#050506;box-shadow:0 0 0 1px #2a2d35}
.istrip svg{width:44px;height:44px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.istrip .sl{color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.istrip.on li .si{animation:iglow 4s infinite;animation-delay:calc(var(--i)*.5s)}
.istrip.on li svg{animation:istroke 4s infinite;animation-delay:calc(var(--i)*.5s)}
@keyframes iglow{0%,22%,100%{box-shadow:0 0 0 1px #2a2d35}6%,14%{box-shadow:0 0 0 2px var(--o),0 0 22px rgba(240,122,30,.65)}}
@keyframes istroke{0%,22%,100%{stroke:#fff;filter:none}6%,14%{stroke:var(--o);filter:drop-shadow(0 0 6px rgba(240,122,30,.9))}}
.icirc{position:absolute;left:6%;right:6%;width:88%;top:32px;height:4px;overflow:visible}
.icirc .base{stroke:#3a2410;stroke-width:2;fill:none}
.icirc .pulse{stroke:var(--o);stroke-width:3;fill:none;stroke-dasharray:60 940;filter:drop-shadow(0 0 4px var(--o))}
.istrip.on .icirc .pulse{animation:ipulse 4s linear infinite}
@keyframes ipulse{from{stroke-dashoffset:60}to{stroke-dashoffset:-940}}
@media(max-width:760px){.istrip ul{grid-template-columns:repeat(4,1fr);row-gap:18px}.icirc{display:none}.istrip .si{width:54px;height:54px}.istrip svg{width:36px;height:36px}.istrip .sl{font-size:.7rem;letter-spacing:.06em}}
/* banery nagłówków */
.ban{position:relative;overflow:hidden;border-radius:20px;padding:30px 34px;margin-bottom:30px;min-height:170px;display:flex;align-items:center;background:radial-gradient(120% 140% at 100% 0,rgba(240,122,30,.18),transparent 55%),#0d0f13;border:1px solid #262a32;isolation:isolate}
.ban:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' fill='none' stroke='%23F07A1E' stroke-width='1.2'%3E%3Cpath d='M0 30h40l10 10h30M60 0v20l10 10M120 80H90l-10-10H50M30 120V90l10-10M100 120v-25l-10-10'/%3E%3Ccircle cx='80' cy='40' r='3'/%3E%3Ccircle cx='50' cy='70' r='3'/%3E%3Ccircle cx='40' cy='80' r='3'/%3E%3C/svg%3E");-webkit-mask:linear-gradient(90deg,transparent,#000 70%);mask:linear-gradient(90deg,transparent,#000 70%)}
.ban-c{position:relative;max-width:62%}
.ban h2{margin:0 0 8px}.ban .sub{margin:0}
.ban-img{position:absolute;right:24px;bottom:-6px;height:118%;width:auto;max-height:240px;filter:drop-shadow(0 0 24px rgba(240,122,30,.35));opacity:0;transform:translateX(40px);transition:opacity .8s .2s,transform .8s .2s}
.ban.in .ban-img,.ban.v .ban-img{opacity:1;transform:none}
.ban-scan{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 40%,rgba(240,122,30,.12) 50%,transparent 60%);background-size:250% 100%;animation:bscan 6s linear infinite}
@keyframes bscan{from{background-position:150% 0}to{background-position:-100% 0}}
.fx{position:relative;display:inline-block}
.b-glitch .fx:before,.b-glitch .fx:after{content:attr(data-t);position:absolute;left:0;top:0;width:100%;overflow:hidden;color:var(--o)}
.b-glitch .fx:before{text-shadow:-2px 0 #28E2F0;animation:gl1 3s infinite steps(1)}
.b-glitch .fx:after{text-shadow:2px 0 #FF3B3B;animation:gl2 3s infinite steps(1)}
@keyframes gl1{0%,86%,100%{clip-path:inset(0 0 100% 0)}88%{clip-path:inset(10% 0 55% 0);transform:translate(-3px)}92%{clip-path:inset(60% 0 8% 0);transform:translate(3px)}}
@keyframes gl2{0%,88%,100%{clip-path:inset(0 0 100% 0)}90%{clip-path:inset(45% 0 30% 0);transform:translate(3px)}95%{clip-path:inset(5% 0 75% 0);transform:translate(-2px)}}
.b-neon .fx,.h-flick .fx{text-shadow:0 0 6px var(--o),0 0 18px rgba(240,122,30,.7);animation:neon 5s infinite}
@keyframes neon{0%,18%,22%,25%,53%,57%,100%{opacity:1;text-shadow:0 0 6px var(--o),0 0 18px rgba(240,122,30,.7)}20%,24%,55%{opacity:.45;text-shadow:none}}
.b-type .fx{white-space:nowrap;padding-right:4px;border-right:3px solid var(--o);animation:typ 4.5s steps(14) infinite,car .7s step-end infinite}
@keyframes typ{0%{clip-path:inset(0 100% 0 0)}45%,85%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes car{50%{border-color:transparent}}
.b-sweep .fx,.h-sweep .fx{background:linear-gradient(90deg,var(--o) 0,#ffd2a8 25%,var(--o) 50%,#c95a0c 75%,var(--o) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:swp 3.5s linear infinite}
@keyframes swp{to{background-position:-200% 0}}
.ban h2 span:after,.h-sweep span:after,.h-flick span:after{display:none}
.ban.rv{transform:translateY(24px)}.ban.rv.in,.ban.rv.v{transform:none}
@media(max-width:760px){.ban{padding:22px 20px;min-height:0;flex-direction:column;align-items:flex-start}.ban-c{max-width:none}.ban-img{position:relative;right:auto;bottom:auto;height:120px;align-self:flex-end;margin:-10px -6px -26px 0}.ban-scan{animation:none}.b-type .fx{white-space:normal;border-right:0;animation:none}}
@media(prefers-reduced-motion:reduce){.istrip li .si,.istrip li svg,.icirc .pulse,.ban-scan,.fx,.fx:before,.fx:after{animation:none!important}.b-glitch .fx:before,.b-glitch .fx:after{display:none}.ban-img{opacity:1;transform:none}.icirc .pulse{stroke-dasharray:none;opacity:.5}.b-type .fx{border-right:0}}
.ban-img.flip{scale:-1 1}@media(max-width:760px){.ban-img{margin-right:0}}
html,body{overflow-x:clip}

/* v8: popup TikTok */
html.ttopen{overflow:hidden}
.ttpop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.ttpop[hidden]{display:none}
.ttp-bg{position:absolute;inset:0;background:rgba(5,5,6,.78);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.ttp-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(40px) scale(.94);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.2),opacity .3s}
.ttpop.on .ttp-bg{opacity:1}.ttpop.on .ttp-box{transform:none;opacity:1}
.ttp-stage{position:relative;height:min(78vh,640px);aspect-ratio:9/18.5}
.ttp-phone{position:relative;z-index:2;height:100%;width:100%;background:#0b0c0f;border-radius:38px;padding:12px;border:2px solid #2a2d35;box-shadow:0 0 0 6px #111318,0 0 50px rgba(240,122,30,.35)}
.ttp-phone .ph-notch{position:absolute;top:16px;left:50%;width:90px;height:20px;margin-left:-45px;border-radius:12px;background:#000;z-index:3}
.ttp-scr{width:100%;height:100%;border-radius:28px;overflow:hidden;background:#000;position:relative}
.ttp-scr iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.ttp-bot{position:absolute;z-index:1;bottom:6%;right:-8%;height:58%;width:auto;filter:drop-shadow(0 0 20px rgba(240,122,30,.4));transform:translateX(-35%) rotate(0);opacity:0;transition:transform .8s .35s cubic-bezier(.2,.9,.3,1.25),opacity .4s .35s}
.ttpop.on .ttp-bot{transform:translateX(52%) rotate(8deg);opacity:1;animation:ttwave 1.4s 1.3s ease-in-out 2}
@keyframes ttwave{0%,100%{transform:translateX(52%) rotate(8deg);filter:drop-shadow(0 0 20px rgba(240,122,30,.4))}50%{transform:translateX(50%) rotate(14deg);filter:drop-shadow(0 0 30px rgba(240,122,30,.9)) brightness(1.15)}}
.ttp-x{position:absolute;z-index:5;top:-14px;right:-14px;width:44px;height:44px;border-radius:50%;border:2px solid var(--o);background:#0d0f13;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.ttp-x:hover,.ttp-x:focus-visible{background:var(--o);color:#000}
.ttp-follow svg,.ttfab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ttfab{position:fixed;left:16px;bottom:16px;z-index:60;width:52px;height:52px;border-radius:50%;border:2px solid var(--o);background:#0d0f13;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 22px rgba(240,122,30,.35)}
.ttfab:hover,.ttfab:focus-visible{background:var(--o);color:#000}
.ttfab svg{width:24px;height:24px}
@media(max-width:600px){.ttp-stage{height:min(70vh,560px)}.ttp-bot{height:42%;right:-4%}.ttpop.on .ttp-bot{transform:translateX(38%) rotate(8deg);animation:none}.ttp-x{top:-10px;right:-6px}}
@media(prefers-reduced-motion:reduce){.ttp-bg,.ttp-box,.ttp-bot{transition:none}.ttp-box{transform:none}.ttpop.on .ttp-bot{animation:none}}
/* v9 podstrony usług */
.istrip li>a{display:contents;color:inherit;text-decoration:none}
.istrip li:has(>a){cursor:pointer}
.istrip li:has(>a:hover) .si,.istrip li:has(>a:focus-visible) .si{transform:translateY(-4px) scale(1.08);filter:drop-shadow(0 0 10px #ff7a00)}
.istrip li>a:focus-visible .sl{outline:2px solid #ff7a00;outline-offset:3px}
.istrip li>a[aria-current] .sl{color:#ff7a00}
.card{position:relative}.card-link{color:inherit;text-decoration:none}.card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.card:has(.card-link:hover),.card:has(.card-link:focus-visible){border-color:#ff7a00;transform:translateY(-3px)}
.card-link:focus-visible{outline:2px solid #ff7a00;outline-offset:3px}
.svc{padding:96px 0 40px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 18px;font-size:.9rem;opacity:.85}
.crumbs li+li::before{content:"›";margin-right:6px;opacity:.6}.crumbs a{color:#ff7a00}
.svc h1{font-size:clamp(1.7rem,4.4vw,3rem);line-height:1.1;margin:0 0 12px}
.svc-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin:34px 0}
.svc-list{list-style:none;padding:0;display:grid;gap:10px}.svc-list li{padding-left:26px;position:relative}
.svc-list li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:#ff7a00;box-shadow:0 0 10px #ff7a0088}
.svc-cta{background:#111318;border:1px solid #ff7a0044;border-radius:18px;padding:24px;align-self:start}
.svc-btns{display:flex;flex-direction:column;gap:10px;margin:14px 0}.svc-btns .btn{justify-content:center;text-align:center}
.svc-form a{color:#ff7a00}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.gal button{all:unset;cursor:zoom-in;display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#111318;border:1px solid #ffffff14}
.gal button:focus-visible{outline:2px solid #ff7a00;outline-offset:3px}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gal button:hover img{transform:scale(1.06)}
.lb{position:fixed;inset:0;z-index:9999;background:#000d;display:flex;align-items:center;justify-content:center;padding:20px}
.lb[hidden]{display:none}.lb figure{margin:0;max-width:min(1100px,92vw);text-align:center}
.lb img{max-width:100%;max-height:80vh;border-radius:12px}.lb figcaption{margin-top:10px;opacity:.85}
.lb button{position:absolute;background:#ff7a00;color:#000;border:0;border-radius:50%;width:46px;height:46px;font-size:28px;cursor:pointer}
.lb-x{top:16px;right:16px}.lb-p{left:12px;top:50%}.lb-n{right:12px;top:50%}
.svc-more{margin-top:40px}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr}.svc{padding-top:80px}}
/* v9 banery: obraz w całości (contain), bez ucinania */
.ban{display:grid;grid-template-columns:minmax(0,1fr) clamp(120px,22vw,240px);align-items:center;gap:20px;overflow:hidden}
.ban-c{min-width:0}
.ban .ban-img,.ban.v .ban-img{position:relative;inset:auto;right:auto;bottom:auto;margin:6px;width:calc(100% - 12px);height:auto;max-height:220px;aspect-ratio:1;object-fit:contain;object-position:center;align-self:center;justify-self:center}
.ban h1,.ban h2{overflow-wrap:anywhere}
@media(max-width:760px){.ban{grid-template-columns:minmax(0,1fr) 96px;gap:12px;padding:18px 16px}.ban .ban-img{max-height:110px}}
@media(max-width:400px){.ban{grid-template-columns:1fr}.ban .ban-img{width:120px;max-height:120px;justify-self:end;margin:-4px 0 0}}
/* v9 popup TikTok mieści się w ekranie */
.ttp-stage{height:min(72dvh,600px);max-width:calc(100vw - 40px)}
.ttp-box{max-width:calc(100vw - 24px)}
.ttp-x{top:4px;right:4px}
@media(max-width:600px){.ttp-stage{height:min(68dvh,560px)}.ttp-bot{right:0;height:36%}.ttpop.on .ttp-bot{transform:translateX(18%) rotate(6deg)}.ttpop{overflow:hidden}}
.fsvc{display:flex;flex-wrap:wrap;gap:6px 14px;flex-basis:100%;font-size:.95rem}.fsvc strong{color:#fff;flex-basis:100%}.fsvc a{color:inherit}.fsvc a:hover{color:var(--o)}
a.more{color:var(--o);font-weight:600}
@media(max-width:760px){.istrip .sl{font-size:12.5px}}
@media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr);gap:8px}}
/* v10 ksero ilustracja */
.ksero-act{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.ksero-img{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:9/7;object-fit:contain;margin:8px;filter:drop-shadow(0 0 22px rgba(240,122,30,.25))}
.ksero-btns{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px}
.ban .ban-img[width="900"]{aspect-ratio:9/7}
@media(max-width:760px){.ksero-img{max-width:280px;margin:4px auto}}
/* v10 szerokie banery od Grafika (lewe ~55% wolne pod tekst) */
.ban.ban-wide{display:flex;align-items:center;min-height:clamp(240px,22vw,360px);padding:30px 40px;background:#0b0c0f}
.ban-wide:before{display:none}
.ban-bg{position:absolute;inset:0;z-index:-1}
.ban-bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
.ban-wide .ban-c{max-width:min(52%,600px);position:relative}
.ban-wide .ban-c:before{content:"";position:absolute;inset:-30px -40px;z-index:-1;background:linear-gradient(90deg,rgba(11,12,15,.75),rgba(11,12,15,0));pointer-events:none}
@media(max-width:800px){
 .ban.ban-wide{display:block;min-height:0;padding:20px 18px clamp(230px,74vw,300px)}
 .ban-bg img{object-position:right bottom}
 .ban-wide .ban-c{max-width:100%}
 .ban-wide .ban-c:before{inset:-20px -18px;background:linear-gradient(180deg,rgba(11,12,15,.8) 40%,rgba(11,12,15,0))}
}
.hero-img{display:block;width:min(100%,260px);height:auto;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(240,122,30,.25))}
@media(max-width:800px){
 .ban.ban-wide{display:flex;flex-direction:column;padding:20px 18px 0}
 .ban-wide .ban-bg{position:relative;inset:auto;z-index:0;order:2;margin:10px -18px 0;height:clamp(170px,52vw,300px)}
 .ban-wide .ban-bg img{object-position:right bottom}
 .ban-wide .ban-c:before{display:none}
}
.ksero-btns .callw,.ksero-btns .callw .btn{width:100%;justify-content:center}
