/* KONCEPCJA B — PRZEMYSŁOWA PEWNOŚĆ (HYBRYDA)
   dark-first hero + jasne powierzchnie katalogowe, bento, duża typografia, fotografia */
:root {
  --navy: #0B1526;
  --navy-2: #111F38;
  --navy-3: #1A2C4E;
  --paper: #F6F7F9;
  --card: #FFFFFF;
  --ink: #10161F;
  --ink-2: #47525F;
  --ink-3: #5A6472;
  --line: rgba(16,22,31,.1);
  --line-dark: rgba(255,255,255,.09);
  --yellow: #FFD21F;
  --yellow-deep: #EABD00;
  --steel: #4C8DDA;
  --radius: 18px;
  --radius-sm: 10px;
  --shadow: 0 2px 8px rgba(11,21,38,.05), 0 14px 44px rgba(11,21,38,.08);
  --sans: "Inter", system-ui, sans-serif;
  --disp: "Archivo", "Inter", sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--paper); color:var(--ink); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1280px; margin:0 auto; padding:0 36px; }

/* ============ TOPBAR (dark) ============ */
.topbar { background:var(--navy); color:rgba(255,255,255,.6); font-size:13px; border-bottom:1px solid var(--line-dark); }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; height:40px; }
.topbar a:hover { color:var(--yellow); }
.topbar .t-right { display:flex; gap:24px; align-items:center; }
.topbar .lang a { font-weight:600; color:rgba(255,255,255,.4); }
.topbar .lang a.on { color:var(--yellow); }

/* ============ HEADER (dark, sticky) ============ */
header.site { position:sticky; top:0; z-index:100; background:rgba(11,21,38,.88); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line-dark); }
header.site .wrap { display:flex; justify-content:space-between; align-items:center; height:74px; }
.brand img { height:36px; }
nav.main { display:flex; align-items:center; gap:4px; }
nav.main a { padding:9px 16px; font-size:14.5px; font-weight:500; color:rgba(255,255,255,.75); border-radius:999px; transition:all .18s; }
nav.main a:hover { color:#fff; background:rgba(255,255,255,.08); }
nav.main a.on { color:var(--navy); background:var(--yellow); font-weight:700; }
nav.main a.cta { background:var(--yellow); color:var(--navy); font-weight:700; margin-left:10px; padding:11px 22px; }
nav.main a.cta:hover { background:#fff; }

/* ============ HERO (dark, fotografia) ============ */
.hero { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center 35%; opacity:.5; }
.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,21,38,.97) 22%, rgba(11,21,38,.55) 62%, rgba(11,21,38,.25)); }
.hero .wrap { position:relative; padding:96px 36px 0; }
.hero-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(8px); border-radius:999px; padding:8px 18px; font-size:13px; font-weight:500; color:rgba(255,255,255,.85); margin-bottom:34px; }
.hero-badge b { color:var(--yellow); font-weight:700; }
.hero h1 { font-family:var(--disp); font-size:clamp(42px,6vw,84px); font-weight:800; line-height:1.0; letter-spacing:-.025em; max-width:15ch; }
.hero h1 .y { color:var(--yellow); }
.hero p.lead { margin-top:26px; font-size:18.5px; line-height:1.6; color:rgba(255,255,255,.72); max-width:54ch; }
.hero-cta { margin-top:38px; display:flex; gap:14px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:16px 30px; border-radius:999px; font-weight:600; font-size:15.5px; transition:all .18s; cursor:pointer; border:0; }
.btn-y { background:var(--yellow); color:var(--navy); }
.btn-y:hover { background:#fff; transform:translateY(-2px); box-shadow:0 12px 30px rgba(255,210,31,.25); }
.btn-o { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.3); }
.btn-o:hover { border-color:var(--yellow); color:var(--yellow); }
.hero-trust { margin-top:64px; padding:26px 0 30px; border-top:1px solid var(--line-dark); display:flex; align-items:center; gap:44px; flex-wrap:wrap; }
.hero-trust .iso { display:flex; align-items:center; gap:16px; }
.hero-trust .iso img { width:76px; height:auto; }
.hero-trust .iso .tx { font-size:13.5px; color:rgba(255,255,255,.65); line-height:1.45; }
.hero-trust .iso .tx b { display:block; color:#fff; font-size:14.5px; }
.hero-trust .iso:hover .tx b { color:var(--yellow); }

/* ============ SEKCJA ISO (home) ============ */
.iso-home { background:var(--paper); }
.iso-home-grid { display:grid; grid-template-columns:340px 1fr; gap:70px; align-items:center; }
.iso-cert-card { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:44px 40px; display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center; transition:transform .25s, box-shadow .25s; }
.iso-cert-card:hover { transform:translateY(-5px); box-shadow:0 6px 16px rgba(11,21,38,.08), 0 26px 70px rgba(11,21,38,.15); }
.iso-cert-card img { width:210px; height:auto; }
.iso-cert-card .cc-cap { font-size:13px; color:var(--ink-3); font-weight:500; line-height:1.5; }
.iso-cert-card .cc-cap b { display:block; color:var(--navy); font-size:14.5px; font-weight:700; margin-bottom:3px; }
.iso-meta { margin-top:26px; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:8px 30px; }
.iso-meta .row { display:flex; justify-content:space-between; gap:26px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.iso-meta .row:last-child { border-bottom:0; }
.iso-meta .k { color:var(--ink-3); font-weight:500; }
.iso-meta .v { font-weight:700; color:var(--navy); text-align:right; }
.iso-actions { margin-top:28px; display:flex; gap:14px; flex-wrap:wrap; }
.iso-actions .btn-o { color:var(--navy); border-color:var(--line); }
.iso-actions .btn-o:hover { border-color:var(--navy); color:var(--navy); }
@media (max-width:900px){ .iso-home-grid { grid-template-columns:1fr; gap:36px; } .iso-cert-card { max-width:380px; margin:0 auto; } }
.hero-trust .ht-item { font-size:13.5px; color:rgba(255,255,255,.55); }
.hero-trust .ht-item b { color:var(--yellow); font-family:var(--disp); font-size:17px; margin-right:6px; }

/* ============ BENTO sektory ============ */
section.blk { padding:96px 0; }
.eyebrow { font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.eyebrow::before { content:''; width:26px; height:2px; background:var(--steel); border-radius:2px; }
.dark .eyebrow { color:var(--yellow); }
.dark .eyebrow::before { background:var(--yellow); }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:56px; }
h2.sec-title { font-family:var(--disp); font-size:clamp(30px,3.8vw,54px); font-weight:800; line-height:1.04; letter-spacing:-.02em; }
.sec-lead { color:var(--ink-2); max-width:44ch; font-size:16.5px; }

.bento { display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:230px; gap:18px; }
.bento a { border-radius:var(--radius); overflow:hidden; position:relative; display:block; transition:transform .25s, box-shadow .25s; }
.bento a:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.bento .big { grid-column:span 3; grid-row:span 2; }
.bento .med { grid-column:span 2; }
.bento .ph { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s; }
.bento a:hover .ph { transform:scale(1.05); }
.bento .ov { position:absolute; inset:0; background:linear-gradient(185deg, transparent 30%, rgba(11,21,38,.88) 82%); }
.bento .tx { position:absolute; left:0; right:0; bottom:0; padding:26px; color:#fff; }
.bento .tx .k { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--yellow); }
.bento .tx h3 { font-family:var(--disp); font-size:22px; font-weight:800; margin-top:6px; line-height:1.15; }
.bento .big .tx h3 { font-size:30px; }
.bento .tx p { font-size:14px; color:rgba(255,255,255,.75); margin-top:8px; max-width:36ch; }

/* ============ PRODUKTY — jasne karty ============ */
.prod-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.p-card { background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column; }
.p-card:hover { transform:translateY(-6px); box-shadow:0 6px 16px rgba(11,21,38,.08), 0 24px 64px rgba(11,21,38,.14); }
.p-card .ph { height:220px; background:#fff; display:flex; align-items:center; justify-content:center; padding:26px; border-bottom:1px solid var(--line); }
.p-card .ph img { max-height:100%; object-fit:contain; }
.p-card .bd { padding:26px 28px 30px; flex:1; display:flex; flex-direction:column; }
.p-card .chip { align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,210,31,.25); color:#7A5E00; border-radius:999px; padding:5px 12px; margin-bottom:14px; }
.p-card .chip.new { background:var(--yellow); color:var(--navy); }
.p-card h3 { font-family:var(--disp); font-size:21px; font-weight:800; }
.p-card .spec { margin-top:8px; font-size:13.5px; color:var(--ink-3); font-weight:500; }
.p-card p { margin-top:12px; font-size:14.5px; color:var(--ink-2); flex:1; }
.p-card .go { margin-top:20px; font-weight:700; font-size:14.5px; color:var(--navy); display:flex; align-items:center; gap:8px; }
.p-card .go::after { content:'→'; color:var(--yellow-deep); font-size:18px; transition:transform .18s; }
.p-card:hover .go::after { transform:translateX(6px); }

/* ============ WHY dark ============ */
.dark { background:var(--navy); color:#fff; }
.dark .sec-lead { color:rgba(255,255,255,.6); }
.dark h2.sec-title { color:#fff; }
.why-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.why-img { border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.why-img img { aspect-ratio:4/3.4; object-fit:cover; width:100%; }
.check-list { list-style:none; margin-top:34px; display:grid; gap:4px; }
.check-list li { display:flex; gap:16px; padding:15px 0; border-bottom:1px solid var(--line-dark); font-size:16px; color:rgba(255,255,255,.85); }
.check-list li::before { content:'✓'; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:rgba(255,210,31,.15); color:var(--yellow); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }

/* ============ LICZBY ============ */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.stat { background:var(--card); border-radius:var(--radius); padding:34px 32px; box-shadow:var(--shadow); }
.stat .num { font-family:var(--disp); font-size:clamp(36px,3.6vw,54px); font-weight:800; letter-spacing:-.03em; color:var(--navy); }
.stat .num em { font-style:normal; color:var(--yellow-deep); }
.stat .lab { font-size:14px; color:var(--ink-3); margin-top:6px; font-weight:500; }

/* ============ CTA ============ */
.cta-band { background:var(--yellow); color:var(--navy); padding:76px 0; }
.cta-band .wrap { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.cta-band h2 { font-family:var(--disp); font-size:clamp(28px,3.4vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.05; }
.cta-band p { margin-top:10px; font-size:16.5px; color:rgba(11,21,38,.72); font-weight:500; }
.cta-band .btn { background:var(--navy); color:#fff; flex:0 0 auto; }
.cta-band .btn:hover { background:var(--navy-3); transform:translateY(-2px); }

/* ============ FOOTER (dark) ============ */
footer.site { background:var(--navy); color:rgba(255,255,255,.65); padding:72px 0 0; }
.f-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; }
.f-grid h4 { font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:20px; }
.f-grid a.fl { display:block; padding:7px 0; font-size:14.5px; }
.f-grid a.fl:hover { color:var(--yellow); }
.f-brand img { height:36px; margin-bottom:18px; }
.f-brand p { font-size:14.5px; max-width:36ch; color:rgba(255,255,255,.55); }
.f-cert { display:flex; align-items:center; gap:14px; margin-top:24px; }
.f-cert img { width:68px; height:auto; }
.f-cert span { font-size:12.5px; line-height:1.45; color:rgba(255,255,255,.5); }
.f-cert span b { display:block; color:#fff; font-size:13px; }
.f-reg span { display:block; font-size:13.5px; padding:4px 0; color:rgba(255,255,255,.5); }
.f-reg b { color:rgba(255,255,255,.85); font-weight:600; }
.f-bottom { border-top:1px solid var(--line-dark); padding:24px 0; display:flex; justify-content:space-between; font-size:13px; color:rgba(255,255,255,.4); }

/* ============ PODSTRONY ============ */
.crumbs { font-size:13px; color:var(--ink-3); padding:26px 0 0; }
.crumbs a:hover { color:var(--steel); }
.page-head { padding:44px 0 52px; }
.page-head h1 { font-family:var(--disp); font-size:clamp(32px,4.4vw,60px); font-weight:800; letter-spacing:-.02em; line-height:1.02; margin-top:16px; }
.page-head .lead { margin-top:18px; font-size:17.5px; color:var(--ink-2); max-width:62ch; }

/* karta produktu */
.pd-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; padding-bottom:80px; align-items:start; }
.pd-grid > div > *:first-child { margin-top:0; }
.pd-grid > div > .spec-card:first-child { margin-top:0; }
.pd-gallery .main { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:36px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; }
.pd-gallery .main img { max-height:100%; object-fit:contain; }
.spec-card { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:34px 36px; }
.spec-card h2 { font-family:var(--disp); font-size:22px; font-weight:800; margin-bottom:18px; }
.spec-row { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.spec-row:last-child { border-bottom:0; }
.spec-row .k { color:var(--ink-3); font-weight:500; }
.spec-row .v { font-weight:700; text-align:right; color:var(--navy); }
.docs { margin-top:22px; display:grid; gap:10px; }
.doc { display:flex; align-items:center; gap:14px; background:var(--card); border-radius:var(--radius-sm); box-shadow:var(--shadow); padding:15px 20px; font-size:14.5px; font-weight:600; transition:transform .15s; }
.doc:hover { transform:translateX(4px); }
.doc .ic { width:36px; height:36px; border-radius:8px; background:rgba(255,210,31,.25); display:flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 auto; }
.doc small { color:var(--ink-3); font-weight:500; margin-left:auto; }
.problem-band { background:var(--navy); color:#fff; border-radius:var(--radius); padding:38px 42px; margin:56px 0; display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; }
.problem-band .ic { width:64px; height:64px; border-radius:16px; background:rgba(255,210,31,.14); display:flex; align-items:center; justify-content:center; font-size:28px; }
.problem-band h3 { font-family:var(--disp); font-size:21px; font-weight:800; margin-bottom:8px; color:var(--yellow); }
.problem-band p { color:rgba(255,255,255,.78); font-size:15.5px; }

/* katalog */
.cat-layout { display:grid; grid-template-columns:270px 1fr; gap:40px; padding-bottom:80px; }
.filters { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:28px; align-self:start; position:sticky; top:100px; }
.filters h3 { font-family:var(--disp); font-size:16px; font-weight:800; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.f-group { margin-bottom:22px; }
.f-group .fg-t { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:10px; }
.f-opt { display:flex; align-items:center; gap:10px; padding:6px 0; font-size:14.5px; cursor:pointer; color:var(--ink-2); }
.f-opt input { accent-color:var(--navy); width:17px; height:17px; }
.search-bar { display:flex; background:var(--card); border-radius:999px; box-shadow:var(--shadow); overflow:hidden; margin-bottom:24px; }
.search-bar input { flex:1; border:0; padding:16px 26px; font-size:15px; font-family:var(--sans); outline:none; background:transparent; }
.search-bar button { border:0; background:var(--navy); color:#fff; font-weight:700; padding:0 32px; font-size:14px; cursor:pointer; }
.search-bar button:hover { background:var(--navy-3); }
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cat-count { font-size:14px; color:var(--ink-3); margin-bottom:16px; font-weight:500; }

/* artykuł */
.art-layout { display:grid; grid-template-columns:1fr 320px; gap:64px; padding-bottom:88px; }
.art-body { max-width:70ch; }
.art-body h2 { font-family:var(--disp); font-size:26px; font-weight:800; margin:42px 0 16px; letter-spacing:-.01em; }
.art-body p { font-size:17px; color:var(--ink-2); margin-bottom:20px; line-height:1.65; }
.art-body p:first-of-type { font-size:20px; color:var(--ink); line-height:1.6; }
/* --- karta produktu: kółka z ikonami + galeria --- */
.pd-icons { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 14px; padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.pd-ico { display:flex; flex-direction:column; align-items:center; gap:6px; max-width:96px; text-align:center; }
.pd-ico img { width:72px; height:72px; object-fit:contain; }
.pd-ico small { font-size:12.5px; line-height:1.25; color:var(--ink-2); font-weight:600; }
/* --- pliki do pobrania --- */
.pd-downloads .dl-list { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.pd-downloads .dl-item { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; text-decoration:none; transition:border-color .2s, box-shadow .2s; }
.pd-downloads .dl-item:hover { border-color:var(--yellow); box-shadow:var(--shadow); }
.pd-downloads .dl-ico { flex:none; width:38px; height:38px; display:grid; place-items:center; background:var(--navy); color:var(--yellow); border-radius:8px; }
.pd-downloads .dl-meta { display:flex; flex-direction:column; gap:1px; }
.pd-downloads .dl-meta b { font-size:14px; color:var(--navy); }
.pd-downloads .dl-meta small { font-size:12px; color:var(--ink-2); }
.pd-downloads .dl-note { font-size:14px; color:var(--ink-2); margin:10px 0 14px; }
.pd-downloads .btn { display:inline-block; }
/* sekcja "System …" w prawej kolumnie (spec-card z treścią) */
.spec-card.art-body h2 { font-family:var(--disp); font-size:20px; font-weight:800; margin:0 0 12px; letter-spacing:-.01em; }
.spec-card.art-body ul { margin-bottom:0; }
.spec-card.art-body li { font-size:14px; padding:6px 0 6px 26px; }
.spec-card.art-body li::before { top:12px; width:12px; height:7px; }
.spec-card.art-body p { font-size:14px; margin-bottom:12px; }
.spec-card.art-body p:first-of-type { font-size:14px; }

/* --- karta norm (wyróżniona) --- */
.normy-card { border-left:4px solid var(--yellow); }
.normy-card h2 { display:flex; align-items:center; gap:10px; }
.normy-ic { flex:none; width:30px; height:30px; display:grid; place-items:center; background:var(--navy); color:var(--yellow); border-radius:8px; font-size:15px; font-weight:800; }
.norma-item { padding:14px 0; border-bottom:1px solid var(--line); }
.norma-item:last-child { border-bottom:none; padding-bottom:0; }
.norma-badge { display:inline-block; font-family:var(--mono); font-size:12.5px; font-weight:700; color:var(--navy); background:rgba(255,210,31,.35); border:1px solid rgba(255,210,31,.6); border-radius:6px; padding:4px 9px; margin-bottom:7px; }
.norma-item p { font-size:13.5px; line-height:1.55; color:var(--ink-2); margin:0; }

/* --- lightbox galerii --- */
.pd-gallery .main img { cursor:zoom-in; }
.pd-thumbs a { cursor:pointer; }
.agcor-lb { position:fixed; inset:0; z-index:999; display:flex; align-items:center; justify-content:center; background:rgba(11,21,38,.94); }
.agcor-lb[hidden] { display:none; }
.agcor-lb img { max-width:88vw; max-height:86vh; object-fit:contain; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.agcor-lb button { position:absolute; width:52px; height:52px; border:none; border-radius:50%; background:var(--yellow); color:var(--navy); font-size:26px; font-weight:800; cursor:pointer; display:grid; place-items:center; transition:transform .15s; }
.agcor-lb button:hover { transform:scale(1.08); }
.agcor-lb .lb-close { top:22px; right:22px; }
.agcor-lb .lb-prev { left:22px; top:50%; transform:translateY(-50%); }
.agcor-lb .lb-next { right:22px; top:50%; transform:translateY(-50%); }
@media (max-width:640px){ .agcor-lb button { width:44px; height:44px; font-size:22px; } .agcor-lb .lb-prev { left:10px; } .agcor-lb .lb-next { right:10px; } }

/* --- justowanie tekstów wielolinijkowych (bez dzielenia wyrazów) --- */
.art-body p { text-align:left; hyphens:none; -webkit-hyphens:none; }
.art-body li { text-align:left; hyphens:none; -webkit-hyphens:none; }
.page-head .lead { text-align:left; hyphens:none; -webkit-hyphens:none; }

/* --- przycisk „Poproś o dokumentację" — wyróżniony --- */
.btn-dl, .btn-dl:visited { display:flex !important; flex-direction:row !important; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:8px; padding:14px 16px; background:var(--navy) !important; color:#fff !important; border:2px solid var(--navy); border-radius:999px; font-size:15px; line-height:1.3; text-align:center; box-shadow:0 6px 18px rgba(11,21,38,.25); }
.btn-dl .btn-dl-txt { color:#fff; }
.btn-dl:hover { background:var(--yellow); color:var(--navy); border-color:var(--yellow); box-shadow:0 8px 22px rgba(255,210,31,.4); transform:translateY(-1px); }
.btn-dl .btn-dl-ic { flex:none; display:grid; place-items:center; width:28px; height:28px; background:var(--yellow); color:var(--navy); border-radius:6px; }
.btn-dl:hover .btn-dl-ic { background:var(--navy); color:var(--yellow); }
.btn-dl .btn-dl-txt { display:inline; font-weight:600; }

/* --- zasada globalna: zwroty z myślnikiem nigdy nie łamią się na dwie linie --- */
.art-body p, .art-body li, .page-head .lead, .spec-card p, .spec-card li, .norma-item p { overflow-wrap:normal; word-break:keep-all; }

/* --- mobile: System/normy/pliki zaraz po zdjęciach, potem Opis i FAQ --- */
@media (max-width:900px){
  .pd-grid { display:flex; flex-direction:column; }
  .pd-grid > div:first-child { display:contents; }
  .pd-icons { order:1; }
  .pd-gallery .main { order:2; }
  .pd-thumbs { order:3; }
  .pd-grid > div:last-child { order:4; display:contents; }
  .pd-grid > div:last-child > * { order:4; }
  .problem-band { order:5; }
  .pd-grid .art-body { order:6; }
  .pd-grid .blk { order:7; }
}

/* Odznaka wyróżnienia (np. EXPO-GAS) */
.award-badge { display:inline-flex; align-items:center; gap:10px; margin-top:14px; padding:10px 18px; background:linear-gradient(135deg, rgba(255,210,31,.16), rgba(255,210,31,.06)); border:1.5px solid rgba(234,189,0,.55); border-radius:999px; font-size:14px; font-weight:600; color:var(--navy); }
.award-badge .award-ic { flex:none; width:30px; height:30px; display:grid; place-items:center; background:var(--yellow); color:var(--navy); border-radius:50%; }

/* Miniatura filmu w galerii */
.pd-thumbs a.pd-thumb-video { position:relative; }
.pd-thumb-video .play { position:absolute; inset:0; display:grid; place-items:center; }
.pd-thumb-video .play svg { width:44px; height:44px; padding:12px; box-sizing:content-box; background:rgba(11,21,38,.82); color:var(--yellow); border-radius:50%; transition:transform .2s, background .2s; }
.pd-thumb-video:hover .play svg { transform:scale(1.12); background:var(--yellow); color:var(--navy); }

/* Uwaga pod składem zestawu */
.art-body .sklad-note, .sklad-note { display:block; font-size:13px; color:var(--ink-3); margin-top:8px; font-style:italic; }
.pd-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
.pd-thumbs a { display:block; background:var(--card); border-radius:var(--radius-sm); box-shadow:var(--shadow); padding:8px; transition:transform .2s; }
.pd-thumbs a:hover { transform:translateY(-3px); }
.pd-thumbs img { width:100%; aspect-ratio:1; object-fit:contain; border-radius:6px; }
@media (max-width:640px){ .pd-thumbs { grid-template-columns:repeat(3,1fr); } .pd-ico img { width:60px; height:60px; } .pd-icons { gap:10px; padding:12px; } .pd-ico small { font-size:11.5px; } }

.art-body ul, .art-body ol { margin:0 0 22px; padding:0; list-style:none; }
.art-body li { position:relative; padding:7px 0 7px 28px; font-size:16px; color:var(--ink-2); line-height:1.5; border-bottom:1px solid var(--line); }
.art-body li:last-child { border-bottom:none; }
.art-body li::before { content:""; position:absolute; left:0; top:14px; width:14px; height:8px; border-left:3px solid var(--yellow); border-bottom:3px solid var(--yellow); transform:rotate(-45deg); }
.art-body blockquote { border-left:4px solid var(--yellow); background:var(--card); border-radius:0 var(--radius-sm) var(--radius-sm) 0; box-shadow:var(--shadow); padding:26px 30px; margin:34px 0; font-size:18px; font-weight:600; color:var(--navy); }
.art-side { align-self:start; position:sticky; top:100px; display:grid; gap:20px; }
.side-box { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; }
.side-box h4 { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:14px; }
.meta-grid div { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; }
.meta-grid div:last-child { border-bottom:0; }
.meta-grid span { color:var(--ink-3); }
.meta-grid b { color:var(--navy); font-weight:600; }

/* RFQ */
.rfq-grid { display:grid; grid-template-columns:1fr 400px; gap:56px; padding-bottom:88px; }
form.rfq { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:44px; }
.frm-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fld { margin-bottom:20px; }
.fld label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; color:var(--navy); }
.fld label i { color:#D8401F; font-style:normal; }
.fld input, .fld select, .fld textarea { width:100%; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); padding:14px 16px; font-family:var(--sans); font-size:15px; outline:none; transition:border .15s, box-shadow .15s; }
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(255,210,31,.35); }
.upload { border:2px dashed var(--line); border-radius:var(--radius-sm); padding:32px; text-align:center; font-size:14px; color:var(--ink-3); background:var(--paper); cursor:pointer; transition:all .15s; }
.upload:hover { border-color:var(--navy); color:var(--navy); background:rgba(255,210,31,.1); }
.consent { display:flex; gap:12px; font-size:13.5px; color:var(--ink-2); margin:22px 0; }
.consent input { width:18px; height:18px; accent-color:var(--navy); margin-top:2px; }

/* ============ RWD ============ */
@media (max-width:1080px){
  .bento { grid-template-columns:repeat(4,1fr); }
  .bento .big { grid-column:span 4; grid-row:span 1; }
  .bento .med { grid-column:span 2; }
  .prod-grid, .cat-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid, .rfq-grid { grid-template-columns:1fr; }
  .cat-layout { grid-template-columns:1fr; }
  .filters { position:static; }
  .art-layout { grid-template-columns:1fr; }
  .art-side { position:static; }
}
@media (max-width:760px){
  .wrap { padding:0 20px; }
  .bento { grid-template-columns:1fr; grid-auto-rows:200px; }
  .bento .big, .bento .med { grid-column:span 1; }
  .stats { grid-template-columns:repeat(2,1fr); }
  .prod-grid, .cat-grid { grid-template-columns:1fr; }
  .sec-head { flex-direction:column; align-items:flex-start; }
  .cta-band .wrap { flex-direction:column; align-items:flex-start; }
  .f-grid { grid-template-columns:1fr 1fr; }
  .frm-row { grid-template-columns:1fr; }
  form.rfq { padding:28px 22px; }
  .problem-band { grid-template-columns:1fr; }
}


/* ============ v0.2.0 — KATALOG: toolbar + chipy + empty state ============ */
.cat-toolbar { position:sticky; top:74px; z-index:50; display:flex; gap:12px; align-items:center; background:rgba(246,247,249,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); padding:14px 0; border-bottom:1px solid var(--line); }
.ct-search { flex:1; display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:0 18px; height:48px; color:var(--ink-3); transition:border-color .18s, box-shadow .18s; }
.ct-search:focus-within { border-color:var(--navy); box-shadow:0 0 0 3px rgba(11,21,38,.08); color:var(--navy); }
.ct-search input { flex:1; border:0; outline:0; background:transparent; font:inherit; font-size:15px; color:var(--ink); }
.ct-search input::-webkit-search-cancel-button { cursor:pointer; }
#cat-marka { height:48px; border:1px solid var(--line); border-radius:999px; background:var(--card); padding:0 18px; font:inherit; font-size:14.5px; font-weight:500; color:var(--ink-2); cursor:pointer; outline:0; max-width:260px; }
#cat-marka:focus { border-color:var(--navy); }
.ct-reset { height:48px; padding:0 20px; border-radius:999px; border:1px solid var(--line); background:transparent; font:inherit; font-size:13.5px; font-weight:600; color:var(--ink-2); cursor:pointer; transition:all .18s; }
.ct-reset:hover { border-color:var(--navy); color:var(--navy); }

.chip-row { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }
.f-chip { display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 16px; border-radius:999px; border:1px solid var(--line); background:var(--card); font:inherit; font-size:13.5px; font-weight:600; color:var(--ink-2); cursor:pointer; transition:all .16s; }
.f-chip .n { font-size:11.5px; font-weight:700; color:var(--ink-3); background:var(--paper); border-radius:999px; padding:2px 8px; transition:all .16s; }
.f-chip:hover { border-color:var(--navy); color:var(--navy); }
.f-chip.on { background:var(--navy); border-color:var(--navy); color:#fff; }
.f-chip.on .n { background:rgba(255,210,31,.2); color:var(--yellow); }

.cat-empty { text-align:center; padding:72px 24px; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); }
.cat-empty h3 { font-family:var(--disp); font-size:22px; font-weight:800; margin-bottom:10px; }
.cat-empty p { color:var(--ink-2); max-width:460px; margin:0 auto 24px; }
.cat-empty .btn { display:inline-flex; }

/* Karta: rząd chipów (typ + marka) */
.p-card .chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.p-card .chips .chip { margin-bottom:0; }
.p-card .chip.brand { background:rgba(76,141,218,.14); color:#2B5C9E; }

/* Sekcja kategorii na stronie głównej */
.type-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.type-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:20px 22px; display:flex; justify-content:space-between; align-items:center; gap:12px; transition:all .18s; }
.type-card:hover { border-color:var(--navy); transform:translateY(-2px); box-shadow:var(--shadow); }
.type-card b { font-size:15px; font-weight:700; color:var(--navy); display:block; }
.type-card .cnt { font-family:var(--disp); font-size:24px; font-weight:800; color:var(--yellow-deep); }
.type-card .arr { color:var(--ink-3); font-size:18px; transition:transform .18s; }
.type-card:hover .arr { transform:translateX(4px); color:var(--yellow-deep); }

@media (max-width:1080px){
  .type-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .cat-toolbar { flex-wrap:wrap; top:64px; }
  .ct-search { flex:1 1 100%; }
  #cat-marka { flex:1; max-width:none; }
  .type-grid { grid-template-columns:1fr; }
}

/* Powiązane produkty na karcie */
.rel-band { margin-top:56px; }
.rel-band h2 { font-family:var(--disp); font-size:26px; font-weight:800; margin-bottom:20px; }
.rel-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:1080px){ .rel-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px){ .rel-grid { grid-template-columns:1fr; } }


/* ============ v0.2.1 — strony statyczne: timeline + karty wartości + lead ============ */
.art-body .lead { font-size:19px; color:var(--ink-2); line-height:1.55; margin-bottom:28px; max-width:760px; }
.art-body h2 { font-family:var(--disp); font-size:26px; font-weight:800; margin:38px 0 14px; }
.art-body h3 { font-family:var(--disp); font-size:19px; font-weight:700; margin:24px 0 8px; }
.art-body p { margin-bottom:14px; color:var(--ink-2); }
.art-body ul { margin:0 0 16px 22px; color:var(--ink-2); }
.art-body li { margin-bottom:7px; }
.art-body .btn { display:inline-flex; margin-top:10px; }

.timeline { margin:28px 0 12px; border-left:3px solid var(--yellow); padding-left:28px; }
.tl-item { position:relative; padding-bottom:26px; }
.tl-item::before { content:''; position:absolute; left:-37px; top:6px; width:15px; height:15px; border-radius:50%; background:var(--navy); border:3px solid var(--yellow); }
.tl-year { font-family:var(--disp); font-size:26px; font-weight:800; color:var(--navy); line-height:1.1; }
.tl-txt { margin-top:6px; color:var(--ink-2); font-size:15px; max-width:640px; }

.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0 8px; }
.value-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:22px 24px; }
.value-card h3 { margin-top:0 !important; color:var(--navy); }
.value-card p { margin:0; font-size:14.5px; }
@media (max-width:900px){ .values-grid { grid-template-columns:1fr; } }


/* FAQ na stronach kategorii */
.tax-faq { margin:48px 0 16px; max-width:860px; }
.tax-faq h2 { font-family:var(--disp); font-size:24px; font-weight:800; margin-bottom:16px; }


/* ============ v0.2.2 — artykuły: figury z podpisami ============ */
.art-body .art-img { margin:26px 0; }
.art-body .art-img img { width:100%; height:auto; border-radius:var(--radius-sm); border:1px solid var(--line); display:block; }
.art-body .art-img figcaption { margin-top:10px; font-size:13.5px; color:var(--ink-3); line-height:1.45; }

/* ============ v0.2.3 — baza wiedzy + aktualności ============ */
.kb-guides { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:48px; }
.kb-guide { background:var(--navy); color:#fff; border-radius:var(--radius-sm); padding:20px 24px; display:flex; flex-direction:column; gap:6px; transition:transform .18s, box-shadow .18s; }
.kb-guide:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(11,21,38,.25); }
.kb-guide-tag { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--yellow); }
.kb-guide b { font-family:var(--disp); font-size:17.5px; font-weight:800; }
.kb-guide-go { font-size:13.5px; font-weight:600; color:rgba(255,255,255,.7); }
.kb-sec { margin-bottom:52px; }
.kb-sec-head { display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; margin-bottom:22px; border-bottom:2px solid var(--yellow); padding-bottom:12px; }
.kb-sec-head h2 { font-family:var(--disp); font-size:26px; font-weight:800; color:var(--navy); margin:0; }
.kb-sec-head p { margin:0; font-size:14px; color:var(--ink-3); }
.p-card.art .ph { height:180px; padding:0; background:var(--navy); }
.p-card.art .ph img { width:100%; height:100%; object-fit:cover; }
.p-card.art h3 { font-size:18.5px; line-height:1.3; }
.kb-news-banner { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:30px 34px; display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:80px; flex-wrap:wrap; }
.kb-news-banner h2 { font-family:var(--disp); font-size:22px; font-weight:800; color:var(--navy); margin:0 0 6px; }
.kb-news-banner p { margin:0; font-size:14.5px; color:var(--ink-2); }
.news-list { display:flex; flex-direction:column; }
.news-item { display:flex; align-items:flex-start; gap:26px; padding:24px 10px; border-bottom:1px solid var(--line); transition:background .15s; }
.news-item:hover { background:rgba(255,210,31,.07); }
.news-date { min-width:92px; padding-top:2px; }
.news-date b { font-size:13.5px; color:var(--ink-3); font-weight:700; letter-spacing:.02em; }
.news-body { flex:1; display:flex; flex-direction:column; gap:6px; }
.news-body b { font-family:var(--disp); font-size:18px; font-weight:800; color:var(--navy); line-height:1.35; }
.news-ex { font-size:14.5px; color:var(--ink-2); line-height:1.55; }
.news-go { color:var(--yellow-deep); font-size:22px; font-weight:700; padding-top:2px; }
@media (max-width:900px) {
  .kb-guides { grid-template-columns:1fr; }
  .news-item { gap:16px; }
  .news-date { min-width:76px; }
}

/* Tabele w artykułach (v0.2.3) */
.art-body table { width:100%; border-collapse:collapse; margin:18px 0 26px; font-size:14.5px; }
.art-body th { background:var(--navy); color:#fff; text-align:left; padding:11px 14px; font-weight:700; font-size:13.5px; }
.art-body td { border:1px solid var(--line); padding:11px 14px; vertical-align:top; color:var(--ink-2); }
.art-body tr:nth-child(even) td { background:#F7F8FA; }
.art-body table a { font-weight:700; }
@media (max-width:700px) { .art-body table { font-size:13px; } .art-body th, .art-body td { padding:8px 9px; } }

/* v0.2.4 — jednolite odstępy prawej kolumny karty produktu */
.pd-grid > div:last-child > .spec-card { margin-top:22px; }
.pd-grid > div:last-child > .spec-card:first-child { margin-top:0; }

/* v0.2.4 — zdjęcie wyróżniające artykułu + miniatury aktualności */
.art-hero { margin:6px 0 34px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:var(--navy); }
.art-hero img { width:100%; max-height:520px; object-fit:cover; display:block; }
.art-hero.portret { background:#fff; border:1px solid var(--line); }
.art-hero.portret img { object-fit:contain; max-height:640px; }
.news-thumb { flex:0 0 auto; width:132px; height:92px; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); }
.news-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:700px) { .news-thumb { width:96px; height:68px; } }

/* v0.2.4 — spis treści, autor, źródła, baner PDF w artykułach */
.art-toc { background:var(--card); border:1px solid var(--line); border-left:4px solid var(--yellow); border-radius:var(--radius-sm); padding:22px 26px; margin:26px 0 34px; }
.art-toc b { font-family:var(--disp); font-size:15px; letter-spacing:.04em; text-transform:uppercase; color:var(--navy); display:block; margin-bottom:12px; }
.art-toc ol { margin:0; padding-left:20px; columns:2; column-gap:40px; }
.art-toc li { margin:5px 0; font-size:14.5px; break-inside:avoid; }
.art-toc a { color:var(--ink-2); } .art-toc a:hover { color:var(--navy); }
@media (max-width:700px) { .art-toc ol { columns:1; } }
.art-body h2[id] { scroll-margin-top:96px; }
.author-box { display:flex; gap:20px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:24px 26px; margin:36px 0 0; }
.author-box .author-av { flex:0 0 auto; width:64px; height:64px; border-radius:50%; background:var(--navy); color:var(--yellow); display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-size:24px; font-weight:800; }
.author-box b { font-size:16px; color:var(--navy); display:block; margin-bottom:6px; }
.author-box p { margin:0; font-size:14.5px; color:var(--ink-2); }
.art-sources { margin:34px 0 0; padding-top:20px; border-top:1px solid var(--line); }
.art-sources b { font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:10px; }
.art-sources ul { margin:0; padding-left:20px; font-size:14px; color:var(--ink-3); }
.art-sources li { margin:4px 0; }
.art-pdf { display:flex; align-items:center; gap:18px; background:var(--navy); color:#fff; border-radius:var(--radius-sm); padding:20px 26px; margin:34px 0; flex-wrap:wrap; }
.art-pdf .art-pdf-ic { flex:0 0 auto; width:46px; height:46px; border-radius:10px; background:var(--yellow); display:flex; align-items:center; justify-content:center; }
.art-pdf .art-pdf-txt { flex:1; min-width:220px; }
.art-pdf .art-pdf-txt b { display:block; font-size:16px; margin-bottom:3px; }
.art-pdf .art-pdf-txt small { color:rgba(255,255,255,.72); font-size:13px; }
.art-pdf .btn { flex:0 0 auto; }
.art-body table caption { caption-side:top; text-align:left; font-weight:700; font-size:14px; color:var(--navy); margin-bottom:8px; }

/* WCAG 2.4.7 Focus Visible (v0.2.5) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 2px;
  border-radius: 4px;
}
.site-header a:focus-visible, .site-footer a:focus-visible, .cta-band a:focus-visible, .kb-guide:focus-visible, .art-pdf:focus-visible {
  outline-color: var(--yellow);
}

/* ============================================================
   v0.3.0 — MOBILE: menu, typografia fluid, layout, dotyk
   ============================================================ */

/* --- hamburger (domyślnie ukryty) --- */
.nav-toggle { display:none; width:48px; height:48px; border:0; background:transparent; cursor:pointer; padding:12px 10px; border-radius:10px; z-index:210; }
.nav-toggle span { display:block; height:2.5px; width:26px; margin:5px auto; background:#fff; border-radius:2px; transition:transform .28s ease, opacity .2s ease; }
.nav-toggle.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
.nav-overlay { position:fixed; inset:0; background:rgba(11,21,38,.55); backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .28s ease; z-index:190; }
.nav-overlay.open { opacity:1; pointer-events:auto; }
body.nav-open { overflow:hidden; }

@media (max-width: 900px) {
  .nav-toggle { display:block; }
  header.site .wrap { min-height:64px; }
  header.site .brand img { height:44px; }
  nav.main {
    position:fixed; top:0; right:0; z-index:200;
    width:min(340px, 88vw); height:100dvh;
    background:var(--navy); border-left:1px solid var(--line-dark);
    flex-direction:column; align-items:stretch; gap:4px;
    padding:calc(84px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
    transform:translateX(102%); visibility:hidden;
    transition:transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s .3s;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    box-shadow:-18px 0 56px rgba(0,0,0,.4);
  }
  nav.main.open { transform:none; visibility:visible; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
  nav.main a { font-size:17px; font-weight:500; padding:13px 16px; min-height:48px; display:flex; align-items:center; border-radius:12px; }
  nav.main a:active { background:rgba(255,255,255,.08); }
  nav.main a.cta { margin-top:16px; justify-content:center; min-height:52px; font-size:16px; }
}

/* --- topbar na mobile --- */
@media (max-width: 900px) {
  .topbar .wrap { height:auto; min-height:40px; padding:5px 20px; gap:12px; font-size:12px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .topbar .wrap::-webkit-scrollbar { display:none; }
  .topbar a { white-space:nowrap; padding:4px 2px; }
  .topbar .t-right { gap:14px; }
}
@media (max-width: 640px) {
  .topbar .wrap > div:first-child { display:none; } /* adres zostaje w stopce */
  .topbar .t-right { flex:1; justify-content:space-between; gap:10px; }
}

/* --- typografia: spójna skala fluid --- */
@media (max-width: 760px) {
  .hero .wrap { padding:60px 20px 0; }
  .hero-badge { font-size:12.5px; padding:7px 15px; margin-bottom:24px; }
  .hero h1 { font-size:clamp(33px, 9vw, 84px); line-height:1.07; letter-spacing:-.018em; }
  .hero p.lead { font-size:16.5px; line-height:1.55; margin-top:18px; max-width:56ch; }
  .hero-btns { margin-top:26px; gap:12px; }
  .hero-trust { margin-top:44px; padding:22px 0 26px; gap:20px 28px; }
  .hero-trust .iso img { width:64px; }

  .page-head { padding:28px 0 34px; }
  .page-head h1 { font-size:clamp(27px, 7.4vw, 60px); line-height:1.09; letter-spacing:-.012em; }
  .page-head .lead { font-size:16px; margin-top:14px; }

  h2.sec-title, .cta-band h2 { font-size:clamp(24px, 6.6vw, 54px); line-height:1.12; }
  .sec-lead { font-size:15.5px; }
  .stat .num { font-size:clamp(30px, 8.4vw, 54px); }

  .art-body p, .art-body ul li, .art-body ol li { font-size:15.5px; }
  .art-body h2 { font-size:clamp(20px, 5.6vw, 26px); margin:32px 0 14px; }
  .art-body h3 { font-size:17.5px; margin:24px 0 10px; }
  .art-body blockquote { font-size:16px; padding:16px 18px; }
  .art-body .lead { font-size:16.5px; }

  .spec-card h2, .spec-card h3 { font-size:19px; }
  .p-card h3 { font-size:19px; }
  .p-card.art h3 { font-size:16.5px; }
}

/* --- breadcrumbs: jedna linia ze scrollem --- */
@media (max-width: 900px) {
  .crumbs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; white-space:nowrap; padding:14px 0 4px; -webkit-mask-image:linear-gradient(90deg,#000 94%,transparent); mask-image:linear-gradient(90deg,#000 94%,transparent); }
  .crumbs::-webkit-scrollbar { display:none; }
}

/* --- galeria produktu: bez przesunięcia --- */
@media (max-width: 760px) {
  .pd-gallery .main { padding:14px; aspect-ratio:1; }
  .pd-thumbs { gap:8px; }
  .pd-thumbs a { width:58px; height:58px; }
}

/* --- aktualności: czytelny wiersz --- */
@media (max-width: 700px) {
  .news-item { display:grid; grid-template-columns:104px 1fr; gap:5px 14px; padding:18px 4px; align-items:start; }
  .news-item:not(:has(.news-thumb)) { grid-template-columns:1fr; }
  .news-thumb { width:104px; height:78px; grid-row:1 / 3; }
  .news-date { min-width:0; padding-top:0; grid-column:2; }
  .news-date b { font-size:12px; color:var(--ink-3); }
  .news-body { display:contents; }
  .news-body > b { grid-column:2; font-size:16px; line-height:1.3; }
  .news-body > .news-ex { grid-column:1 / -1; font-size:14px; margin-top:6px; }
  .news-go { display:none; }
}

/* --- katalog: szukajka i filtry zwarte --- */
@media (max-width: 760px) {
  .ct-search input { font-size:16px; height:46px; } /* 16px = brak auto-zoomu iOS */
  .f-chips, .filters .chips { gap:6px; }
  .f-chip, .filters .chip { min-height:34px; height:auto; padding:6px 12px; font-size:12.5px; }
  .prod-grid { gap:14px; }
}

/* --- stopka: większe cele dotykowe --- */
@media (max-width: 900px) {
  .f-grid a.fl { padding:10px 0; font-size:14.5px; }
  .btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
  .cta-band .wrap { gap:22px; }
  .cta-band p { font-size:15px; }
}

/* --- bezpieczeństwo przed poziomym scrollem --- */
html, body { overflow-x:clip; }
img, svg, video { max-width:100%; height:auto; }
@media (max-width: 900px) { nav.main { display:flex; } }

/* ============ v0.3.1 — kontakt z mapą ============ */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:26px 0 8px; }
.contact-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; }
.contact-card h2 { font-family:var(--disp); font-size:20px; font-weight:800; color:var(--navy); margin:0 0 18px; }
.contact-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.contact-list li { display:flex; gap:14px; align-items:flex-start; }
.contact-list .c-ico { width:42px; height:42px; flex:0 0 42px; border-radius:12px; background:var(--navy); color:var(--yellow); display:flex; align-items:center; justify-content:center; font-size:19px; }
.contact-list b { display:block; font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); margin-bottom:2px; }
.contact-list a, .contact-list span:not(.c-ico) { font-size:16.5px; color:var(--navy); font-weight:600; line-height:1.45; }
.contact-list a:hover { color:var(--yellow-deep); }
.reg-list { margin:0; display:flex; flex-direction:column; gap:12px; }
.reg-list div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px dashed var(--line); padding-bottom:10px; }
.reg-list div:last-child { border-bottom:0; }
.reg-list dt { font-weight:700; color:var(--ink-2); font-size:14px; }
.reg-list dd { margin:0; font-size:14px; color:var(--navy); font-weight:600; text-align:right; }
.map-wrap { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); aspect-ratio:16/9; background:var(--card); }
.map-wrap iframe { width:100%; height:100%; border:0; display:block; }
.map-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:16px; }
.map-hint { font-size:13.5px; color:var(--ink-3); }
@media (max-width:760px) {
  .contact-grid { grid-template-columns:1fr; }
  .map-wrap { aspect-ratio:4/3; }
  .reg-list div { flex-direction:column; gap:2px; }
  .reg-list dd { text-align:left; }
}

/* poprawki kontaktu */
.art-body .contact-list li::before, .art-body .reg-list li::before { display:none; }
.map-wrap { background:linear-gradient(160deg,#EDF0F5,#E2E7EF); }

/* ============ v0.3.2 — typografia artykułów, linki produktowe, strony ============ */

/* Czytelność artykułów: spójna miara i rytm */
.art-body { max-width:72ch; }
.art-body p { font-size:17px; line-height:1.72; margin-bottom:18px; }
.art-body p.lead, .art-body p:first-of-type { font-size:19.5px; line-height:1.62; color:var(--ink); }
.art-body ul, .art-body ol { margin:0 0 20px; padding-left:24px; }
.art-body li { font-size:16.5px; line-height:1.66; margin-bottom:8px; }
.art-body h2 { font-size:clamp(22px,2.6vw,28px); line-height:1.2; margin:44px 0 16px; padding-top:6px; }
.art-body h3 { font-family:var(--disp); font-size:20px; font-weight:700; color:var(--navy); line-height:1.3; margin:30px 0 12px; }
.art-body strong { color:var(--navy); }
.art-body details.doc summary { font-size:16px; line-height:1.45; }
.art-body details.doc p { font-size:15.5px; }
.art-body table { font-size:15px; }
.art-body table td { line-height:1.5; }
.art-body figure.art-img { margin:26px 0; }
.art-body .art-toc ol { font-size:15px; }
.art-body .art-toc a { text-decoration:none; }
.art-body .art-toc a:hover { text-decoration:underline; }

/* Linki do kart produktów w artykułach — delikatne oznaczenie + nowa karta */
.art-body a.prod-link { font-weight:600; color:var(--navy); text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:2px; text-underline-offset:3px; transition:background .15s, color .15s; }
.art-body a.prod-link::after { content:"↗"; font-size:.78em; margin-left:2px; color:var(--yellow-deep); font-weight:700; }
.art-body a.prod-link:hover { background:rgba(255,210,31,.22); color:var(--navy); text-decoration-color:var(--yellow-deep); }
.art-body a.prod-link:focus-visible { outline:3px solid var(--navy); outline-offset:2px; border-radius:3px; }

/* Karty wartości / usług — subtelny akcent */
.values-grid .value-card { border-top:4px solid var(--yellow); }
.values-grid .value-card p { font-size:15px; line-height:1.6; }

/* Sekcje usług — numeracja i powiązania */
.svc { position:relative; padding:30px 30px 26px 96px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:22px; }
.svc::before { content:attr(data-nr); position:absolute; left:26px; top:26px; width:48px; height:48px; border-radius:14px; background:var(--navy); color:var(--yellow); font-family:var(--disp); font-weight:800; font-size:21px; display:flex; align-items:center; justify-content:center; }
.svc h2 { margin-top:0 !important; padding-top:0 !important; font-size:24px; }
.svc-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.svc-links a { font-size:13.5px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 14px; text-decoration:none; transition:border-color .15s, background .15s; }
.svc-links a:hover { border-color:var(--yellow-deep); background:rgba(255,210,31,.14); }
@media (max-width:700px) { .svc { padding:22px 20px 20px 78px; } .svc::before { left:18px; top:20px; width:42px; height:42px; } }

/* Strona Jakość */
.q-cert { display:grid; grid-template-columns:300px 1fr; gap:30px; align-items:start; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin:28px 0; }
.q-cert img { width:100%; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); }
.q-cert h2 { margin-top:0 !important; padding-top:0 !important; }
.q-facts { list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:10px; }
.q-facts li { display:flex; gap:12px; font-size:15px; }
.q-facts b { min-width:170px; color:var(--ink-3); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.05em; padding-top:2px; }
@media (max-width:820px) { .q-cert { grid-template-columns:1fr; } .q-cert img { max-width:340px; margin:0 auto; } }

/* Timeline — ostrzejszy wygląd */
.timeline .tl-item { padding:6px 0 22px 30px; }
.timeline .tl-item b { font-family:var(--disp); font-size:19px; color:var(--navy); }
.timeline .tl-item p { font-size:15.5px; margin:6px 0 0; }

/* ===== 2026-07-22 v0.3.3 — siatka marek + linki-hub (podszlif zakładek) ===== */
.brand-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin:22px 0 30px; }
.brand-card { display:flex; flex-direction:column; gap:5px; padding:18px 20px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; transition:border-color .15s, box-shadow .15s, transform .15s; }
.brand-card b { font-family:var(--disp); font-size:17.5px; font-weight:700; color:var(--navy); letter-spacing:-.01em; }
.brand-card span { font-size:13px; color:var(--ink-3); line-height:1.45; }
.brand-card:hover { border-color:var(--yellow-deep); box-shadow:var(--shadow); transform:translateY(-2px); }
.brand-card:hover b { color:var(--navy); }

.page-links { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 8px; }
.page-links a { font-size:14px; font-weight:600; color:var(--navy); background:var(--card); border:1px solid var(--line); border-radius:999px; padding:10px 18px; text-decoration:none; transition:border-color .15s, background .15s; }
.page-links a:hover { border-color:var(--yellow-deep); background:rgba(255,210,31,.14); }

/* v0.3.3b — wpautop: puste akapity nie moga rozbijac siatki certyfikatu */
.q-cert > p:empty { display:none; }
.q-cert > p { margin:0; }
.q-cert > a { display:block; }
.q-cert > a img { display:block; }

/* v0.3.3c — wpautop: <br> miedzy kartami nie moze zajmowac komorki siatki */
.brand-grid > br, .page-links > br, .svc-links > br, .contact-grid > br { display:none; }

/* v0.3.3d — mobile: fakty certyfikatu w kolumnie (brak przyciecia) */
@media (max-width:820px) {
  .q-cert { padding:20px; }
  .q-facts li { flex-direction:column; gap:2px; }
  .q-facts b { min-width:0; }
}

/* ===== 2026-07-22 v0.3.4 — landing pages branż/marek (audyt SEC-SEO-01) ===== */
.ind-grid { display:grid; grid-template-columns:1fr 340px; gap:36px; margin:34px 0 10px; align-items:start; }
.ind-main h2 { font-family:var(--disp); font-size:clamp(21px,2.4vw,26px); color:var(--navy); margin:30px 0 14px; }
.ind-main h2:first-child { margin-top:0; }
.ind-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.ind-list li { position:relative; padding:13px 0 13px 34px; font-size:16px; line-height:1.6; border-bottom:1px dashed var(--line); }
.ind-list li::before { content:""; position:absolute; left:0; top:16px; width:22px; height:22px; background:var(--yellow); clip-path:polygon(14% 44%,0 60%,42% 100%,100% 16%,84% 2%,40% 70%); }
.ind-list li:last-child { border-bottom:none; }
.ind-case li::before { background:var(--navy); clip-path:none; border-radius:6px; content:"→"; color:var(--yellow); font-weight:800; display:flex; align-items:center; justify-content:center; font-size:14px; }
.ind-case a { font-weight:600; color:var(--navy); text-decoration:none; }
.ind-case a:hover { text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:2px; text-underline-offset:3px; }
.ind-side { position:sticky; top:120px; display:flex; flex-direction:column; gap:18px; }
.ind-img { aspect-ratio:4/3; border-radius:var(--radius); background-size:cover; background-position:center; border:1px solid var(--line); box-shadow:var(--shadow); }
.ind-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ind-fact { background:var(--card); border:1px solid var(--line); border-top:4px solid var(--yellow); border-radius:var(--radius); padding:16px 18px; }
.ind-fact b { font-family:var(--disp); font-size:30px; font-weight:800; color:var(--navy); display:block; line-height:1; }
.ind-fact span { font-size:12.5px; color:var(--ink-3); }
.ind-typy { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px; }
.ind-typy h3 { font-family:var(--disp); font-size:16.5px; color:var(--navy); margin:0 0 12px; }
.tax-h2 { font-family:var(--disp); font-size:clamp(21px,2.4vw,26px); color:var(--navy); margin:40px 0 8px; }
.tax-count { font-size:14.5px; color:var(--ink-3); margin:0 0 20px; }
.tax-faq { margin-top:44px; }
.tax-faq h2 { font-family:var(--disp); font-size:clamp(21px,2.4vw,26px); color:var(--navy); margin-bottom:16px; }
.tax-faq details.doc { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 22px; margin-bottom:12px; }
.tax-faq details.doc summary { font-weight:700; color:var(--navy); cursor:pointer; font-size:16.5px; }
.tax-faq details.doc p { margin:12px 0 0; color:var(--ink-2); font-size:15.5px; line-height:1.65; }
@media (max-width:980px) {
  .ind-grid { grid-template-columns:1fr; }
  .ind-side { position:static; flex-direction:column; }
  .ind-img { max-width:480px; }
}

/* v0.3.4b — weryfikacja merytoryczna artykulu (EEAT) */
.art-verif { margin:14px 0 0; padding:10px 12px; font-size:12.5px; line-height:1.5; color:var(--ink-3); background:rgba(255,210,31,.12); border-left:3px solid var(--yellow); border-radius:0 8px 8px 0; }

/* v0.3.4c — skip-link (WCAG 2.4.1) */
.skip-link { position:absolute; left:16px; top:-60px; z-index:1001; background:var(--navy); color:#fff; font-weight:700; font-size:14px; padding:12px 20px; border-radius:0 0 10px 10px; text-decoration:none; transition:top .2s; }
.skip-link:focus { top:0; color:var(--yellow); }

/* v0.3.4d — lista dokumentow */
.doc-list { display:flex; flex-direction:column; gap:12px; margin:16px 0 28px; }
.doc-item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); }
.doc-item b { font-family:var(--disp); font-size:16px; color:var(--navy); display:block; margin-bottom:3px; }
.doc-item span { font-size:13px; color:var(--ink-3); }
.doc-item .btn { flex-shrink:0; }
@media (max-width:640px) { .doc-item { flex-direction:column; align-items:flex-start; } }

/* v0.3.4e — bento w tresci strony (hub /branze/): szerokosc + ochrona przed wpautop */
.art-body .bento { margin:26px 0 34px; max-width:100%; }
.bento > br { display:none; }

/* v0.3.4f — naprawa wpautop w bento hubu: zamknij "akapity" obejmujace karty, przywroc bialy tekst */
.art-body .bento > p { display:contents; }
.bento .tx p { font-size:14px; color:rgba(255,255,255,.75); margin-top:8px; max-width:36ch; }

/* v0.3.5 — FORM-04: honeypot (ukryty przed ludzmi, widoczny dla botow) */
.hp-field { position:absolute !important; left:-6000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* CNT-04: direct answer (AEO/GEO) — wyróżniona bezpośrednia odpowiedź na początku artykułu */
.direct-answer { margin:0 0 28px; padding:18px 22px; border-left:4px solid var(--acc,#f5b301); background:var(--bg-soft,#f6f7f9); border-radius:0 10px 10px 0; }
.direct-answer p { margin:0; font-size:1.05em; line-height:1.65; font-weight:500; }

/* D-37: filtry marek na stronach kategorii typow produktow */
.cat-filters { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 20px; }
.cat-filters .chip { font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--bg-soft,#f6f7f9); color:var(--navy,#0f2b4c); border:1px solid rgba(15,43,76,.14); border-radius:999px; padding:7px 15px; cursor:pointer; }
.cat-filters .chip.is-on { background:var(--navy,#0f2b4c); color:#fff; border-color:var(--navy,#0f2b4c); }

/* D-37: rola normy (kwalifikacja produktu / projektowanie / ocena defektu) */
.norma-rola { display:inline-block; margin-left:8px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3,#5a6472); }

/* D-37: link zrodel statystyk */
.stats-src { text-align:center; margin:14px 0 0; font-size:13.5px; }
.stats-src a { color:var(--ink-2,#33415c); text-decoration:underline; text-underline-offset:3px; }
/* D-37: tabela definicji liczb */
.num-table { width:100%; border-collapse:collapse; margin:18px 0 26px; font-size:14.5px; }
.num-table th, .num-table td { text-align:left; padding:10px 12px; border-bottom:1px solid rgba(15,43,76,.12); vertical-align:top; }
.num-table th { font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-3,#5a6472); }
.num-table td:first-child { font-weight:800; white-space:nowrap; }

/* D-37: zrodla pod artykulami + box autora */
.art-sources { margin:34px 0 0; padding:22px 24px; background:var(--bg-soft,#f6f7f9); border-radius:12px; }
.art-sources h2 { font-size:19px; margin:0 0 12px; }
.art-sources ul { margin:0; padding-left:20px; }
.art-sources li { margin-bottom:7px; font-size:14px; line-height:1.5; }
.author-box { display:flex; gap:14px; align-items:center; margin-top:26px; padding:16px 20px; border:1px solid rgba(15,43,76,.12); border-radius:12px; }
.author-box__ic { width:46px; height:46px; border-radius:50%; background:var(--navy,#0f2b4c); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:20px; flex-shrink:0; }
.author-box p { margin:3px 0 0; font-size:13.5px; color:var(--ink-2,#33415c); }

/* === D-38 === */
:focus-visible { outline:3px solid var(--acc,#f5b301); outline-offset:2px; }
.file-btn { display:block; width:100%; padding:10px 12px; border:1px solid rgba(15,43,76,.2); border-radius:10px; font-size:14px; background:#fff; }
.file-btn::file-selector-button { margin-right:12px; padding:8px 16px; border:0; border-radius:8px; background:var(--navy,#0f2b4c); color:#fff; font-weight:700; cursor:pointer; }
.fld-hint { display:block; margin-top:5px; font-size:12.5px; color:var(--ink-3,#5a6472); }
.fld-lab { display:block; font-weight:600; margin-bottom:8px; }
.typ-wybor { display:flex; flex-direction:column; gap:8px; }
.typ-opt { display:flex; gap:9px; align-items:baseline; padding:10px 14px; border:1px solid rgba(15,43,76,.14); border-radius:10px; cursor:pointer; }
.typ-opt:has(input:checked) { border-color:var(--navy,#0f2b4c); background:var(--bg-soft,#f6f7f9); }
.typ-opt small { color:var(--ink-3,#5a6472); font-weight:400; }
.cmp { position:fixed; inset:auto 0 0 0; z-index:9990; background:rgba(15,43,76,.45); padding:18px; }
.cmp-box { max-width:760px; margin:0 auto; background:#fff; border-radius:14px; padding:22px 26px; box-shadow:0 12px 40px rgba(0,0,0,.25); }
.cmp-box h2 { font-size:19px; margin:0 0 8px; }
.cmp-box p { font-size:14px; margin:0 0 14px; }
.cmp-actions { display:flex; flex-wrap:wrap; gap:10px; }
.cmp-actions .btn { flex:1 1 160px; justify-content:center; }
.cmp-prefs { margin-top:14px; border-top:1px solid rgba(15,43,76,.12); padding-top:14px; display:flex; flex-direction:column; gap:10px; }
.cmp-pref { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; }
.cmp-pref input { margin-top:3px; }
.fl-btn { background:none; border:0; padding:0; cursor:pointer; text-align:left; font:inherit; color:inherit; }
.asystent { background:var(--bg-soft,#f6f7f9); border-radius:16px; padding:26px 28px; margin-bottom:36px; }
.as-head h2 { margin:0 0 6px; }
.as-head p { margin:0 0 18px; color:var(--ink-2,#33415c); }
.as-krok { margin-bottom:16px; }
.as-krok > b { display:block; margin-bottom:10px; }
.as-opcje { display:flex; flex-wrap:wrap; gap:8px; }
.as-opt { font-size:13px; font-weight:600; background:#fff; border:1px solid rgba(15,43,76,.16); border-radius:999px; padding:8px 15px; cursor:pointer; }
.as-opt.on { background:var(--navy,#0f2b4c); color:#fff; border-color:var(--navy,#0f2b4c); }
.as-wynik { border-top:1px solid rgba(15,43,76,.12); padding-top:16px; }
.as-wyniki { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin:10px 0 14px; }
.as-w { background:#fff; border:1px solid rgba(15,43,76,.12); border-radius:12px; padding:14px 16px; }
.as-w p { font-size:13px; margin:6px 0 10px; color:var(--ink-2,#33415c); }
.as-note { font-size:13.5px; background:#fff8e6; border:1px solid #f0d795; border-radius:10px; padding:12px 16px; }
.cmp-add { position:absolute; right:10px; bottom:10px; z-index:2; font-size:11.5px; font-weight:700; background:#fff; border:1px solid rgba(15,43,76,.18); border-radius:999px; padding:5px 11px; cursor:pointer; }
.cmp-add.on { background:var(--acc,#f5b301); border-color:var(--acc,#f5b301); }
.cmp-bar { position:fixed; left:50%; transform:translateX(-50%); bottom:16px; z-index:9980; display:flex; gap:10px; align-items:center; background:var(--navy,#0f2b4c); color:#fff; border-radius:999px; padding:9px 18px; box-shadow:0 8px 30px rgba(0,0,0,.3); max-width:94vw; }
.cmp-bar span { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:46vw; }
.cmp-bar .btn { padding:7px 14px; font-size:12.5px; white-space:nowrap; }
.cmp-table { width:100%; border-collapse:collapse; font-size:14px; }
.cmp-table th, .cmp-table td { text-align:left; padding:10px 12px; border-bottom:1px solid rgba(15,43,76,.12); vertical-align:top; }
.cmp-table thead th { background:var(--bg-soft,#f6f7f9); }
.cmp-table thead img { width:90px; height:auto; border-radius:8px; display:block; margin-bottom:8px; }
.cmp-table thead b { display:block; font-size:15px; margin-bottom:4px; }
.cmp-table td:first-child { font-weight:700; width:170px; }
.cmp-lead { font-size:13px; color:var(--ink-2,#33415c); }
.cmp-actions2 { display:flex; gap:12px; margin:18px 0 10px; }
.cmp-note { font-size:13px; color:var(--ink-3,#5a6472); }
.p-card { position:relative; }
.case { max-width:860px; }
.case-head { margin-bottom:22px; }
.case-meta { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:12px; font-size:14px; }
.case-meta span b { color:var(--ink-3,#5a6472); font-weight:600; }
.case-sec { border-left:4px solid var(--acc,#f5b301); padding:4px 0 4px 18px; margin-bottom:22px; }
.case-sec h2 { font-size:20px; margin:0 0 8px; }
.case-foot { margin-top:30px; background:var(--bg-soft,#f6f7f9); border-radius:12px; padding:20px 24px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.case-foot p { margin:0; }
.tds-list { list-style:none; padding:0; margin:0 0 16px; }
.tds-list li { padding:12px 0; border-bottom:1px solid rgba(15,43,76,.1); }
.tds-list b { display:block; }
.tds-list span { font-size:13px; color:var(--ink-3,#5a6472); }
@media print {
  .site-header, .site-footer, .cmp-bar, .cmp-add, .cmp-actions2, .crumbs, .cta-band, .cmp { display:none !important; }
  .cmp-table { font-size:11px; }
}
