:root{
  --bg:#0b1118;
  --bg2:#111a24;
  --ink:#f5f7fb;
  --muted:#aeb8c5;
  --line:rgba(255,255,255,.14);
  --soft:#f4f5f7;
  --soft2:#e9edf2;
  --dark:#0d151e;
  --card:#141f2a;
  --gold:#d9b76e;
  --gold2:#f0d28c;
  --text:#111827;
  --sub:#4b5563;
  --radius:28px;
  --shadow:0 24px 70px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--soft);color:var(--text);line-height:1.55;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:12px 16px;z-index:1000}.skip-link:focus{left:12px;top:12px}
.topbar{position:absolute;z-index:50;inset:0 0 auto 0;border-bottom:1px solid var(--line);background:rgba(11,17,24,.72);backdrop-filter:blur(18px)}
.nav{height:210px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--ink)}
.brand{display:flex;align-items:center;line-height:0;white-space:nowrap;flex-shrink:0;height:190px;overflow:visible}.brand-logo{display:block;height:165px;width:auto;max-width:520px;object-fit:contain}
.navlinks{display:flex;gap:26px;align-items:center;font-size:14px;color:#dce3eb}.navlinks a{opacity:.92}.navlinks a:hover{color:#fff}.nav-cta{padding:12px 18px;border:1px solid rgba(217,183,110,.5);border-radius:999px;background:rgba(217,183,110,.14);font-weight:800;color:#fff}
.menu-btn{display:none;border:1px solid var(--line);background:transparent;color:#fff;border-radius:12px;padding:10px 12px;font-weight:800}
.hero{min-height:58vh;position:relative;display:grid;align-items:center;color:var(--ink);overflow:hidden;background:var(--bg)}
.hero video,.hero .poster-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:contrast(1.05) brightness(.78)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,21,.96) 0%,rgba(8,14,21,.72) 42%,rgba(8,14,21,.46) 100%),linear-gradient(0deg,rgba(8,14,21,.94),rgba(8,14,21,0) 45%)}
.hero-inner{position:relative;z-index:2;padding-top:110px;padding-bottom:40px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:34px;align-items:center}.eyebrow{color:var(--gold2);font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:12px;margin-bottom:22px}.hero h1{font-size:clamp(26px,4.2vw,46px);line-height:1.02;letter-spacing:-.04em;margin:0 0 18px;font-weight:650;max-width:760px}.lead{font-size:clamp(14px,1.2vw,20px);max-width:720px;color:#dbe3ed;line-height:1.5}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 22px;font-weight:900;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:#10161d}.btn-primary:hover{background:var(--gold2)}.btn-secondary{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.04)}.btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.hero-card{background:rgba(21,31,43,.78);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}.hero-card h2{margin:0 0 16px;font-size:22px}.hero-card ul{margin:0;padding-left:20px;color:#dde6f1}.hero-card li{margin:9px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;max-width:800px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line)}.stat{padding:20px;background:rgba(255,255,255,.055)}.stat strong{display:block;font-size:24px;color:#fff}.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.section{padding:92px 0}.section-dark{background:var(--dark);color:var(--ink)}.section-soft{background:#fff}.section-head{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-bottom:42px}.section h2{font-size:clamp(34px,4.5vw,58px);line-height:1.02;letter-spacing:-.055em;margin:0}.section p.intro{max-width:760px;color:var(--sub);font-size:18px}.section-dark p.intro,.section-dark .muted{color:#b7c1ce}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:26px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.card.dark{background:var(--card);border-color:rgba(255,255,255,.12);color:#eef4fb}.card h3{margin:0 0 12px;font-size:22px;letter-spacing:-.02em}.card p{color:var(--sub);margin:0}.card.dark p{color:#b9c4d0}.card .link{display:inline-block;margin-top:18px;color:#8a651e;font-weight:900}.card.dark .link{color:var(--gold2)}
.pill-row{display:flex;flex-wrap:wrap;gap:12px}.pill{padding:12px 18px;border-radius:999px;border:1px solid #e0d2b2;background:#fbf7ec;color:#1f2937;font-weight:800}.section-dark .pill{background:rgba(217,183,110,.12);border-color:rgba(217,183,110,.28);color:#f5e5ba}
.video-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}.video-card{background:#0b1118;border:1px solid rgba(255,255,255,.12);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);align-self:start}.video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}.video-card.video-large video{aspect-ratio:16/9;min-height:360px}.video-card .caption{padding:22px;color:#fff}.video-card .caption p{color:#b7c1ce;margin:0}.mini-videos{display:grid;gap:22px}.mini-videos .video-card video{aspect-ratio:4/3}
.process{counter-reset:step}.process .card{position:relative}.process .card:before{counter-increment:step;content:"0" counter(step);display:block;font-weight:900;color:var(--gold);font-size:14px;letter-spacing:.14em;margin-bottom:32px}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}.checklist li{padding-left:32px;position:relative}.checklist li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(217,183,110,.16)}
.cta{background:linear-gradient(135deg,#111a24,#0a1017);color:#fff;border-radius:34px;padding:46px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.cta h2{font-size:clamp(32px,4vw,52px)}.cta p{color:#c2ccd8;max-width:760px}.contact-box{background:#fff;border-radius:24px;padding:30px;color:#111827;min-width:320px}.contact-box b{display:block;margin-bottom:12px}.contact-box a{display:block;color:#111827;font-weight:800;margin:7px 0}
.footer{background:#05080c;color:#aab5c2;padding:34px 0;font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.seo-tags{max-width:680px;text-align:right}
.page-hero{padding:240px 0 78px;background:linear-gradient(135deg,#0b1118,#172231);color:#fff}.breadcrumb{font-size:13px;color:#aeb8c5;margin-bottom:28px}.breadcrumb a{color:#fff}.page-hero h1{font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.065em;margin:0 0 24px}.page-hero p{font-size:20px;max-width:880px;color:#d7e0ea}.content{padding:80px 0}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:58px;align-items:start}.article h2{font-size:38px;letter-spacing:-.045em;margin:42px 0 16px}.article p{font-size:17px;color:#374151}.article ul{font-size:17px;color:#374151}.side{position:sticky;top:24px}.side .card{margin-bottom:18px}.service-links{display:grid;gap:10px}.service-links a{padding:12px 14px;border-radius:14px;background:#f3f4f6;font-weight:800;color:#111827}.service-links a:hover{background:#ead9b3}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e5e7eb}.table th,.table td{padding:16px;border-bottom:1px solid #e5e7eb;text-align:left}.table th{background:#f9fafb}.faq details{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;margin-bottom:12px}.faq summary{font-weight:900;cursor:pointer}.faq p{margin-bottom:0}.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-strip img{border-radius:20px;aspect-ratio:16/9;object-fit:cover;border:1px solid #e5e7eb}
@media(max-width:900px){.nav{height:120px}.brand{height:100px}.brand-logo{height:78px;max-width:280px}.navlinks{display:none;position:absolute;top:96px;left:0;right:0;background:#0b1118;padding:18px 20px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-btn{display:block}.hero-inner,.video-grid,.content-grid,.cta{grid-template-columns:1fr}.grid-3,.grid-2,.gallery-strip{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.section-head{display:block}.footer-row{display:block}.seo-tags{text-align:left;margin-top:18px}.hero-card{padding:26px}.section{padding:68px 0}.container{width:min(100% - 28px,1180px)}.page-hero{padding-top:150px}.side{position:static}.contact-box{min-width:0}.hero h1{font-size:45px}.lead{font-size:18px}}
/* v11 SEO/Ads polish */
.article strong{color:#111827}.article .lead-paragraph{font-size:19px;color:#273445}.service-links a{transition:background .18s ease, transform .18s ease}.service-links a:hover{transform:translateY(-1px)}


.gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0 20px}
.gallery-highlight{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:24px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.gallery-highlight h3{margin:0 0 10px;font-size:22px}
.gallery-highlight p{margin:0;color:#4b5563}
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 24px}
.filter-pill{border:1px solid #d9b76e;background:#fbf7ec;color:#1f2937;border-radius:999px;padding:10px 14px;font-weight:900;font-size:13px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.gallery-item{background:#fff;border:1px solid #e2e8f0;border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.07)}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef2f6}
.gallery-item figcaption{padding:18px}
.gallery-item h3{font-size:18px;line-height:1.18;margin:0 0 8px;letter-spacing:-.02em}
.gallery-item p{font-size:14px;margin:0;color:#4b5563}
.gallery-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.gallery-tags span{font-size:11px;font-weight:900;border-radius:999px;background:#f3f4f6;color:#111827;padding:6px 9px}
.process-note{background:#101923;color:#eef4fb;border-radius:26px;padding:28px;border:1px solid rgba(255,255,255,.12);margin:34px 0}
.process-note p{color:#c3ccd8;margin:0}
@media(max-width:900px){.gallery-grid{grid-template-columns:1fr}.gallery-intro{grid-template-columns:1fr}.filter-bar{gap:8px}.filter-pill{font-size:12px;padding:9px 11px}}


/* v16 — GALERIA REALIZACJI: pełne detale bez przycinania */
.gallery-grid .gallery-item img,
.gallery-item img,
figure.gallery-item img {
  width: 100% !important;
  height: 280px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff !important;
  padding: 14px !important;
  border-radius: 18px 18px 0 0 !important;
  display: block !important;
}

.gallery-grid .gallery-item,
.gallery-item,
figure.gallery-item {
  overflow: hidden !important;
  background: #ffffff !important;
}

/* Zdjęcia procesu mogą być dynamiczne, ale też bez brutalnego cropowania */
.process-note + .gallery-grid .gallery-item img,
.gallery-item[data-category="Proces wyoblania"] img {
  object-fit: contain !important;
}

/* Telefon — detale nadal całe, bez obcinania */
@media (max-width: 768px) {
  .gallery-grid .gallery-item img,
  .gallery-item img,
  figure.gallery-item img {
    height: 220px !important;
    object-fit: contain !important;
    padding: 10px !important;
  }
}


/* v18 — mocna podstrona SEO: wyoblanie metalu */
.seo-section{padding:82px 0;background:#fff}
.seo-section.alt{background:#f4f5f7}
.seo-section.dark{background:#0d151e;color:#f5f7fb}
.seo-kicker{color:#8a651e;font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
.seo-heading{font-size:clamp(34px,4.8vw,58px);line-height:1.02;letter-spacing:-.055em;margin:0 0 18px;color:#111827}
.dark .seo-heading{color:#fff}
.seo-lead{font-size:19px;color:#374151;max-width:920px;margin:0 0 28px}.dark .seo-lead{color:#c3ccd8}
.seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.seo-grid.two{grid-template-columns:repeat(2,1fr)}
.seo-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:26px;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.dark .seo-card{background:#141f2a;border-color:rgba(255,255,255,.12)}
.seo-card h3{font-size:22px;line-height:1.15;margin:0 0 12px;letter-spacing:-.025em;color:#111827}.dark .seo-card h3{color:#fff}
.seo-card p,.seo-card li{color:#4b5563}.dark .seo-card p,.dark .seo-card li{color:#b9c4d0}
.seo-card ul{margin:0;padding-left:20px;display:grid;gap:7px}
.seo-number{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#d9b76e;color:#111827;font-weight:900;margin-bottom:18px}
.seo-split{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}.seo-panel{background:#fff;border:1px solid #e2e8f0;border-radius:26px;padding:30px;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.dark .seo-panel{background:#141f2a;border-color:rgba(255,255,255,.12)}
.seo-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:20px;overflow:hidden}.seo-table th,.seo-table td{padding:16px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top}.seo-table th{background:#f9fafb;color:#111827}.seo-table td{color:#374151}
.seo-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.seo-list li{position:relative;padding-left:30px;color:#374151}.seo-list li:before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:999px;background:#d9b76e;box-shadow:0 0 0 5px rgba(217,183,110,.18)}
.seo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.seo-gallery figure{margin:0;background:#fff;border:1px solid #e2e8f0;border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.07)}.seo-gallery img{width:100%;height:280px;object-fit:contain;background:#fff;padding:14px}.seo-gallery figcaption{padding:18px}.seo-gallery strong{display:block;color:#111827;line-height:1.2}.seo-gallery span{display:block;color:#4b5563;font-size:14px;margin-top:6px}
.seo-cta-line{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.seo-note{background:#fbf7ec;border:1px solid #ead9b3;border-radius:22px;padding:22px;color:#1f2937;margin:24px 0}.seo-note strong{color:#111827}
.faq-grid{display:grid;gap:12px}.faq-grid details{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.faq-grid summary{font-weight:900;cursor:pointer;color:#111827}.faq-grid p{color:#4b5563;margin:12px 0 0}
@media(max-width:900px){.seo-grid,.seo-grid.two,.seo-split,.seo-gallery{grid-template-columns:1fr}.seo-section{padding:60px 0}.seo-gallery img{height:220px}.seo-panel{padding:22px}}


/* v19 — film i sekcja: własne toczenie wzorników do wyoblania */
.video-card.video-pattern video,
.video-card video.video-contain {
  object-fit: contain !important;
  background: #000 !important;
}

.pattern-section {
  background: #f8fafc;
}

.pattern-video-wrap {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: center;
}

.pattern-copy {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
}

.pattern-copy h2 {
  font-size: clamp(32px,4vw,54px);
  line-height: 1.05;
  letter-spacing: -.055em;
  margin: 0 0 16px;
}

.pattern-copy p {
  color: #475569;
}

.pattern-copy ul {
  margin: 18px 0 0;
  padding-left: 20px;
  color: #334155;
  display: grid;
  gap: 10px;
}

@media(max-width:900px){
  .pattern-video-wrap {
    grid-template-columns: 1fr;
  }
}


/* v20 — dodatkowy film pod „Wyoblanie stożka na maszynie” */
  object-fit: cover;
  object-position: center center;
  background: #000;
}



/* v25 — naprawiona sekcja wideo: tylko stożek + dennica miedziana, stabilny układ bez migania */
.video-grid.video-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}
.video-grid.video-grid-two .video-card {
  align-self: start;
  height: auto;
}
.video-grid.video-grid-two .video-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center center;
  background: #000;
  transform: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
}
@media (max-width: 900px) {
  .video-grid.video-grid-two {
    grid-template-columns: 1fr;
  }
}


/* v26 — mocna siatka SEO / Google Ads */
.no-top{padding-top:0}
.dark-btn{color:#111827!important;border-color:#d9b76e!important;background:#fbf7ec!important}
.seo-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.seo-service-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:26px;
  min-height:178px;
  box-shadow:0 16px 38px rgba(15,23,42,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.seo-service-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 58px rgba(15,23,42,.12);
  border-color:#d9b76e;
}
.seo-service-card h3{margin:0 0 10px;font-size:22px;letter-spacing:-.03em}
.seo-service-card p{margin:0;color:#4b5563}
.seo-service-card span{display:inline-block;margin-top:18px;color:#8a651e;font-weight:900}
.trust-panel{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:24px;
  padding:24px;
  margin:28px 0 36px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.trust-panel strong{display:block;margin-bottom:16px;font-size:18px}
.related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:20px 0 36px;
}
.related-card{
  display:block;
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.related-card span{display:block;font-weight:900;color:#111827}
.related-card small{display:block;margin-top:6px;color:#4b5563;line-height:1.45}
.related-card:hover{border-color:#d9b76e;background:#fffaf0}
.mini-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0 40px;
}
.mini-gallery-item{
  margin:0;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.mini-gallery-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#fff;
  padding:12px;
}
.mini-gallery-item figcaption{padding:14px 16px;font-weight:900;color:#111827}
.company-card .link{margin-top:8px}
.cta-mini{background:#fffaf0;border-color:#ead9b3}
.service-links a.active{background:#111827;color:#fff}
.video-grid.video-grid-two{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.video-grid.video-grid-two .video-card video{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#000;
  transform:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.gallery-item{
  margin:0;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.gallery-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#fff;
  padding:12px;
}
.gallery-item figcaption{padding:16px}
.gallery-item h3{margin:0 0 8px;font-size:18px}
.gallery-item p{font-size:14px;margin:0;color:#4b5563}
.article .lead-paragraph{font-size:20px;line-height:1.65;color:#263241}
.article h2{scroll-margin-top:120px}
@media(max-width:900px){
  .seo-service-grid,.mini-gallery,.gallery-grid,.related-grid,.video-grid.video-grid-two{grid-template-columns:1fr}
  .video-card.video-large video{min-height:0}
}


/* v27 SEO + Ads expansion */
:root{--gold:#d8b85d;--dark:#071018;--ink:#101826;--muted:#5d6776;--soft:#f4f6f8;--line:#e5e8ee}
.topbar{backdrop-filter:blur(10px)}
.navlinks a[href="/wyoblanie/"]{font-weight:800;color:#fff}
.page-hero--seo{padding:150px 0 82px;background:linear-gradient(130deg,rgba(6,14,22,.96),rgba(6,14,22,.88)),url('/assets/img/hero-poster.jpg') center/cover no-repeat;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.page-hero--seo h1{max-width:980px;font-size:clamp(42px,6vw,84px);line-height:.98;margin:16px 0 18px;letter-spacing:-.06em}
.page-hero--seo p{max-width:860px;color:#dce4ee;font-size:clamp(18px,2vw,24px);line-height:1.55}
.keyword-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.keyword-strip span{border:1px solid rgba(216,184,93,.38);background:rgba(216,184,93,.08);border-radius:999px;padding:9px 14px;color:#f4d982;font-weight:800;font-size:13px}.content-rich{font-size:18px;line-height:1.75}.content-rich h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:54px 0 18px;letter-spacing:-.04em}.content-rich h3{font-size:24px;margin:32px 0 10px}.content-rich p{margin:0 0 18px;color:#283344}.content-rich ul{margin:0 0 24px 18px}.content-rich li{margin:8px 0;color:#283344}.seo-block{border:1px solid var(--line);border-radius:24px;background:#fff;padding:28px;box-shadow:0 16px 45px rgba(10,18,30,.07)}.seo-block.dark{background:#0b1620;color:#fff;border-color:rgba(255,255,255,.1)}.seo-block.dark p,.seo-block.dark li{color:#d7e0ec}.seo-block.dark h2,.seo-block.dark h3{color:#fff}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0}.process-step{border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff}.process-step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ead18a;color:#101826;margin-bottom:14px}.process-step h3{font-size:19px;margin:0 0 8px}.industrial-table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:table}.industrial-table th,.industrial-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.industrial-table th{background:#f2f4f7;color:#101826}.industrial-table tr:last-child td{border-bottom:0}.conversion-box{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:center;background:#071018;color:#fff;border-radius:30px;padding:34px;margin:46px 0;box-shadow:0 24px 70px rgba(7,16,24,.22)}.conversion-box p{color:#dce4ee}.conversion-box .btn{justify-content:center}.quote-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.quote-checklist div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.quote-checklist strong{display:block;margin-bottom:6px}.topic-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.topic-cluster a{display:block;border:1px solid var(--line);border-radius:20px;background:#fff;padding:22px;text-decoration:none;color:#101826;box-shadow:0 10px 30px rgba(10,18,30,.05)}.topic-cluster a:hover{transform:translateY(-2px);border-color:#d8b85d}.topic-cluster strong{display:block;font-size:18px;margin-bottom:8px}.topic-cluster span{color:#5d6776;font-size:14px;line-height:1.5}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.proof-grid figure{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:0;box-shadow:0 16px 45px rgba(10,18,30,.06)}.proof-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;display:block}.proof-grid figcaption{padding:14px 16px;font-weight:800;color:#111827}.landing-cta{border:2px solid #d8b85d;background:linear-gradient(135deg,#fff,#f8f3df);border-radius:22px;padding:24px;margin:26px 0}.ads-card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:24px}.ads-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-links a[href="/wyoblanie/"]{background:#f2f4f7;color:#101826}.footer .seo-tags{max-width:760px}
@media(max-width:900px){.process-steps,.topic-cluster,.proof-grid,.ads-grid{grid-template-columns:1fr 1fr}.conversion-box{grid-template-columns:1fr}.quote-checklist{grid-template-columns:1fr}.page-hero--seo{padding-top:120px}.page-hero--seo h1{font-size:44px}}
@media(max-width:620px){.process-steps,.topic-cluster,.proof-grid,.ads-grid{grid-template-columns:1fr}.industrial-table{font-size:14px}.industrial-table th,.industrial-table td{padding:12px}.page-hero--seo h1{font-size:38px}.page-hero--seo p{font-size:17px}}


/* v28 — poprawa kontrastu, profesjonalizacji treści i stabilności wyglądu */
.hero{color:#fff!important;}
.hero h1{color:#fff!important;text-shadow:0 4px 24px rgba(0,0,0,.62);}
.hero .lead{color:#e8eef6!important;text-shadow:0 2px 14px rgba(0,0,0,.55);}
.hero .eyebrow{color:#f3d77b!important;text-shadow:0 2px 10px rgba(0,0,0,.55);}
.hero-card{color:#fff!important;background:rgba(10,22,34,.74)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 24px 70px rgba(0,0,0,.28);}
.hero-card h2,.hero-card li{color:#fff!important;}
.stat span{color:#cfd8e5!important;}
.section-dark{color:#fff!important;background:#071018!important;}
.section-dark h2,.section-dark h3,.section-dark strong{color:#fff!important;}
.section-dark p,.section-dark .intro,.section-dark .muted{color:#cbd5e1!important;}
.video-card{background:#0c1722!important;border-color:rgba(255,255,255,.12)!important;overflow:hidden;}
.video-card .caption{background:#0c1722!important;color:#fff!important;}
.video-card .caption h3{color:#fff!important;}
.video-card .caption p{color:#cbd5e1!important;}
.seo-service-card{min-height:198px;}
.seo-service-card p{line-height:1.55;}
.proof-grid figure{background:#fff;}
.proof-grid img{object-fit:contain!important;padding:10px;box-sizing:border-box;}
.ads-card h3{font-size:22px;margin:0 0 12px;letter-spacing:-.02em;}
.ads-card p{line-height:1.65;color:#4b5563;}
@media(max-width:700px){.hero-inner{padding-top:150px}.hero-card{margin-top:18px}.seo-service-card{min-height:auto}.proof-grid img{aspect-ratio:1/1}}


/* v29 — profesjonalizacja treści i stabilniejsza siatka kart */
.seo-service-card p{line-height:1.58;}
.seo-service-card{min-height:220px;}
.section-head .intro{max-width:940px;}
.proof-grid figcaption{min-height:52px;}
@media(max-width:900px){.seo-service-card{min-height:auto;}}


/* v30 — poprawa czytelności kafli CNC / Prototypy / PL-EU */
.hero .stats{
  background:rgba(226,232,240,.78)!important;
  border:1px solid rgba(226,232,240,.88)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(10px);
}
.hero .stat{
  background:rgba(248,250,252,.94)!important;
}
.hero .stat strong{
  color:#172033!important;
  text-shadow:none!important;
  letter-spacing:.01em;
}
.hero .stat span{
  color:#526174!important;
  text-shadow:none!important;
  font-weight:900;
}
.hero .stat:not(:last-child){
  border-right:1px solid rgba(15,23,42,.08);
}
@media(max-width:900px){.hero .stat:not(:last-child){border-right:0;border-bottom:1px solid rgba(15,23,42,.08)}}

/* v30 — sekcje eksperckie pod główną frazę wyoblanie */
.expert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 34px}
.expert-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 16px 45px rgba(10,18,30,.06)}
.expert-card h3{margin-top:0;color:#101826}
.expert-card p{color:#334155;margin-bottom:0}
.comparison-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:22px 0 34px}
.comparison-table th,.comparison-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:#334155}
.comparison-table th{background:#f5f7fa;color:#101826;font-weight:900}
.comparison-table tr:last-child td{border-bottom:0}
.seo-expert-box{background:linear-gradient(135deg,#071018,#101b29);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:30px;margin:36px 0;box-shadow:0 24px 70px rgba(7,16,24,.2)}
.seo-expert-box h2,.seo-expert-box h3{color:#fff!important;margin-top:0}
.seo-expert-box p,.seo-expert-box li{color:#dce4ee!important}
.seo-expert-box ul{margin-bottom:0}
.home-explain-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch;margin-top:22px}
.home-explain-grid .seo-block{height:100%}
@media(max-width:900px){.expert-grid,.home-explain-grid{grid-template-columns:1fr}.comparison-table{font-size:14px}.comparison-table th,.comparison-table td{padding:12px}}


/* v31: video background on SEO subpage heroes */
.page-hero--seo{position:relative;overflow:hidden;background:linear-gradient(130deg,rgba(6,14,22,.93),rgba(6,14,22,.84)),url('/assets/img/hero-poster.jpg') center/cover no-repeat}
.page-hero--seo .page-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:contrast(1.05) brightness(.72);z-index:0;pointer-events:none}
.page-hero--seo::before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(4,10,16,.82) 0%,rgba(4,10,16,.70) 38%,rgba(4,10,16,.58) 100%);z-index:1;pointer-events:none}
.page-hero--seo .container{position:relative;z-index:2}
@media(max-width:900px){.page-hero--seo .page-hero-video{opacity:.34;filter:contrast(1.02) brightness(.66)}}


/* v32: poprawione klikalne przyciski/pigułki w hero */
.hero-actions,.keyword-strip{position:relative;z-index:5;pointer-events:auto}
.hero-actions a,.keyword-strip a,.btn,.navlinks a,.service-links a{pointer-events:auto}
.keyword-strip a{display:inline-flex;align-items:center;border:1px solid rgba(216,184,93,.48);background:rgba(216,184,93,.10);border-radius:999px;padding:9px 14px;color:#e0b94d;font-weight:900;font-size:13px;text-decoration:none;line-height:1.1;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}
.keyword-strip a:hover{background:rgba(216,184,93,.20);border-color:rgba(216,184,93,.85);color:#d0a838;transform:translateY(-1px)}
.keyword-strip span{color:#d0a838}


/* v33: SEO + Google Ads content refinement */
.kicker, .eyebrow, .page-kicker { letter-spacing: .12em; }
.feature-strip, .hero-stats, .hero-badges { position: relative; z-index: 4; }
.feature-strip a, .hero-badges a, .btn, .service-card, .nav a { pointer-events: auto; }
.feature-strip,
.hero-stats {
  color: #17202b !important;
}
.feature-strip h3,
.feature-strip strong,
.hero-stats strong,
.hero-stat strong {
  color: #0b1320 !important;
}
.feature-strip p,
.hero-stats span,
.hero-stat span {
  color: #334155 !important;
}
.seo-panel {
  margin-top: 28px;
  padding: 28px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .06);
}
.seo-panel h2, .seo-panel h3 {
  color: #0f172a;
}
.seo-panel p, .seo-panel li {
  color: #334155;
}
.seo-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.seo-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.seo-box {
  padding: 20px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .07);
}
.seo-box h3 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.05rem;
}
.seo-box p {
  margin-bottom: 0;
}
.ads-cta {
  margin-top: 28px;
  padding: 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff8e1, #ffffff);
  border: 1px solid rgba(201, 157, 65, .45);
}
.ads-cta .btn {
  margin-top: 12px;
}
.text-lead {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #263244;
}
@media (max-width: 900px) {
  .seo-grid-2, .seo-grid-3 { grid-template-columns: 1fr; }
  .seo-panel { padding: 22px; }
}


/* v35: topical authority + Google Ads landing improvements */
.authority-section {
  background: #f8fafc;
}
.authority-panel {
  border: 1px solid rgba(15, 23, 42, .08);
  background: #ffffff;
  border-radius: 26px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .06);
  padding: 34px;
}
.authority-panel h2,
.authority-panel h3 {
  color: #0f172a;
}
.authority-panel p,
.authority-panel li {
  color: #334155;
}
.authority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}
.authority-card {
  display: block;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
}
.authority-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
}
.authority-card h3 {
  margin: 0 0 8px 0;
  font-size: 1.05rem;
}
.authority-card p {
  margin: 0;
}
.ads-keyword-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.ads-keyword-row a,
.ads-keyword-row span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(201, 157, 65, .45);
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff8e1;
  color: #5f4214;
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none;
}
.intent-box {
  margin: 26px 0;
  padding: 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0b1420, #111827);
  color: #fff;
  border: 1px solid rgba(255,255,255,.08);
}
.intent-box h2,
.intent-box h3 {
  color: #fff;
}
.intent-box p,
.intent-box li {
  color: rgba(255,255,255,.78);
}
.intent-box a {
  color: #f3d474;
}
.internal-link-strip {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  background: #ffffff;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.internal-link-strip a {
  display: block;
  padding: 13px 14px;
  border-radius: 14px;
  background: #f1f5f9;
  color: #0f172a;
  text-decoration: none;
  font-weight: 800;
}
.internal-link-strip span {
  display: block;
  margin-top: 4px;
  font-weight: 500;
  color: #64748b;
  font-size: .86rem;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .authority-grid,
  .internal-link-strip {
    grid-template-columns: 1fr;
  }
  .authority-panel {
    padding: 24px;
  }
}


/* v36: naprawa widoczności zdjęć realizacji i układu sekcji autorytetu */
.proof-grid figure,
.realization-card,
.gallery-card {
  background: #fff;
}
.proof-grid img,
.realization-card img,
.gallery-card img {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: 100%;
  object-fit: contain;
  background: #fff;
  transform: none !important;
  filter: none !important;
}
.proof-grid img {
  min-height: 230px;
}
.authority-section {
  padding-top: 72px;
  padding-bottom: 72px;
}
.authority-section + .section {
  padding-top: 72px;
}
@media (max-width: 900px) {
  .proof-grid img {
    min-height: 180px;
  }
}


/* v37: dopracowanie po kontroli screenów
   - niższe karty realizacji na podstronach
   - ciemniejszy tekst w jasnych kaflach hero
   - poprawiony dolny CTA na /wyoblanie-blach/
*/

/* Jasne kafle CNC / Prototypy / PL-EU — tekst ma być ciemny i czytelny */
.hero .stats,
.stats {
  background: rgba(226,232,240,.92) !important;
  border-color: rgba(226,232,240,.96) !important;
}
.hero .stat,
.stats .stat {
  background: rgba(248,250,252,.98) !important;
}
.hero .stat strong,
.stats .stat strong {
  color: #0b1320 !important;
  text-shadow: none !important;
}
.hero .stat span,
.stats .stat span {
  color: #334155 !important;
  text-shadow: none !important;
  font-weight: 900 !important;
}

/* Realizacje — koniec z bardzo wysokimi pustymi kartami na podstronach */
.proof-grid {
  align-items: stretch;
}
.proof-grid figure {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.proof-grid img {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}
.proof-grid figcaption {
  margin-top: auto !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
}

/* Na wąskich ekranach karty mają być zwarte, ale dalej w 3 kolumnach tam, gdzie się mieszczą */
@media (max-width: 700px) {
  .proof-grid {
    gap: 10px !important;
  }
  .proof-grid img {
    aspect-ratio: 1 / 1 !important;
    padding: 8px !important;
  }
  .proof-grid figcaption {
    min-height: 42px !important;
    padding: 10px 10px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
}

/* Dolne CTA na nowej podstronie /wyoblanie-blach/ */
.bottom-cta {
  background: #071018 !important;
  color: #fff !important;
  padding: 72px 0 !important;
}
.bottom-cta .cta-box {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 28px !important;
  align-items: center !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.025) !important;
  border-radius: 28px !important;
  padding: 38px !important;
}
.bottom-cta h2 {
  color: #fff !important;
  margin: 0 0 10px !important;
  font-size: clamp(30px,4vw,46px) !important;
  letter-spacing: -.05em !important;
}
.bottom-cta p {
  color: #d7e0ea !important;
  margin: 0 !important;
  font-size: 17px !important;
}
.bottom-cta .cta-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}
@media (max-width: 900px) {
  .bottom-cta .cta-box {
    grid-template-columns: 1fr !important;
    padding: 28px !important;
  }
  .bottom-cta .cta-actions {
    justify-content: flex-start !important;
  }
}

/* Lepsze odstępy: sekcja autorytetu nie może wyglądać jak przypadkowy dodatek */
.authority-section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
.authority-panel {
  max-width: 1180px;
  margin: 0 auto;
}


/* v38: bezpieczne rozjaśnienie wideo w tle hero
   Cel: tło jest bardziej widoczne, ale tekst i CTA nadal mają mocny kontrast.
*/

/* Strona główna */
.hero video,
.hero .poster-bg {
  opacity: .57 !important;
  filter: contrast(1.05) brightness(.84) saturate(1.02) !important;
}

.hero:after {
  background:
    linear-gradient(
      90deg,
      rgba(8,14,21,.92) 0%,
      rgba(8,14,21,.68) 42%,
      rgba(8,14,21,.40) 100%
    ),
    linear-gradient(
      0deg,
      rgba(8,14,21,.88),
      rgba(8,14,21,0) 45%
    ) !important;
}

/* Podstrony SEO z wideo w hero */
.page-hero--seo .page-hero-video {
  opacity: .48 !important;
  filter: contrast(1.05) brightness(.80) saturate(1.02) !important;
}

.page-hero--seo::before {
  background:
    linear-gradient(
      130deg,
      rgba(4,10,16,.76) 0%,
      rgba(4,10,16,.66) 38%,
      rgba(4,10,16,.54) 100%
    ) !important;
}

/* Bezpieczna wersja mobilna: trochę ciemniej, żeby napis był stabilnie czytelny */
@media (max-width: 900px) {
  .hero video,
  .hero .poster-bg {
    opacity: .50 !important;
    filter: contrast(1.04) brightness(.78) saturate(1.01) !important;
  }

  .page-hero--seo .page-hero-video {
    opacity: .40 !important;
    filter: contrast(1.03) brightness(.72) saturate(1.01) !important;
  }

  .page-hero--seo::before {
    background:
      linear-gradient(
        130deg,
        rgba(4,10,16,.82) 0%,
        rgba(4,10,16,.74) 45%,
        rgba(4,10,16,.64) 100%
      ) !important;
  }
}


/* v39: mocniejsze, ale nadal bezpieczne wydobycie wideo w tle */
/* Desktop - strona główna */
.hero video,
.hero .poster-bg {
  opacity: .68 !important;
  filter: contrast(1.08) brightness(.98) saturate(1.05) !important;
}

.hero:after {
  background:
    linear-gradient(
      90deg,
      rgba(8,14,21,.88) 0%,
      rgba(8,14,21,.58) 38%,
      rgba(8,14,21,.28) 100%
    ),
    linear-gradient(
      0deg,
      rgba(8,14,21,.78),
      rgba(8,14,21,0) 44%
    ) !important;
}

/* Desktop - podstrony */
.page-hero--seo .page-hero-video {
  opacity: .60 !important;
  filter: contrast(1.07) brightness(.92) saturate(1.04) !important;
}

.page-hero--seo::before {
  background:
    linear-gradient(
      130deg,
      rgba(4,10,16,.68) 0%,
      rgba(4,10,16,.55) 38%,
      rgba(4,10,16,.42) 100%
    ) !important;
}

/* Mobile/tablet - nadal bezpiecznie, ale wyraźniej niż v38 */
@media (max-width: 900px) {
  .hero video,
  .hero .poster-bg {
    opacity: .58 !important;
    filter: contrast(1.06) brightness(.88) saturate(1.03) !important;
  }

  .hero:after {
    background:
      linear-gradient(
        90deg,
        rgba(8,14,21,.90) 0%,
        rgba(8,14,21,.66) 42%,
        rgba(8,14,21,.40) 100%
      ),
      linear-gradient(
        0deg,
        rgba(8,14,21,.84),
        rgba(8,14,21,0) 44%
      ) !important;
  }

  .page-hero--seo .page-hero-video {
    opacity: .50 !important;
    filter: contrast(1.05) brightness(.82) saturate(1.02) !important;
  }

  .page-hero--seo::before {
    background:
      linear-gradient(
        130deg,
        rgba(4,10,16,.76) 0%,
        rgba(4,10,16,.64) 45%,
        rgba(4,10,16,.52) 100%
      ) !important;
  }
}

/* v40: korekta języka sekcji autorytetu SEO na ekspercko-handlowy */


/* v41: cookies / prywatność / Consent Mode v2 */

.footer a.footer-policy-link,
.footer .footer-cookie-link{
  color:#dce3eb;
  text-decoration:underline;
  text-underline-offset:3px;
}
.footer .footer-cookie-link{
  appearance:none;
  border:0;
  background:transparent;
  font:inherit;
  padding:0;
  cursor:pointer;
}
.footer .footer-cookie-link:hover,
.footer a.footer-policy-link:hover{color:#fff}

.cookie-consent[hidden],
.cookie-modal[hidden]{display:none!important}

.cookie-consent{
  position:fixed;
  z-index:999999;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:min(1040px,calc(100% - 32px));
  background:rgba(8,14,21,.98);
  color:#f8fafc;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);
}
.cookie-consent__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:24px;
}
.cookie-consent h2{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
  color:#fff;
}
.cookie-consent p{
  margin:0;
  color:#d6dee9;
  line-height:1.55;
  font-size:14px;
  max-width:760px;
}
.cookie-consent a{
  color:#f0d28c;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cookie-consent__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  min-width:390px;
}
.cc-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
  font-size:13px;
  line-height:1;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.cc-btn:hover{transform:translateY(-1px)}
.cc-btn--gold{
  background:#d9b76e;
  color:#10161d;
  border-color:#d9b76e;
}
.cc-btn--light{
  background:#f8fafc;
  color:#10161d;
  border-color:#f8fafc;
}
.cc-btn--dark{
  background:rgba(255,255,255,.06);
  color:#fff;
}

.cookie-modal{
  position:fixed;
  z-index:1000000;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(2,6,12,.64);
  backdrop-filter:blur(10px);
}
.cookie-modal__dialog{
  width:min(760px,100%);
  max-height:min(86vh,860px);
  overflow:auto;
  background:#f8fafc;
  color:#111827;
  border-radius:26px;
  border:1px solid rgba(15,23,42,.1);
  box-shadow:0 36px 110px rgba(0,0,0,.45);
}
.cookie-modal__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:28px 30px 18px;
  border-bottom:1px solid #e5e7eb;
}
.cookie-modal__head h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.1;
  letter-spacing:-.04em;
}
.cookie-modal__head p{
  margin:0;
  color:#4b5563;
}
.cookie-close{
  appearance:none;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.cookie-modal__body{padding:20px 30px 6px}
.cookie-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid #e5e7eb;
}
.cookie-option:last-child{border-bottom:0}
.cookie-option input{
  width:22px;
  height:22px;
  margin-top:3px;
  accent-color:#d9b76e;
}
.cookie-option h3{
  margin:0 0 4px;
  font-size:18px;
}
.cookie-option p{
  margin:0;
  color:#4b5563;
  font-size:14px;
}
.cookie-option small{
  display:block;
  margin-top:8px;
  color:#64748b;
}
.cookie-modal__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  padding:22px 30px 30px;
  border-top:1px solid #e5e7eb;
}
.cookie-modal__actions .cc-btn--dark{
  background:#111827;
}
.policy-page{
  padding:190px 0 90px;
  background:#f4f5f7;
}
.policy-wrap{
  width:min(980px,calc(100% - 40px));
  margin-inline:auto;
}
.policy-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:28px;
  box-shadow:0 20px 70px rgba(15,23,42,.08);
  padding:42px;
}
.policy-card h1{
  margin:0 0 18px;
  font-size:clamp(36px,5vw,62px);
  line-height:1;
  letter-spacing:-.06em;
}
.policy-card h2{
  margin:34px 0 12px;
  font-size:26px;
  letter-spacing:-.04em;
}
.policy-card h3{
  margin:24px 0 8px;
  font-size:20px;
}
.policy-card p,
.policy-card li{
  color:#374151;
  font-size:16px;
}
.policy-card ul{padding-left:22px}
.policy-note{
  margin-top:24px;
  padding:18px;
  border-radius:18px;
  background:#fff8e8;
  border:1px solid rgba(217,183,110,.45);
}
.policy-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}
.policy-actions .btn-secondary{
  background:#111827;
  color:#fff;
}

@media (max-width: 900px){
  .cookie-consent__inner{
    grid-template-columns:1fr;
    padding:20px;
  }
  .cookie-consent__actions{
    min-width:0;
    justify-content:flex-start;
  }
  .cc-btn{
    flex:1 1 auto;
  }
  .cookie-modal__head,
  .cookie-modal__body,
  .cookie-modal__actions{
    padding-left:20px;
    padding-right:20px;
  }
  .policy-card{padding:28px}
}


/* v42: profesjonalna treść ekspercka /wyoblanie/ */
.expert-toc {
  margin: 28px 0 34px;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.08);
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(15,23,42,.06);
}
.expert-toc h2 {
  margin-top: 0;
  font-size: 24px;
  letter-spacing: -.04em;
}
.expert-toc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.expert-toc-grid a {
  display: block;
  padding: 14px 16px;
  border-radius: 15px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.07);
  color: #0f172a;
  text-decoration: none;
  font-weight: 900;
}
.expert-toc-grid a span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
}
.expert-section {
  margin: 34px 0;
  padding: 30px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 16px 42px rgba(15,23,42,.055);
}
.expert-section h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.expert-section p,
.expert-section li {
  color: #334155;
}
.expert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  margin-top: 18px;
}
.expert-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.expert-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.expert-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.025em;
}
.expert-card p {
  margin: 0;
}
.expert-list {
  columns: 2;
  column-gap: 34px;
  padding-left: 20px;
}
.expert-list li {
  break-inside: avoid;
  margin-bottom: 8px;
}
.expert-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 20px;
  margin: 20px 0 8px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
}
.expert-table th {
  background: #101820;
  color: #fff;
  text-align: left;
  padding: 14px 16px;
  font-size: 14px;
}
.expert-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  vertical-align: top;
  color: #334155;
}
.expert-table tr:nth-child(even) td {
  background: #f8fafc;
}
.expert-warning {
  margin-top: 20px;
  padding: 18px;
  border-radius: 18px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.expert-cta {
  margin: 34px 0;
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(135deg,#0b1420,#111827);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
}
.expert-cta h2,
.expert-cta h3 {
  color: #fff;
  margin-top: 0;
}
.expert-cta p,
.expert-cta li {
  color: rgba(255,255,255,.78);
}
.expert-cta .btn {
  margin-top: 10px;
}
@media (max-width:900px){
  .expert-toc-grid,
  .expert-grid,
  .expert-grid-3 {
    grid-template-columns: 1fr;
  }
  .expert-section,
  .expert-toc,
  .expert-cta {
    padding: 22px;
  }
  .expert-list {
    columns: 1;
  }
  .expert-table {
    display: block;
    overflow-x: auto;
  }
}


/* v43: profesjonalna podstrona /wyoblanie-metalu/ + tabela metali */
.material-map {
  margin: 28px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.material-card {
  padding: 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 36px rgba(15,23,42,.055);
}
.material-card h3 {
  margin: 0 0 10px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.material-card p,
.material-card li {
  color: #334155;
}
.material-card ul {
  margin: 10px 0 0;
  padding-left: 20px;
}
.material-note {
  padding: 20px;
  border-radius: 20px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.metal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.metal-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.metal-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.metal-table tr:nth-child(even) td {
  background: #f8fafc;
}
.process-flow {
  counter-reset: step;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin-top: 20px;
}
.process-flow .process-step {
  position: relative;
  padding: 22px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.process-flow .process-step:before {
  counter-increment: step;
  content: counter(step);
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 12px;
}
.process-flow .process-step h3 {
  margin: 0 0 8px;
  font-size: 18px;
}
.process-flow .process-step p {
  margin: 0;
  color: #475569;
}
@media (max-width: 900px) {
  .material-map,
  .process-flow {
    grid-template-columns: 1fr;
  }
  .metal-table {
    display: block;
    overflow-x: auto;
  }
}


/* v44: profesjonalna podstrona /wyoblanie-cnc/ */
.cnc-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.cnc-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.cnc-panel p,
.cnc-panel li {
  color: #334155;
}
.cnc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.cnc-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.cnc-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.cnc-card p {
  margin: 0;
}
.cnc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.cnc-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.cnc-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.cnc-table tr:nth-child(even) td {
  background: #f8fafc;
}
.cnc-flow {
  counter-reset: cncstep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.cnc-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.cnc-step:before {
  counter-increment: cncstep;
  content: counter(cncstep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.cnc-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.cnc-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.cnc-note {
  padding: 20px;
  margin: 22px 0;
  border-radius: 20px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
@media (max-width: 1050px){
  .cnc-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px){
  .cnc-grid { grid-template-columns: 1fr; }
  .cnc-flow { grid-template-columns: 1fr; }
  .cnc-panel { padding: 22px; }
  .cnc-table { display:block; overflow-x:auto; }
}


/* v45: profesjonalna podstrona /stozki-metalowe/ */
.cone-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.cone-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.cone-panel p,
.cone-panel li {
  color: #334155;
}
.cone-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.cone-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.cone-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.cone-card p {
  margin: 0;
}
.dimension-box {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
}
.dimension-box h3 {
  margin-top: 0;
  color: #3f2b0a;
}
.dimension-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 20px;
  margin: 0;
  padding-left: 20px;
}
.cone-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.cone-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.cone-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.cone-table tr:nth-child(even) td {
  background: #f8fafc;
}
.cone-flow {
  counter-reset: conestep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.cone-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.cone-step:before {
  counter-increment: conestep;
  content: counter(conestep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.cone-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.cone-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
@media (max-width:1050px) {
  .cone-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .cone-grid,
  .dimension-list,
  .cone-flow {
    grid-template-columns: 1fr;
  }
  .cone-panel { padding: 22px; }
  .cone-table { display:block; overflow-x:auto; }
}


/* v46: profesjonalna podstrona /wyoblanie-stozkow/ */
.cone-service-highlight {
  margin: 28px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg,#fff8e8,#ffffff);
  border: 1px solid rgba(217,183,110,.48);
}
.cone-service-highlight h2,
.cone-service-highlight h3 {
  margin-top: 0;
  color: #22170a;
}
.cone-service-highlight p,
.cone-service-highlight li {
  color: #3f2b0a;
}
.cone-design-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.cone-design-card {
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
  padding: 20px;
}
.cone-design-card h3 {
  margin: 0 0 8px;
  color: #0f172a;
}
.cone-design-card p {
  margin: 0;
  color: #334155;
}
@media (max-width:900px) {
  .cone-design-grid { grid-template-columns: 1fr; }
}


/* v47: profesjonalna podstrona /dennice-i-polkule/ */
.dome-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.dome-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.dome-panel p,
.dome-panel li {
  color: #334155;
}
.dome-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.dome-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.dome-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.dome-card p {
  margin: 0;
}
.dome-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.dome-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.dome-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.dome-table tr:nth-child(even) td {
  background: #f8fafc;
}
.dome-flow {
  counter-reset: domestepp;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.dome-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.dome-step:before {
  counter-increment: domestepp;
  content: counter(domestepp);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.dome-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.dome-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.dome-warning {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.dome-warning h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .dome-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .dome-grid,
  .dome-flow {
    grid-template-columns: 1fr;
  }
  .dome-panel { padding: 22px; }
  .dome-table { display:block; overflow-x:auto; }
}

/* v48: dane firmy uzupełnione o kapitał zakładowy 20 000 zł */


/* v49: profesjonalna podstrona /wyoblanie-dennic/ */
.dennica-highlight {
  margin: 28px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg,#fff8e8,#ffffff);
  border: 1px solid rgba(217,183,110,.48);
}
.dennica-highlight h2,
.dennica-highlight h3 {
  margin-top: 0;
  color: #22170a;
}
.dennica-highlight p,
.dennica-highlight li {
  color: #3f2b0a;
}
.dennica-design-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.dennica-design-card {
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
  padding: 20px;
}
.dennica-design-card h3 {
  margin: 0 0 8px;
  color: #0f172a;
}
.dennica-design-card p {
  margin: 0;
  color: #334155;
}
@media (max-width:900px) {
  .dennica-design-grid { grid-template-columns: 1fr; }
}


/* v50: profesjonalna podstrona /klosze-metalowe/ */
.shade-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.shade-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.shade-panel p,
.shade-panel li {
  color: #334155;
}
.shade-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.shade-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.shade-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.shade-card p {
  margin: 0;
}
.shade-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.shade-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.shade-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.shade-table tr:nth-child(even) td {
  background: #f8fafc;
}
.shade-flow {
  counter-reset: shadestep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.shade-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.shade-step:before {
  counter-increment: shadestep;
  content: counter(shadestep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.shade-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.shade-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.shade-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.shade-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .shade-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .shade-grid,
  .shade-flow {
    grid-template-columns: 1fr;
  }
  .shade-panel { padding: 22px; }
  .shade-table { display:block; overflow-x:auto; }
}


/* v51: profesjonalna podstrona /wyoblanie-aluminium/ */
.al-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.al-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.al-panel p,
.al-panel li {
  color: #334155;
}
.al-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.al-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.al-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.al-card p {
  margin: 0;
}
.al-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.al-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.al-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.al-table tr:nth-child(even) td {
  background: #f8fafc;
}
.al-flow {
  counter-reset: alstep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.al-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.al-step:before {
  counter-increment: alstep;
  content: counter(alstep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.al-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.al-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.al-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.al-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .al-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .al-grid,
  .al-flow {
    grid-template-columns: 1fr;
  }
  .al-panel { padding: 22px; }
  .al-table { display:block; overflow-x:auto; }
}


/* v52: profesjonalna podstrona /wyoblanie-stali-nierdzewnej/ */
.ss-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.ss-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.ss-panel p,
.ss-panel li {
  color: #334155;
}
.ss-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.ss-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.ss-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.ss-card p {
  margin: 0;
}
.ss-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.ss-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.ss-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.ss-table tr:nth-child(even) td {
  background: #f8fafc;
}
.ss-flow {
  counter-reset: ssstep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.ss-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.ss-step:before {
  counter-increment: ssstep;
  content: counter(ssstep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.ss-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.ss-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.ss-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.ss-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .ss-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .ss-grid,
  .ss-flow {
    grid-template-columns: 1fr;
  }
  .ss-panel { padding: 22px; }
  .ss-table { display:block; overflow-x:auto; }
}


/* v53: profesjonalna podstrona /wyoblanie-mosiadzu-i-miedzi/ */
.cu-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.cu-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.cu-panel p,
.cu-panel li {
  color: #334155;
}
.cu-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.cu-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.cu-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.cu-card p {
  margin: 0;
}
.cu-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.cu-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.cu-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.cu-table tr:nth-child(even) td {
  background: #f8fafc;
}
.cu-flow {
  counter-reset: custep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.cu-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.cu-step:before {
  counter-increment: custep;
  content: counter(custep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.cu-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.cu-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.cu-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.cu-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .cu-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .cu-grid,
  .cu-flow {
    grid-template-columns: 1fr;
  }
  .cu-panel { padding: 22px; }
  .cu-table { display:block; overflow-x:auto; }
}


/* v54: profesjonalna podstrona /drykowanie-blach/ */
.dryk-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.dryk-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.dryk-panel p,
.dryk-panel li {
  color: #334155;
}
.dryk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.dryk-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.dryk-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.dryk-card p {
  margin: 0;
}
.dryk-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.dryk-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.dryk-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.dryk-table tr:nth-child(even) td {
  background: #f8fafc;
}
.dryk-flow {
  counter-reset: drykstep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.dryk-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.dryk-step:before {
  counter-increment: drykstep;
  content: counter(drykstep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.dryk-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.dryk-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.dryk-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.dryk-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .dryk-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .dryk-grid,
  .dryk-flow {
    grid-template-columns: 1fr;
  }
  .dryk-panel { padding: 22px; }
  .dryk-table { display:block; overflow-x:auto; }
}


/* v55: profesjonalna podstrona /elementy-osiowo-symetryczne/ */
.axis-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.axis-panel h2 {
  margin-top: 0;
  letter-spacing: -.045em;
}
.axis-panel p,
.axis-panel li {
  color: #334155;
}
.axis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.axis-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.axis-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.axis-card p {
  margin: 0;
}
.axis-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.axis-table th {
  background: #101820;
  color: #fff;
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.axis-table td {
  padding: 15px 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: #334155;
  vertical-align: top;
}
.axis-table tr:nth-child(even) td {
  background: #f8fafc;
}
.axis-flow {
  counter-reset: axisstep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.axis-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.axis-step:before {
  counter-increment: axisstep;
  content: counter(axisstep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.axis-step h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.axis-step p {
  margin: 0;
  font-size: 14px;
  color: #475569;
}
.axis-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.axis-note h3 {
  margin-top: 0;
  color: #22170a;
}
@media (max-width:1050px) {
  .axis-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .axis-grid,
  .axis-flow {
    grid-template-columns: 1fr;
  }
  .axis-panel { padding: 22px; }
  .axis-table { display:block; overflow-x:auto; }
}


/* v56: podstrona /wyoblanie-elementow-kominowych/ + płynność kart i mediów */
.page-hero-video,
.hero video,
.video-card video,
.proof-grid img,
.gallery-grid img,
.seo-service-card,
.topic-cluster a,
.axis-card,
.chimney-card {
  transform: translateZ(0);
  backface-visibility: hidden;
}
.proof-grid figure,
.gallery-item,
.seo-service-card,
.topic-cluster a,
.chimney-card {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.proof-grid figure:hover,
.gallery-item:hover,
.seo-service-card:hover,
.topic-cluster a:hover,
.chimney-card:hover {
  transform: translateY(-3px);
  border-color: rgba(217,183,110,.52) !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.10);
}
.chimney-panel {
  margin: 30px 0;
  padding: 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 46px rgba(15,23,42,.055);
}
.chimney-panel h2 { margin-top: 0; letter-spacing: -.045em; }
.chimney-panel p,
.chimney-panel li { color: #334155; }
.chimney-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.chimney-card {
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.075);
}
.chimney-card h3 { margin: 0 0 8px; font-size: 19px; letter-spacing: -.03em; color: #0f172a; }
.chimney-card p { margin: 0; }
.chimney-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.chimney-table th { background: #101820; color: #fff; padding: 14px 16px; text-align: left; font-size: 14px; }
.chimney-table td { padding: 15px 16px; border-top: 1px solid rgba(15,23,42,.08); color: #334155; vertical-align: top; }
.chimney-table tr:nth-child(even) td { background: #f8fafc; }
.chimney-note {
  margin: 22px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff8e8;
  border: 1px solid rgba(217,183,110,.48);
  color: #3f2b0a;
}
.chimney-note h3 { margin-top: 0; color: #22170a; }
.chimney-flow {
  counter-reset: chimneystep;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
}
.chimney-step {
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.chimney-step:before {
  counter-increment: chimneystep;
  content: counter(chimneystep);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #d9b76e;
  color: #101820;
  font-weight: 900;
  margin-bottom: 10px;
}
.chimney-step h3 { margin: 0 0 8px; font-size: 17px; }
.chimney-step p { margin: 0; font-size: 14px; color: #475569; }
.chimney-gallery img { height: 280px; object-fit: contain !important; padding: 12px; background: #fff; }
.service-links a[href="/wyoblanie-elementow-kominowych/"] { background: #fbf7ec; border: 1px solid rgba(217,183,110,.38); }
@media (max-width:1050px) { .chimney-flow { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) {
  .chimney-grid,
  .chimney-flow { grid-template-columns: 1fr; }
  .chimney-panel { padding: 22px; }
  .chimney-table { display:block; overflow-x:auto; }
  .proof-grid figure:hover,
  .gallery-item:hover,
  .seo-service-card:hover,
  .topic-cluster a:hover,
  .chimney-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* v57: rozbudowana strona Realizacje - portfolio SEO i sprzedaż */
.portfolio-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin:26px 0 24px;align-items:stretch}
.portfolio-intro__panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 45px rgba(10,18,30,.06)}
.portfolio-intro__panel h3{font-size:22px;margin:0 0 10px;color:#101826}
.portfolio-intro__panel p{font-size:15px;line-height:1.6;color:#4b5563;margin:0}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0 38px}
.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 18px 50px rgba(10,18,30,.075);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.portfolio-card:hover{transform:translateY(-3px);border-color:#d8b85d;box-shadow:0 22px 62px rgba(10,18,30,.12)}
.portfolio-card__media{display:block;background:#fff;border-bottom:1px solid var(--line)}
.portfolio-card__media img{display:block;width:100%;height:320px;object-fit:contain;background:#fff;padding:14px;box-sizing:border-box}
.portfolio-card__body{padding:22px}
.portfolio-card__eyebrow{font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#9a7522;font-weight:900;margin:0 0 10px}
.portfolio-card h3{font-size:24px;line-height:1.12;margin:0 0 10px;color:#101826;letter-spacing:-.025em}
.portfolio-card p{font-size:15px;line-height:1.62;color:#4b5563;margin:0 0 14px}
.portfolio-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.portfolio-card__meta span{background:#f7f7f4;border:1px solid #ece3c9;border-radius:14px;padding:10px 12px;color:#2b3441;font-size:13px;line-height:1.35}
.portfolio-card__meta b{display:block;color:#101826;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.portfolio-tags span{font-size:11px;font-weight:900;border-radius:999px;background:#111827;color:#f7e5a6;padding:7px 10px}
.portfolio-card__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.portfolio-card__links a{font-size:13px;font-weight:900;color:#101826;background:#ead18a;border-radius:999px;padding:9px 12px;text-decoration:none}
.portfolio-card__links a:hover{background:#d8b85d}
.full-gallery-note{background:#0b1620;color:#fff;border-radius:24px;padding:26px;margin:42px 0 22px;border:1px solid rgba(255,255,255,.1)}
.full-gallery-note h2{margin-top:0;color:#fff}.full-gallery-note p{color:#d7e0ec;margin-bottom:0}
.realization-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 38px}
.realization-mini-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(10,18,30,.06);transition:transform .18s ease,border-color .18s ease}
.realization-mini-grid figure:hover{transform:translateY(-2px);border-color:#d8b85d}
.realization-mini-grid img{display:block;width:100%;height:250px;object-fit:contain;background:#fff;padding:12px;box-sizing:border-box}
.realization-mini-grid figcaption{padding:15px 16px;color:#111827}
.realization-mini-grid strong{display:block;font-size:15px;line-height:1.25;margin-bottom:5px}
.realization-mini-grid span{display:block;color:#5d6776;font-size:13px;line-height:1.45}
.video-grid.video-grid-two.realization-videos{margin:24px 0 42px}
.realization-videos .caption h3{margin-top:0}
@media(max-width:900px){.portfolio-intro,.portfolio-grid{grid-template-columns:1fr}.portfolio-card__media img{height:280px}.realization-mini-grid{grid-template-columns:1fr 1fr}.portfolio-card__meta{grid-template-columns:1fr}}
@media(max-width:620px){.realization-mini-grid{grid-template-columns:1fr}.portfolio-card__media img,.realization-mini-grid img{height:240px}.portfolio-card__body{padding:18px}.portfolio-card h3{font-size:21px}}


/* v58: multi-search / ads landing improvements */
.search-visibility-panel{margin:28px 0;padding:24px;border:1px solid rgba(219,178,94,.24);border-radius:22px;background:linear-gradient(135deg,rgba(219,178,94,.10),rgba(255,255,255,.035));box-shadow:0 18px 55px rgba(0,0,0,.24)}
.search-visibility-panel h2{margin-top:0}.search-visibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.search-visibility-grid div{padding:16px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.045)}.search-visibility-grid strong{display:block;margin-bottom:6px;color:#f2d28a}.search-visibility-grid span{color:rgba(255,255,255,.75)}
.global-keyword-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.global-keyword-row a{padding:9px 12px;border-radius:999px;border:1px solid rgba(219,178,94,.28);background:rgba(219,178,94,.08);color:#f6dfaa;text-decoration:none;font-weight:650}.global-keyword-row a:hover{background:rgba(219,178,94,.16)}
.ads-ready-box{margin:28px 0;padding:22px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}.ads-ready-box ul{margin:12px 0 0;padding-left:20px}.ads-ready-box li{margin:8px 0}.ads-ready-box strong{color:#f2d28a}
.en-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.en-service-card{padding:20px;border-radius:22px;border:1px solid rgba(219,178,94,.22);background:rgba(255,255,255,.045)}.en-service-card h3{margin-top:0}.en-service-card p{color:rgba(255,255,255,.78)}
@media (max-width:780px){.search-visibility-grid,.en-service-grid{grid-template-columns:1fr}.search-visibility-panel{padding:18px}}


/* v59: English landing pages readability + ads tracking polish */
.en-service-card{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.06) !important;
  color:#101826 !important;
}
.en-service-card h3{
  color:#101826 !important;
}
.en-service-card p,
.content-rich .en-service-card p{
  color:#334155 !important;
}
.ads-ready-box{
  background:linear-gradient(135deg,#fff,#f8f3df) !important;
  border:1px solid rgba(217,183,110,.55) !important;
  border-radius:24px;
  padding:28px;
  box-shadow:0 16px 45px rgba(10,18,30,.06);
}
.ads-ready-box h2{color:#101826 !important;}
.ads-ready-box p,.ads-ready-box li{color:#334155 !important;}
.ads-ready-box strong{color:#a17116 !important;}
.cta-mini{background:#fff9ea !important;border-color:rgba(217,183,110,.45) !important;}
.cta-mini h3{color:#101826 !important;}
.cta-mini p{color:#334155 !important;}
.en-service-grid{margin:26px 0 34px;}
.page-hero--seo .hero-actions .btn{position:relative;z-index:6;}
.footer .seo-tags{line-height:1.6;}
@media(max-width:780px){
  .ads-ready-box{padding:22px;}
}


/* v60: social media trust layer */
.footer-social{margin-top:14px;max-width:760px}
.footer-social strong{display:block;margin-bottom:8px;color:#fff;font-weight:800;letter-spacing:.02em}
.footer-social__links{display:flex;flex-wrap:wrap;gap:8px}
.footer-social__links a,.social-proof-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(212,175,55,.45);border-radius:999px;padding:8px 12px;color:#f4d56d;text-decoration:none;font-size:.92rem;font-weight:800;background:rgba(212,175,55,.06);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.footer-social__links a:hover,.social-proof-links a:hover{transform:translateY(-1px);background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.85)}
.social-proof-panel{margin:34px 0;padding:28px;border-radius:22px;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(25,33,52,.92));border:1px solid rgba(212,175,55,.32);box-shadow:0 20px 60px rgba(0,0,0,.18);color:#e5e7eb}
.social-proof-panel h2{margin-top:0;color:#fff}
.social-proof-panel p{max-width:860px;color:#d6d9df}
.social-proof-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media (max-width: 720px){.footer-social__links,.social-proof-links{gap:7px}.footer-social__links a,.social-proof-links a{padding:8px 10px;font-size:.86rem}}


/* v65: prosta korekta czytelności sekcji widoczności i publicznej notki SEO */
.search-visibility-panel{
  margin:28px 0 !important;
  padding:30px !important;
  border:1px solid rgba(217,183,110,.42) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff,#fffaf0) !important;
  box-shadow:0 18px 45px rgba(15,23,42,.10) !important;
  color:#101826 !important;
}
.search-visibility-panel h2{
  max-width:1180px !important;
  margin:0 0 16px !important;
  font-size:clamp(34px,3.2vw,48px) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  color:#101826 !important;
}
.search-visibility-panel p{
  max-width:1180px !important;
  color:#263241 !important;
  font-size:18px !important;
  line-height:1.65 !important;
}
.search-visibility-grid div{
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.05) !important;
}
.search-visibility-grid strong{color:#b48628 !important;}
.search-visibility-grid span{color:#475569 !important;}
.global-keyword-row a{
  background:#fffaf0 !important;
  border-color:rgba(217,183,110,.46) !important;
  color:#b48628 !important;
}
.global-keyword-row a:hover{background:#fff3d6 !important;}
.v64-dome-priority{
  font-size:17px !important;
  line-height:1.65 !important;
  padding:20px 22px !important;
}
@media(max-width:780px){
  .search-visibility-panel{padding:22px !important;}
  .search-visibility-panel h2{font-size:clamp(28px,8vw,38px) !important;}
  .search-visibility-panel p{font-size:16px !important;}
}


/* v67 — naprawa numeracji w sekcji „Proces współpracy” na wszystkich stronach */
.process-steps {
  counter-reset: process-step;
}
.process-steps .process-step {
  position: relative;
}
.process-steps .process-step:before {
  counter-increment: process-step;
  content: counter(process-step);
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ead18a;
  color: #101826;
  font-weight: 800;
  margin-bottom: 14px;
}
.process-steps .process-step > b {
  display: none !important;
}

/* v68 — twarda poprawka sekcji „Proces współpracy”:
   jedna numeracja 1–4 generowana z CSS; stare ręczne znaczniki <b> usunięte z HTML. */
.process-steps {
  counter-reset: process-step;
}
.process-steps .process-step {
  position: relative;
}
.process-steps .process-step:before {
  counter-increment: process-step;
  content: counter(process-step);
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ead18a;
  color: #101826;
  font-weight: 900;
  margin-bottom: 14px;
}
.process-steps .process-step > b:first-child {
  display: none !important;
}


/* v69 — social buttons as platform logo icons */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.footer-social__links a,.social-proof-links a{
  width:46px;
  height:46px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.footer-social__links a img,.social-proof-links a img{
  width:24px;
  height:24px;
  display:block;
}
.social-proof-links a{
  width:52px;
  height:52px;
}
.social-proof-links a img{
  width:28px;
  height:28px;
}
@media (max-width: 720px){
  .footer-social__links a{width:42px;height:42px;padding:0}
  .social-proof-links a{width:46px;height:46px;padding:0}
}


/* v70 — SEO stożki metalowe; cache refresh */

/* v71 — korekta widocznych notek handlowych bez zmiany układu */


/* v72 — SEO klosze metalowe: cache busting without changing layout */


/* v73 — SEO wyoblanie CNC: cache bump, bez zmian techniki pomiarowej */


/* v74 — strona główna: finalne linkowanie, CTA i centrum usług */
.home-priority-services{
  padding:58px 0;
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fb 100%);
  border-bottom:1px solid rgba(15,23,42,.07);
}
.home-priority-services .section-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:12px;
  max-width:940px;
  margin:0 auto 34px;
}
.home-priority-services .section-head h2{
  color:#101826;
  max-width:860px;
  margin:0 auto;
}
.home-priority-services .section-head p{
  color:#4b5563;
  max-width:860px;
  margin:0 auto;
}
.priority-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.priority-service-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid rgba(15,23,42,.09);
  border-radius:22px;
  background:#fff;
  padding:24px;
  text-decoration:none;
  color:#101826;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.priority-service-card:hover{
  transform:translateY(-3px);
  border-color:#d8b85d;
  box-shadow:0 22px 54px rgba(15,23,42,.10);
}
.priority-service-card b{
  color:#997628;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.priority-service-card strong{
  display:block;
  font-size:22px;
  line-height:1.15;
  margin-bottom:10px;
}
.priority-service-card span{
  color:#5b6472;
  line-height:1.55;
}
.priority-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  margin-top:24px;
  border:1px solid rgba(216,184,93,.34);
  background:linear-gradient(135deg,#fff,#fbf5df);
  border-radius:24px;
  padding:24px;
}
.priority-cta-row p{
  max-width:760px;
  margin:0;
  color:#334155;
}
.home-routing-panel .search-visibility-grid strong{
  color:#101826;
}
.home-routing-panel .search-visibility-grid span{
  color:#4b5563;
}
.home-routing-panel .global-keyword-row a{
  text-decoration:none;
}
@media(max-width:900px){
  .priority-service-grid{grid-template-columns:1fr 1fr}
  .priority-cta-row{align-items:flex-start}
}
@media(max-width:620px){
  .priority-service-grid{grid-template-columns:1fr}
}


/* v75 — stabilny prawy panel i przewijana lista podstron */
@media (min-width: 901px) {
  .content-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: start;
  }
  .content-grid > .article,
  .content-grid > article {
    min-width: 0;
  }
  .content-grid > .side,
  aside.side {
    position: sticky;
    top: 96px;
    align-self: start;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    scrollbar-width: thin;
  }
  aside.side::-webkit-scrollbar,
  .service-links::-webkit-scrollbar {
    width: 7px;
  }
  aside.side::-webkit-scrollbar-thumb,
  .service-links::-webkit-scrollbar-thumb {
    background: rgba(16, 24, 38, .22);
    border-radius: 999px;
  }
  .side .card {
    margin-bottom: 18px;
  }
  .side .card:has(.service-links) {
    overflow: hidden;
  }
  .side .service-links {
    max-height: 56vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    overscroll-behavior: contain;
  }
}
@media (max-width: 900px) {
  .content-grid {
    grid-template-columns: 1fr;
  }
  .content-grid > .side,
  aside.side {
    position: static;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
  .side .service-links {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
}


/* v76 — normalny język na homepage + modal kontaktowy w nawigacji */
.contact-modal[hidden]{display:none !important;}
.contact-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:20px;background:rgba(8,12,18,.64);backdrop-filter:blur(4px);}
.contact-modal__dialog{width:min(100%,560px);background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:28px;box-shadow:0 28px 90px rgba(8,12,18,.28);overflow:hidden;color:#111827;}
.contact-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 14px;}
.contact-modal__eyebrow{display:inline-block;margin-bottom:10px;padding:6px 12px;border-radius:999px;background:#f8f3df;color:#8b6914;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.contact-modal__head h2{margin:0;font-size:clamp(28px,4vw,38px);line-height:1.04;letter-spacing:-.04em;color:#111827;}
.contact-modal__head p{margin:12px 0 0;color:#475467;font-size:16px;line-height:1.65;}
.contact-modal__close{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:999px;background:#f3f4f6;color:#111827;font-size:24px;line-height:1;cursor:pointer;}
.contact-modal__body{padding:0 28px 16px;display:grid;gap:16px;}
.contact-modal__card{border:1px solid #e5e7eb;border-radius:20px;background:#fff;padding:18px 18px 16px;}
.contact-modal__card h3{margin:0 0 10px;font-size:17px;color:#111827;}
.contact-modal__card p{margin:0;color:#445164;line-height:1.7;}
.contact-modal__list{display:grid;gap:8px;margin-top:10px;}
.contact-modal__list span{display:block;color:#445164;line-height:1.6;}
.contact-modal__actions{display:flex;flex-wrap:wrap;gap:12px;padding:0 28px 28px;}
.contact-modal__actions .btn{justify-content:center;}
.contact-modal__actions .btn-secondary{color:#111827;border-color:#d8dee6;background:#fff;}
.home-routing-panel h2{max-width:unset;}
.home-routing-panel p{max-width:unset;}
@media (max-width:900px){
  .contact-modal{padding:14px;}
  .contact-modal__head,.contact-modal__body,.contact-modal__actions{padding-left:18px;padding-right:18px;}
  .contact-modal__actions{display:grid;grid-template-columns:1fr;}
}


/* v77 — widoczne dane firmy na stronie kontakt i odświeżenie skryptu modala */
.company-data-panel{
  border:1px solid rgba(217,183,110,.55);
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  border-radius:22px;
  padding:20px;
  margin:18px 0 24px;
  box-shadow:0 14px 38px rgba(16,24,38,.07);
}
.company-data-panel h2{
  margin:0 0 10px !important;
  font-size:clamp(24px,3vw,34px) !important;
  letter-spacing:-.03em;
  line-height:1.08;
}
.company-data-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.company-data-box{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:14px 16px;
}
.company-data-box h3{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.22;
  color:#111827;
}
.company-data-box p,
.company-data-box span{
  color:#344054;
  line-height:1.45;
}
.company-data-box p{margin:0;}
.company-data-list{
  display:grid;
  gap:3px;
}
@media(max-width:900px){
  .company-data-panel{padding:18px;margin:18px 0 26px;}
  .company-data-grid{grid-template-columns:1fr;}
}


/* v78 — kontakt księgowy */
.company-data-box.accounting-contact,
.contact-modal__card.accounting-contact{
  border-color:rgba(217,183,110,.55);
  background:linear-gradient(135deg,#fffaf0,#ffffff);
}
.company-data-box.accounting-contact h3,
.contact-modal__card.accounting-contact h3{
  color:#111827;
}


/* v79 — pełne dane na stronie kontaktu + przewijanie modalu kontaktowego */
body.contact-modal-open{overflow:hidden;}
.contact-modal{overflow-y:auto;align-items:flex-start;padding:24px 16px;}
.contact-modal__dialog{width:min(100%,720px);max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:auto;}
.contact-modal__body{padding:0 28px 20px;display:grid;gap:16px;}
.contact-modal__actions{position:sticky;bottom:0;background:#fff;padding:18px 28px 28px;border-top:1px solid rgba(17,24,39,.08);}
.contact-modal__card .link{word-break:break-word;}
.company-data-box .link{word-break:break-word;}
@media(max-width:767px){
  .contact-modal{padding:12px 10px;}
  .contact-modal__dialog{max-height:calc(100vh - 24px);border-radius:22px;}
  .contact-modal__head{padding:20px 20px 12px;}
  .contact-modal__body{padding:0 20px 16px;}
  .contact-modal__actions{padding:16px 20px 20px;display:grid;grid-template-columns:1fr;}
}


/* v83 — techniczne opisy realizacji */
.realization-mini-grid figure figcaption{
  display:block;
}
.realization-specs{
  display:grid;
  gap:7px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  font-size:13px;
  line-height:1.45;
}
.realization-specs li{
  color:#4b5563;
  margin:0;
}
.realization-specs b{
  color:#111827;
  font-weight:900;
}
.realization-technical-note{
  border:1px solid rgba(217,183,110,.45);
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  border-radius:22px;
  padding:22px;
  margin:18px 0 26px;
}
.realization-technical-note p{
  margin:0;
  color:#344054;
}
@media(max-width:700px){
  .realization-specs{
    font-size:12.5px;
  }
}


/* v84 — oryginalniejsze logotypy social media */
.footer-social__links a img,
.social-proof-links a img{
  width:28px !important;
  height:28px !important;
  display:block !important;
  object-fit:contain !important;
  filter:none !important;
}
.footer-social__links a,
.social-proof-links a{
  justify-content:center !important;
  align-items:center !important;
}
@media (max-width: 720px){
  .footer-social__links a img,
  .social-proof-links a img{
    width:26px !important;
    height:26px !important;
  }
}


/* v85 — wymuszenie świeżych, kolorowych logotypów social media */
.footer-social__links a img,
.social-proof-links a img{
  width:30px !important;
  height:30px !important;
  display:block !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.footer-social__links a,
.social-proof-links a{
  overflow:hidden !important;
}
@media (max-width:720px){
  .footer-social__links a img,
  .social-proof-links a img{
    width:28px !important;
    height:28px !important;
  }
}


/* v86 — ikony social media w górnej nawigacji */
.navlinks{gap:22px}
.nav-social{display:flex;align-items:center;gap:10px;margin-left:4px}
.nav-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(217,183,110,.45);background:rgba(217,183,110,.06);transition:transform .2s ease,background .2s ease,border-color .2s ease;flex:0 0 44px}
.nav-social a:hover{transform:translateY(-1px);background:rgba(217,183,110,.16);border-color:rgba(217,183,110,.85)}
.nav-social a img{width:26px !important;height:26px !important;display:block;object-fit:contain;filter:none !important;opacity:1 !important;mix-blend-mode:normal !important}
@media(max-width:1200px){
  .navlinks{gap:18px}
  .nav-social{gap:8px}
  .nav-social a{width:40px;height:40px;flex-basis:40px}
  .nav-social a img{width:24px !important;height:24px !important}
}
@media(max-width:900px){
  .navlinks .nav-social{order:99;margin-top:8px;flex-wrap:wrap}
  .nav-social a{width:42px;height:42px;flex-basis:42px}
}


/* v87 — social media pod menu, nie obok przycisków nawigacji */
@media (min-width: 901px){
  .navlinks{
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    align-content:center !important;
    row-gap:10px !important;
    column-gap:22px !important;
    max-width:980px;
  }

  .navlinks .nav-social{
    order:99 !important;
    flex:0 0 100% !important;
    width:100% !important;
    justify-content:flex-end !important;
    margin:2px 0 0 0 !important;
    padding:0 !important;
    gap:10px !important;
  }

  .navlinks .nav-social a{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .navlinks .nav-social a img{
    width:25px !important;
    height:25px !important;
  }
}

@media (max-width: 900px){
  .navlinks .nav-social{
    width:100% !important;
    justify-content:flex-start !important;
    margin-top:10px !important;
    gap:8px !important;
  }
}


/* v88 — film na podstronie realizacje: wykańczanie powierzchni pod satynę */
.process-video-section{
  margin-top:28px;
}
.process-video-card{
  border:1px solid rgba(217,183,110,.35);
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(135deg,#ffffff,#fffaf0);
  box-shadow:0 18px 50px rgba(15,23,42,.08);
}
.process-video-card video{
  display:block;
  width:100%;
  max-height:720px;
  background:#05080c;
  object-fit:contain;
}
.process-video-caption{
  display:grid;
  gap:8px;
  padding:20px 22px 22px;
}
.process-video-caption strong{
  color:#111827;
  font-size:18px;
  font-weight:900;
}
.process-video-caption span{
  color:#475467;
  line-height:1.65;
}
@media(max-width:760px){
  .process-video-card{
    border-radius:20px;
  }
  .process-video-card video{
    max-height:70vh;
  }
  .process-video-caption{
    padding:16px;
  }
}


/* v91 — widoczne wejście do wersji angielskiej */
.nav-lang-en{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.72);
  background:rgba(217,183,110,.12);
  color:#f6d878 !important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(0,0,0,.14);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.nav-lang-en:hover{
  transform:translateY(-1px);
  background:rgba(217,183,110,.2);
  border-color:rgba(217,183,110,.95);
}
@media(max-width:900px){
  .nav-lang-en{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
}


/* v92 — przycisk DE i wersja niemiecka */
.nav-lang-en,
.nav-lang-de{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.72);
  background:rgba(217,183,110,.12);
  color:#f6d878 !important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(0,0,0,.14);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.nav-lang-en:hover,
.nav-lang-de:hover,
.nav-lang-en.is-active,
.nav-lang-de.is-active{
  transform:translateY(-1px);
  background:rgba(217,183,110,.22);
  border-color:rgba(217,183,110,.98);
}
@media(max-width:900px){
  .nav-lang-en,
  .nav-lang-de{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
}


/* v94 — pełne wersje językowe EN i DE */
.nav-lang-en,
.nav-lang-de{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.72);
  background:rgba(217,183,110,.12);
  color:#f6d878 !important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(0,0,0,.14);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.nav-lang-en:hover,
.nav-lang-de:hover,
.nav-lang-en.is-active,
.nav-lang-de.is-active{
  transform:translateY(-1px);
  background:rgba(217,183,110,.22);
  border-color:rgba(217,183,110,.98);
}
@media(max-width:900px){
  .nav-lang-en,
  .nav-lang-de{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
}


/* v95 — przycisk PL */
.nav-lang-pl,
.nav-lang-en,
.nav-lang-de{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.72);
  background:rgba(217,183,110,.12);
  color:#f6d878 !important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(0,0,0,.14);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.nav-lang-pl:hover,
.nav-lang-en:hover,
.nav-lang-de:hover,
.nav-lang-pl.is-active,
.nav-lang-en.is-active,
.nav-lang-de.is-active{
  transform:translateY(-1px);
  background:rgba(217,183,110,.22);
  border-color:rgba(217,183,110,.98);
}
@media(max-width:900px){
  .nav-lang-pl,
  .nav-lang-en,
  .nav-lang-de{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
}


/* v96 — prawe menu EN/DE bez polskich linków */
.side .service-links{
  max-height:70vh;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-width:thin;
}
.side .service-links a.active{
  background:#07111d;
  color:#fff !important;
}
.nav-lang-pl,
.nav-lang-en,
.nav-lang-de{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.72);
  background:rgba(217,183,110,.12);
  color:#f6d878 !important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(0,0,0,.14);
}
.nav-lang-pl.is-active,
.nav-lang-en.is-active,
.nav-lang-de.is-active{
  background:rgba(217,183,110,.22);
  border-color:rgba(217,183,110,.98);
}


/* v97 — techniczne wzmocnienie TOP3 SEO */
.seo-deepening{
  margin:34px 0;
  padding:28px;
  border:1px solid rgba(217,183,110,.38);
  border-radius:26px;
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  box-shadow:0 18px 50px rgba(15,23,42,.07);
}
.seo-deepening h2{
  margin-top:0;
}
.seo-matrix{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:20px 0 24px;
}
.seo-matrix>div{
  padding:18px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
}
.seo-matrix h3{
  margin:0 0 8px;
  font-size:18px;
}
.seo-matrix p{
  margin:0;
  color:#475467;
  line-height:1.65;
}
.seo-checklist{
  display:grid;
  gap:8px;
  margin:16px 0 24px;
  padding-left:22px;
}
.internal-link-cluster{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:20px;
}
.internal-link-cluster strong{
  flex:0 0 100%;
}
.internal-link-cluster a{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(217,183,110,.45);
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  color:#111827;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
}
.internal-link-cluster a:hover{
  background:#07111d;
  color:#fff;
}
@media(max-width:900px){
  .seo-deepening{
    padding:20px;
    border-radius:22px;
  }
  .seo-matrix{
    grid-template-columns:1fr;
  }
}


/* v98 — media SEO i fraza wyoblanie */
.seo-focus-keyword,
.seo-media-section,
.seo-video-box{
  margin:34px 0;
  padding:28px;
  border:1px solid rgba(217,183,110,.38);
  border-radius:26px;
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  box-shadow:0 18px 50px rgba(15,23,42,.07);
}
.keyword-intent-grid,
.seo-media-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}
.keyword-intent-grid a{
  display:block;
  padding:18px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
  text-decoration:none;
  color:#101828;
}
.keyword-intent-grid span{
  display:block;
  margin-top:6px;
  color:#667085;
  line-height:1.55;
}
.seo-media-card{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
}
.seo-media-card picture,
.seo-media-card img{
  display:block;
  width:100%;
}
.seo-media-card img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
}
.seo-media-card figcaption{
  display:block;
  padding:14px 16px 16px;
}
.seo-media-card figcaption strong{
  display:block;
  margin-bottom:6px;
}
.seo-media-card figcaption span{
  display:block;
  color:#667085;
  line-height:1.55;
}
.seo-video-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:22px;
  align-items:center;
}
.seo-video-box video{
  width:100%;
  border-radius:20px;
  background:#07111d;
  box-shadow:0 14px 40px rgba(15,23,42,.18);
}
.seo-video-box--centered{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:16px;
}
.seo-video-box--centered h2{
  max-width:820px;
  margin:0;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.25;
}
.seo-video-box--centered video{
  max-width:760px;
}
.seo-video-box--centered p{
  max-width:760px;
  margin:0;
  color:#475467;
  font-size:15px;
  line-height:1.65;
}
@media(max-width:900px){
  .keyword-intent-grid,
  .seo-media-grid,
  .seo-video-box{
    grid-template-columns:1fr;
  }
  .seo-focus-keyword,
  .seo-media-section,
  .seo-video-box{
    padding:20px;
    border-radius:22px;
  }
}


/* v99 — stabilizacja prawego menu i tekst galerii */
.content-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px);
}
.article{
  min-width:0;
}
.side{
  min-width:0;
}
@media(min-width:901px){
  .content-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,340px);
    align-items:start;
  }
  .content-grid > .article{
    grid-column:1;
  }
  .content-grid > .side{
    grid-column:2;
    grid-row:1;
    align-self:start;
  }
}
@media(max-width:900px){
  .content-grid{
    display:grid;
    grid-template-columns:1fr;
  }
  .content-grid > .side{
    order:-1;
    position:static;
    margin-bottom:22px;
  }
  .content-grid > .article{
    order:0;
  }
}


/* v100 — poprawna struktura aside poza article */
@media(min-width:901px){
  .content-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(300px,340px) !important;
    gap:58px;
    align-items:start;
  }
  .content-grid > article.article,
  .content-grid > .article{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0;
  }
  .content-grid > aside.side,
  .content-grid > .side{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start;
    min-width:0;
  }
}


/* v101 — nowe zdjęcia realizacji i wzmocnienie galerii */
.v101-new-realizations{
  margin:36px 0;
}
.realization-grid--v101{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.realization-card--v101{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(17,24,39,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}
.realization-card--v101 picture,
.realization-card--v101 img{
  display:block;
  width:100%;
}
.realization-card--v101 img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
}
.realization-card__body{
  padding:16px;
}
.realization-card__body h3{
  margin:0 0 8px;
  font-size:18px;
}
.realization-card__body p{
  margin:0 0 12px;
  color:#475467;
  line-height:1.55;
}
.realization-card__body ul{
  margin:0 0 14px;
  padding-left:18px;
  color:#475467;
}
.v101-gallery-links{
  margin:20px 0 32px;
}
.v101-cross-media{
  margin-top:32px;
}
@media(max-width:980px){
  .realization-grid--v101{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .realization-grid--v101{
    grid-template-columns:1fr;
  }
}


/* v102 — pełny kadr zdjęć w nowych realizacjach */
.realization-card--v101 picture{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:14px 14px 0;
}
.realization-card--v101 img{
  width:100%;
  height:320px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  background:#fff;
  border-radius:16px 16px 0 0;
}
@media(max-width:980px){
  .realization-card--v101 img{
    height:280px;
  }
}
@media(max-width:640px){
  .realization-card--v101 img{
    height:250px;
  }
}
@media(max-width:768px){.hero{min-height:44vh}.hero-inner{padding-top:78px;padding-bottom:18px;gap:16px}.hero h1{font-size:clamp(22px,7vw,34px);line-height:1.05;font-weight:600;max-width:95%}.lead{font-size:15px;line-height:1.45}.hero-actions{margin-top:14px}.hero .stats-card,.hero .hero-side,.hero aside{display:none!important}}
/* v108 — ultra compact SEO page hero: mniejszy obszar i lżejszy H1 */
.page-hero--seo{
  padding:110px 0 42px !important;
  min-height:0 !important;
}
.page-hero--seo .breadcrumb{
  margin-bottom:14px !important;
  font-size:12px !important;
  opacity:.78;
}
.page-hero--seo h1{
  max-width:760px !important;
  font-size:clamp(30px,3.8vw,52px) !important;
  line-height:1.04 !important;
  font-weight:650 !important;
  letter-spacing:-.045em !important;
  margin:8px 0 14px !important;
}
.page-hero--seo p{
  max-width:760px !important;
  font-size:clamp(15px,1.45vw,19px) !important;
  line-height:1.48 !important;
  margin-bottom:16px !important;
}
.page-hero--seo .hero-actions{
  margin-top:12px !important;
  gap:12px !important;
}
.page-hero--seo .hero-actions .btn{
  padding:12px 20px !important;
  font-size:15px !important;
  border-radius:999px !important;
}
.page-hero--seo .keyword-strip{
  margin-top:16px !important;
  gap:10px !important;
}
.page-hero--seo .keyword-strip a{
  padding:8px 14px !important;
  font-size:13px !important;
}
@media(max-width:900px){
  .page-hero--seo{
    padding:82px 0 30px !important;
  }
  .page-hero--seo h1{
    max-width:96% !important;
    font-size:clamp(24px,7.4vw,34px) !important;
    line-height:1.06 !important;
    font-weight:650 !important;
    letter-spacing:-.04em !important;
    margin:6px 0 12px !important;
  }
  .page-hero--seo p{
    font-size:15px !important;
    line-height:1.42 !important;
    max-width:96% !important;
  }
  .page-hero--seo .hero-actions .btn{
    padding:10px 16px !important;
    font-size:14px !important;
  }
  .page-hero--seo .keyword-strip{
    margin-top:12px !important;
  }
  .page-hero--seo .keyword-strip a{
    padding:7px 11px !important;
    font-size:12px !important;
  }
}
@media(max-width:520px){
  .page-hero--seo{
    padding:72px 0 24px !important;
  }
  .page-hero--seo h1{
    font-size:28px !important;
    line-height:1.07 !important;
  }
  .page-hero--seo p{
    font-size:14px !important;
  }
}

/* v109 — REAL compact hero: forced visible reduction */
html body main .page-hero.page-hero--seo{
  padding-top:64px !important;
  padding-bottom:24px !important;
  min-height:0 !important;
  height:auto !important;
}
html body main .page-hero.page-hero--seo .container{
  max-width:1120px !important;
}
html body main .page-hero.page-hero--seo .breadcrumb{
  margin-bottom:8px !important;
  font-size:11px !important;
  line-height:1.2 !important;
}
html body main .page-hero.page-hero--seo h1{
  max-width:700px !important;
  font-size:clamp(24px,2.6vw,42px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.026em !important;
  margin:0 0 10px !important;
}
html body main .page-hero.page-hero--seo p{
  max-width:690px !important;
  font-size:clamp(13px,1.15vw,16px) !important;
  line-height:1.42 !important;
  margin:0 0 12px !important;
}
html body main .page-hero.page-hero--seo .hero-actions{
  margin-top:10px !important;
  gap:9px !important;
}
html body main .page-hero.page-hero--seo .hero-actions .btn{
  padding:9px 16px !important;
  font-size:13px !important;
  min-height:0 !important;
  line-height:1.15 !important;
}
html body main .page-hero.page-hero--seo .keyword-strip{
  margin-top:10px !important;
  gap:8px !important;
}
html body main .page-hero.page-hero--seo .keyword-strip a{
  padding:6px 10px !important;
  font-size:11px !important;
  line-height:1.1 !important;
}
@media(max-width:900px){
  html body main .page-hero.page-hero--seo{
    padding-top:58px !important;
    padding-bottom:18px !important;
  }
  html body main .page-hero.page-hero--seo h1{
    max-width:92% !important;
    font-size:clamp(20px,5.4vw,27px) !important;
    line-height:1.1 !important;
    font-weight:500 !important;
    letter-spacing:-.02em !important;
    margin-bottom:8px !important;
  }
  html body main .page-hero.page-hero--seo p{
    max-width:94% !important;
    font-size:12.5px !important;
    line-height:1.36 !important;
    margin-bottom:8px !important;
  }
  html body main .page-hero.page-hero--seo .hero-actions{
    margin-top:8px !important;
    gap:8px !important;
  }
  html body main .page-hero.page-hero--seo .hero-actions .btn{
    padding:8px 12px !important;
    font-size:12px !important;
  }
  html body main .page-hero.page-hero--seo .keyword-strip{
    margin-top:8px !important;
    gap:6px !important;
  }
  html body main .page-hero.page-hero--seo .keyword-strip a{
    padding:5px 8px !important;
    font-size:10.5px !important;
  }
}
@media(max-width:520px){
  html body main .page-hero.page-hero--seo{
    padding-top:48px !important;
    padding-bottom:16px !important;
  }
  html body main .page-hero.page-hero--seo h1{
    font-size:22px !important;
    line-height:1.1 !important;
    max-width:96% !important;
  }
  html body main .page-hero.page-hero--seo p{
    font-size:12px !important;
    line-height:1.34 !important;
  }
}


/* v110 — naprawa: hero nie wchodzi pod górny baner + kompaktowe B2B */
html body main .page-hero.page-hero--seo{
  padding-top:124px !important;
  padding-bottom:28px !important;
  min-height:0 !important;
  height:auto !important;
}
html body main .page-hero.page-hero--seo h1{
  max-width:720px !important;
  font-size:clamp(24px,2.35vw,38px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.022em !important;
  margin:0 0 10px !important;
}
html body main .page-hero.page-hero--seo p{
  max-width:720px !important;
  font-size:clamp(13px,1.05vw,15.5px) !important;
  line-height:1.42 !important;
  margin:0 0 10px !important;
}
html body main .page-hero.page-hero--seo .breadcrumb{
  margin-bottom:10px !important;
  font-size:11px !important;
}
html body main .page-hero.page-hero--seo .hero-actions{
  margin-top:10px !important;
  gap:9px !important;
}
html body main .page-hero.page-hero--seo .hero-actions .btn{
  padding:9px 15px !important;
  font-size:12.5px !important;
  min-height:0 !important;
  line-height:1.15 !important;
}
html body main .page-hero.page-hero--seo .keyword-strip{
  margin-top:10px !important;
  gap:7px !important;
}
html body main .page-hero.page-hero--seo .keyword-strip a{
  padding:5px 9px !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
}

/* klasyczny hero strony głównej — redukcja bez wchodzenia pod header */
html body main .hero .hero-inner{
  padding-top:126px !important;
  padding-bottom:30px !important;
}
html body main .hero h1{
  font-size:clamp(25px,2.45vw,40px) !important;
  line-height:1.08 !important;
  font-weight:520 !important;
  letter-spacing:-.025em !important;
  max-width:720px !important;
  margin-bottom:10px !important;
}
html body main .hero .lead{
  font-size:clamp(13px,1.05vw,15.5px) !important;
  line-height:1.42 !important;
  max-width:720px !important;
}
html body main .hero .stats{margin-top:18px !important;}
html body main .hero .stat{padding:10px 13px !important;}
html body main .hero .stat strong{font-size:15px !important;}
html body main .hero .stat span{font-size:9px !important;}

@media(max-width:900px){
  html body main .page-hero.page-hero--seo{
    padding-top:112px !important;
    padding-bottom:22px !important;
  }
  html body main .page-hero.page-hero--seo h1{
    font-size:clamp(23px,6.2vw,30px) !important;
    line-height:1.1 !important;
    max-width:96% !important;
    font-weight:500 !important;
  }
  html body main .page-hero.page-hero--seo p{
    font-size:12.5px !important;
    line-height:1.36 !important;
    max-width:96% !important;
  }
  html body main .hero .hero-inner{
    padding-top:112px !important;
    padding-bottom:22px !important;
  }
  html body main .hero h1{
    font-size:clamp(23px,6.2vw,30px) !important;
    line-height:1.1 !important;
    max-width:96% !important;
    font-weight:520 !important;
  }
  html body main .hero .lead{
    font-size:12.5px !important;
    line-height:1.36 !important;
    max-width:96% !important;
  }
}

@media(max-width:520px){
  html body main .page-hero.page-hero--seo,
  html body main .hero .hero-inner{
    padding-top:108px !important;
    padding-bottom:20px !important;
  }
  html body main .page-hero.page-hero--seo h1,
  html body main .hero h1{
    font-size:24px !important;
    line-height:1.12 !important;
  }
  html body main .page-hero.page-hero--seo p,
  html body main .hero .lead{
    font-size:12px !important;
    line-height:1.35 !important;
  }
  html body main .page-hero.page-hero--seo .hero-actions .btn,
  html body main .hero .hero-actions .btn{
    padding:8px 12px !important;
    font-size:11.5px !important;
  }
  html body main .page-hero.page-hero--seo .keyword-strip a{
    padding:5px 7px !important;
    font-size:10px !important;
  }
}


/* v111 — stabilna naprawa nakładania: header w normalnym przepływie, hero pod nim */
html body .topbar{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  z-index:1000 !important;
  background:rgba(8,14,21,.96) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  backdrop-filter:blur(14px) !important;
}
html body .nav{
  height:94px !important;
  min-height:94px !important;
  align-items:center !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
html body .brand{
  height:84px !important;
  max-height:84px !important;
  overflow:visible !important;
  align-items:center !important;
}
html body .brand-logo{
  height:76px !important;
  max-height:76px !important;
  max-width:260px !important;
  width:auto !important;
  object-fit:contain !important;
}
html body .navlinks{
  gap:14px !important;
  align-items:center !important;
  font-size:12.5px !important;
}
html body .nav-social{
  gap:7px !important;
}
html body .nav-social a{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
}
html body .nav-social a img{
  width:20px !important;
  height:20px !important;
}
html body .nav-lang-pl,
html body .nav-lang-en,
html body .nav-lang-de{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  font-size:11px !important;
}
html body .nav-cta{
  padding:9px 13px !important;
  font-size:12px !important;
}

html body main .page-hero.page-hero--seo{
  padding-top:30px !important;
  padding-bottom:26px !important;
  min-height:0 !important;
  height:auto !important;
  margin-top:0 !important;
}
html body main .page-hero.page-hero--seo .breadcrumb{
  margin-bottom:9px !important;
}
html body main .page-hero.page-hero--seo h1{
  font-size:clamp(24px,2.35vw,38px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  max-width:720px !important;
}
html body main .page-hero.page-hero--seo p{
  font-size:clamp(13px,1.05vw,15.5px) !important;
  line-height:1.42 !important;
  max-width:720px !important;
}
html body main .hero{
  min-height:0 !important;
  height:auto !important;
}
html body main .hero .hero-inner{
  padding-top:30px !important;
  padding-bottom:30px !important;
}
html body main .hero h1{
  font-size:clamp(25px,2.45vw,40px) !important;
  line-height:1.08 !important;
  font-weight:520 !important;
  max-width:720px !important;
}
html body main .hero .lead{
  font-size:clamp(13px,1.05vw,15.5px) !important;
  line-height:1.42 !important;
  max-width:720px !important;
}

@media(max-width:900px){
  html body .topbar{
    position:sticky !important;
    top:0 !important;
  }
  html body .nav{
    height:74px !important;
    min-height:74px !important;
  }
  html body .brand{
    height:66px !important;
    max-height:66px !important;
  }
  html body .brand-logo{
    height:56px !important;
    max-height:56px !important;
    max-width:205px !important;
  }
  html body .menu-btn{
    display:block !important;
    padding:8px 11px !important;
    font-size:12px !important;
  }
  html body .navlinks{
    top:74px !important;
    background:#081019 !important;
    z-index:1001 !important;
  }
  html body main .page-hero.page-hero--seo{
    padding-top:22px !important;
    padding-bottom:20px !important;
  }
  html body main .page-hero.page-hero--seo h1{
    font-size:clamp(23px,6.2vw,30px) !important;
    line-height:1.1 !important;
    max-width:96% !important;
    font-weight:500 !important;
  }
  html body main .page-hero.page-hero--seo p{
    font-size:12.5px !important;
    line-height:1.36 !important;
    max-width:96% !important;
  }
  html body main .hero .hero-inner{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  html body main .hero h1{
    font-size:clamp(23px,6.2vw,30px) !important;
    line-height:1.1 !important;
    max-width:96% !important;
    font-weight:520 !important;
  }
  html body main .hero .lead{
    font-size:12.5px !important;
    line-height:1.36 !important;
    max-width:96% !important;
  }
}
@media(max-width:520px){
  html body .nav{
    height:68px !important;
    min-height:68px !important;
  }
  html body .brand-logo{
    height:50px !important;
    max-width:180px !important;
  }
  html body .navlinks{
    top:68px !important;
  }
  html body main .page-hero.page-hero--seo,
  html body main .hero .hero-inner{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  html body main .page-hero.page-hero--seo h1,
  html body main .hero h1{
    font-size:24px !important;
    line-height:1.12 !important;
  }
  html body main .page-hero.page-hero--seo p,
  html body main .hero .lead{
    font-size:12px !important;
    line-height:1.35 !important;
  }
}

/* v113 — pełny kadr zdjęć w kartach realizacji i sekcjach SEO.
   Naprawa: żadne zdjęcie detalu nie jest przycinane w kadrze karty. */
main .proof-grid figure,
main .gallery-grid .gallery-item,
main .gallery-item,
main .seo-gallery figure,
main .mini-gallery-item,
main .portfolio-card,
main .realization-mini-grid figure,
main .realization-card,
main .realization-card--v101,
main .seo-media-card,
main .gallery-card{
  overflow:hidden !important;
}

main .proof-grid img,
main .gallery-grid img,
main .gallery-item img,
main figure.gallery-item img,
main .seo-gallery img,
main .mini-gallery-item img,
main .portfolio-card__media img,
main .realization-mini-grid img,
main .realization-card img,
main .realization-card--v101 img,
main .seo-media-card img,
main .gallery-card img,
main .chimney-gallery img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:4 / 3 !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#fff !important;
  padding:10px !important;
  box-sizing:border-box !important;
}

main .portfolio-card__media,
main .seo-media-card,
main .gallery-card,
main .realization-card--v101,
main .realization-card{
  background:#fff !important;
}

@media(max-width:700px){
  main .proof-grid img,
  main .gallery-grid img,
  main .gallery-item img,
  main figure.gallery-item img,
  main .seo-gallery img,
  main .mini-gallery-item img,
  main .portfolio-card__media img,
  main .realization-mini-grid img,
  main .realization-card img,
  main .realization-card--v101 img,
  main .seo-media-card img,
  main .gallery-card img,
  main .chimney-gallery img{
    aspect-ratio:1 / 1 !important;
    padding:8px !important;
  }
}

/* Wyjątki: logotypy, ikony social i media wideo nie mogą dostać białego tła ani kadru. */
.brand-logo,
.nav-social img,
.footer-social__links img,
.social-proof-links img,
video,
.video-card video,
.hero-video,
.page-hero-video{
  aspect-ratio:auto !important;
  object-fit:initial !important;
  background:transparent !important;
  padding:0 !important;
  height:auto;
}

/* v126 — nowa strona wentylacyjna: osobna intencja SEO i niżej osadzony hero */
html body main .page-hero.page-hero--seo.page-hero--ventilation{
  padding-top:46px !important;
  padding-bottom:30px !important;
}
@media(max-width:900px){
  html body main .page-hero.page-hero--seo.page-hero--ventilation{
    padding-top:34px !important;
    padding-bottom:22px !important;
  }
}
@media(max-width:520px){
  html body main .page-hero.page-hero--seo.page-hero--ventilation{
    padding-top:30px !important;
    padding-bottom:20px !important;
  }
}

/* v138: GA4-led CTA improvements on realizacje */
.realization-lead-strip{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:24px 0 30px;padding:18px 20px;border:1px solid rgba(216,184,93,.45);border-radius:18px;background:#fff8df;box-shadow:0 14px 36px rgba(10,18,30,.06)}
.realization-lead-strip div{display:grid;gap:4px;color:#101826}.realization-lead-strip strong{font-size:18px}.realization-lead-strip span{color:#334155;line-height:1.5}.realization-lead-strip .btn{white-space:nowrap}.realization-lead-strip--light{background:#fff;border-color:#e5e7eb}.process-video-card .video-watch-link img,.video-watch-link img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:#101826}
@media(max-width:820px){.realization-lead-strip{display:grid}.realization-lead-strip .btn{width:100%;justify-content:center}}

/* v139: small capsule social buttons aligned with rosik.pl proportions */
html body .nav-social,
html body .footer-social__links,
html body .social-proof-links{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}
html body .nav-social a,
html body .footer-social__links a,
html body .social-proof-links a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:48px !important;
  max-width:56px !important;
  height:26px !important;
  flex:0 0 auto !important;
  padding:0 10px !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  line-height:1 !important;
  border:1px solid rgba(217,183,110,.42) !important;
  background:rgba(217,183,110,.08) !important;
  box-shadow:none !important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
html body .nav-social a:hover,
html body .nav-social a:focus-visible,
html body .footer-social__links a:hover,
html body .footer-social__links a:focus-visible,
html body .social-proof-links a:hover,
html body .social-proof-links a:focus-visible{
  transform:translateY(-1px) !important;
  background:rgba(217,183,110,.16) !important;
  border-color:rgba(217,183,110,.72) !important;
  box-shadow:0 4px 10px rgba(0,0,0,.18) !important;
}
html body .nav-social a img,
html body .footer-social__links a img,
html body .social-proof-links a img{
  width:16px !important;
  height:16px !important;
  display:block !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
@media(max-width:768px){
  html body .nav-social,
  html body .footer-social__links,
  html body .social-proof-links{
    gap:7px !important;
  }
  html body .nav-social a,
  html body .footer-social__links a,
  html body .social-proof-links a{
    min-width:44px !important;
    max-width:50px !important;
    height:24px !important;
    padding:0 9px !important;
  }
  html body .nav-social a img,
  html body .footer-social__links a img,
  html body .social-proof-links a img{
    width:15px !important;
    height:15px !important;
  }
}

/* v139b: keep top navigation social buttons capsule-sized on desktop */
html body .navlinks .nav-social a{
  min-width:48px !important;
  max-width:56px !important;
  width:auto !important;
  height:26px !important;
  flex:0 0 auto !important;
  padding:0 10px !important;
}
html body .navlinks .nav-social a img{
  width:16px !important;
  height:16px !important;
}

/* v140: lightweight back-to-top control */
.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(217,183,110,.52);
  background:rgba(8,14,21,.94);
  color:#f4d28a;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  z-index:900;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
  color-scheme:dark;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:#0b1118;
  border-color:#d9b76e;
  color:#fff;
  outline:0;
}
.back-to-top:focus-visible{
  box-shadow:0 0 0 3px rgba(217,183,110,.32),0 14px 34px rgba(0,0,0,.22);
}
@media(max-width:768px){
  .back-to-top{
    right:14px;
    bottom:14px;
    width:44px;
    height:44px;
    font-size:21px;
    z-index:850;
  }
}
@media(prefers-reduced-motion:reduce){
  .back-to-top{
    transition:none;
  }
}

/* contact-map-20260703: static Google Maps section on Kontakt PL/EN/DE */
.contact-map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 10px;
}
.contact-map-panel{
  margin:16px 0 26px;
  padding:18px;
  border:1px solid rgba(217,183,110,.45);
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf0,#fff);
  box-shadow:0 12px 32px rgba(10,18,30,.055);
}
.contact-map-panel h2{
  margin:0 0 10px;
  font-size:clamp(23px,3vw,32px);
  line-height:1.12;
}
.contact-map-embed{
  width:100%;
  margin-top:.6rem;
  border-radius:16px;
  overflow:hidden;
  background:#f3f4f6;
  min-height:330px;
}
.contact-map-embed iframe{
  display:block;
  width:100%;
  height:330px;
  border:0;
}
.contact-map-fallback{
  margin:10px 0 0;
  color:#334155;
  font-size:15px;
  line-height:1.45;
}
.contact-map-open{
  margin:8px 0 0;
}
.contact-map-open a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(217,183,110,.75);
  border-radius:999px;
  background:#fff;
  color:#8a651e;
  font-weight:900;
  padding:9px 14px;
  text-decoration:none;
}
.contact-map-open a:hover,
.contact-map-open a:focus-visible{
  background:#fff6df;
  color:#111827;
}
.contact-modal__actions .contact-map-toggle{font:inherit}
@media(max-width:620px){
  .contact-map-panel{padding:18px;margin:18px 0 28px}
  .contact-map-actions{display:grid}
  .contact-map-actions .btn{width:100%}
  .contact-map-embed{min-height:320px}
  .contact-map-embed iframe{height:320px}
  .contact-map-open a{width:100%}
  .contact-modal__actions .contact-map-toggle{width:100%}
}
