/* adamdudziak.pl – style (paleta z obecnej strony) */
:root{
  --bg:#0a0c10; --surface:#11141a; --raised:#1a1e26; --ink:#e8eaed; --muted:#8b93a1; --line:#232833;
  --accent:#e8875f; --accent-soft:#2a1c16; --on-accent:#0a0c10;
  --ok-bg:#15291e; --ok-tx:#7fd6a0; --demo-bg:#2a1c16; --demo-tx:#f0a58f;
  --dev-bg:#2b2414; --dev-tx:#e8c46e; --plan-bg:#1f232b; --plan-tx:#b7bac2; --err:#f2836f;
  --radius:14px; --shadow:0 24px 48px -28px rgba(0,0,0,.9);
  --nav-h:64px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.logo,.stat b{font-family:'Manrope',system-ui,sans-serif;letter-spacing:-.025em;line-height:1.12}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.center{text-align:center;justify-content:center}
.i{width:18px;height:18px;flex:none}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 8px 24px -18px rgba(0,0,0,.45)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:16px}
.logo{font-weight:700;font-size:1.15rem;white-space:nowrap}
.logo i{font-style:normal;color:var(--accent)}
.links{display:flex;align-items:center;gap:2px}
.links a{padding:8px 13px;border-radius:9px;font-weight:500;font-size:.93rem;color:var(--muted);transition:color .15s,background .15s}
.links a:hover{color:var(--ink);background:var(--surface)}
.links a.active{color:var(--ink);background:var(--raised)}
.links .nav-cta{color:var(--ink);border:1px solid var(--line);margin-left:6px}
.links .nav-cta:hover,.links .nav-cta.active{border-color:var(--accent);color:var(--accent);background:transparent;box-shadow:none}
.nav-right{display:flex;align-items:center;gap:6px}

/* Lista języków */
.dd{position:relative}
.dd-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:500;color:var(--muted);padding:7px 9px;border-radius:9px;transition:background .15s,color .15s}
.dd-btn .i{width:17px;height:17px}
.dd-btn .chev{width:15px;height:15px;transition:transform .2s}
.dd-btn:hover,.dd.open .dd-btn{background:var(--surface);color:var(--ink)}
.dd-btn:focus-visible{outline:2px solid var(--accent)}
.dd.open .chev{transform:rotate(180deg)}
.dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:5px;box-shadow:var(--shadow);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .15s,transform .15s;z-index:60}
.dd.open .dd-menu{opacity:1;transform:none;pointer-events:auto}
.dd-menu a{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-radius:8px;font-size:.92rem}
.dd-menu a:hover{background:var(--raised)}
.dd-menu .ck{width:16px;height:16px;color:var(--accent);visibility:hidden}
.dd-menu a.on .ck{visibility:visible}
.dd-menu a.on{font-weight:600}

.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;border-radius:9px}
.burger .i{width:22px;height:22px}
.burger .shut{display:none}
.burger[aria-expanded="true"] .open{display:none}
.burger[aria-expanded="true"] .shut{display:block}

/* Podpowiedź języka */
.lang-hint{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 10px 10px 16px;box-shadow:var(--shadow);font-size:.9rem;max-width:calc(100% - 32px);animation:fadeUp .4s ease}
.lang-hint[hidden]{display:none}
.lang-hint a{font-weight:600;color:var(--accent);white-space:nowrap}
.lang-hint button{background:none;border:0;cursor:pointer;color:var(--muted);padding:4px;display:grid;place-items:center}
@keyframes fadeUp{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

/* Przyciski */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.95rem;padding:12px 20px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .15s,opacity .15s,border-color .15s,background .15s}
.btn .i{width:16px;height:16px;transition:transform .2s}
.btn:hover .i{transform:translateX(3px)}
.btn.primary{background:var(--accent);color:var(--on-accent)}
.btn.primary:hover{opacity:.9;transform:translateY(-1px)}
.btn.ghost{background:var(--surface);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--muted)}
.btn.accent{background:var(--accent);color:var(--on-accent)}
.btn.accent:hover{opacity:.9}
.btn.full{width:100%}
.btn[disabled]{opacity:.6;cursor:wait}

/* HERO */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center;padding-top:72px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:var(--muted);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.dot{width:7px;height:7px;border-radius:50%;background:#3fae6b;box-shadow:0 0 0 0 rgba(63,174,107,.5);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,174,107,.45)}70%{box-shadow:0 0 0 8px rgba(63,174,107,0)}100%{box-shadow:0 0 0 0 rgba(63,174,107,0)}}
.hero h1{font-size:clamp(2.3rem,5.2vw,3.7rem);font-weight:700;margin:22px 0 20px}
.hero h1 em,.page-head h1 em{font-style:normal;color:var(--accent)}
.lead{font-size:1.12rem;color:var(--muted);max-width:620px}
.photo{position:relative;justify-self:end;width:100%;max-width:380px}
.photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--line);border-radius:22px;background:var(--accent-soft);transition:transform .5s ease}
.photo:hover::before{transform:translate(4px,4px)}
.photo img{position:relative;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}

/* Trasa */
.route-wrap{margin-top:40px}
.route-svg{width:100%;height:auto;overflow:visible}
.route-base{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:5 7}
.route-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 7s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:1000}55%,100%{stroke-dashoffset:0}}
.route-node{fill:var(--accent)}
.route-node.mid{fill:var(--ink)}
.route-dot{fill:var(--ink)}
.route-svg text{fill:var(--muted);font-size:15px;font-family:'Manrope',system-ui,sans-serif}


/* Początek strony głównej: hasło i okno z aplikacjami */
.hero2{padding-top:88px;text-align:center}
.hero2 h1{font-size:clamp(2.4rem,6.2vw,4.3rem);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin-bottom:22px}
.hero2 h1 span{color:var(--muted)}
.hero2 .lead{margin:0 auto;font-size:1.15rem;max-width:720px}
.btns.center{justify-content:center}
.showcase{max-width:1000px;margin:60px auto 0;padding:0 20px}
.sc-win{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 -18px 70px -48px color-mix(in srgb,var(--accent) 60%,transparent),var(--shadow)}
.sc-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}
.sc-dots{display:flex;gap:6px;flex:none}
.sc-dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.sc-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.sc-tabs::-webkit-scrollbar{display:none}
.sc-tab{position:relative;background:none;border:0;padding:7px 11px;border-radius:8px;font-size:.86rem;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s,background .2s}
.sc-tab:hover{color:var(--ink)}
.sc-tab.on{color:var(--ink);background:var(--raised)}
.sc-tab .pr{position:absolute;left:11px;right:11px;bottom:2px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}
.showcase.auto:not(.paused) .sc-tab.on .pr{animation:scpr 6s linear forwards}
.showcase.paused .sc-tab.on .pr{transform:scaleX(1)}
@keyframes scpr{to{transform:scaleX(1)}}
.sc-scene{position:relative;aspect-ratio:520/200}
.sc-svg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}
.sc-svg.on{opacity:1}
.sc-svg:not(.on) *{animation-play-state:paused}
.sc-info{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:18px 22px 22px;border-top:1px solid var(--line);text-align:left;animation:scfade .4s ease}
.sc-info[hidden]{display:none}
@keyframes scfade{from{opacity:0}to{opacity:1}}
.sc-name{font-weight:600;font-size:1.08rem;transition:color .15s}
.sc-name:hover{color:var(--accent)}
.sc-info p{color:var(--muted);font-size:.95rem;margin-top:4px;max-width:680px}
.sc-open{color:var(--accent);font-weight:600;font-size:.93rem;white-space:nowrap}
.sc-open:hover{text-decoration:underline}
.sc-t{fill:var(--muted);font-size:11px;font-family:'Manrope',system-ui,sans-serif}
.sc-line line{stroke:#2a303c;stroke-width:1}
.sc-acc{fill:var(--accent)}
.sc-accs{stroke:var(--accent)}
.sc-dim{fill:var(--raised)}
.sc-light{fill:var(--ink)}
.sc-gap path{stroke:var(--surface);stroke-width:3}
.sc-codes text{fill:var(--bg);font-size:12px;font-weight:700;font-family:'Manrope',system-ui,sans-serif;text-anchor:middle}
.sc-stop circle{fill:var(--raised);stroke:#3a4150}
.sc-frame{fill:none;stroke:#3a4150;stroke-width:1.5}
.sc-alt{stroke:var(--ink);stroke-opacity:.55}
.sc-fork{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sc-generic{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sc-grow{transform-box:fill-box;transform-origin:left;animation:scgrow 6s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes scgrow{0%{transform:scaleX(0)}35%,100%{transform:scaleX(1)}}
.sc-bar{transform-box:fill-box;transform-origin:50% 100%;animation:scbar 6s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes scbar{0%{transform:scaleY(0)}35%,100%{transform:scaleY(1)}}
.sc-now{animation:scnow 6s linear infinite}
@keyframes scnow{from{transform:translateX(0)}to{transform:translateX(330px)}}
.sc-zone{animation:sczone 6s ease-in-out infinite}
@keyframes sczone{0%,15%{opacity:.12}40%,100%{opacity:var(--o)}}
.sc-pulse{fill:none;stroke:var(--ink);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:scpulse 2.4s ease-out infinite}
@keyframes scpulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3);opacity:0}}
.sc-draw{fill:none;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600;animation:scdraw 6s ease-in-out infinite}
@keyframes scdraw{0%{stroke-dashoffset:600}60%,100%{stroke-dashoffset:0}}
.sc-pal{opacity:0;animation:scpal 6s ease-out infinite}
@keyframes scpal{0%{opacity:0;transform:translateY(-6px)}12%,100%{opacity:1;transform:none}}

/* Liczby */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;margin-top:28px}
.stat{padding:26px 24px}
.stat+.stat{border-left:1px solid var(--line)}
.stat b{display:block;font-size:2rem;font-weight:600}
.stat span{color:var(--muted);font-size:.9rem}

/* Sekcje */
.sec{padding-top:96px}
.page-head{padding-top:64px;padding-bottom:36px}
.sec-head{margin-bottom:28px}
.sec-head h1{font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:700;margin-bottom:16px}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:600}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.h-sub{font-size:1.5rem;font-weight:600;margin-bottom:22px}
.narrow{max-width:760px}
.note{margin-top:24px;padding:16px 18px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 10px 10px 0;color:var(--muted)}
.note.small{margin:4px 0 16px;padding:8px 12px}

/* Karty */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .25s,border-color .25s,box-shadow .25s}
.card h3{font-size:1.15rem;font-weight:600;margin-bottom:6px}
.card p{font-size:.95rem}
.card-link:hover,.card:hover{border-color:color-mix(in srgb,var(--muted) 60%,var(--line))}
.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ico{width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:18px;flex:none}
.ico .i{width:22px;height:22px}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.93rem;color:var(--accent);margin-top:16px}
.more .i{width:16px;height:16px;transition:transform .2s}
.card-link:hover .more .i,.more:hover .i{transform:translateX(4px)}

/* Aplikacje */
.grid-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.app-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--muted) 60%,var(--line))}
.app-card.hide{display:none}
.app-shot{height:150px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;overflow:hidden}
.app-shot .i{width:46px;height:46px;stroke-width:1.4;transition:transform .4s ease}
.app-card:hover .app-shot .i{transform:scale(1.12) rotate(-4deg)}
.app-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.app-cat{font-size:.8rem;color:var(--muted);margin-bottom:4px}
.app-body h3{font-size:1.15rem;font-weight:600;margin-bottom:6px}
.app-body .muted{font-size:.92rem;flex:1}
.app-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:8px}
.langs{font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.badge{display:inline-block;font-size:.78rem;font-weight:500;padding:3px 10px;border-radius:999px}
.badge-available{background:var(--ok-bg);color:var(--ok-tx)}
.badge-demo{background:var(--demo-bg);color:var(--demo-tx)}
.badge-development{background:var(--dev-bg);color:var(--dev-tx)}
.badge-planned{background:var(--plan-bg);color:var(--plan-tx)}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:.9rem;color:var(--muted);cursor:pointer;transition:all .15s}
.chip:hover{color:var(--ink);border-color:var(--muted)}
.chip.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

/* Podstrona aplikacji */
.back{display:inline-block;font-size:.9rem;color:var(--muted);margin-bottom:22px}
.back:hover{color:var(--ink)}
.app-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.app-title h1{font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:700}
.app-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:36px;align-items:start}
.shot-main{aspect-ratio:16/9;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;border:1px solid var(--line)}
.shot-main img{width:100%;height:100%;object-fit:cover}
.i.big{width:64px;height:64px;stroke-width:1.3}
.block{margin-top:32px}
.block h2{font-size:1.35rem;font-weight:600;margin-bottom:8px}
.checks{list-style:none;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks .i{color:var(--accent);margin-top:4px}
.app-side{position:sticky;top:calc(var(--nav-h) + 20px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:4px}
.side-k{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}
.side-v{margin-bottom:12px}
.app-side .btn{margin-top:6px}

/* Dlaczego ja */
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.why-item{padding:24px 22px 0 0}
.why-item+.why-item{padding-left:22px;border-left:1px solid var(--line)}
.why-item h3{font-size:1.1rem;font-weight:600;margin-bottom:6px}
.why-item p{font-size:.93rem}

/* Proces */
.process{position:relative}
.process ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.process-line{position:absolute;left:10%;right:10%;top:19px;height:2px;background:var(--line)}
.process-line span{display:block;height:100%;width:0;background:var(--accent);transition:width .15s linear}
.step{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);transition:color .3s}
.step strong{font-family:'Manrope',sans-serif;font-size:1.05rem;color:var(--muted);transition:color .3s}
.step-n{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:var(--bg);display:grid;place-items:center;font-weight:600;font-size:.95rem;margin-bottom:8px;transition:all .35s;position:relative;z-index:1}
.step.on strong{color:var(--ink)}
.step.on .step-n{border-color:var(--accent);background:var(--accent);color:var(--on-accent);transform:scale(1.06)}

/* CTA */
.cta{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;padding:48px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:600;margin-bottom:6px;color:var(--ink)}
.cta p{color:var(--muted)}

/* O mnie */
.about{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.body-p{color:var(--muted);font-size:1.05rem;max-width:620px}
.body-p+.body-p{margin-top:14px}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:start}
.contact-links{display:grid;gap:12px;margin-top:8px}
.contact-links a{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .15s}
.contact-links a:hover{border-color:var(--muted)}
.contact-links .ico{margin:0}
.contact-links small{display:block;font-size:.78rem;color:var(--muted)}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}
.tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:22px}
.tab{flex:1;border:0;background:none;padding:9px 12px;border-radius:9px;font-weight:500;font-size:.92rem;color:var(--muted);cursor:pointer;transition:all .15s}
.tab.on{background:var(--raised);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-size:.88rem;font-weight:500;margin-bottom:6px}
.field small{color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err)}
.err{display:block;font-style:normal;font-size:.82rem;color:var(--err);min-height:0;margin-top:4px}
.err:empty{display:none}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--muted);margin-top:4px;cursor:pointer}
.consent input{margin-top:4px;accent-color:var(--accent);width:16px;height:16px;flex:none}
.consent a{color:var(--ink);text-decoration:underline}
.form-foot{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.form-msg{font-size:.92rem}
.form-msg.ok{color:var(--ok-tx)}
.form-msg.bad{color:var(--err)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[data-show][hidden]{display:none}

/* Stopka */
.foot{margin-top:110px;border-top:1px solid var(--line);padding:36px 0 28px}
.foot-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-in .small{margin-top:6px}
.foot-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.foot-links a{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.93rem}
.foot-links a:hover{color:var(--ink)}
.foot-links .i{width:16px;height:16px}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;flex-wrap:wrap}
.foot-bottom a:hover{color:var(--ink)}

/* Strzałka do góry */
.to-top{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .15s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.to-top .i{width:20px;height:20px}

/* Animacje przy przewijaniu */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

/* Telefon i tablet */
@media (max-width:980px){
  .grid-4,.why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-item:nth-child(3){padding-left:0;border-left:0}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-layout,.contact-grid{grid-template-columns:1fr}
  .app-side{position:static}
}
@media (max-width:860px){
  .burger{display:block}
  .links{position:fixed;left:0;right:0;top:var(--nav-h);flex-direction:column;align-items:stretch;gap:4px;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 20px 20px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow)}
  .links.open{opacity:1;transform:none;pointer-events:auto}
  .links a{padding:12px 14px;font-size:1rem}
  .links .nav-cta{margin:6px 0 0;text-align:center}
}
@media (max-width:760px){
  .hero,.about{grid-template-columns:1fr;gap:36px;padding-top:36px}
  .hero .photo,.about .photo{order:-1;justify-self:start;max-width:240px}
  .stats{grid-template-columns:1fr}
  .stat+.stat{border-left:0;border-top:1px solid var(--line)}
  .grid-2,.grid-3,.grid-4,.why,.row-2{grid-template-columns:1fr}
  .why-item,.why-item+.why-item{padding:20px 0 0;border-left:0}
  .sec{padding-top:72px}
  .page-head{padding-top:40px}
  .cta{padding:32px 24px}
  .form-card{padding:20px}
  .hero2{padding-top:56px}
  .showcase{margin-top:44px;padding:0 12px}
  .sc-dots{display:none}
  .sc-scene{aspect-ratio:520/250}
  .sc-info{flex-direction:column;align-items:flex-start;gap:10px}
  .process ol{grid-template-columns:1fr;gap:22px}
  .process-line{left:19px;right:auto;top:20px;bottom:20px;width:2px;height:auto}
  .process-line span{width:100%!important;height:var(--fill,0%);transition:height .15s linear}
  .step{flex-direction:row;flex-wrap:wrap;text-align:left;align-items:center;column-gap:14px}
  .step-n{margin:0}
  .step .small{flex-basis:100%;padding-left:54px;margin-top:-4px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  .sc-pal{opacity:1}
  .sc-bar{transform:none}
  .sc-draw{stroke-dashoffset:0}
  .sc-zone{opacity:var(--o)}
}
