/* Strona publiczna: odtworzenie 1:1 obecnego bartmagielski.com (wymiary z pomiarów oryginału).
   Stały wygląd marki, niezależny od motywu przeglądarki. */
:root {
  --ink: #0a0a0a;
  --ink-2: #111111;
  --ink-3: #121212;
  --lime: #d4ff00;
  --lime-l: #d4ff3d;
  --paper: #f0f0f0;
  --white: #ffffff;
  --mute: #555555;
  --mute-d: #a3a3a3;
  --line-d: rgba(255, 255, 255, .12);
  --line-f: #d5d8dc;
  --f-display: "Anton", Impact, "Arial Narrow", sans-serif;
  --f-mono: "Space Mono", ui-monospace, "Courier New", monospace;
  --f-form: "Roboto", "DM Sans", system-ui, sans-serif;
  --f-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
html, body { height: 100%; }
body { background: var(--ink); color: var(--paper); font-family: var(--f-mono); }
* { box-sizing: border-box; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
#site { min-height: 100%; }
.wrap { max-width: 1280px; margin: 0 auto; padding-inline: 10px; position: relative; z-index: 3; }
.col { padding: 10px; }

/* Przyciski */
.btn { display: inline-flex; align-items: center; gap: 10px; font: 400 16px/1 var(--f-display); text-transform: uppercase; color: var(--ink); background: var(--lime); border: 0; border-radius: 3px; padding: 15px 20px; text-decoration: none; cursor: pointer; white-space: nowrap; }
.btn .ar { font-size: 13px; }
.btn.sm { font-size: 14px; padding: 14px 22px; }
.btn.dark { background: var(--ink); color: var(--white); }
.btn.outline { background: transparent; color: var(--lime); border: 2px solid rgba(212,255,0,.8); font: 500 14px/1 var(--f-display); padding: 14px 22px; }
.btn:hover { filter: brightness(1.07); }

/* Nagłówek */
.s-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 40; background: var(--ink); border-bottom: 2px solid var(--lime); }
.s-header .in { max-width: 1300px; margin: 0 auto; padding: 0 10px; height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.s-logo { display: block; width: 256px; flex: 0 0 auto; }
.s-logo img { display: block; width: 100%; height: auto; }
.s-nav { display: flex; align-items: center; }
.s-nav .item { position: relative; }
.s-nav a, .s-nav button.link { font: 300 12px/20px var(--f-mono); text-transform: uppercase; color: var(--paper); text-decoration: none; background: none; border: 0; padding: 13px 10px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.s-nav a.active { color: var(--lime); }
.s-nav a:hover, .s-nav button.link:hover { color: var(--lime); }
.s-nav .caret { width: 12px; height: 12px; }
.s-drop { position: absolute; top: 100%; left: 0; min-width: 260px; background: var(--ink); border: 1px solid #222; padding: 6px 0; display: none; z-index: 50; }
.s-nav .item:hover .s-drop, .s-nav .item:focus-within .s-drop { display: block; }
.s-drop a { display: flex; padding: 10px 14px; }
.s-header .cta-top { font-size: 14px; padding: 16px 22px; margin-left: 10px; border-radius: 3px; }
.s-burger { display: none; background: none; border: 0; padding: 6px; cursor: pointer; }
.s-burger svg { width: 30px; height: 30px; fill: var(--lime); display: block; }
@media (max-width: 1024px) {
  .s-header .in { height: 64px; padding: 0 16px; }
  .s-logo { width: 190px; }
  .s-burger { display: block; }
  .s-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--ink); flex-direction: column; align-items: stretch; padding: 8px 16px 18px; border-bottom: 2px solid var(--lime); }
  .s-nav.open { display: flex; }
  .s-nav a, .s-nav button.link { font-size: 14px; padding: 14px 0; }
  .s-drop { position: static; display: block; border: 0; padding: 0 0 0 14px; min-width: 0; }
  .s-header .cta-top { margin-left: auto; font-size: 15px; padding: 17px 24px; }
}
@media (max-width: 420px) { .s-logo { width: 160px; } .s-header .cta-top { font-size: 13px; padding: 15px 16px; } }

/* Sekcje */
.sec { position: relative; overflow: hidden; }
.sec.dark { background: var(--ink); color: var(--paper); }
.sec.light { background: var(--paper); color: var(--ink); }
.sec.white { background: var(--white); color: var(--ink); }
.sec.lime { background: var(--lime); color: var(--ink); }
.dots::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; z-index: 0; }
.shape { position: absolute; left: 0; width: 100%; bottom: -1px; line-height: 0; overflow: hidden; transform: rotate(180deg); z-index: 2; pointer-events: none; }
.shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); }
.shape.flip svg { transform: translateX(-50%) rotateY(180deg); }
.outline-word { position: absolute; left: 43px; font: 800 144px/1 var(--f-mono); color: transparent; -webkit-text-stroke: 2px rgba(212,255,0,.5); opacity: .8; white-space: nowrap; pointer-events: none; user-select: none; z-index: 1; }
.dash-frame { position: absolute; width: 220px; height: 200px; border: 1px dashed rgba(212,255,0,.5); pointer-events: none; z-index: 2; }
.eyebrow { font: 400 14px/14px var(--f-mono); text-transform: uppercase; margin: 0; }
.eyebrow-b { font: 700 13px/13px var(--f-mono); text-transform: uppercase; margin: 0; }
.ttl { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; margin: 0; letter-spacing: 0; }
.hl { background: var(--lime); color: var(--ink); padding: 0 10px; line-height: 1.5; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.acc { color: var(--lime); }
p { margin: 0; }

/* Hero ze zdjęciem */
.hero-photo .wrap { display: grid; grid-template-columns: 1fr 1fr; padding-top: 40px; padding-bottom: 100px; }
.hero-photo .txt { padding: 10px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.hero-photo h1 { font-size: 92px; line-height: 1.15; }
.hero-photo h1.xl { font-size: 108px; line-height: 1.15; font-weight: 700; }
.hero-photo .lead { font: 400 17px/27px var(--f-mono); color: var(--paper); }
.hero-photo .photo { padding: 10px; position: relative; display: flex; justify-content: center; align-items: flex-start; }
.hero-photo .photo img { width: 465px; max-width: 100%; height: auto; display: block; filter: grayscale(1); }
.hero-photo .dash-frame { top: 40px; left: 500px; }
.hero-photo .outline-word { bottom: -10px; }
@media (max-width: 767px) {
  .hero-photo .wrap { grid-template-columns: 1fr; padding: 40px 0 100px; }
  .hero-photo .txt { padding: 0 20px; }
  .hero-photo h1, .hero-photo h1.xl { font-size: 32px; line-height: 1.3; }
  .hero-photo h1.xl { line-height: 1.15; }
  .hero-photo .lead { font-size: 13px; line-height: 18.2px; }
  .hero-photo .photo { padding: 20px 0 0; }
  .hero-photo .photo img { width: 100%; height: 420px; object-fit: cover; object-position: center 20%; }
  .hero-photo .dash-frame { display: none; }
  .outline-word { font-size: 90px; left: 12px; }
}

/* Hero z obrysowanym napisem */
.hero-outline .wrap { display: grid; grid-template-columns: 640px 1fr; padding-top: 40px; padding-bottom: 100px; }
.hero-outline .txt { padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.hero-outline h1 { font-size: 92px; line-height: 1.1; }
.hero-outline h1.big { font-size: 120px; line-height: 1.1; }
.hero-outline .lines { display: flex; flex-direction: column; gap: 5px; }
.hero-outline .lines.g20 { gap: 20px; }
.hero-outline .lead { font: 400 17px/27px var(--f-mono); color: var(--paper); margin-top: 30px; }
.hero-outline .side { position: relative; }
.hero-outline .side .box { position: absolute; right: 0; width: 384px; height: 300px; border: 1px dashed var(--lime); }
.hero-outline .side .dash-frame { top: 40px; left: 300px; }
.hero-outline .outline-word { top: auto; }
.h1-band { display: inline-block; background: var(--lime); color: var(--ink); padding: 0 6px; }
@media (max-width: 767px) {
  .hero-outline .wrap { grid-template-columns: 1fr; padding: 60px 0 60px; }
  .hero-outline .txt { padding: 0 20px; gap: 20px; }
  .hero-outline h1 { font-size: 60px; line-height: 1.15; }
  .hero-outline h1.big { font-size: 48px; line-height: 1.15; }
  .hero-outline h1.mid { font-size: 38px; line-height: 1.15; }
  .hero-outline .lead { font-size: 13px; line-height: 18.2px; margin-top: 0; }
  .hero-outline .side { display: none; }
}

/* Zaufali mi */
.logos-sec .wrap { padding-top: 40px; padding-bottom: 80px; text-align: center; }
.logos-sec h2 { font-size: 32px; line-height: 32px; font-weight: 700; }
.logos-sec .txt { font: 400 15px/19.95px var(--f-mono); color: var(--mute); max-width: 832px; margin: 20px auto 0; }
.logos-sec .rule { width: 100%; height: 2px; margin-top: 20px; display: flex; justify-content: center; }
.logos-sec .rule i { width: 80px; height: 2px; background: var(--lime); display: block; }
.logo-track { overflow: hidden; margin-top: 20px; }
.logo-row { display: flex; gap: 300px; width: max-content; animation: logos 22s linear infinite; }
.logo-row span { width: 227px; height: 157px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.logo-row img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
@keyframes logos { to { transform: translateX(-50%); } }
.logo-static { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
.logo-static span { width: 227px; height: 157px; display: flex; align-items: center; justify-content: center; }
.logo-static img { max-width: 100%; max-height: 100%; }
.logos-small .wrap { padding-top: 60px; padding-bottom: 60px; }
.logos-small .eyebrow { padding: 10px; }
.text-logos { display: flex; gap: 60px; font: 400 28px/157px var(--f-display); color: var(--ink); white-space: nowrap; }
@media (max-width: 767px) {
  .logos-sec .txt { max-width: 313px; }
  .logo-row { gap: 100px; }
  .logo-row span { width: 145px; height: 100px; }
  .logo-static span { width: 30%; height: 100px; }
  .logos-small .wrap { padding: 40px 15px; }
}

/* Usługi */
.svc-sec .wrap { padding-top: 60px; padding-bottom: 120px; }
.svc-sec .head { text-align: center; }
.svc-sec h2.big { font-size: 64px; line-height: 1.15; }
.svc-sec .sub { font: 400 17px/22.61px var(--f-mono); color: var(--mute); max-width: 742px; margin: 20px auto 0; }
.cards4 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 10px; margin-top: 20px; }
.svc { background: var(--ink); border-top: 2px solid var(--lime); display: flex; flex-direction: column; min-height: 323px; }
.svc .in { padding: 30px 30px 0; flex: 1; display: flex; flex-direction: column; }
.svc .ic { color: var(--lime); font: 400 40px/40px var(--f-display); height: 40px; }
.svc h3 { font: 400 40px/1.15 var(--f-display); text-transform: uppercase; color: var(--white); margin: 20px 0 0; }
.svc p { font: 400 17px/22.61px var(--f-mono); color: var(--paper); margin: 30px 0 30px; }
.svc .go { background: var(--lime); color: var(--ink); display: flex; justify-content: space-between; align-items: center; padding: 14px 22px; font: 500 14px/18px var(--f-mono); text-transform: uppercase; text-decoration: none; height: 46px; }
@media (max-width: 767px) {
  .svc-sec .wrap { padding: 40px 0 100px; }
  .svc-sec .sub { padding: 0 10px; }
  .cards4 { grid-template-columns: 1fr; }
  .svc { min-height: 368px; }
}

/* Duża statystyka */
.bigstat-sec .wrap { padding-top: 64px; padding-bottom: 70px; }
.bigstat { border: 1px dashed rgba(255,255,255,.19); max-width: 1024px; padding: 16px 10px 10px; display: flex; flex-direction: column; gap: 20px; }
.bigstat h2 { font-size: 68px; line-height: 1.15; font-weight: 700; padding: 10px 6px 0; }
.bigstat .t { font: 400 17px/22.61px var(--f-mono); color: var(--paper); max-width: 583px; }
.bigstat .val { align-self: flex-start; background: var(--lime); color: var(--ink); font: 400 75px/128px var(--f-mono); padding: 0 2px; }
.bigstat .p { font: 400 17px/29px var(--f-mono); color: var(--paper); max-width: 852px; }
.stats-sub { margin-top: 20px; font: 700 13px/13px var(--f-mono); text-transform: uppercase; color: var(--white); }
.stat-row { display: grid; grid-template-columns: repeat(3, 328px); gap: 20px; margin-top: 20px; }
.stat { border: 2px solid var(--lime); padding: 20px 30px; height: 184px; background: var(--ink); }
.stat b { display: block; font: 400 80px/80px var(--f-display); color: var(--lime); text-transform: uppercase; }
.stat span { display: block; margin-top: 20px; font: 400 15px/19.95px var(--f-mono); color: var(--paper); }
.statrow-sec .wrap { padding-top: 64px; padding-bottom: 170px; }
.statrow-sec .box { border: 1px dashed rgba(240,240,240,.19); max-width: 1024px; padding: 11px 11px 11px; }
.statrow-sec h2 { font-size: 64px; line-height: 1.15; margin-top: 20px; }
@media (max-width: 767px) {
  .bigstat-sec .wrap, .statrow-sec .wrap { padding: 0 10px 70px; }
  .bigstat h2 { font-size: 64px; line-height: 1.15; }
  .bigstat .val { font-size: 39px; line-height: 78px; }
  .stat-row { grid-template-columns: 1fr; }
  .statrow-sec h2 { font-size: 64px; }
}

/* Porozmawiajmy (kalendarz + formularz) */
.combo-sec .wrap { padding-top: 100px; padding-bottom: 150px; }
.combo-sec h2 { font-size: 72px; line-height: 1.15; font-weight: 700; }
.combo-sec .p { font: 400 16px/27px var(--f-mono); max-width: 717px; margin-top: 20px; }
.combo { display: grid; grid-template-columns: 1fr 631px; gap: 20px; margin-top: 20px; align-items: stretch; }
.cal-mock { background: #f4f4f5; color: #111; border-radius: 10px; padding: 18px; font-family: var(--f-form); min-width: 0; max-width: 631px; }
.cal-mock .who { display: flex; gap: 10px; align-items: center; font-size: 14px; color: #3f3f46; }
.cal-mock .who img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.cal-mock h4 { font-size: 18px; margin: 14px 0 8px; font-weight: 500; }
.cal-mock .dur { display: inline-block; border: 1px solid #d4d4d8; border-radius: 6px; padding: 4px 8px; font-size: 13px; }
.cal-mock .desc { font-size: 13px; line-height: 1.5; color: #3f3f46; margin-top: 12px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 16px; text-align: center; font-size: 14px; background: #fff; border-radius: 8px; padding: 12px; }
.cal-grid .h { color: #71717a; font-size: 11px; }
.cal-grid button { border: 0; background: #e4e4e7; border-radius: 6px; padding: 9px 0; cursor: pointer; color: #111; }
.cal-grid button[disabled] { background: transparent; color: #a1a1aa; cursor: default; }
.cal-grid button.sel { background: #111; color: #fff; }
.cal-slots { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cal-slots button { border: 1px solid #111; background: #fff; border-radius: 6px; padding: 8px 12px; cursor: pointer; color: #111; }
.cal-note { font-size: 12px; color: #52525b; margin-top: 12px; }
.powered { display: inline-block; margin-top: 12px; font-size: 10px; letter-spacing: .1em; color: #2563eb; background: #fff; padding: 6px 10px; border-radius: 4px; }
.form-card { background: var(--white); color: var(--ink); border: 2px solid var(--ink); padding: 20px 40px 40px; min-width: 0; }
.form-card .fe { font: 400 16px/21.28px var(--f-mono); color: var(--mute); }
.form-card h2, .form-card h3 { font: 700 36px/1.15 var(--f-display); text-transform: uppercase; margin: 20px 0 20px; }
.form-card h2.big { font-size: 64px; line-height: 1.15; }
.fld { display: grid; margin-bottom: 10px; }
.fld label { font: 400 17px/22.61px var(--f-form); color: var(--ink); padding: 8px 0; }
.fld .in { position: relative; }
.fld input, .fld select, .fld textarea { width: 100%; border: 1px solid #69727d; background: #fff; color: var(--mute); padding: 5px 14px; border-radius: 0; font: 400 15px/21px var(--f-form); height: 40px; }
.fld select { height: 45px; font-size: 17px; padding: 10px 12px; appearance: none; }
.fld textarea { height: 96px; resize: vertical; }
.fld .ico { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; fill: #555; pointer-events: none; }
.form-card .send { width: 100%; justify-content: center; background: var(--ink); color: var(--lime); font: 500 14px/14px var(--f-display); height: 46px; margin-top: 10px; border-radius: 0; }
.form-card .send.lime { width: auto; background: var(--lime); color: var(--ink); border: 2px solid rgba(2,1,1,0); }
.form-ok { border: 1px solid var(--ink); background: var(--lime); color: var(--ink); padding: 14px; font-size: 14px; }
.js-form-msg { font-size: 13px; margin-top: 8px; }
.hp { position: absolute; left: -9999px; }
@media (max-width: 1024px) { .combo { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
  .combo-sec .wrap { padding: 30px 10px 70px; }
  .combo-sec h2 { font-size: 46px; line-height: 1.15; }
  .form-card { padding: 20px 20px 30px; }
  .form-card h2.big { font-size: 32px; line-height: 1.15; }
}

/* Opinie */
.quotes-sec .wrap { padding-top: 60px; padding-bottom: 160px; }
.quotes-sec h2 { font-size: 48px; line-height: 1.15; font-weight: 700; }
.q-track { overflow: hidden; margin-top: 40px; }
.q-row { display: flex; transition: transform .5s ease; }
.quote { flex: 0 0 100%; padding: 0 0; }
.quote .box { background: #f0f0f0; margin: 0 auto; max-width: 1216px; padding: 26px 20px 30px; }
.quote p { font: italic 400 17px/1.55 var(--f-sans); color: #222; }
.quote .who { margin-top: 22px; font: 400 13px/1.3 var(--f-mono); color: var(--ink); }
.quote .role { font: 400 12px/1.3 "Roboto Slab", Georgia, serif; color: #6b6b6b; }
.q-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.q-dots button { width: 6px; height: 6px; border-radius: 50%; background: #bbb; border: 0; padding: 0; cursor: pointer; }
.q-dots button.on { background: var(--ink); }
@media (max-width: 767px) { .quotes-sec .wrap { padding: 60px 20px 120px; } }

/* Ostatnie posty i blog */
.posts-sec .wrap { padding-top: 60px; padding-bottom: 130px; }
.posts-sec h2 { font-size: 48px; line-height: 1.15; font-weight: 700; }
.posts-sec .more { display: flex; justify-content: center; margin-top: 30px; }
.posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
.post-card { background: var(--white); color: var(--ink); border: 2px solid var(--ink); display: flex; flex-direction: column; text-decoration: none; min-width: 0; }
.post-card .cover { aspect-ratio: 16 / 9; background-color: var(--ink); background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 22px 22px; display: grid; place-items: center; color: var(--lime); font: 400 24px var(--f-display); text-transform: uppercase; padding: 16px; text-align: center; max-width: 100%; }
.post-card .in { padding: 20px; display: grid; gap: 10px; }
.post-card .cat { font: 400 12px var(--f-mono); text-transform: uppercase; }
.post-card h2, .post-card h3 { font: 400 24px/1.15 var(--f-display); text-transform: uppercase; margin: 0; }
.post-card p { font-size: 14px; line-height: 1.5; }
.post-card .meta { font-size: 12px; color: var(--mute); }
.blog-sec .wrap { padding-top: 50px; padding-bottom: 80px; }
.cats { display: flex; flex-wrap: wrap; gap: 10px; }
.cats button { border: 2px solid var(--ink); background: transparent; color: var(--ink); padding: 10px 14px; font: 400 12px var(--f-mono); text-transform: uppercase; cursor: pointer; }
.cats button.on { background: var(--ink); color: var(--lime); }
.empty-note { border: 1px dashed rgba(10,10,10,.3); padding: 24px; text-align: center; font-size: 14px; }
@media (max-width: 900px) { .posts { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .posts-sec .wrap { padding: 40px 20px 110px; } }

/* Wpis */
.post-hero .wrap { padding-top: 40px; padding-bottom: 90px; }
.post-hero h1 { font-size: 64px; line-height: 1.15; max-width: 980px; margin-top: 20px; }
.post-hero .meta { font: 400 14px var(--f-mono); color: var(--paper); margin-top: 20px; }
.crumbs { font: 400 12px var(--f-mono); text-transform: uppercase; }
.crumbs a { text-decoration: none; }
.post-wrap { display: grid; grid-template-columns: minmax(0, 832px) 280px; gap: 60px; padding-top: 50px; padding-bottom: 80px; }
.toc { position: sticky; top: 100px; align-self: start; border-left: 5px solid var(--lime); padding: 6px 0 6px 20px; font-size: 13px; }
.toc b { display: block; margin-bottom: 10px; font: 400 22px var(--f-display); text-transform: uppercase; }
.toc a { display: block; padding: 6px 0; text-decoration: none; }
.author { display: flex; gap: 16px; align-items: center; border-top: 2px solid var(--ink); margin-top: 40px; padding-top: 22px; font-size: 14px; }
.author img { width: 64px; height: 64px; object-fit: cover; filter: grayscale(1); }
@media (max-width: 900px) { .post-wrap { grid-template-columns: 1fr; padding: 40px 20px; } .toc { position: static; } .post-hero h1 { font-size: 40px; line-height: 1.15; } }

/* Teksty (marketing, programy, o mnie) */
.text-sec .wrap { padding-top: 50px; padding-bottom: 50px; }
.prose { max-width: 832px; }
.prose > * + * { margin-top: 20px; }
.prose h2 { font: 400 48px/1.15 var(--f-display); text-transform: uppercase; max-width: 1024px; }
.prose h3 { font: 400 22px/1.15 var(--f-display); text-transform: uppercase; }
.prose p { font: 400 14px/18.62px var(--f-mono); }
.prose p.lead-b { font: 700 17px/22.61px var(--f-mono); }
.prose ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.prose ul li { font: 400 17px/22.61px var(--f-mono); padding-left: 26px; position: relative; }
.prose ul li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 9px; height: 9px; border: 2px solid currentColor; border-radius: 50%; }
.prose ol { list-style: none; padding: 0; }
.prose ol li { font: 400 14px/30px var(--f-mono); }
.prose blockquote { margin: 0; border-left: 5px solid var(--lime); padding: 10px 20px; font: 400 32px/37px var(--f-display); text-transform: uppercase; max-width: 896px; }
.prose em { color: var(--mute); }
.sec.dark .prose blockquote { color: var(--white); }
.story .wrap { padding-top: 60px; padding-bottom: 60px; }
.story h2 { font: 700 64px/1.15 var(--f-display); text-transform: uppercase; margin: 20px 0 20px; }
.story .s-p { font: 400 17px/28px var(--f-mono); color: var(--mute); max-width: 542px; }
.story .s-b { font: 700 18px/28px var(--f-mono); color: var(--ink); max-width: 945px; margin-top: 24px; }
.story .s-s { font: 400 15px/28px var(--f-mono); color: var(--mute); max-width: 945px; margin-top: 20px; }
.story .col { padding: 10px; }
@media (max-width: 767px) {
  .text-sec .wrap { padding: 40px 20px; }
  .prose h2 { font-size: 48px; line-height: 1.15; }
  .prose blockquote { font-size: 32px; }
  .story .wrap { padding: 40px 15px; }
  .story h2 { font-size: 36px; line-height: 1.15; }
}

/* Liczniki */
.counters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1152px; margin-top: 20px; }
.counter { background: var(--ink); border: 2px solid var(--lime); padding: 20px 30px; height: 204px; min-width: 0; }
.counter b { display: block; font: 400 80px/80px var(--f-display); color: var(--lime); white-space: nowrap; }
.counter b .arw { font-size: 40px; vertical-align: middle; margin: 0 8px; }
.counter span { display: block; margin-top: 20px; font: 400 15px/19.95px var(--f-mono); color: var(--paper); }
@media (max-width: 767px) { .counters { grid-template-columns: 1fr; } .counter b { font-size: 64px; } }

/* Karty z ikoną i numerowane */
.cards-sec .wrap { padding-top: 60px; padding-bottom: 120px; }
.cards-sec h2.big { font: 700 64px/1.15 var(--f-display); text-transform: uppercase; margin-top: 20px; }
.icards { display: grid; gap: 20px; margin-top: 40px; padding: 10px; }
.icards.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.icards.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1024px; padding: 0; }
.icards.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 832px; padding: 0; }
.icard { background: var(--ink-2); border-top: 3px solid var(--lime); padding: 25px; min-height: 195px; min-width: 0; }
.icard .ic { color: var(--lime); font: 400 32px/32px var(--f-display); display: block; height: 52px; }
.icard h3 { font: 400 20px/1.15 var(--f-display); text-transform: uppercase; color: var(--white); margin: 0 0 13px; }
.icard p { font: 400 13px/20px var(--f-mono); color: var(--paper); }
.icard.flat { background: var(--paper); border-top: 0; border-left: 4px solid var(--lime); padding: 20px; min-height: 0; }
.icard.flat h3 { font-size: 22px; line-height: 1.15; color: var(--ink); margin-bottom: 20px; }
.icard.flat p { font-size: 13px; line-height: 17.29px; color: var(--ink); }
.ncard { background: var(--paper); border-top: 4px solid var(--lime); padding: 20px 30px; min-height: 275px; }
.ncard .num { font: 400 64px/80px var(--f-display); color: var(--lime); display: block; }
.ncard h3 { font: 400 22px/1.15 var(--f-display); text-transform: uppercase; margin: 20px 0 20px; color: var(--ink); }
.ncard p { font: 400 13px/17.29px var(--f-mono); color: var(--ink); }
@media (max-width: 1024px) { .icards.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .cards-sec .wrap { padding: 40px 15px 50px; }
  .cards-sec h2.big { font-size: 36px; line-height: 1.15; }
  .icards.c4, .icards.c3, .icards.c2 { grid-template-columns: 1fr; }
}

/* FAQ */
.faq-sec .wrap { padding-top: 50px; padding-bottom: 50px; }
.faq-list details { border: 1px solid var(--line-f); }
.faq-list details + details { margin-top: -1px; }
.faq-list summary { list-style: none; cursor: pointer; padding: 10px; display: flex; justify-content: space-between; gap: 14px; font: 400 17px/22.61px var(--f-mono); color: #1f2124; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-size: 20px; line-height: 22px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > div { border-top: 1px solid var(--line-f); padding: 10px 11px; font: 400 14px/18.62px var(--f-mono); color: var(--ink); }
.faq-split .wrap { display: grid; grid-template-columns: 1fr 1fr; padding-top: 40px; padding-bottom: 40px; }
.faq-split .l { padding: 10px; }
.faq-split h2 { font: 400 92px/1.15 var(--f-display); text-transform: uppercase; margin-top: 20px; }
.faq-split h2 + h2 { margin-top: 20px; }
.faq-split .faq-list summary { color: var(--white); padding: 14px 10px; }
.faq-split .faq-list details[open] summary { color: var(--lime); }
.faq-split .faq-list details > div { color: var(--paper); font-size: 15px; line-height: 19.95px; }
@media (max-width: 767px) { .faq-split .wrap { grid-template-columns: 1fr; padding: 40px 0; } .faq-sec .wrap { padding: 40px 20px; } }

/* Następny krok */
.next-sec .wrap { padding-top: 40px; padding-bottom: 50px; }
.next-sec h2 { font-size: 64px; line-height: 1.15; }
.next-sec h2 + h2 { margin-top: 20px; }
.next { display: grid; grid-template-columns: repeat(3, 328px); gap: 20px; margin-top: 20px; }
.next .card { background: var(--mute); border-top: 4px solid var(--lime); padding: 20px 30px; display: flex; flex-direction: column; gap: 20px; min-height: 244px; }
.next .card.first { padding-left: 20px; padding-right: 20px; }
.next .tag { font: 400 13px/17.29px var(--f-mono); color: var(--lime); }
.next h3 { font: 400 22px/1.15 var(--f-display); text-transform: uppercase; color: var(--white); margin: 0; }
.next p { font: 400 13px/17.29px var(--f-mono); color: var(--white); flex: 1; }
.next .btn { align-self: flex-start; }
@media (max-width: 767px) { .next-sec .wrap { padding: 40px 10px 50px; } .next-sec h2 { font-size: 32px; line-height: 1.15; } .next { grid-template-columns: 1fr; } }

/* Strona kontaktu */
.contact-sec .wrap { padding-top: 50px; padding-bottom: 150px; display: grid; grid-template-columns: 626px 1fr; gap: 30px; }
.c-cards { display: grid; gap: 20px; align-content: start; }
.c-card { background: var(--ink); color: var(--white); border: 1px solid var(--lime); padding: 35px; min-height: 147px; }
.c-card small { display: block; font: 400 14px/18px var(--f-mono); color: var(--paper); margin-bottom: 18px; }
.c-card b { font: 400 32px/1.15 var(--f-display); text-transform: uppercase; color: var(--lime); overflow-wrap: anywhere; font-weight: 400; display: block; }
.c-card b.wh { color: var(--white); }
.c-card.lime { background: var(--lime); color: var(--ink); border: 1px dashed var(--ink); min-height: 208px; }
.c-card.lime small { color: var(--ink); }
.c-card.lime b { color: var(--ink); font-size: 64px; line-height: 64px; }
.c-card.lime p { font-size: 13px; margin-top: 12px; }
.c-card.c-company { min-height: 0; }
.c-card.c-company p { font: 400 14px/22px var(--f-mono); color: var(--white); }
@media (max-width: 1024px) { .contact-sec .wrap { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .contact-sec .wrap { padding: 40px 10px 70px; } .c-card b { font-size: 22px; line-height: 1.15; } }

/* Pas CTA */
.cta-sec .wrap { display: grid; grid-template-columns: 853px 1fr; padding-top: 30px; padding-bottom: 60px; align-items: center; }
.cta-sec .l { padding: 10px; }
.cta-sec h2 { font: 400 56px/64px var(--f-display); text-transform: uppercase; color: var(--white); }
.cta-sec h2 .hl { line-height: 64px; }
.cta-sec p { font: 400 17px/22.61px var(--f-mono); color: var(--paper); margin-top: 20px; }
.cta-sec .r { display: flex; justify-content: center; padding: 10px; }
@media (max-width: 1024px) { .cta-sec .wrap { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .cta-sec .wrap { padding: 30px 0 60px; text-align: left; } .cta-sec h2, .cta-sec h2 .hl { font-size: 36px; line-height: 53px; } .cta-sec .r { justify-content: center; } }

/* Dokumenty prawne */
.legal .wrap { padding-top: 50px; padding-bottom: 80px; }
.legal h1 { font: 400 40px/1.1 var(--f-mono); text-transform: uppercase; letter-spacing: .02em; margin: 0 0 30px; color: var(--ink); }
.legal .prose { font-family: var(--f-form); max-width: 900px; }
.legal .prose h2 { font: 700 16px/1.4 var(--f-form); text-transform: uppercase; }
.legal .prose h3 { font: 700 15px/1.4 var(--f-form); text-transform: none; }
.legal .prose p { font: 400 15px/1.6 var(--f-form); color: #333; }

/* Stopka */
.s-footer { background: var(--ink); border-top: 2px solid var(--lime); }
.s-footer .in { max-width: 1300px; margin: 0 auto; padding: 42px 10px 0; display: grid; grid-template-columns: 320px 320px 1fr; }
.s-footer .c { padding: 10px; }
.s-footer .f-h { font: 400 16px/16px var(--f-display); text-transform: uppercase; color: var(--white); margin: 0 0 20px; }
.s-footer .links a { display: block; font: 400 13px/17.29px var(--f-mono); color: var(--white); text-decoration: none; margin-bottom: 10px; }
.s-footer .links a:hover { color: var(--lime); }
.s-footer .about { font: 400 12px/1.5 var(--f-mono); color: var(--paper); margin-top: 18px; }
.s-footer .right { display: grid; grid-template-columns: 330px 1fr; }
.s-footer .news { grid-column: 1 / -1; padding: 0 0 0; }
.s-footer .news form { display: flex; gap: 10px; margin-top: 0; }
.s-footer .news input { flex: 0 0 410px; min-width: 0; background: var(--paper); border: 0; padding: 5px 14px; height: 40px; color: var(--ink); font: 400 15px/21px var(--f-form); }
.s-footer .news .btn { flex: 0 0 200px; justify-content: center; height: 40px; font: 500 14px/14px var(--f-display); border-radius: 0; padding: 10px 0; }
.s-footer .bottom { max-width: 1300px; margin: 0 auto; padding: 25px 10px 10px; }
.s-footer .bottom .line { height: 1px; border-top: 1px dashed rgba(255,255,255,.3); }
.s-footer .bottom .row { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font: 400 13px/21px var(--f-mono); color: var(--paper); margin-top: 35px; }
@media (max-width: 1024px) { .s-footer .in { grid-template-columns: 1fr 1fr; } .s-footer .right { grid-column: 1 / -1; } }
@media (max-width: 767px) {
  .s-footer .in { grid-template-columns: 1fr; padding: 30px 16px 0; }
  .s-footer .right { grid-template-columns: 1fr; }
  .s-footer .news form { flex-direction: column; }
  .s-footer .news input, .s-footer .news .btn { flex: 0 0 auto; width: 100%; }
  .s-footer .bottom { padding: 25px 16px 16px; }
}

/* Landing (Tylko dla Ciebie, tester) */
.landing { background: var(--ink); color: var(--white); }
.l-head { border-bottom: 1px solid var(--line-d); height: 63px; }
.l-head .wrap { max-width: 948px; padding-inline: 16px; height: 100%; display: flex; justify-content: space-between; align-items: center; }
.l-head .logo { width: 186px; display: block; }
.l-head .btn { font: 400 13px/15.6px var(--f-display); letter-spacing: 1.04px; padding: 11px 18px; background: var(--lime-l); border-radius: 0; }
.l-wrap { max-width: 948px; margin: 0 auto; padding-inline: 16px; }
.l-sec { border-bottom: 1px solid var(--line-d); }
.l-hero { padding: 38px 0 40px; }
.l-eyebrow { font: 700 11px/17.6px var(--f-mono); color: rgba(255,255,255,.32); text-transform: uppercase; letter-spacing: 1.98px; }
.l-eyebrow.lime { color: var(--lime-l); }
.l-eyebrow b { color: var(--lime-l); font-weight: 700; }
.l-greet { font: 400 40px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .4px; margin-top: 22px; display: block; }
.l-hero h1 { font: 400 62px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .62px; margin: 18px 0 0; }
.l-hero h1 .acc { color: var(--lime-l); }
.l-lead { font: 400 15px/24px var(--f-mono); color: rgba(255,255,255,.55); max-width: 551px; margin-top: 19px; }
.l-hero .btn { margin-top: 30px; font: 400 16px/19.2px var(--f-display); letter-spacing: .96px; padding: 17px 30px; background: var(--lime-l); border-radius: 0; }
.l-why { padding: 22px 0 44px; }
.l-why .p { font: 400 15px/24px var(--f-mono); color: rgba(255,255,255,.78); max-width: 569px; padding-left: 18px; border-left: 2px solid var(--lime-l); margin-top: 16px; }
.l-why .p b { color: var(--lime-l); }
.l-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 40px; }
.l-card { border: 1px solid var(--line-d); border-top: 2px solid var(--lime-l); background: var(--ink-3); padding: 22px; min-width: 0; }
.l-card .ic { color: var(--lime-l); font-size: 16px; }
.l-card h2 { font: 400 17px/19.55px var(--f-display); text-transform: uppercase; letter-spacing: .34px; margin: 14px 0 10px; }
.l-card p { font: 400 12px/19.2px var(--f-mono); color: rgba(255,255,255,.68); letter-spacing: .36px; }
.l-calc { padding: 36px 0 76px; }
.l-calc > .l-wrap > .l-lead { margin-top: 16px; max-width: 569px; }
.l-bio { padding: 36px 0 76px; }
.l-bio .grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; margin-top: 16px; }
.l-bio img { width: 260px; height: 299px; object-fit: cover; filter: grayscale(1); background: var(--ink-3); }
.l-bio h2 { font: 400 40px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .4px; margin: 0; }
.l-bio .role { margin-top: 6px; }
.l-bio .bio p { font: 400 14px/22.4px var(--f-mono); color: rgba(255,255,255,.75); margin-top: 14px; }
.l-bio .cal-h { font: 400 40px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .4px; margin-top: 100px; }
.l-bio .cal-p { font: 400 13px/20.8px var(--f-mono); color: rgba(255,255,255,.55); margin: 8px 0 24px; }
.l-trust { padding: 22px 0 56px; text-align: center; }
.l-trust ul { list-style: none; padding: 0; margin: 25px 0 0; display: flex; justify-content: center; align-items: center; gap: 38px; flex-wrap: wrap; }
.l-trust img { height: 46px; width: auto; filter: invert(1); opacity: .7; }
.l-trust img.sm { height: 30px; }
.l-foot { padding: 22px 0 34px; text-align: center; font: 400 11px/1.6 var(--f-mono); letter-spacing: .18em; color: rgba(255,255,255,.32); }
.l-foot a { color: inherit; }
@media (max-width: 767px) {
  .l-hero h1 { font-size: 38px; line-height: 1.15; }
  .l-greet { font-size: 30px; line-height: 1.15; }
  .l-cards { grid-template-columns: 1fr; }
  .l-bio .grid { grid-template-columns: 1fr; }
  .l-bio img { width: 100%; max-width: 300px; height: auto; aspect-ratio: 260 / 299; }
  .l-bio .cal-h { font-size: 30px; line-height: 1.15; margin-top: 60px; }
}

/* Kalkulator */
.calc { border: 1px solid var(--line-d); background: #0d0d0d; padding: 40px 56px 44px; margin-top: 40px; }
.calc .prog { display: flex; gap: 16px; align-items: center; font: 400 11px/16.5px var(--f-mono); text-transform: uppercase; letter-spacing: 2.5px; color: var(--lime-l); }
.calc .prog .st { color: rgba(255,255,255,.4); }
.calc .bar { height: 2px; background: rgba(255,255,255,.12); margin-top: 10px; }
.calc .bar i { display: block; height: 100%; background: var(--lime-l); }
.calc .kick { font: 400 11px/16.5px var(--f-mono); color: var(--lime-l); text-transform: uppercase; letter-spacing: 2.5px; display: block; margin-top: 34px; }
.calc h2 { font: 400 48px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .5px; margin: 14px 0 0; }
.calc h2 .acc { color: var(--lime-l); }
.calc .l-lead { font-size: 13px; line-height: 22.1px; max-width: 477px; padding-left: 18px; border-left: 2px solid rgba(255,255,255,.12); margin-top: 12px; }
.calc .q { margin-top: 40px; font: 400 12px var(--f-mono); text-transform: uppercase; letter-spacing: 2px; color: rgba(255,255,255,.7); }
.opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.opt { text-align: left; background: #121212; border: 1px solid var(--line-d); color: var(--white); padding: 20px 18px; cursor: pointer; min-width: 0; min-height: 92px; }
.opt b { display: block; font: 400 20px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .4px; }
.opt span { display: block; margin-top: 10px; font: 400 11px var(--f-mono); color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: 1.5px; }
.opt.on { border-color: var(--lime-l); box-shadow: inset 0 0 0 1px var(--lime-l); }
.cfld { display: grid; gap: 6px; margin-top: 18px; }
.cfld label { font: 400 12px var(--f-mono); text-transform: uppercase; letter-spacing: 1.5px; display: flex; justify-content: space-between; gap: 10px; color: rgba(255,255,255,.8); }
.cfld label i { font-style: normal; color: rgba(255,255,255,.4); font-size: 10px; }
.cfld input, .cfld select { background: #121212; color: var(--white); border: 1px solid var(--line-d); padding: 14px; font: 400 14px var(--f-mono); }
.cfld small { color: rgba(255,255,255,.45); font-size: 11px; }
.cfld .err, .err { color: #ff8a65; font-size: 11px; }
.calc-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.calc .btn { background: var(--lime-l); border-radius: 0; font: 400 16px/19.2px var(--f-display); letter-spacing: 1px; padding: 16px 30px; }
.btn.ghost { background: transparent !important; color: var(--white) !important; border: 1px solid var(--line-d) !important; }
.calc .result h3 { font: 400 40px/1.15 var(--f-display); text-transform: uppercase; margin: 14px 0 0; }
.calc .range { background: var(--lime-l); color: var(--ink); padding: 0 .15em; }
.calc .result > p { font: 400 13px/1.6 var(--f-mono); color: rgba(255,255,255,.6); margin-top: 12px; }
.calc .pln { border: 1px dashed var(--lime-l); padding: 18px; margin-top: 22px; }
.calc .pln b { display: block; font: 400 34px var(--f-display); color: var(--lime-l); margin-top: 6px; }
.calc .pln p { font-size: 13px; margin-top: 8px; color: rgba(255,255,255,.75); }
.loading-bar { height: 4px; background: #1a1a1a; margin-top: 18px; overflow: hidden; }
.loading-bar i { display: block; height: 100%; width: 0; background: var(--lime-l); transition: width 1.6s ease; }
@media (max-width: 767px) { .calc { padding: 24px 18px 28px; } .calc h2 { font-size: 34px; line-height: 1.15; } .opts { grid-template-columns: 1fr; } }

/* Tester domen */
.tester textarea { width: 100%; min-height: 150px; background: #121212; color: var(--white); border: 1px solid var(--line-d); padding: 14px; font: 14px/1.6 var(--f-mono); resize: vertical; margin-top: 14px; }
.t-row { border: 1px solid var(--line-d); background: #121212; margin-top: 12px; }
.t-row > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 16px; }
.t-row > summary::-webkit-details-marker { display: none; }
.t-dom { font-size: 15px; overflow-wrap: anywhere; }
.t-badges { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pill { display: inline-flex; align-items: center; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; border: 1px solid currentColor; padding: 4px 8px; white-space: nowrap; }
.pill.ok { color: #9be15d; } .pill.warn { color: #ffc861; } .pill.bad { color: #ff7a6b; } .pill.wait { color: var(--mute-d); }
.t-detail { padding: 0 16px 16px; display: grid; gap: 12px; }
.t-src { border-top: 1px solid var(--line-d); padding-top: 12px; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; font-size: 13px; }
.t-src b { font-weight: 400; color: var(--lime-l); text-transform: uppercase; font-size: 12px; }
.t-src p { color: #d4d4d4; margin-bottom: 6px; }
.t-src .fix { color: var(--mute-d); font-size: 12px; }
.t-summary { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 18px; font-size: 13px; }
.demo-flag { display: block; border: 1px dashed var(--line-d); padding: 10px 12px; font-size: 12px; color: var(--mute-d); margin-top: 20px; }
@media (max-width: 640px) { .t-src { grid-template-columns: 1fr; } .t-row > summary { grid-template-columns: 1fr; } .t-badges { justify-content: flex-start; } }

/* Ocena programu partnerskiego oczami wydawcy (sekcja pitchScorer, formularz i wynik na bazie kalkulatora) */
.pitch-sec .ps-wrap { max-width: 948px; padding: 56px 16px 90px; }
.pitch-sec .ps-wrap > .ttl { font-size: 48px; line-height: 1.15; margin-top: 14px; }
.pitch-sec .ps-wrap > .lead { font: 400 15px/24px var(--f-mono); color: rgba(255,255,255,.6); max-width: 620px; margin-top: 16px; }
.pitch-sec .calc { color: var(--white); }
.ps fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.ps .ps-group + .ps-group { margin-top: 34px; padding-top: 4px; border-top: 1px solid var(--line-d); }
.ps legend.kick { padding: 0; margin-top: 30px; float: left; width: 100%; }
.ps .ps-group:first-child legend.kick { margin-top: 0; }
.ps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; clear: both; }
.ps .cfld, .ps-report .cfld { align-content: start; }
.ps .cfld label { justify-content: flex-start; }
.ps .cfld label i { margin-left: auto; }
.ps .cfld input, .ps .cfld select, .ps-report .cfld input { font-size: 16px; min-height: 50px; width: 100%; min-width: 0; }
.ps .cfld input[aria-invalid], .ps .cfld select[aria-invalid], .ps-report .cfld input[aria-invalid] { border-color: #ff8a65; }
.ps .cfld .err:empty, .ps-report .err:empty { display: none; }
.ps .q { margin-top: 24px; }
.ps-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.ps-check { display: flex; gap: 12px; align-items: flex-start; background: #121212; border: 1px solid var(--line-d); padding: 14px; cursor: pointer; font: 400 13px/1.5 var(--f-mono); color: rgba(255,255,255,.85); min-height: 52px; }
.ps-check input { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--lime-l); }
.ps-check:has(input:checked) { border-color: var(--lime-l); }
.ps-consent { background: transparent; border: 0; padding: 0; margin-top: 20px; font-size: 12px; color: rgba(255,255,255,.62); min-height: 0; }
.ps-consent a { color: var(--lime-l); }
.ps-msg { margin-top: 18px; font-size: 12px; }
.ps-msg:empty { display: none; }
.pitch-sec .calc .btn { white-space: normal; text-align: center; justify-content: center; }
.ps-result, .ps-report { scroll-margin-top: 96px; }
.ps-result:focus { outline: none; }
.ps-result[hidden], .ps-report[hidden], .ps-report [hidden], .ps-stale[hidden] { display: none !important; }
.ps-stale { border: 1px dashed var(--line-d); padding: 10px 12px; font-size: 12px; color: var(--mute-d); margin-bottom: 16px; }
.ps-result > .kick:first-of-type { margin-top: 0; }
.ps-score { display: flex; align-items: baseline; gap: 6px; margin-top: 12px; }
.ps-score b { font: 400 120px/.9 var(--f-display); color: var(--lime-l); }
.ps-score span { font: 400 34px/1 var(--f-display); color: rgba(255,255,255,.45); }
.ps-verdict { font: 400 32px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .3px; margin: 14px 0 0; }
.ps-bar { height: 6px; background: rgba(255,255,255,.12); margin-top: 18px; }
.ps-bar i { display: block; height: 100%; background: var(--lime-l); }
.ps-h { font: 400 24px/1.15 var(--f-display); text-transform: uppercase; letter-spacing: .3px; margin: 38px 0 0; }
.ps-fixes { list-style: none; counter-reset: fx; padding: 0; margin: 14px 0 0; display: grid; gap: 12px; }
.ps-fixes li { counter-increment: fx; position: relative; background: #121212; border: 1px solid var(--line-d); border-left: 3px solid var(--lime-l); padding: 16px 18px 16px 66px; }
.ps-fixes li::before { content: counter(fx, decimal-leading-zero); position: absolute; left: 18px; top: 15px; font: 400 30px/1 var(--f-display); color: var(--lime-l); }
.ps-fixes b { font: 400 18px/1.2 var(--f-display); text-transform: uppercase; letter-spacing: .3px; }
.ps-fixes p { font: 400 13px/1.65 var(--f-mono); color: rgba(255,255,255,.78); margin: 6px 0 0; }
.ps-none { font: 400 13px/1.6 var(--f-mono); color: rgba(255,255,255,.75); margin-top: 12px; }
.ps-range { margin-top: 28px !important; }
.ps-range.bad { border-color: #ff8a65; }
.ps-range.bad b { color: #ff8a65; }
.ps-consult { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line-d); }
.ps-consult h3 { font: 400 28px/1.15 var(--f-display); text-transform: uppercase; margin: 0; }
.ps-consult p { font: 400 13px/1.6 var(--f-mono); color: rgba(255,255,255,.65); margin: 10px 0 18px; max-width: 520px; }
.ps-report .kick { margin-top: 0; }
.ps-sent { font: 400 14px/1.6 var(--f-mono); color: var(--lime-l); margin-top: 16px; }
.ps-sent:empty { display: none; }
@media (max-width: 767px) {
  .pitch-sec .ps-wrap { padding: 40px 16px 70px; }
  .pitch-sec .ps-wrap > .ttl { font-size: 34px; line-height: 1.15; }
  .ps-grid, .ps-checks { grid-template-columns: 1fr; }
  .ps-score b { font-size: 96px; }
  .ps-verdict { font-size: 26px; }
  .ps-fixes li { padding: 14px 14px 14px 54px; }
  .ps-fixes li::before { left: 14px; font-size: 26px; }
  .pitch-sec .calc .calc-nav .btn { width: 100%; }
}

/* 404 */
.e404 .wrap { padding: 60px 10px 120px; }
.e404 b { font: 800 200px/1 var(--f-mono); color: transparent; -webkit-text-stroke: 2px rgba(212,255,0,.6); display: block; }
.e404 h1 { font-size: 64px; line-height: 1.15; margin-top: 10px; }
.e404 .lead { font: 400 17px/27px var(--f-mono); margin-top: 20px; }
@media (max-width: 767px) { .e404 b { font-size: 120px; } .e404 h1 { font-size: 40px; line-height: 1.15; } }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* Uzupełnienia do szablonów sekcji */
.s-nav { margin-left: auto; }
.btn .ar { width: 9px; height: 11px; flex: 0 0 auto; }
.hero-outline h1 { display: flex; flex-direction: column; gap: 5px; }
.hero-outline h1 .ln { display: block; }
.hero-outline h1 .ln.big { font-size: 120px; line-height: 1.1; }
.hero-outline .outline-word { bottom: -10px; }
.hero-outline .h1-band { padding: 0 10px; }
.logos-small .wrap { text-align: left; }
.logo-row.text-logos { gap: 60px; }
.logo-row.text-logos span { width: auto; height: 157px; font: 400 28px/157px var(--f-display); color: var(--ink); white-space: nowrap; }
.s-footer .news { padding: 10px; }
.s-footer .news .f-h { margin-bottom: 20px; }
.cards-sec.flat-sec .wrap { padding-top: 25px; padding-bottom: 25px; }
.cards-sec.flat-sec .prose { margin-bottom: 0; }
.icards.flat, .num-sec .icards { padding: 0; margin-top: 20px; }
.icards.c3.flat { max-width: 832px; gap: 30px; }
.cards-sec .eyebrow + h2.big { margin-top: 20px; }
.faq-sec .prose { margin-top: 20px; }
.faq-sec .faq-list { margin-top: 20px; max-width: 1024px; }
.faq-split .faq-list { padding: 10px; }
.faq-split .l .eyebrow { color: var(--paper); }
.next-sec .eyebrow-b + h2 { margin-top: 20px; }
.next-sec .eyebrow-b, .stats-sub, .statrow-sec .eyebrow-b { color: inherit; }
.cal-month { margin-top: 14px; font-size: 14px; font-weight: 600; }
.l-why .p p + p { margin-top: 14px; }
.calc.js-t-alert { margin-top: 26px; }
.calc .calc-privacy { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 18px; }
.calc .calc-privacy a { color: var(--lime-l); }
.calc .consent { display: flex; gap: 10px; font-size: 12px; margin-top: 14px; align-items: flex-start; color: rgba(255,255,255,.7); }
.l-trust .l-eyebrow { display: block; }
.e404 .ttl { margin-top: 20px; }
.post-hero .crumbs a { color: var(--paper); }
.s-header .cta-top { margin-left: 10px; }
@media (max-width: 767px) {
  .hero-outline h1 .ln.big { font-size: 48px; line-height: 1.15; }
  .hero-outline h1 .ln.mid { font-size: 38px; line-height: 1.15; }
  .logo-row.text-logos span { height: 100px; line-height: 100px; font-size: 22px; }
  .cards-sec.flat-sec .wrap { padding: 20px; }
}
body { margin: 0; }
@media (min-width: 1300px) { .wrap { padding-inline: 0; } }
.quote { margin: 0; }

/* Dopasowanie do oryginału, runda 2 */
.svc .ic svg, .icard .ic svg { width: 1em; height: 1em; display: block; }
.svc .ic { font-size: 30px; height: 40px; display: flex; align-items: center; }
.icard .ic { font-size: 30px; height: 52px; display: flex; align-items: flex-start; }
.l-card .ic svg { width: 16px; height: 16px; display: block; }
.story .s-p + .s-p { margin-top: 28px; }
.counter b.multi { display: flex; justify-content: space-between; align-items: center; font-size: 60px; line-height: 80px; }
.counter b.multi .arw { font-size: 32px; margin: 0; }
.logos-small .wrap { padding-top: 60px; padding-bottom: 50px; }
.logos-small .logo-track { margin-top: 20px; }
/* Teksty: gęstsze odstępy jak w Elementorze */
.prose > * + * { margin-top: 14px; }
.prose > h2 { margin-top: 34px; }
.prose > h2:first-child { margin-top: 0; }
.prose > h3 { margin-top: 24px; }
.prose blockquote { background: linear-gradient(90deg, rgba(212,255,0,.38) 0%, rgba(212,255,0,0) 85%); color: var(--ink); padding: 14px 20px; margin-top: 24px; margin-bottom: 10px; }
.prose ul li::before { width: 11px; height: 11px; top: 5px; border-width: 2px; background: radial-gradient(circle, currentColor 0 30%, transparent 36%); }
.text-sec .wrap { padding-top: 40px; padding-bottom: 20px; }
.sec.white + .sec.white > .wrap, .sec.light + .sec.light > .wrap { padding-top: 10px; }
.text-sec[style*="--sh"] .wrap, .faq-sec[style*="--sh"] .wrap, .cards-sec.flat-sec[style*="--sh"] .wrap { padding-bottom: calc(var(--sh) + 60px); }
.cards-sec.flat-sec .wrap { padding-top: 20px; padding-bottom: 10px; }
.faq-sec .wrap { padding-top: 30px; padding-bottom: 30px; }
.faq-sec .faq-list { max-width: none; }
.faq-sec .faq-list summary { justify-content: flex-start; }
.faq-sec .faq-list summary::after { content: none; }
.faq-sec .faq-list summary::before { content: "+"; font-size: 20px; line-height: 22px; width: 14px; }
.faq-sec .faq-list details[open] summary::before { content: "−"; }
.next .btn.outline { border-color: transparent; padding-left: 10px; padding-right: 10px; gap: 6px; }
/* Hero z obrysem: ramki i położenie napisu */
.hero-outline .side .box { top: 53px; right: 10px; border: 1px dashed rgba(212,255,0,.6); }
.hero-outline .side .dash-frame { top: 93px; left: 550px; width: 220px; height: 105px; }
.hero-outline .side.one .dash-frame { top: 42px; left: 324px; width: 220px; height: 200px; }
.hero-outline .outline-word { bottom: 95px; }
@media (max-width: 767px) {
  .counter b.multi { font-size: 52px; }
  .hero-outline .outline-word { bottom: 40px; }
}
.prose ul li { font-size: 14px; line-height: 18.62px; }
.faq-sec .faq-list details[open] summary::after { content: none; }
.next .btn.outline { font: 500 14px/14px var(--f-form); text-transform: uppercase; color: var(--lime); }
@media (min-width: 768px) { .hero-outline h1 .ln { white-space: nowrap; } }
.faq-split h2 { margin-bottom: 0; } .faq-split h2 + h2 { margin-top: 18px; }
@media (max-width: 767px) {
  .shape svg { height: 40px !important; }
  .hero-outline .wrap { padding-bottom: 110px; }
  .hero-outline .outline-word { bottom: 28px !important; }
  .hero-photo .outline-word { bottom: 0; }
  .text-sec[style*="--sh"] .wrap, .faq-sec[style*="--sh"] .wrap, .cards-sec.flat-sec[style*="--sh"] .wrap { padding-bottom: 80px; }
}
.s-logo { flex: 0 1 256px; min-width: 0; }
.s-header .cta-top { flex: 0 0 auto; }
.hero-photo .txt, .hero-outline .txt, .hero-photo .photo { min-width: 0; }
.hero-photo h1, .hero-outline h1 { overflow-wrap: break-word; }
@media (max-width: 420px) { .s-header .in { gap: 10px; padding: 0 12px; } .s-burger { padding: 4px; } }
@media (max-width: 767px) { .faq-split h2 { font-size: 56px; line-height: 1.15; } .faq-split .wrap > * { min-width: 0; } }
/* Kafle wpisów: niższa grafika, na telefonie wyraźnie mniejsza */
.post-card .cover { aspect-ratio: auto; height: 180px; font-size: 22px; }
@media (max-width: 767px) {
  .post-card .cover { height: 96px; font-size: 17px; padding: 12px; }
  .post-card .in { padding: 16px; gap: 8px; }
  .post-card h2, .post-card h3 { font-size: 21px; }
  .post-card p { font-size: 13px; }
}
/* Osadzony kalendarz TidyCal */
.cal-embed { background: var(--white); border-radius: 10px; min-height: 560px; position: relative; overflow: hidden; min-width: 0; }
.cal-embed .tidycal-embed { min-height: 560px; }
.cal-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; text-align: center; color: var(--ink); font: 400 15px/1.5 var(--f-mono); }
.cal-embed.ready .cal-fallback { display: none; }
.landing .cal-embed { margin-top: 8px; }
@media (max-width: 767px) { .cal-embed, .cal-embed .tidycal-embed { min-height: 520px; } }

/* Strona docelowa: elementy spoza demo */
.s-nav .item.open .s-drop { display: block; }
.f-logo { width: 210px; height: auto; display: block; }
.l-head .logo img { width: 100%; height: auto; display: block; }
.e404-links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.calc-note { font-size: 12px; color: rgba(255,255,255,.6); margin-top: 12px; }
.t-count { font-size: 12px; color: var(--mute-d); }
.author span { font-size: 13px; }
.quote blockquote { margin: 0; }
.c-card b a { text-decoration: none; }
.table-wrap { overflow-x: auto; }
.legal table.defs { width: 100%; border-collapse: collapse; font: 400 14px/1.55 var(--f-form); }
.legal table.defs th, .legal table.defs td { border: 1px solid var(--line-f); padding: 10px 12px; text-align: left; vertical-align: top; }
.legal table.defs th { width: 28%; font-weight: 500; background: var(--paper); }
.legal .prose ul li, .legal .prose ol li { font: 400 15px/1.6 var(--f-form); color: #333; }
.legal .prose ol li { padding-left: 0; }
.lang-bar { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 32px); background: var(--ink); color: var(--paper); border: 1px solid var(--lime); padding: 10px 12px 10px 16px; font: 400 13px/1.4 var(--f-mono); }
.lang-bar a { color: var(--lime); }
.lang-bar button { background: none; border: 0; color: var(--paper); font-size: 20px; line-height: 1; cursor: pointer; padding: 0 4px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; z-index: 100; background: var(--lime); color: var(--ink); padding: 10px 14px; }
@media (max-width: 767px) { .legal table.defs th { width: 38%; } }
.preview-bar { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 90; background: var(--lime); color: var(--ink); padding: 10px 16px; font: 400 12px/1.4 var(--f-mono); max-width: calc(100% - 32px); }
.reveal-email { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
.reveal-email:disabled { cursor: progress; opacity: .7; }
.revealed-email { color: inherit; overflow-wrap: anywhere; }
.ts-box { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 95; }
.ts-box:empty { display: none; }
.cats a.cat-link { border: 2px solid var(--ink); background: transparent; color: var(--ink); padding: 10px 14px; font: 400 12px var(--f-mono); text-transform: uppercase; text-decoration: none; }
.cats a.cat-link.on { background: var(--ink); color: var(--lime); }
.post-card .cover.has-img { padding: 0; background: var(--ink); overflow: hidden; }
.post-card .cover.has-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 30px; font: 400 13px var(--f-mono); color: var(--ink); }
.post-meta-upd { color: var(--mute-d); }
.prose h4 { font: 400 20px/1.2 var(--f-display); text-transform: uppercase; margin: 24px 0 8px; }
.prose a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.prose .note { border-left: 4px solid var(--lime); background: var(--paper); padding: 16px 18px; margin: 20px 0; font: 400 15px/1.6 var(--f-form); color: var(--ink); }
.prose pre.code { background: var(--ink); color: var(--paper); padding: 16px; overflow-x: auto; font: 400 13px/1.6 var(--f-mono); margin: 20px 0; }
.prose figure.post-img { margin: 24px 0; }
.prose figure.post-img img { width: 100%; height: auto; display: block; }
.prose figure.post-img figcaption { font: 400 12px/1.5 var(--f-mono); color: var(--mute); margin-top: 8px; }
.prose .post-cta { margin: 24px 0; }
.prose .post-faq { border-bottom: 1px solid var(--line-f); padding: 12px 0; }
.prose .post-faq summary { cursor: pointer; font: 700 16px/1.4 var(--f-form); }
.prose .post-faq div { margin-top: 8px; font: 400 15px/1.6 var(--f-form); }
/* Blok „Pytanie i krótka odpowiedź” we wpisie: pytanie jak podtytuł H3, odpowiedź jak w FAQ, linie jak w FAQ. */
.prose .post-qa { border-top: 1px solid var(--line-f); border-bottom: 1px solid var(--line-f); padding: 18px 0; margin: 24px 0; }
.prose .post-qa h3 { margin: 0; }
.prose .post-qa p { margin-top: 10px; font: 400 15px/1.6 var(--f-form); }
.prose .post-qa + .post-qa { border-top: 0; margin-top: -24px; }
.yt { position: relative; aspect-ratio: 16 / 9; background: var(--ink); margin: 24px 0; max-width: 100%; }
.yt img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .7; }
.yt .btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.related { margin-top: 40px; }
.related h2 { font: 400 32px/1.15 var(--f-display); text-transform: uppercase; margin: 0 0 10px; }
.author .links a { font-size: 13px; color: inherit; }
.cookie-box { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 96; width: min(460px, calc(100% - 32px)); background: var(--ink); color: var(--paper); border: 1px solid var(--lime); padding: 18px; font: 400 13px/1.55 var(--f-mono); display: grid; gap: 12px; }
.cookie-box p { margin: 0; }
.cookie-box a { color: var(--lime); }
.cookie-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.cookie-btns .btn { font-size: 13px; padding: 10px 14px; }
.cookie-opts { display: grid; gap: 8px; }
.cookie-opts label { display: flex; gap: 8px; align-items: flex-start; }
.cookie-opts input { accent-color: var(--lime); margin-top: 3px; }
.consent-link { color: inherit; }

/* Formularz materiału do pobrania: pola zgody i newslettera (checkbox z opisem obok) */
.fld.chk label { display: flex; gap: 10px; align-items: flex-start; font: 400 13px/1.5 var(--f-form); color: var(--ink); padding: 6px 0; cursor: pointer; }
.fld.chk input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--ink); }
.fld.chk a { color: inherit; }
.material-done p { font: 400 15px/1.5 var(--f-form); margin: 10px 0 16px; }
.material-done .btn { width: auto; display: inline-flex; padding: 0 24px; }

/* Przegląd wyglądu 12.10.2026: obrysowany napis w hero nie wchodzi pod lead ani przycisk.
   --ob to położenie napisu ustawione w sekcji (outlinePos), domyślnie 95px jak w regule wyżej. */
.hero-outline.has-ow .wrap { padding-bottom: calc(var(--ob, 95px) + 125px); }
.hero-photo .wrap { padding-bottom: 140px; }
/* Ogonek litery w wierszu nad zaznaczeniem (np. Ę w NAPRAWDĘ) nie wchodzi na limonkowy pasek. */
@media (min-width: 768px) { .hero-photo h1 .hl { line-height: 1.85; } }
@media (max-width: 767px) {
  .hero-outline.has-ow .wrap { padding-bottom: 130px; }
  .hero-photo .wrap { padding-bottom: 100px; }
}

/* Cele dotykowe co najmniej 24x24 px (PageSpeed). Kropki opinii wyglądają jak wcześniej (6 px), klikalny jest kwadrat wokół kropki. */
.q-dots { gap: 2px; margin-top: 9px; }
.q-dots button, .q-dots button.on { width: 24px; height: 24px; background: none; display: grid; place-items: center; }
.q-dots button::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #bbb; }
.q-dots button.on::before { background: var(--ink); }
.lang-bar button { min-width: 32px; min-height: 32px; }
/* Pasek języka i podglądu (left: 50%) miał na telefonie do dyspozycji tylko pół ekranu i łamał tekst po jednym słowie. */
.lang-bar, .preview-bar { width: max-content; }
