:root{
  --ui-bg:#f4f4f2; --ui-ink:#151515; --ui-muted:#5c5c58; --ui-line:#d9d9d4; --ui-chip:#ffffff;
  --yellow:#f2c200;
  --plex:"IBM Plex Sans",-apple-system,"Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --arch:"Archivo","Arial Narrow",system-ui,sans-serif;
  --schib:"Schibsted Grotesk",-apple-system,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance}
.num{font-variant-numeric:tabular-nums}
.site{container-type:inline-size}
.pad{padding-left:clamp(16px,5cqi,64px);padding-right:clamp(16px,5cqi,64px)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form .full{grid-column:1/-1}
@container (max-width:620px){.form{grid-template-columns:minmax(0,1fr)}}
.f label{font-size:13px;letter-spacing:.02em}
.f input,.f select,.f textarea{width:100%;border-radius:8px;padding:11px 12px;font-size:15px;border:1px solid;min-width:0}
.f textarea{min-height:84px;resize:vertical}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:1.5px dashed;border-radius:12px;padding:28px 16px;cursor:pointer}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop b{font-size:17px}
.drop small{font-size:13px}
.files{display:flex;flex-direction:column;gap:6px}
.files:empty{display:none}
.file{display:flex;align-items:center;gap:10px;border-radius:8px;padding:8px 12px;font-size:14px;min-width:0}
.file .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:13px}
.file.q .n{white-space:normal;line-height:1.4}
.file .th{width:40px;height:40px;border-radius:4px;object-fit:cover;flex:none}
.file .t{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}
.file button{border:0;background:none;padding:2px 6px;font-size:18px;line-height:1}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{border:1px solid;border-radius:999px;padding:7px 13px;font-size:14px;background:none}
.chips button small{font-size:12px;opacity:.75;white-space:nowrap}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{width:18px;height:18px;margin-top:2px;flex:none}
.sendrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.privnote,.curnote{margin:-6px 0 0;font-size:13px}
.docnote{display:block;margin-top:6px;font-size:13px}
.swnote{margin:-4px 0 0;font-size:14px;line-height:1.5;padding:10px 14px;border-left:3px solid}
.send{border:0;border-radius:999px;padding:14px 26px;font-size:16px;font-weight:600}
.err{font-size:14px}
.done{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:12px}
.done h3{font-size:22px}
.done .code{font-family:var(--mono);font-size:15px}
.vd{--d-ink:#0d0d0d;--d-paper:#ffffff;--d-grid:#efefeb;--d-line:#d6d6d0;--d-muted:#5c5c57;--d-y:#f2c200;--d-dim:#7d7d77;
  --d-black:#0b0b0b;--d-card:#161616;--d-card2:#202020;--d-bline:#2c2c2a;--d-bmuted:#a3a39c;--d-white:#f3f3ef;--d-bgrid:#191919;
  background:var(--d-paper);color:var(--d-ink);font-family:var(--plex)}
.vd .blk{background:var(--d-black);color:var(--d-white)}
.vd .nav{display:flex;align-items:center;gap:24px;padding-block:18px;flex-wrap:wrap;border-bottom:1px solid var(--d-bline)}
.vd .nav .lg{display:flex;align-items:center;gap:12px}
.vd .nav .lg svg{height:34px;width:auto;fill:var(--d-white)}
.vd .nav .lg .cnc{font-family:var(--mono);font-size:13px;letter-spacing:.14em;border-left:1px solid var(--d-bline);padding-left:12px;color:var(--d-bmuted)}
.vd .nav nav{display:flex;gap:20px;flex:1;font-size:15px;color:var(--d-bmuted);flex-wrap:wrap}
.vd .lang{font-family:var(--mono);font-size:13px;color:var(--d-bmuted)}
.vd .lang b{color:var(--d-white)}
.vd .lang a{color:inherit;text-decoration:none;padding:8px 3px}
/* długie niemieckie i angielskie słowa w nagłówkach na wąskim telefonie: dzielenie z łącznikiem, a w ostateczności łamanie */
.vd :is(h1,h2,h3):lang(de),.vd :is(h1,h2,h3):lang(en){hyphens:auto;overflow-wrap:break-word}
.vd .lang a:hover,.vd .lang a:focus-visible{color:var(--d-y)}
.vd .cta{border:0;background:var(--d-y);color:#111;border-radius:999px;padding:11px 20px;font-size:15px;font-weight:600}
.vd .ghost{border:1px solid var(--d-bline);background:none;border-radius:999px;padding:10px 18px;font-size:15px;color:var(--d-white)}
.vd .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;padding-block:56px 48px;
  background-image:linear-gradient(var(--d-bgrid) 1px,transparent 1px),linear-gradient(90deg,var(--d-bgrid) 1px,transparent 1px);background-size:24px 24px}
@container (max-width:860px){.vd .hero{grid-template-columns:1fr}}
.vd .eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-bmuted)}
.vd .eyebrow i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ccf5a;box-shadow:0 0 8px #3ccf5a;margin-right:8px;vertical-align:1px}
.vd h1{font-family:var(--arch);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:clamp(44px,8cqi,104px);line-height:.9;margin-top:14px}
.vd h1 span{color:var(--d-y)}
.vd .lead{font-size:clamp(17px,1.9cqi,20px);color:var(--d-bmuted);margin-top:18px;max-width:46ch}
.vd .heroact{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.vd .heronote{font-size:13px;line-height:1.5;color:var(--d-bmuted);margin-top:12px;max-width:52ch}
.vd .draw svg{width:100%;height:auto;display:block}
.vd .draw .t{font-family:var(--mono);font-size:11px;fill:var(--d-bmuted)}
.vd .draw .tb{font-family:var(--mono);font-size:9.5px;fill:var(--d-bmuted)}
.vd .draw .tw{font-family:var(--mono);font-size:9.5px;fill:var(--d-white)}
.vd .tblock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--d-bline);border-bottom:0}
@container (max-width:760px){.vd .tblock{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vd .tblock div{padding:14px 18px 16px;border-right:1px solid var(--d-bline);border-bottom:1px solid var(--d-bline);display:flex;flex-direction:column;gap:4px}
.vd .tblock div:nth-child(4n){border-right:0}
@container (max-width:760px){.vd .tblock div:nth-child(2n){border-right:0}}
.vd .tblock small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--d-bmuted);text-transform:uppercase}
.vd .tblock b{font-family:var(--arch);font-stretch:80%;font-weight:700;font-size:clamp(28px,3.6cqi,40px);line-height:1;font-variant-numeric:tabular-nums}
.vd .tblock b.y{color:var(--d-y)}
.vd .tblock span{font-size:14px;color:var(--d-bmuted)}
/* animacje z renderu 3D przy maszynach (anim.js): frezarka i tokarka na stronie głównej i w Możliwościach */
.vd .sheet .art.cv{padding:0}
.vd .art.cv canvas,.vd .spec .ax canvas{display:block;width:100%;aspect-ratio:16/10;background:#0b0b0b}
.vd .spec .ax canvas{border:1px solid var(--d-ink)}
.vd .steps{list-style:none;margin:0;padding:12px 16px 0;display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.45;color:var(--d-muted)}
.vd .spec .ax .steps{padding:0}
.vd .steps li{display:flex;gap:10px;align-items:flex-start;transition:color .3s}
.vd .steps b{flex:none;font-family:var(--mono);font-size:12px;font-weight:600;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--d-line);border-radius:50%;transition:background .3s,border-color .3s}
.vd .steps li.on{color:var(--d-ink)}
.vd .steps li.on b{background:var(--d-y);border-color:var(--d-y);color:#111}
.vd .paper{background-color:var(--d-paper);background-image:linear-gradient(var(--d-grid) 1px,transparent 1px),linear-gradient(90deg,var(--d-grid) 1px,transparent 1px);background-size:24px 24px}
.vd .sec{padding-block:60px;display:flex;flex-direction:column;gap:26px}
.vd .shead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--d-ink);padding-bottom:12px}
.vd .shead small{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--d-muted);text-transform:uppercase}
.vd h2{font-family:var(--arch);font-stretch:78%;font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4cqi,50px);line-height:.95}
.vd .blk h2{color:var(--d-white)}
.vd .sheets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.vd .sheets>.sheet{grid-column:span 3}
.vd .sheets>.sheet.sm{grid-column:span 2}
@container (max-width:900px){.vd .sheets>.sheet.sm{grid-column:span 3}.vd .sheets>.sheet.sm:last-child{grid-column:1/-1}}
@container (max-width:760px){.vd .sheets{grid-template-columns:1fr}.vd .sheets>.sheet,.vd .sheets>.sheet.sm,.vd .sheets>.sheet.sm:last-child{grid-column:auto}}
.vd .sheet{background:var(--d-paper);border:1.5px solid var(--d-ink);display:flex;flex-direction:column;min-width:0}
.vd .sheet .art{padding:18px 18px 8px;border-bottom:1px solid var(--d-ink);color:var(--d-ink)}
.vd .sheet .art svg{width:100%;height:auto;display:block;max-height:190px}
.vd .sheet .art .t{font-family:var(--mono);font-size:10px;fill:var(--d-dim)}
.vd .sheet .tb{display:grid;grid-template-columns:minmax(0,1fr) auto}
.vd .sheet .tb>div{padding:12px 16px;min-width:0}
.vd .sheet .tb .no{border-left:1px solid var(--d-ink);font-family:var(--mono);font-size:12px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:right}
.vd .sheet .tb .no b{font-size:15px}
.vd .sheet .tb .no.y{background:var(--d-y)}
.vd .sheet h3{font-size:19px;font-weight:600}
.vd .sheet .mod{font-family:var(--mono);font-size:13px;color:var(--d-muted)}
.vd .sheet p{font-size:15px;color:var(--d-muted);padding:12px 16px 0}
.vd .sheet dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:0;padding:12px 16px 16px;font-size:14px}
.vd .sheet dt{color:var(--d-muted)}
.vd .sheet dd{margin:0;font-family:var(--mono);font-size:13px;text-align:right}
.vd .timeline svg{width:100%;height:auto;display:block}
.vd .timeline .t{font-family:var(--mono);font-size:12px;fill:var(--d-muted)}
.vd .timeline .h{font-family:var(--plex);font-size:16px;font-weight:600;fill:var(--d-ink)}
.vd .timeline .s{font-family:var(--plex);font-size:13px;fill:var(--d-muted)}
.vd .tl-wide{display:block}
.vd .tl-narrow{display:none}
@container (max-width:640px){.vd .tl-wide{display:none}.vd .tl-narrow{display:block}}
.vd .finish{display:flex;flex-wrap:wrap;gap:8px}
.vd .finish span,.vd .finish a{border:1px solid var(--d-ink);padding:8px 14px;font-size:15px;background:var(--d-paper);color:var(--d-ink);text-decoration:none}
.vd .finish a:hover{background:var(--d-y)}
.vd .finish em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--d-muted);margin-left:8px;text-transform:uppercase;letter-spacing:.08em}
.vd .formcard{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px}
@container (max-width:900px){.vd .formcard{grid-template-columns:minmax(0,1fr)}}
.vd .formcard .side{display:flex;flex-direction:column;gap:16px}
.vd .formcard .side p{color:var(--d-bmuted)}
.vd .formcard .side{gap:20px}
/* piktogramy: kreska jak na rysunku technicznym, jeden żółty detal */
.vd .side svg{overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
.vd .side svg .y{stroke:var(--d-y)}
.vd .side svg .f{fill:currentColor;stroke:none}
.vd .path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.vd .path li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;position:relative;padding-bottom:26px}
.vd .path li:last-child{padding-bottom:0}
.vd .path li:not(:last-child)::after{content:"";position:absolute;left:36px;top:72px;bottom:0;border-left:1.5px dashed var(--d-y)}
.vd .path .ic{width:72px;height:72px;border:1px solid var(--d-bline);background:var(--d-card);display:grid;place-items:center}
.vd .path svg{width:44px;height:44px;color:var(--d-white)}
.vd .path li>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.vd .path em{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--d-y)}
.vd .path b{font-size:18px;font-weight:600}
.vd .path span{font-size:15px;line-height:1.45;color:var(--d-bmuted)}
.vd .formcard .side .send-mail{display:flex;gap:16px;align-items:center;margin:0;font-size:14px}
.vd .send-mail svg{width:40px;height:40px;color:var(--d-white)}
.vd .send-mail a{color:var(--d-white);text-decoration:none;border-bottom:2px solid var(--d-y)}
@container (max-width:620px){.vd .path li{grid-template-columns:60px minmax(0,1fr);gap:14px;padding-bottom:20px}.vd .path .ic{width:60px;height:60px}.vd .path li:not(:last-child)::after{left:30px;top:60px}.vd .path svg{width:38px;height:38px}.vd .path b{font-size:17px}}
.vd .formbox{background:var(--d-card);border-radius:4px;padding:clamp(16px,2.6cqi,28px);border:1px solid var(--d-bline)}
.vd .f label{color:var(--d-bmuted);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.vd .f input,.vd .f select,.vd .f textarea{border-color:var(--d-bline);background:var(--d-black);color:var(--d-white);color-scheme:dark;border-radius:3px}
.vd .drop{border-color:#4a4a45;background:var(--d-black);color:var(--d-bmuted);border-radius:4px}
.vd .drop b{color:var(--d-white)}
.vd .drop:hover,.vd .drop.over{border-color:var(--d-y)}
.vd .file{background:var(--d-card2);border-radius:3px}
.vd .file .t{background:var(--d-y);color:#111}
.vd .chips button{border-color:var(--d-bline);color:var(--d-white);border-radius:3px}
.vd .chips button[aria-pressed="true"]{background:var(--d-white);color:#111;border-color:var(--d-white)}
.vd .check input{accent-color:var(--d-y)}
.vd .send{background:var(--d-y);color:#111}
.vd .muted{color:var(--d-bmuted);font-size:14px}
.vd .err{color:#ff6a5a}
.vd .swnote{background:var(--d-card2);border-left-color:var(--d-y);color:var(--d-bmuted)}
.vd .swnote b{color:var(--d-white);font-weight:600}
.vd .swnote a{color:var(--d-y)}
.vd .done{background:var(--d-card2)}
.vd .quote{border:1px dashed #55554f;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.vd .quote small{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--d-y);text-transform:uppercase}
.vd .quote p{color:var(--d-bmuted);margin-top:6px;max-width:56ch}
.vd .quote .range{font-family:var(--mono);font-size:28px;color:var(--d-white)}
.vd .foot{padding-block:36px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--d-bline);font-size:14px;color:var(--d-bmuted)}
.vd .foot svg{height:58px;width:auto;fill:var(--d-white)}
.vd .my{font-style:normal;color:var(--d-y)}
.vd .rules .my{color:var(--d-ink);background:var(--d-y);padding:0 2px 0 0}
.vd .slogan{font-family:var(--arch);font-stretch:75%;font-weight:700;text-transform:uppercase;font-size:20px;color:var(--d-white)}
.vd .timeline .tl-wide{display:block}
.vd .timeline .tl-narrow{display:none}
@container (max-width:640px){.vd .timeline .tl-wide{display:none}.vd .timeline .tl-narrow{display:block}}
.vd .nav nav a{border:0;background:none;padding:6px 0;color:var(--d-bmuted);font-size:15px;border-bottom:2px solid transparent}
.vd .nav nav a:hover{color:var(--d-white)}
.vd .nav nav a[aria-current="page"]{color:var(--d-white);border-bottom-color:var(--d-y)}
.vd .nav .lg{border:0;background:none;padding:0}
.vd .phead{padding-block:52px 40px;display:flex;flex-direction:column;gap:14px;
  background-image:linear-gradient(var(--d-bgrid) 1px,transparent 1px),linear-gradient(90deg,var(--d-bgrid) 1px,transparent 1px);background-size:24px 24px}
.vd .phead h1{font-size:clamp(40px,6.4cqi,84px);margin-top:4px}
.vd .crumb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--d-bmuted);text-transform:uppercase}
.vd .more{border:0;background:none;padding:0;font-size:15px;font-weight:600;color:var(--d-ink);border-bottom:2px solid var(--d-y);align-self:flex-start}
.vd .blk .more{color:var(--d-white)}
.vd .spec{border:1.5px solid var(--d-ink);background:var(--d-paper);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
@container (max-width:820px){.vd .spec{grid-template-columns:1fr}}
.vd .spec .ax{border-right:1px solid var(--d-ink);padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
@container (max-width:820px){.vd .spec .ax{border-right:0;border-bottom:1px solid var(--d-ink)}}
.vd .spec .ax svg{width:100%;height:auto;display:block;max-height:260px}
.vd .spec .ax .t{font-family:var(--mono);font-size:11px;fill:var(--d-dim)}
.vd .spec .ax .a{font-family:var(--mono);font-size:14px;font-weight:600;fill:var(--d-ink)}
.vd .spec h3{font-size:22px;font-weight:600}
.vd .spec .mod{font-family:var(--mono);font-size:13px;color:var(--d-muted)}
.vd .spec .ax p{font-size:15px;color:var(--d-muted)}
.vd .spec .axes{display:flex;gap:6px;flex-wrap:wrap}
.vd .spec .axes span{font-family:var(--mono);font-size:13px;border:1px solid var(--d-ink);padding:3px 9px}
.vd .spec .axes span.y{background:var(--d-y);border-color:var(--d-y)}
.vd .spec table{width:100%;border-collapse:collapse;font-size:14px}
.vd .spec th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);font-weight:500;padding:12px 16px 6px}
.vd .spec td{padding:8px 16px;border-top:1px solid var(--d-line);vertical-align:top}
.vd .spec td:last-child{text-align:right;font-family:var(--mono);font-size:13px;white-space:nowrap}
.vd .spec tr.grp td{background:var(--d-grid);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);text-align:left}
.vd .cfg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1.5px solid var(--d-ink);background:var(--d-paper)}
@container (max-width:720px){.vd .cfg{grid-template-columns:1fr}}
.vd .cfg div{padding:18px 20px;border-bottom:1px solid var(--d-line);border-right:1px solid var(--d-line);display:flex;flex-direction:column;gap:4px}
.vd .cfg div:nth-child(2n){border-right:0}
.vd .cfg b{font-size:16px}
.vd .cfg span{font-size:14px;color:var(--d-muted)}
.vd .cfg small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-ink);background:var(--d-y);align-self:flex-start;padding:1px 6px}
.vd .twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@container (max-width:720px){.vd .twocol{grid-template-columns:1fr}}
.vd .twocol.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@container (max-width:900px){.vd .twocol.three{grid-template-columns:1fr}}
/* konto klienta: projekty i wznowienia (strona główna) */
.vd .acct{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}
@container (max-width:760px){.vd .acct{grid-template-columns:1fr}}
.vd .acct-l{display:flex;flex-direction:column;gap:12px;min-width:0}
.vd .acct-l h3{font-size:22px;line-height:1.2;text-wrap:balance}
.vd .acct-b{display:flex;flex-wrap:wrap;gap:10px}
.vd .acct-b .ghost{color:var(--d-ink);border-color:var(--d-ink)}
.vd .acct-r{list-style:none;margin:0;padding:0;border:1.5px solid var(--d-ink);background:var(--d-paper)}
.vd .acct-r li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px 20px;border-bottom:1px solid var(--d-line)}
.vd .acct-r li:last-child{border-bottom:0}
.vd .acct-r b{font-family:var(--mono);font-size:13px;color:var(--d-muted);padding-top:2px}
.vd .acct-r h3{font-size:17px;margin:0 0 4px}
.vd .acct-r p{margin:0;color:var(--d-muted);font-size:15px}
.vd .acct-r li:last-child h3{background:linear-gradient(transparent 60%,var(--d-y) 60%);display:inline}
.vd .box{border:1.5px solid var(--d-ink);background:var(--d-paper);padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.vd .box h3{font-size:18px;font-weight:600}
.vd .tags{display:flex;flex-wrap:wrap;gap:6px}
.vd .tags span{font-family:var(--mono);font-size:13px;border:1px solid var(--d-line);padding:4px 10px;background:var(--d-paper)}
.vd .rows{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}
.vd .rows dt{color:var(--d-muted)}
.vd .rows dd{margin:0;font-family:var(--mono);font-size:13px;text-align:right}
.vd details{border-top:1px solid var(--d-line);padding:14px 0}
.vd details:last-child{border-bottom:1px solid var(--d-line)}
.vd summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.vd summary::after{content:"+";font-family:var(--mono);font-weight:400}
.vd details[open] summary::after{content:"−"}
.vd details p{color:var(--d-muted);font-size:15px;margin-top:8px;max-width:72ch}
.vd .qsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@container (max-width:820px){.vd .qsteps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:520px){.vd .qsteps{grid-template-columns:1fr}}
.vd .qsteps div{border-top:2px solid var(--d-ink);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.vd .qsteps b{font-family:var(--mono);font-size:13px;color:var(--d-muted)}
.vd .qsteps h3{font-size:18px;font-weight:600}
.vd .qsteps p{font-size:15px;color:var(--d-muted)}
.vd .proto{border:1.5px solid var(--d-ink);background:var(--d-paper);overflow-x:auto}
.vd .proto .ph{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--d-ink);font-size:14px}
.vd .proto .ph b{font-family:var(--mono);font-size:13px}
.vd .proto table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.vd .proto th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted);font-weight:500;padding:10px 16px}
.vd .proto td{padding:9px 16px;border-top:1px solid var(--d-line);font-family:var(--mono);font-size:13px;white-space:nowrap}
.vd .ok{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;font-weight:600}
.vd .ok::before{content:"";width:8px;height:8px;border-radius:50%;background:#1f9d48}
.vd .digi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@container (max-width:820px){.vd .digi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:480px){.vd .digi{grid-template-columns:1fr}}
.vd .digi div{background:var(--d-card);border:1px solid var(--d-bline);padding:18px;display:flex;flex-direction:column;gap:6px}
.vd .digi small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--d-y);text-transform:uppercase}
.vd .digi b{font-size:16px;color:var(--d-white)}
.vd .digi span{font-size:14px;color:var(--d-bmuted)}
.vd .demo{display:flex;align-items:center;gap:10px;background:var(--d-y);color:#111;padding:10px 14px;font-size:14px}
.vd .demo b{font-family:var(--mono);font-size:12px;letter-spacing:.1em}
.vd .link{font-family:var(--mono);font-size:13px;color:var(--d-bmuted);word-break:break-all}
.vd .order{border:1.5px solid var(--d-ink);background:var(--d-paper)}
.vd .order .oh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px;border-bottom:1px solid var(--d-ink);align-items:start}
@container (max-width:620px){.vd .order .oh{grid-template-columns:1fr}}
.vd .order .code{font-family:var(--mono);font-size:13px;color:var(--d-muted)}
.vd .order h3{font-size:24px;font-weight:600;margin-top:4px}
.vd .order .when{text-align:right}
@container (max-width:620px){.vd .order .when{text-align:left}}
.vd .order .when small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.vd .order .when b{display:block;font-family:var(--arch);font-stretch:80%;font-weight:700;font-size:36px;line-height:1.05}
.vd .order .now{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--d-line);font-size:15px;flex-wrap:wrap}
.vd .live{width:10px;height:10px;border-radius:50%;background:#1f9d48;box-shadow:0 0 0 4px rgba(31,157,72,.18);flex:none}
.vd .pbar{height:8px;background:var(--d-grid);position:relative;margin:0 20px 18px}
.vd .pbar i{position:absolute;inset:0 auto 0 0;background:var(--d-ink)}
.vd .pbar em{position:absolute;top:-22px;font-style:normal;font-family:var(--mono);font-size:11px;color:var(--d-muted);transform:translateX(-50%)}
.vd .stages{list-style:none;margin:0;padding:6px 20px 20px;display:flex;flex-direction:column}
.vd .stages li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;position:relative}
.vd .stages li::before{content:"";position:absolute;left:13px;top:30px;bottom:-10px;width:2px;background:var(--d-line)}
.vd .stages li:last-child::before{display:none}
.vd .stages li.fin::before{background:var(--d-ink)}
.vd .stages .n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--d-line);display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--d-muted);background:var(--d-paper);position:relative;z-index:1}
.vd .stages li.fin .n{background:var(--d-ink);border-color:var(--d-ink);color:var(--d-paper)}
.vd .stages li.cur .n{background:var(--d-y);border-color:var(--d-ink);color:#111;font-weight:600}
.vd .stages b{font-size:15px;font-weight:600}
.vd .stages li:not(.fin):not(.cur) b{color:var(--d-muted);font-weight:500}
.vd .stages span{display:block;font-size:13px;color:var(--d-muted)}
.vd .stages time{font-family:var(--mono);font-size:12px;color:var(--d-muted);white-space:nowrap}
.vd .ogrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;align-items:start}
@container (max-width:860px){.vd .ogrid{grid-template-columns:1fr}}
.vd .docs{display:flex;flex-direction:column}
.vd .docs div{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--d-line);font-size:14px}
.vd .docs .ft{font-family:var(--mono);font-size:11px;font-weight:600;background:var(--d-ink);color:var(--d-paper);padding:2px 6px}
.vd .docs .g{flex:1;min-width:0}
.vd .docs .s{font-family:var(--mono);font-size:12px;color:var(--d-muted)}
.vd .track{display:flex;flex-direction:column;gap:4px;font-size:14px}
.vd .track b{font-family:var(--mono);font-size:13px}
.vd .calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:start}
@container (max-width:860px){.vd .calc{grid-template-columns:1fr}}
.vd .cin{gap:16px}
.vd .cin .f label{color:var(--d-muted)}
.vd .cin .f input,.vd .cin .f select{border-color:var(--d-line);background:var(--d-paper);color:var(--d-ink);border-radius:3px}
.vd .cin .chips button{border-color:var(--d-line);color:var(--d-ink);border-radius:3px}
.vd .cin .chips button[aria-pressed="true"]{background:var(--d-ink);color:var(--d-paper);border-color:var(--d-ink)}
.vd .chd small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.vd .chd h3{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:26px;line-height:1;margin-top:4px}
/* rozpisanie ceny za sztukę w czarnym panelu wyceny */
.vd .qbrk{display:flex;flex-direction:column;border-top:1px solid var(--d-bline)}
.vd .qbh{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-bmuted);padding:12px 0 4px}
.vd .qbr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--d-bline);font-size:14px}
.vd .qbr span{display:flex;flex-direction:column;gap:2px;min-width:0}
.vd .qbr small{font-size:12px;line-height:1.35;color:var(--d-bmuted)}
.vd .qbr b{font-weight:500;white-space:nowrap}
.vd .qbt{border-bottom:0;font-weight:600}
.vd .qbt b{font-weight:600}
.vd .qwait{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.vd .qwait b{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,4cqi,38px);line-height:1}
.vd .qwait span{font-size:15px;line-height:1.5;color:var(--d-bmuted)}
.vd .qwait .qalt{font-size:14px;padding-top:12px;border-top:1px solid var(--d-bline);align-self:stretch}
.vd .qwait .qalt a{color:var(--d-white)}
.vd .qdims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@container (max-width:460px){.vd .qdims{grid-template-columns:1fr}}
.vd .hint{font-size:13px;color:var(--d-muted)}
.vd .hint.fnote{display:block;margin-top:6px}
/* oś wykończenia w kalkulatorze: suwak na linii, nazwy pod kropkami (5 kolumn, kropki w środkach kolumn) */
.vd .fax{position:relative;padding-top:2px}
/* trzy wykończenia (Tomasz 2026-10-18): środki kolumn na 1/6, 1/2 i 5/6 szerokości */
.vd .fax::before{content:"";position:absolute;top:11px;left:16.667%;right:16.667%;height:2px;background:var(--d-ink)}
.vd .fax input[type="range"]{position:absolute;top:2px;left:calc(16.667% - 11px);width:calc(66.667% + 22px);height:22px;margin:0;padding:0;border:0;background:none;-webkit-appearance:none;appearance:none;z-index:2;cursor:pointer}
.vd .fax input[type="range"]::-webkit-slider-runnable-track{height:22px;background:none;border:0}
.vd .fax input[type="range"]::-moz-range-track{height:22px;background:none;border:0}
.vd .fax input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--d-y);border:2px solid var(--d-ink);box-shadow:0 0 0 3px var(--d-paper)}
.vd .fax input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--d-y);border:2px solid var(--d-ink);box-shadow:0 0 0 3px var(--d-paper)}
.vd .fax input[type="range"]:focus-visible{outline:none}
.vd .fax input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--d-paper),0 0 0 5px var(--d-ink)}
.vd .fax input[type="range"]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--d-paper),0 0 0 5px var(--d-ink)}
.vd .faxl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.vd .faxl button{position:relative;padding:28px 2px 2px;border:0;background:none;color:var(--d-muted);font-size:13px;line-height:1.2;text-align:center;white-space:nowrap;cursor:pointer}
.vd .faxl button::before{content:"";position:absolute;top:7px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--d-paper);border:2px solid var(--d-ink);box-sizing:border-box}
.vd .faxl button[aria-pressed="true"]{color:var(--d-ink);font-weight:600}
@container (max-width:420px){.vd .faxl button{font-size:11px;padding-inline:0;letter-spacing:-.01em}}
.vd .qres{background:var(--d-black);color:var(--d-white);border:1.5px solid var(--d-ink);padding:22px;display:flex;flex-direction:column;gap:14px;position:sticky;top:70px;min-width:0}
@container (max-width:860px){.vd .qres{position:static}}
.vd .qhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.vd .qhead small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-y)}
.vd .qhead span{font-size:13px;color:var(--d-bmuted)}
/* waluta wyceny obok „netto, za sztukę” (Tomasz 2026-10-19); bez kursów NBP schowana */
.vd .qhead{flex-wrap:wrap}.vd .qhead>span{margin-left:auto}
.vd .qcur{display:inline-flex;align-items:center}
.vd .qcur .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vd .qcur select{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--d-white);background:var(--d-black);color-scheme:dark;
  border:1px solid var(--d-bline);border-radius:999px;padding:6px 10px;min-height:36px;cursor:pointer}
.vd .qcur select:hover{border-color:var(--d-white)}
.vd .qcur select:focus-visible{outline:2px solid var(--d-y);outline-offset:2px}
.vd .qfx{font-size:13px;line-height:1.5;color:var(--d-bmuted)}
.vd .qrange{font-family:var(--arch);font-stretch:80%;font-weight:700;font-size:clamp(36px,5cqi,52px);line-height:1}
.vd .qtotal{font-size:15px;color:var(--d-bmuted)}
.vd .qtotal b{color:var(--d-white);font-weight:600}
.vd .qres .cta{align-self:flex-start}
.vd .qres .ghost{align-self:flex-start}
/* „Dodaj do zapytania” i lista detali w zapytaniu (czarny panel wyceny) */
.vd .qadd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.vd .qadd span{font-size:13px;color:var(--d-bmuted);flex:1 1 160px}
.vd .qadd .cta[disabled],.vd .sbtns .cta[disabled]{opacity:.5;cursor:default}
.vd .qbask{border-top:1px solid var(--d-bline);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.vd .qbh small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-y)}
.vd .qbask ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.vd .qbask li{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--d-bline)}
.vd .qbask .bth{width:44px;height:44px;border-radius:3px;background:var(--d-card2);object-fit:cover;display:block}
.vd .qbask .bi{min-width:0;display:flex;flex-direction:column;gap:2px}
.vd .qbask .bi b{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd .qbask .bi span{font-size:12px;color:var(--d-bmuted)}
.vd .qbask .bp{font-size:14px;text-align:right;white-space:nowrap;line-height:1.25}
.vd .qbask .bb{display:flex;gap:4px}
.vd .qbask .bb button{border:1px solid var(--d-bline);background:none;color:var(--d-white);border-radius:3px;padding:4px 8px;font-size:12px;cursor:pointer}
.vd .qbask .bb button[data-x]{font-size:15px;line-height:1;padding:3px 8px}
.vd .qbt{margin:0;font-size:14px;color:var(--d-bmuted)}
.vd .qbt b{color:var(--d-white);font-weight:600}
@container (max-width:420px){.vd .qbask li{grid-template-columns:44px minmax(0,1fr) auto}.vd .qbask .bb{grid-column:2 / -1}}
.form.multi .fc{display:none}
.vd .qnote{font-size:13px;color:var(--d-bmuted)}
/* kontakt przed ceną (#qGate, Tomasz 2026-10-20) i tabelka cen przy innych ilościach (#qTiers) w czarnym panelu wyniku */
.vd .qgate{display:flex;flex-direction:column;gap:10px}
.vd .qgate .qgk{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-y)}
.vd .qgate .qgh{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:clamp(24px,3.4cqi,32px);line-height:1.05;text-wrap:balance}
.vd .qgate .qgs{font-size:14px;line-height:1.5;color:var(--d-bmuted)}
.vd .qgf{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--d-bmuted)}
.vd .qgf input{background:var(--d-card2);border:1px solid var(--d-bline);color:var(--d-white);padding:10px 11px;font:inherit;font-size:16px;border-radius:0;min-width:0}
.vd .qgf input:focus{outline:2px solid var(--d-y);outline-offset:1px}
.vd .qgo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:4px}
.vd .qgate .err{font-size:13px}
.vd .qgate .qgp{font-size:12px;line-height:1.45;color:var(--d-bmuted)}
.vd .qgate .qgp a{color:var(--d-white)}
/* okienko „Podaj dane, a pokażemy Ci cenę” nad rozmytą ceną (Tomasz 2026-10-20); liczby pod rozmyciem są podstawione (MASK w wycena.js) */
.vd .qres.lock .qrange,.vd .qres.lock .qtotal b,.vd .qres.lock .qbr .num,.vd .qres.lock .qtier td .num{filter:blur(7px);user-select:none;cursor:pointer}
.vd .qres.lock .qtier button{cursor:pointer}
.vd .qlock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;border:1px solid var(--d-y);padding:12px 14px}
.vd .qlock b{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:18px;line-height:1.1;text-wrap:balance}
.vd .qgdlg{background:var(--d-card);color:var(--d-white);border:1px solid var(--d-bline);border-top:4px solid var(--d-y);border-radius:0;
  padding:26px 22px 20px;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.vd .qgdlg::backdrop{background:rgba(11,11,11,.6);backdrop-filter:blur(2px)}
.vd .qgdlg .qgh{font-size:clamp(24px,6.6vw,30px);padding-right:28px}
.vd .qgx{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;background:none;color:var(--d-bmuted);font-size:24px;line-height:1;cursor:pointer}
.vd .qgx:hover,.vd .qgx:focus-visible{color:var(--d-white)}
.vd .qgx:focus-visible{outline:2px solid var(--d-y);outline-offset:-2px}
/* czekanie na kliknięcie linku z maila (#qgWait) */
.vd .qgwait .qgh:focus{outline:none}
.vd .qgwait .ghost{color:var(--d-white)}
.vd .qgl{border:0;background:none;padding:6px 2px;color:var(--d-white);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vd .qgl:focus-visible,.vd .qgwait .ghost:focus-visible{outline:2px solid var(--d-y);outline-offset:2px}
.vd .qgwait .ghost[disabled]{opacity:.5;cursor:default}
.vd .qgst:empty{display:none}
.vd .qtier{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--d-bline)}
.vd .qtw{overflow-x:auto;min-width:0}
.vd .qtier table{width:100%;border-collapse:collapse;font-size:13px}
.vd .qtier th{font-weight:500;text-align:left;padding:6px 6px 6px 0;color:var(--d-bmuted);font-size:12px;vertical-align:bottom}
.vd .qtier thead th small{display:block;font-size:11px;font-weight:400}
.vd .qtier tbody tr{border-top:1px solid var(--d-bline)}
.vd .qtier tbody th{font-family:var(--mono);color:var(--d-white);font-size:13px;vertical-align:middle;padding-right:10px}
.vd .qtier tbody tr.on th{color:var(--d-y)}
.vd .qtier td{padding:2px 0 2px 4px}
.vd .qtier button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;background:none;border:1px solid transparent;color:var(--d-white);padding:6px 8px;text-align:left;cursor:pointer;border-radius:3px;font:inherit}
.vd .qtier button:hover{border-color:var(--d-bline)}
.vd .qtier button[aria-pressed="true"]{border-color:var(--d-y)}
.vd .qtier button b{font-weight:600;white-space:nowrap}
.vd .qtier button small{font-size:11.5px;color:var(--d-bmuted);white-space:nowrap}
.vd .qtier button small.qtd{color:var(--d-y)}
.vd .qtn{font-size:12px;line-height:1.45;color:var(--d-bmuted)}
.vd .quote button.cta{flex:none}
.vd .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.vd .badges span{font-family:var(--mono);font-size:12px;letter-spacing:.04em;border:1px solid var(--d-bline);padding:6px 10px;color:var(--d-white)}
.vd .badges span:first-child{background:var(--d-y);color:#111;border-color:var(--d-y);font-weight:600}
.vd .proc{border:1.5px solid var(--d-ink);background:var(--d-paper);overflow-x:auto}
.vd .proc table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.vd .proc th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);font-weight:500;padding:12px 16px;border-bottom:1px solid var(--d-ink)}
.vd .proc td{padding:11px 16px;border-top:1px solid var(--d-line);vertical-align:top}
.vd .proc td:first-child{font-family:var(--mono);font-size:13px;font-weight:600;white-space:nowrap}
.vd .proc td:nth-child(2){font-weight:600;white-space:nowrap}
.vd .proc td:nth-child(3){color:var(--d-muted)}
.vd .proc td:last-child{font-family:var(--mono);font-size:12px;white-space:nowrap}
.vd .pdca{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--d-ink);background:var(--d-paper)}
@container (max-width:720px){.vd .pdca{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vd .pdca div{padding:16px 18px;border-right:1px solid var(--d-line);display:flex;flex-direction:column;gap:4px;position:relative}
.vd .pdca div:last-child{border-right:0}
.vd .pdca b{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:22px}
.vd .pdca div:nth-child(3) b{background:var(--d-y);align-self:flex-start;padding:0 6px}
.vd .pdca span{font-size:14px;color:var(--d-muted)}
.vd .kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@container (max-width:820px){.vd .kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vd .kpi div{border:1.5px solid var(--d-ink);background:var(--d-paper);padding:16px;display:flex;flex-direction:column;gap:4px}
.vd .kpi small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--d-muted)}
.vd .kpi b{font-size:16px}
.vd .kpi span{font-size:14px;color:var(--d-muted)}
.vd .hero.big{display:flex;flex-direction:column;gap:32px}
.vd .hero.big .htop{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:40px;align-items:end}
@container (max-width:860px){.vd .hero.big .htop{grid-template-columns:1fr;gap:16px}}
.vd .hero.big .lead{margin-top:0}
.vd .sheetwrap{overflow-x:auto;border:1px solid var(--d-bline);background:var(--d-black)}
.vd .sheetwrap svg{display:block;width:100%;min-width:720px;height:auto}
.vd .sheetwrap .scan{transform:translateX(450px)}
@media (prefers-reduced-motion:no-preference){.vd .sheetwrap .scan{animation:scan 7s ease-in-out infinite alternate}@keyframes scan{from{transform:translateX(40px)}to{transform:translateX(840px)}}}
.vd .stamp{display:inline-flex;align-items:center;gap:14px;border:2px solid var(--d-y);padding:8px 16px 8px 12px;margin-top:20px;flex-wrap:wrap}
.vd .stamp b{font-family:var(--arch);font-stretch:75%;font-weight:800;font-size:26px;letter-spacing:.02em;color:var(--d-y);line-height:1}
.vd .stamp span{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--d-white);text-transform:uppercase}
.vd .rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1.5px solid var(--d-ink);background:var(--d-paper)}
@container (max-width:860px){.vd .rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:480px){.vd .rules{grid-template-columns:1fr}}
.vd .rules div{padding:18px 20px;border-right:1px solid var(--d-line);display:flex;flex-direction:column;gap:6px}
.vd .rules div:last-child{border-right:0}
.vd .rules b{font-family:var(--mono);font-size:12px;color:var(--d-muted)}
.vd .rules h3{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:24px;line-height:1}
.vd .rules p{font-size:15px;color:var(--d-muted)}
.vd .mutedp{color:var(--d-muted);font-size:15px}
.vd .blk .mutedp{color:var(--d-bmuted)}
@media (prefers-reduced-motion:no-preference){.vd .live{animation:bl 2.4s ease-in-out infinite}.vb .tower i.blink{animation:bl 2.4s ease-in-out infinite}@keyframes bl{50%{opacity:.35}}}
.vd .sbox{border:1.5px solid var(--d-ink);background:var(--d-paper);margin-bottom:18px;min-width:0}
.vd .shd{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--d-line)}
.vd .shd small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.vd .shd h3{font-family:var(--arch);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:26px;line-height:1;margin-top:4px}
.vd .spriv{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--d-muted)}
.vd .spriv i{width:8px;height:8px;border-radius:50%;background:#2fa84f;flex:none}
.vd .sgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
@container (max-width:860px){.vd .sgrid{grid-template-columns:1fr}}
.vd .scol{padding:18px 20px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--d-line);min-width:0}
@container (max-width:860px){.vd .scol{border-right:0;border-bottom:1px solid var(--d-line)}}
.vd .sstage{position:relative;aspect-ratio:4/3;max-width:100%;border:1px dashed var(--d-dim);background-color:var(--d-paper);background-image:linear-gradient(var(--d-grid) 1px,transparent 1px),linear-gradient(90deg,var(--d-grid) 1px,transparent 1px);background-size:12px 12px;overflow:hidden}
.vd .sstage.over{border-color:var(--d-ink);border-style:solid;box-shadow:inset 0 0 0 3px var(--d-y)}
.vd .sbox.on .sstage{border-style:solid;border-color:var(--d-line)}
.vd .sph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:var(--d-ink)}
.vd .sph svg{width:140px;max-width:60%;height:auto;margin-bottom:6px}
.vd .sph b{font-size:16px}
.vd .sph span{font-family:var(--mono);font-size:12px;color:var(--d-muted)}
.vd .s3d{position:absolute;inset:0;cursor:grab}
.vd .s3d canvas{display:block;width:100%!important;height:100%!important}
.vd .sstat{position:absolute;left:12px;right:12px;bottom:12px;background:var(--d-ink);color:var(--d-white);font-family:var(--mono);font-size:12px;padding:9px 12px;border-left:3px solid var(--d-y)}
.vd .sstat.bad{border-left-color:#e5484d}
.vd .stime{position:absolute;right:10px;top:8px;font-family:var(--mono);font-size:11px;color:var(--d-muted)}
.vd .sbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.vd .sbtns span{font-size:13px;color:var(--d-muted)}
.vd .sbtns .ghost{color:var(--d-ink);border-color:var(--d-ink)}
.vd .slink{border:0;background:none;padding:2px 0;font-family:var(--mono);font-size:13px;color:var(--d-ink);text-decoration:underline;text-decoration-color:var(--d-y);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.vd .sinfo{padding:18px 20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.vd .slead{font-size:15px;color:var(--d-ink);max-width:46ch}
.vd .ssteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--d-line);counter-reset:s}
.vd .ssteps li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 8px;padding:10px 0;border-bottom:1px solid var(--d-line)}
.vd .ssteps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);font-size:12px;color:var(--d-muted);padding-top:2px}
.vd .ssteps b{font-size:14px}
.vd .ssteps span{font-size:13px;color:var(--d-muted)}
.vd .sname{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vd .sname .ft{font-family:var(--mono);font-size:10px;font-weight:600;background:var(--d-y);color:#111;padding:3px 6px}
.vd .sname b{font-size:15px;word-break:break-all}
.vd .sname span{font-family:var(--mono);font-size:12px;color:var(--d-muted)}
.vd .sname button{margin-left:auto;border:1px solid var(--d-line);background:none;border-radius:3px;padding:4px 10px;font-size:13px;color:var(--d-ink);cursor:pointer}
.vd .srows{display:grid;grid-template-columns:auto minmax(0,1fr);margin:0;border-top:1px solid var(--d-line)}
.vd .srows dt,.vd .srows dd{margin:0;padding:8px 0;border-bottom:1px solid var(--d-line);font-size:14px}
.vd .srows dt{color:var(--d-muted);padding-right:16px}
.vd .srows dd{font-family:var(--mono);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.vd .srows dd small{display:block;font-family:inherit;font-size:11px;color:var(--d-muted)}
.vd .skind{display:flex;gap:10px;align-items:flex-start;background:var(--d-ink);color:var(--d-white);padding:12px 14px;font-size:14px;line-height:1.45}
.vd .skind i{width:10px;height:10px;border-radius:50%;background:var(--d-y);flex:none;margin-top:5px}
.vd .swarn{font-size:13px;border-left:3px solid #e5484d;padding:4px 10px}
.vd .snote{font-size:13px;color:var(--d-muted)}
/* strona prawdziwa: linki zamiast przycisków makiety */
html,body{margin:0;background:#0b0b0b}
body{font-family:var(--plex);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.vd a.cta,.vd a.ghost,.vd a.lg{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.vd a.more{display:inline-block}
.vd .nav nav a{text-decoration:none}
.vd a{color:inherit}
.vd .nav nav a[aria-current=page]{color:var(--d-y)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:50;background:#f2c200;color:#111;padding:8px 12px}
.vd .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vd .prog{height:4px;background:var(--d-line);margin-top:10px}.vd .prog i{display:block;height:100%;width:0;background:var(--d-y);transition:width .2s}
.vd .legal{max-width:72ch}.vd .legal h2{margin:28px 0 8px}.vd .legal p,.vd .legal li{margin:0 0 10px}
/* telefon: szerokie rysunki i tabele przewijają się w swoim pudełku, strona nie */
.vd .sheetwrap{width:100%;max-width:100%}
.vd .spec>*{min-width:0}
.vd .ax{max-width:100%;overflow-x:auto}
@container (max-width:820px){.vd .spec{grid-template-columns:minmax(0,1fr)}}
.vd .spec>table{display:block;max-width:100%;overflow-x:auto}

/* próbka powierzchni materiału obok listy materiałów (kalkulator i formularz); struktura z szumu SVG, bez obrazków */
.matpick{position:relative;display:block;min-width:0}
.matpick select{padding-left:50px!important}
.matpick .sw{position:absolute;left:9px;top:50%;transform:translateY(-50%);pointer-events:none}
.sw{display:inline-block;flex:none;width:30px;height:30px;border-radius:3px;background-size:96px 96px,100% 100%;background-blend-mode:overlay,normal;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.45),0 1px 2px rgba(0,0,0,.18)}
.sw[data-g=aluminium]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.95' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"),linear-gradient(115deg,#c9ccd0,#eef0f2 38%,#b4b8bd 62%,#dfe2e5)}
.sw[data-g=stal]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03 0.55' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"),linear-gradient(115deg,#6e7378,#9a9fa4 40%,#5f6469 65%,#878c91)}
.sw[data-g=nierdzewna]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.01 0.8' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"),linear-gradient(115deg,#d7dce1,#f6f8fa 40%,#bcc3ca 64%,#e9edf0)}
.sw[data-g=mosiadz]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.95' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"),linear-gradient(115deg,#b8913a,#f1d98c 40%,#a98330 64%,#dcbf68)}
.sw[data-g=miedz]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.95' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"),linear-gradient(115deg,#a95a34,#f0b088 40%,#9c4f2b 64%,#d98a5e)}
.sw[data-g=plastik]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"),linear-gradient(160deg,#fbfaf6,#e9e6dd)}
.sw[data-g=inne]{background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(0,0,0,.35) 5px 6px),linear-gradient(#e3e2dc,#e3e2dc);background-blend-mode:normal}
/* Twoje zlecenie: „Masz link z maila?” (zwykły formularz GET, bez skryptu) */
.vd .trk{display:flex;flex-direction:column;gap:8px;max-width:620px;margin-top:6px}
.vd .trk label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-bmuted)}
.vd .trkrow{display:flex;gap:8px;flex-wrap:wrap}
.vd .trk input{flex:1 1 260px;min-width:0;font-family:var(--mono);font-size:14px;padding:12px 14px;border:1px solid var(--d-bline);border-radius:3px;background:var(--d-black);color:var(--d-white);color-scheme:dark}
.vd .trk input::placeholder{color:var(--d-dim)}
.vd .trk input:focus{outline:2px solid var(--d-y);outline-offset:1px}
.vd .trk button{flex:none;border:0;border-radius:3px;padding:12px 18px;font-size:15px;font-weight:600;background:var(--d-y);color:#111;cursor:pointer}
/* menu: na szerokim ekranie w jednym rzędzie, na telefonie i tablecie przycisk „Menu” z dużymi pozycjami (details, bez skryptu) */
.vd .mnav{display:none}
.vd .mnav summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 14px;border:1px solid var(--d-bline);border-radius:999px;color:var(--d-white);font-size:15px;font-weight:600;user-select:none}
.vd .mnav summary::-webkit-details-marker{display:none}
.vd .mnav summary::after,.vd .mnav[open] summary::after{content:none}
.vd .nav .mnav{border:0;padding:0}
.vd .nav a.lg{justify-content:flex-start;justify-self:start}
.vd .mnav summary:focus-visible{outline:2px solid var(--d-y);outline-offset:2px}
.vd .bars{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.vd .bars i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.vd .mnav[open] .bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.vd .mnav[open] .bars i:nth-child(2){opacity:0}
.vd .mnav[open] .bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.vd .mpanel{display:flex;flex-direction:column;gap:18px;padding-block:4px 24px;position:absolute;left:0;right:0;top:100%;z-index:50;
  background:var(--d-black);box-shadow:0 0 0 100vmax var(--d-black),0 24px 40px 100vmax rgba(0,0,0,.35);clip-path:inset(0 -100vmax -60px)}
.vd .mpanel nav{display:flex;flex-direction:column}
.vd .mpanel nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;border-bottom:1px solid var(--d-bline);color:var(--d-white);font-size:20px;font-weight:600;text-decoration:none}
.vd .mpanel nav a::after{content:"→";color:var(--d-bmuted);font-weight:400}
.vd .mpanel nav a[aria-current=page]{color:var(--d-y)}
.vd .mpanel nav a[aria-current=page]::after{color:var(--d-y)}
.vd .mpanel .cta{align-self:stretch;text-align:center;padding:14px 20px;font-size:16px}
.vd .mfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--d-bmuted)}
.vd .mfoot a{color:var(--d-white)}
/* konto klienta (portal FREI B2B): w nagłówku obok „Sprawdź cenę online”, na wąskim ekranie sama ikona; w menu telefonu pełny przycisk */
.vd a.acc{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--d-bline);border-radius:999px;padding:10px 16px;font-size:15px;color:var(--d-white);text-decoration:none;white-space:nowrap}
.vd a.acc:hover{border-color:var(--d-white)}
.vd a.acc:focus-visible{outline:2px solid var(--d-y);outline-offset:2px}
.vd a.acc svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.vd .mpanel a.acc{padding:13px 20px;font-size:16px}
/* język na telefonie i tablecie: okrągły przycisk z kodem (PL, EN, DE) obok konta, lista języków pod nim (Tomasz 2026-10-19: „na telefonie nie widzę zmiany języka”) */
.vd .mlang{display:none;position:relative}
.vd .nav .mlang{border:0;padding:0}
.vd .mlang summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--d-bline);border-radius:999px;
  color:var(--d-white);font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em;user-select:none}
.vd .mlang summary::-webkit-details-marker{display:none}
.vd .mlang summary::after,.vd .mlang[open] summary::after{content:none}
.vd .mlang[open] summary,.vd .mlang summary:hover{border-color:var(--d-white)}
.vd .mlang summary:focus-visible{outline:2px solid var(--d-y);outline-offset:2px}
.vd .mlpanel{position:absolute;left:0;top:calc(100% + 8px);z-index:60;display:flex;flex-direction:column;min-width:168px;padding:6px;
  background:var(--d-black);border:1px solid var(--d-bline);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.vd .mlpanel a,.vd .mlpanel b{padding:12px 14px;border-radius:8px;font-size:16px;font-weight:600;color:var(--d-white);text-decoration:none}
.vd .mlpanel a:hover,.vd .mlpanel a:focus-visible{background:var(--d-bline)}
.vd .mlpanel b{color:var(--d-y)}
/* 1101–1260 px: pięć linków menu mieści się w jednym rzędzie tylko bez „PL · EN · DE” i z samą ikoną konta; język w okrągłym przycisku */
@container (max-width:1260px){.vd .nav .dlang{display:none}.vd .nav .mlang{display:block}.vd .nav .dacc{padding:10px;width:44px;height:44px}.vd .nav .dacc span{display:none}}
@container (max-width:1100px){
  .vd .nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:10px 12px;position:relative}
  .vd .nav .dnav,.vd .nav .dlang{display:none}
  .vd .mnav{display:block;grid-column:5}
  .vd .nav .mlang{grid-column:2}
  .vd .nav .dacc{grid-column:3}
  .vd .nav .dcta{grid-column:4;padding:10px 16px}
}
@container (max-width:480px){.vd .nav .dcta{display:none}}
@container (max-width:430px){.vd .nav .lg svg{height:30px}}
/* do 400 px: logo, język, konto i menu w jednym rzędzie tylko z samymi ikonami (napis „Menu” zostaje dla czytników ekranu) */
@container (max-width:400px){.vd .nav{column-gap:8px}.vd .mnav summary{width:44px;height:44px;padding:0;justify-content:center}
  .vd .mnav .mlbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
/* stopka: kontakt, dwa adresy, usługi i linki prawne */
.vd .fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:4px 32px;font-size:14px;line-height:1.55;color:var(--d-bmuted)}
@container (max-width:900px){.vd .fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:480px){.vd .fcols{grid-template-columns:1fr}}
.vd .fcols>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.vd .fcols small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-dim);margin-bottom:6px}
.vd .fcols b{color:var(--d-white);font-weight:600}
.vd .fcols a{color:var(--d-bmuted);text-decoration:none;align-self:flex-start}
.vd .fcols a:hover{color:var(--d-white)}
.vd .fcols a.fmail{color:var(--d-y);font-size:16px;overflow-wrap:anywhere}
.vd .flinks{display:flex;gap:8px 22px;flex-wrap:wrap;padding-block:0 28px;font-size:13px;color:var(--d-bmuted)}
.vd .flinks a{color:var(--d-bmuted);text-decoration:underline;text-underline-offset:3px}
.vd .flinks a:hover{color:var(--d-white)}
.vd .flinks span{margin-left:auto}
@container (max-width:620px){.vd .flinks span{margin-left:0}}
/* zapis na nowości z podwójną zgodą (kontrakt v18 pkt 3c): karta w stopce każdej strony i pole e-mail na /newsletter/wypis */
.vd .nlbox{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);gap:18px 40px;align-items:start;margin-bottom:36px;padding:clamp(16px,2.6cqi,28px);background:var(--d-card);border:1px solid var(--d-bline);border-radius:4px}
@container (max-width:900px){.vd .nlbox{grid-template-columns:minmax(0,1fr)}}
.vd .nlhead{display:flex;flex-direction:column;gap:8px;min-width:0}
.vd .nlhead small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-y)}
.vd .nlhead b{font-family:var(--arch);font-stretch:78%;font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.4cqi,28px);line-height:1;color:var(--d-white);text-wrap:balance}
.vd .nlhead span{font-size:14px;line-height:1.5;color:var(--d-bmuted)}
.vd .nlform{display:flex;flex-direction:column;gap:12px;min-width:0}
.vd .nlrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.vd .nlout .nlrow{grid-template-columns:minmax(0,1fr) auto}
@container (max-width:620px){.vd .nlrow,.vd .nlout .nlrow{grid-template-columns:minmax(0,1fr)}}
.vd .nlrow .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.vd .nlsend{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.vd .nlform .cta{min-height:44px;padding-inline:22px;white-space:nowrap;cursor:pointer}
.vd .nlform .cta:disabled{opacity:.6;cursor:wait}
.vd .nlform .check{color:var(--d-bmuted);font-size:13px;line-height:1.5}
.vd .nlpriv,.vd .nlmsg,.vd .nldone{margin:0}
.vd .nlpriv{font-size:13px;color:var(--d-dim)}
.vd .nlpriv a{color:var(--d-bmuted);text-decoration:underline;text-underline-offset:3px}
.vd .nlpriv a:hover{color:var(--d-white)}
.vd .nlmsg{font-size:14px;color:var(--d-bmuted)}
.vd .nlmsg:empty{display:none}
.vd .nlmsg.err{color:#ff6a5a}
.vd .nldone{font-size:16px;line-height:1.5;color:var(--d-white);padding:12px 16px;border-left:3px solid var(--d-y);background:var(--d-black);outline:0}
.vd .nlform.sent>*:not(.nldone){display:none}
.vd .phead .nlout{max-width:620px;margin-top:6px}
.vd .phead .nlnote{margin:0;max-width:62ch}
/* Kontakt */
.vd .kgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@container (max-width:900px){.vd .kgrid{grid-template-columns:1fr}}
.vd .kcard{border:1.5px solid var(--d-ink);background:var(--d-paper);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.vd .kcard small{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.vd .kbig{font-size:clamp(20px,2.4cqi,28px);font-weight:600;color:var(--d-ink);overflow-wrap:anywhere;text-decoration:none}
a.kbig{border-bottom:2px solid var(--d-y);align-self:flex-start}
.vd .kmid{font-size:18px;font-weight:600}
.vd .kcard p{margin:0;color:var(--d-muted)}
.vd .kcard .cta{align-self:flex-start;text-decoration:none}
.vd .kcard .kmap{align-self:flex-start;color:var(--d-ink);font-size:15px;text-underline-offset:3px}
.vd .kcard .klegal{margin-top:auto;font-size:14px}

/* baner zgody Google Analytics (consent.js; tylko gdy ustawiony GA_MEASUREMENT_ID). Zasada: „Odrzuć” i „Akceptuj”
   zawsze tej samej wielkości i wagi. Wygląd „podziałka” (wybór Tomasza 2026-10-17): pasek na całą szerokość z podziałką jak na suwmiarce */
.vd .consent{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:0 max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));pointer-events:none;animation:cin .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes cin{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.vd .consent{animation:none}}
.vd .consent-in{pointer-events:auto;max-width:980px;margin:0 auto;display:flex;gap:16px 28px;align-items:center;flex-wrap:wrap}
.vd .consent-txt{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5}
.vd .consent-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.vd .consent-h{font-family:var(--arch);font-stretch:74%;font-weight:800;text-transform:uppercase;font-size:clamp(24px,3.2vw,34px);line-height:.95;letter-spacing:.005em}
.vd .consent-txt p{margin:0}
.vd .consent-txt a{text-underline-offset:3px;align-self:flex-start}
.vd .consent-btns{display:flex;gap:10px;flex:0 0 auto}
.vd .consent-btns button{min-width:132px;height:48px;padding:0 20px;font:inherit;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:2px solid currentColor;background:transparent;color:inherit;transition:background .15s,color .15s}
@media (max-width:560px){.vd .consent-btns{flex:1 1 100%}.vd .consent-btns button{flex:1;min-width:0}}

.vd .consent{padding:0;left:0;right:0}
.vd .consent .consent-scale{height:22px;background:
  repeating-linear-gradient(90deg,var(--d-y) 0 2px,transparent 2px 60px) 0 0/100% 22px no-repeat,
  repeating-linear-gradient(90deg,var(--d-y) 0 1px,transparent 1px 30px) 0 0/100% 14px no-repeat,
  repeating-linear-gradient(90deg,var(--d-y) 0 1px,transparent 1px 6px) 0 0/100% 8px no-repeat,var(--d-black);border-top:2px solid var(--d-y);pointer-events:auto}
.vd .consent .consent-in{max-width:none;background:var(--d-black);color:var(--d-white);padding:18px max(24px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));gap:14px 40px}
.vd .consent .consent-txt{max-width:760px}
.vd .consent .consent-tag{color:var(--d-y)}
.vd .consent .consent-txt p{color:var(--d-bmuted)}
.vd .consent .consent-txt a{color:var(--d-y)}
.vd .consent .consent-btns button{border-radius:999px}
.vd .consent .consent-btns button:hover,.vd .consent .consent-btns button:focus-visible{background:var(--d-y);border-color:var(--d-y);color:#111;outline:0}

.vd .linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--d-bmuted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vd .linkbtn:hover{color:var(--d-white)}
/* z pomiarem reklam (data-ads): „Wybierz zgody” obok linku do polityki i dwa pola wyboru, domyślnie puste */
.vd .consent-links{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline}
.vd .consent-more{background:none;border:0;padding:0;font:inherit;color:var(--d-y);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vd .consent-opts{display:flex;flex-direction:column;gap:8px;margin-block:4px}
.vd .consent-opts[hidden],.vd .consent-more[hidden]{display:none}
.vd .consent-opts label{display:flex;gap:10px;align-items:center;color:var(--d-white);cursor:pointer}
.vd .consent-opts input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--d-y)}
/* listy wyboru bez wyglądu systemowego: Safari ignoruje odstęp w natywnej liście (próbka materiału zasłaniała nazwę) */
.vd .f select{-webkit-appearance:none;appearance:none;padding-right:36px;background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.6'/%3E%3C/svg%3E")}
.vd .cin .f select{background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230d0d0d' stroke-width='1.6'/%3E%3C/svg%3E")}

/* rysunek z modelu STEP: przycisk przy pliku, podgląd A4, druk na jednej kartce A4 poziomo */
.vd .sdraw{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:1.5px solid var(--d-ink);background:var(--d-paper);padding:10px 14px;cursor:pointer;color:var(--d-ink)}
.vd .sdraw span{font-weight:600;font-size:15px}
.vd .sdraw small{font-size:12.5px;color:var(--d-muted)}
.vd .sdraw:hover{background:var(--d-y)}
.vd .sdraw:disabled{opacity:.6;cursor:progress}
.vd .dwov{position:fixed;inset:0;z-index:60;background:var(--d-black);display:flex;flex-direction:column;overflow:auto;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
.vd .dwbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--d-white);max-width:1200px;width:100%;margin:0 auto 12px}
.vd .dwbar b{font-size:17px}
.vd .dwbar span{font-size:13px;color:var(--d-bmuted);flex:1 1 260px}
@media (max-width:760px){.vd .dwbar b{order:0}.vd .dwbar .dwx{order:1;margin-left:auto}.vd .dwbar span{order:2;flex-basis:100%}.vd .dwbar .cta,.vd .dwbar [data-a=s]{order:3}}
.vd .dwpage{max-width:1200px;width:100%;margin:0 auto;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.vd .dwpage svg{display:block;width:100%;height:auto}
html.dwopen{overflow:hidden}
@media print{
  @page{size:A4 landscape;margin:0}
  html.dwopen body{background:#fff}
  html.dwopen .site .vd>*:not(.dwov){display:none!important}
  html.dwopen .vd .dwov{position:static;background:none;padding:0;overflow:visible}
  html.dwopen .vd .dwbar{display:none}
  html.dwopen .vd .dwpage{max-width:none;box-shadow:none;margin:0}
  html.dwopen .vd .dwpage svg{width:297mm;height:210mm}
  html.dwopen .consent,html.dwopen .cset{display:none!important}
}

/* cena docelowa klienta i „Chcę negocjować cenę” pod rozpisaną wyceną */
.vd .qneg{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--d-bline);padding-top:12px}
.vd .qneg label b{display:block;font-size:15px;color:var(--d-white)}
.vd .qneg label small,.vd .qneg .qneg-n{font-size:12.5px;color:var(--d-bmuted)}
.vd .qneg-in{display:flex;align-items:center;gap:8px;max-width:220px}
.vd .qneg-in input{flex:1;min-width:0;background:var(--d-card2);border:1px solid var(--d-bline);color:var(--d-white);padding:9px 10px;font:inherit;font-family:var(--mono)}
.vd .qneg-in span{font-family:var(--mono);font-size:13px;color:var(--d-bmuted)}
.vd .qneg .check{color:var(--d-white)}
.vd .qbask .bp small{display:block;font-size:11.5px;color:var(--d-y)}
/* telefon i tablet: ścieżka nad formularzem, kontakt mailem pod nim */
@container (max-width:900px){.vd .formcard{gap:20px}.vd .formcard .side{display:contents}.vd .formcard .side .send-mail{order:2}}
/* v15: „Twoja decyzja” o ofercie na stronie statusu (lib/status.mjs decisionBox, src/assets/status.js) */
.vd .dec{margin:24px 0 0;border:1.5px solid var(--d-ink);background:var(--d-paper);padding:clamp(16px,3cqi,28px);display:flex;flex-direction:column;gap:16px;scroll-margin-top:16px}
.vd .dec.top{margin:0 0 24px}
.vd .dech{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 16px;border-bottom:1.5px solid var(--d-ink);padding-bottom:12px}
.vd .dech h3{font-family:var(--arch);font-stretch:78%;font-weight:800;text-transform:uppercase;font-size:clamp(24px,3cqi,32px);line-height:1}
.vd .dech span{font-family:var(--mono);font-size:13px;color:var(--d-muted)}
.vd .dech b{color:var(--d-ink);font-weight:500}
.vd .dec>.mutedp{margin:0;max-width:62ch}
.vd .decb{display:flex;gap:10px;flex-wrap:wrap}
.vd a.ghost.lt{border-color:var(--d-ink);color:var(--d-ink)}
.vd a.ghost.lt:hover{background:var(--d-ink);color:var(--d-paper)}
.vd .decf{display:none;flex-direction:column;gap:14px;border-top:1px solid var(--d-line);padding-top:20px;scroll-margin-top:16px}
.vd .decf:target{display:flex}
.vd .decf h4{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--d-ink);padding-bottom:8px;margin:6px 0 0}
.vd .dec .f{display:flex;flex-direction:column;gap:6px}
.vd .dec .f small{font-size:12px;color:var(--d-muted)}
.vd .dec .cin .f textarea{border-color:var(--d-line);background:var(--d-paper);color:var(--d-ink);border-radius:3px}
.vd .decnote{margin:0;border-left:3px solid var(--d-y);background:#f7f6ee;padding:12px 14px;font-size:14px;line-height:1.5;max-width:72ch}
.vd .dec .check{font-size:15px}
.vd .dec .mono{font-family:var(--mono);font-weight:500}
.vd .dec .err{color:#b42318;margin:0;font-size:14px}
.vd .decok{margin:0;display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.5}
.vd .decok::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:#1f9d48;margin-top:7px}
.vd .dec .sendrow .more{align-self:center;text-decoration:none}
.vd .decwait{margin-bottom:18px}
.vd .demo+.decwait{margin:18px 0 0}

/* Dokumenty do zlecenia (kontrola-jakosci#dokumenty): miniatury przykładów PDF */
.vd .dintro{max-width:72ch;margin:0}
.vd .docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vd .doc{border:1.5px solid var(--d-ink);background:var(--d-paper);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--d-ink);text-decoration:none}
.vd .doc *{text-decoration:none}
.vd .doc img{width:100%;height:auto;border:1px solid var(--d-line);aspect-ratio:560/792;object-fit:cover;object-position:top;max-height:300px}
.vd .doc h3{font-size:17px;font-weight:600}
.vd .doc small{font-size:13px;color:var(--d-muted)}
.vd .doc .dex{align-self:flex-start;margin-top:4px;background:var(--d-y);color:#111;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px}
.vd .doc .dpdf{margin-top:auto;font-size:14px;font-weight:600;border-bottom:2px solid var(--d-y);align-self:flex-start}
.vd .doc:hover,.vd .doc:focus-visible{box-shadow:4px 4px 0 var(--d-y)}
@container (max-width:900px){.vd .docs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.vd .docs{grid-template-columns:minmax(0,1fr)}}
/* ---------- druk 3D (Tomasz 2026-10-31): /druk-3d i /druk-3d/wycena ---------- */
/* materiały jako karty z opisem i ocenami 1–5; „rec” = podpowiedź doradcy (Do czego jest detal?) */
.vd .pmats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@container (max-width:520px){.vd .pmats{grid-template-columns:1fr}}
.vd .pmat{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--d-line);background:var(--d-paper);color:var(--d-ink);border-radius:3px;padding:10px 12px;cursor:pointer;font:inherit;position:relative}
.vd .pmat:hover{border-color:var(--d-ink)}
.vd .pmat[aria-checked="true"]{border:2px solid var(--d-ink);padding:9px 11px;box-shadow:inset 4px 0 0 var(--d-y)}
.vd .pmat.rec::after{content:"★";position:absolute;top:8px;right:10px;color:var(--d-y);font-size:16px;line-height:1;-webkit-text-stroke:.6px var(--d-ink)}
.vd .pmh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-right:18px}
.vd .pmh b{font-family:var(--arch);font-stretch:85%;font-weight:800;font-size:18px;letter-spacing:.02em}
.vd .pmh small{font-family:var(--mono);font-size:11px;color:var(--d-muted)}
.vd .pmd{font-size:13px;line-height:1.4;color:var(--d-muted)}
.vd .pmp{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:3px 12px}
.vd .pmp>span{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11.5px;color:var(--d-muted)}
.vd .prate{display:inline-flex;gap:2px;flex:none}
.vd .prate i{width:7px;height:7px;border:1px solid var(--d-ink);background:var(--d-paper)}
.vd .prate i.on{background:var(--d-ink)}
/* kolory: próbka koloru w przycisku */
.vd .pcols button{display:inline-flex;align-items:center;gap:7px}
.vd .pcols button i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.35);flex:none}
.vd .pcols button[aria-pressed="true"] i{box-shadow:0 0 0 2px var(--d-paper)}
.vd .pconf{border:1px dashed var(--d-ink);padding:10px 12px;font-size:14px;line-height:1.45}
.vd .pconf b{font-weight:700}
/* ustawienie na stole i jednostki pliku w opisie modelu (krok 1) */
.vd .pup{margin-top:12px}
.vd .pup .chips button{border-color:var(--d-line);color:var(--d-ink);border-radius:3px;padding:6px 10px;font-size:13px}
.vd .pup .chips button[aria-pressed="true"]{background:var(--d-ink);color:var(--d-paper);border-color:var(--d-ink)}
.vd .pup label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.vd .punits{border:1px solid var(--d-y);background:#fffbe6;padding:10px 12px;margin:10px 0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.vd .punits .chips button{border-color:var(--d-ink);color:var(--d-ink);border-radius:3px}
.vd .punits .chips button[aria-pressed="true"]{background:var(--d-ink);color:var(--d-paper)}
.vd .qres .swarn{color:var(--d-y);font-size:13px;line-height:1.45;margin:0}
/* strona /druk-3d: tabela materiałów, parametry, pytania */
.vd .mtab{overflow-x:auto;border:1.5px solid var(--d-ink);background:var(--d-paper)}
.vd .mtab table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.vd .mtab th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted);text-align:left;padding:10px 12px;border-bottom:1.5px solid var(--d-ink);font-weight:500}
.vd .mtab td{padding:10px 12px;border-bottom:1px solid var(--d-line);vertical-align:top;line-height:1.4}
.vd .mtab td:first-child{white-space:nowrap}
.vd .mtab td:nth-child(3),.vd .mtab td:nth-child(4){white-space:nowrap;font-family:var(--mono);font-size:13px}
.vd .mtab tr:last-child td{border-bottom:0}
.vd .mnote{margin-top:12px;max-width:72ch}
.vd .pdl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}
.vd .pdl dt{color:var(--d-muted)}
.vd .pdl dd{margin:0}
.vd .faq{display:flex;flex-direction:column;border-top:1.5px solid var(--d-ink)}
.vd .faq details{border-bottom:1px solid var(--d-line);background:var(--d-paper)}
.vd .faq summary{cursor:pointer;padding:14px 16px;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.vd .faq summary::-webkit-details-marker{display:none}
.vd .faq summary::after{content:"+";font-family:var(--mono);font-size:18px;line-height:1}
.vd .faq details[open] summary::after{content:"−"}
.vd .faq p{padding:0 16px 16px;margin:0;color:var(--d-muted);line-height:1.55;max-width:80ch}
/* ---------- Druk 3D w stylu Apple FREI (Tomasz 2026-10-31: „trochę filmowo”, „bardzo intuicyjne, styl apple FREI”): kino3d.js ----------
   film na czerni przewijany jak suwak, potem jasne sekcje z dużym, zwykłym (nie wersalikowym) krojem, kafle, doradca materiału */
.vd .k3,.vd .k3l,.vd .k3end{--k-ink:#0d0d0d;--k-soft:#f4f4f2;--k-tile:#ffffff;--k-mut:#6b6b66;--k-line:#e3e3de;--k-y:var(--d-y);--k-bk:#000;--k-bmut:#a1a19a}
.vd :is(.k3,.k3l,.k3end) :is(h1,h2,h3){font-family:var(--plex);font-stretch:100%;text-transform:none;letter-spacing:-.025em;margin:0}
.vd .k3eye{font-size:15px;font-weight:600;letter-spacing:0;margin:0;color:var(--k-y)}
.vd .k3l .k3eye{color:#9a7b00}
.vd .k3act{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px}
/* film */
.vd .k3{position:relative;background:var(--k-bk);color:#f5f5f0}
.vd .k3.js{height:640svh}
.vd .k3stage{position:relative;overflow:hidden;background:radial-gradient(120% 80% at 65% 45%,#1a1a1a 0,#050505 60%)}
.vd .k3.js .k3stage{position:sticky;top:0;height:100svh}
.vd .k3gl{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s ease}
.vd .k3stage.gl .k3gl{opacity:1}
.vd .k3grain{position:absolute;inset:-50%;pointer-events:none;opacity:.5;mix-blend-mode:overlay;animation:k3g .9s steps(6) infinite}
.vd .k3stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(130% 95% at 60% 45%,transparent 55%,rgba(0,0,0,.7)),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35) 38%,transparent 55%)}
@keyframes k3g{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(5%,2%)}100%{transform:translate(0,0)}}
.vd .k3cap{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;padding:48px clamp(16px,5cqi,64px);max-width:640px}
.vd .k3.js .k3cap{position:absolute;left:0;top:calc(50% - var(--k3lo,0px)/2);transform:translateY(calc(-50% + 28px));opacity:0;visibility:hidden;
  transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1),visibility 0s linear .7s;padding-block:0}
.vd .k3.js .k3cap.on{opacity:1;visibility:visible;transform:translateY(-50%);transition:opacity .7s ease .1s,transform .9s cubic-bezier(.2,.7,.2,1) .1s,visibility 0s}
.vd .k3cap h1,.vd .k3cap h2{font-size:clamp(46px,7.4cqi,104px);line-height:.98;font-weight:600;color:#f5f5f0}
.vd .k3cap h2{font-size:clamp(42px,6.4cqi,88px)}
.vd .k3cap h1 span,.vd .k3cap h2 span{color:var(--k-bmut)}
.vd .k3cap>p:not(.k3eye){font-size:clamp(17px,1.6cqi,21px);line-height:1.45;color:var(--k-bmut);max-width:34ch;margin:0}
.vd .k3stage[data-ch="4"] .k3cap.on h2 span{color:#ff7a3d}
.vd .k3hud{position:absolute;z-index:2;left:clamp(16px,5cqi,64px);right:clamp(16px,5cqi,64px);bottom:calc(22px + var(--k3lo,0px));display:flex;align-items:center;gap:16px;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--k-bmut)}
.vd .k3:not(.js) .k3hud{display:none}
.vd .k3hud span{white-space:nowrap;min-width:0}
.vd .k3hud i{flex:1;height:1px;background:#2b2b28;position:relative}
.vd .k3hud b{position:absolute;left:0;top:-.5px;height:2px;width:0;background:var(--k-y)}
@container (max-width:860px){
  .vd .k3stage::after{background:radial-gradient(130% 95% at 50% 40%,transparent 55%,rgba(0,0,0,.7))}
  .vd .k3.js .k3cap{top:auto;right:0;bottom:calc(56px + var(--k3lo,0px));transform:translateY(28px);max-width:none;gap:12px;
    background:linear-gradient(to top,rgba(0,0,0,.92) 45%,rgba(0,0,0,.6) 75%,transparent);padding-top:90px}
  .vd .k3.js .k3cap.on{transform:none}
  .vd .k3cap h1,.vd .k3cap h2{font-size:clamp(38px,11cqi,64px)}
  .vd .k3cap>p:not(.k3eye){font-size:16px}
}
/* telefony i iPady (Safari): ziarno stoi, żeby nie przeliczać mieszania kolorów nad WebGL w każdej klatce */
@media (hover:none){.vd .k3grain{animation:none}}
@media (prefers-reduced-motion:reduce){.vd .k3grain{animation:none}.vd .k3.js .k3cap,.vd .k3.js .k3cap.on{transition:opacity .3s}}
/* jasne sekcje */
.vd .k3l{background:var(--k-tile);color:var(--k-ink)}
.vd .k3l.k3soft{background:var(--k-soft)}
.vd .k3in{padding-block:clamp(64px,9cqi,120px);display:flex;flex-direction:column;gap:18px;max-width:1240px;margin:0 auto}
.vd .k3big{font-size:clamp(36px,5.6cqi,72px);line-height:1.02;font-weight:600;max-width:18ch}
.vd .k3big span{color:var(--k-mut)}
.vd .k3l .k3big{color:var(--k-ink)}
.vd .k3tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.vd .k3t{background:var(--k-soft);border-radius:22px;padding:28px 26px;display:flex;flex-direction:column;gap:8px;min-width:0}
.vd .k3t2{grid-column:span 2}
.vd .k3t small{font-size:14px;font-weight:600;color:var(--k-mut)}
.vd .k3t b{font-size:clamp(28px,3.2cqi,44px);line-height:1.05;letter-spacing:-.025em;font-weight:600}
.vd .k3t p{margin:0;font-size:16px;line-height:1.5;color:var(--k-mut);max-width:44ch}
.vd .k3t .more{margin-top:auto;padding-top:10px}
.vd .k3t.k3dark{background:var(--k-bk);color:#f5f5f0}
.vd .k3t.k3dark p,.vd .k3t.k3dark small{color:var(--k-bmut)}
.vd .k3t.k3dark .more{color:#f5f5f0}
.vd .k3t.k3y{background:var(--k-y)}
.vd .k3t.k3y p,.vd .k3t.k3y small{color:#3b3200}
@container (max-width:900px){.vd .k3tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.vd .k3tiles{grid-template-columns:minmax(0,1fr)}.vd .k3t2{grid-column:auto}}
/* doradca materiału */
.vd .k3need{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.vd .k3need button{border:1px solid #cfcfc9;background:var(--k-tile);border-radius:999px;padding:10px 18px;font-size:15px;cursor:pointer;color:var(--k-ink);transition:background .2s,border-color .2s}
.vd .k3need button:hover{border-color:var(--k-ink)}
.vd .k3need button[aria-pressed="true"]{background:var(--k-ink);border-color:var(--k-ink);color:#fff}
.vd .k3mats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:10px}
.vd .k3mat{background:var(--k-tile);border-radius:22px;padding:24px 22px;display:flex;flex-direction:column;gap:10px;min-width:0;position:relative;
  transition:opacity .35s,transform .35s,box-shadow .35s;border:2px solid transparent}
.vd .k3mats.picked .k3mat:not(.rec){opacity:.42}
.vd .k3mat.rec{border-color:var(--k-y);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.vd .k3rec{display:none;position:absolute;top:18px;right:18px;font-style:normal;font-size:12px;font-weight:600;background:var(--k-y);color:#111;border-radius:999px;padding:4px 10px}
.vd .k3mat.rec .k3rec{display:block}
.vd .k3sw{display:block;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#d9d9d4 0 15%,var(--c) 16% 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),inset 0 -6px 12px rgba(0,0,0,.18);font-style:normal}
.vd .k3mat h3{font-size:24px;font-weight:600}
.vd .k3mat>p{margin:0;font-size:15px;line-height:1.5;color:var(--k-mut)}
.vd .k3bars{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.vd .k3bars:empty{display:none}
.vd .k3bars div{display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:10px;font-size:13px;color:var(--k-mut)}
.vd .k3bars i{height:5px;border-radius:3px;background:var(--k-line);overflow:hidden;font-style:normal}
.vd .k3bars b{display:block;height:100%;background:var(--k-ink);border-radius:3px}
.vd .k3mat dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--k-line);font-size:13px}
.vd .k3mat dt{color:var(--k-mut)}
.vd .k3mat dd{margin:0;text-align:right;font-weight:500}
.vd .k3note{margin:6px 0 0;font-size:14px;color:var(--k-mut)}
@container (max-width:1000px){.vd .k3mats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.vd .k3mats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * clamp(16px,5cqi,64px));padding:6px clamp(16px,5cqi,64px) 14px;scrollbar-width:none}
  .vd .k3mats::-webkit-scrollbar{display:none}.vd .k3mat{flex:0 0 78%;scroll-snap-align:start}}
/* kroki, parametry, pytania */
.vd .k3steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.vd .k3steps li{display:flex;flex-direction:column;gap:8px;min-width:0}
.vd .k3steps b{font-size:56px;line-height:1;font-weight:600;letter-spacing:-.04em;color:var(--k-y)}
.vd .k3steps h3{font-size:22px;font-weight:600}
.vd .k3steps p{margin:0;font-size:16px;line-height:1.5;color:var(--k-mut)}
@container (max-width:900px){.vd .k3steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:480px){.vd .k3steps{grid-template-columns:minmax(0,1fr)}}
.vd .k3spec{display:grid;grid-template-columns:minmax(120px,240px) minmax(0,1fr);margin:24px 0 0;border-top:1px solid #d6d6d0}
.vd .k3spec dt,.vd .k3spec dd{padding:16px 0;border-bottom:1px solid #d6d6d0;font-size:17px;line-height:1.45}
.vd .k3spec dt{font-weight:600}
.vd .k3spec dd{margin:0;color:var(--k-mut)}
@container (max-width:560px){.vd .k3spec{grid-template-columns:minmax(0,1fr)}.vd .k3spec dt{border-bottom:0;padding-bottom:2px}.vd .k3spec dd{padding-top:0}}
.vd .k3faq{border-top:1px solid #d6d6d0;margin-top:18px;max-width:900px}
.vd .k3faq details{background:none;border-bottom:1px solid #d6d6d0}
.vd .k3faq summary{padding:20px 0;font-size:19px}
.vd .k3faq p{padding:0 0 20px;font-size:16px}
.vd .k3end{background:var(--k-bk);color:#f5f5f0;text-align:center}
.vd .k3end .k3in{align-items:center}
.vd .k3end .k3big{color:#f5f5f0}
.vd .k3end .k3big span{color:var(--k-y)}
.vd .k3end p{margin:0;font-size:18px;line-height:1.5;color:var(--k-bmut);max-width:46ch}
.vd .k3end .k3act{justify-content:center}
