body.mkt-page { --mkt-muted: oklch(42% 0.018 295); --mkt-line: oklch(88% 0.01 295); --mkt-orange: oklch(70% 0.19 45); overflow-x: visible; }
.mkt-main :where(h1, h2, h3, p, figure, ul) { margin: 0; }
.mkt-main :is(h1, h2, h3) { font-weight: 600; letter-spacing: -.035em; }
.mkt-main h2 { font-size: clamp(1.875rem, 3.6vw, 2.75rem); line-height: 1.12; }
.mkt-main p { line-height: 1.65; color: var(--mkt-muted); }
.mkt-main ul { padding: 0; list-style: none; }
.mkt-main section { padding-block: 4.5rem 5.5rem; scroll-margin-top: 6rem; }
.mkt-main .container { width: 100%; }
.mkt-main .eyebrow { margin-bottom: 1.25rem; font-size: .875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--frame-ink); }
.mkt-main .eyebrow::before { content: ""; display: inline-block; width: .625rem; height: .625rem; margin-right: .625rem; background: var(--frame-violet); vertical-align: .05em; }
.mkt-main .lead { font-size: 1.125rem; margin-block: 1.5rem 2rem; text-wrap: wrap; }
.mkt-main :where(p) { text-wrap: wrap; }
.mm-grid { display: grid; grid-template-columns: minmax(17.5rem, 24rem) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.mm-steps { display: grid; gap: .75rem; }
.mm-steps li { display: flex; align-items: center; gap: .75rem; font-size: 1.0625rem; color: var(--mkt-muted); }
.mm-steps li::before { content: ""; width: .75rem; height: .75rem; background: var(--frame-violet); flex: none; }
.mm-steps strong { color: var(--frame-ink); font-weight: 600; }
.mm-art { width: 100%; max-width: 48rem; margin-inline: auto; }
.mm-legend { display: none; }
.mm-svg { display: block; width: 100%; height: auto; font-family: inherit; }
.mm-ring { fill: none; stroke: var(--frame-ink); stroke-opacity: .6; stroke-width: 1.25; }
.mm-line { stroke: var(--frame-ink); stroke-opacity: .38; stroke-width: 1; }
.mm-line-active { stroke: var(--mkt-orange); stroke-opacity: 1; stroke-width: 2; }
.mm-glow { fill: var(--mkt-orange); opacity: 0; }
.mm-moon-active .mm-glow { opacity: .28; filter: blur(6px); }
.mm-moon image, .mm-planet { mix-blend-mode: multiply; }
.mm-core { font-size: 30px; font-weight: 700; letter-spacing: -.02em; fill: var(--frame-ink); }
.mm-label { font-size: 17px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; fill: var(--frame-ink); }
@media (max-width: 900px) {
  .mm-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .mm-art { max-width: 100%; }
  .mm-label { display: none; }
  .mm-legend { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; margin-top: 1.5rem; padding-left: 1.25rem; font-size: .9375rem; color: var(--mkt-muted); list-style: decimal; padding-left: 1.75rem; }
  .mm-legend li { padding-left: .25rem; }
  .mm-legend-active { color: var(--frame-ink); font-weight: 600; }
}

.pb-grid { display: grid; grid-template-columns: minmax(17.5rem, 22rem) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.pb-sub { margin-top: 2rem; margin-bottom: .75rem; font-size: 1.25rem; line-height: 1.35; letter-spacing: -.02em; display: grid; grid-template-columns: .75rem 1fr; gap: .75rem; align-items: start; }
.pb-sub::before { content: ""; width: .75rem; height: .75rem; margin-top: .45rem; background: var(--frame-violet); }
.pb-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.pb-caps { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1rem; font-size: .9375rem; color: var(--mkt-muted); }
.pb-caps span { display: flex; gap: .75rem; align-items: center; justify-content: center; }
.pb-caps span::before { content: ""; width: .625rem; height: .625rem; background: var(--frame-violet); flex: none; }

@media (max-width: 900px) {
  .pb-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .pb-caps { grid-template-columns: 1fr; gap: .5rem; }
}

.dz-head { max-width: none; }
.dz-head .lead { margin-bottom: 1rem; }
.dz-head .lead + .lead { margin-top: 0; }
.dz-art { margin-top: 2.5rem; }
.dz-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.dz-caps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 1.5rem; border-top: 1px solid var(--frame-ink); border-bottom: 1px solid var(--frame-ink); font-size: 1rem; color: var(--mkt-muted); }
.dz-caps span { display: flex; flex-direction: column; gap: .25rem; align-items: center; text-align: center; padding: 1.25rem 1rem; }
.dz-caps span + span { border-left: 1px solid var(--frame-ink); }
.dz-caps strong::before { content: ""; display: inline-block; width: .625rem; height: .625rem; margin-right: .5rem; background: var(--frame-violet); vertical-align: .05em; }
.dz-caps strong { color: var(--frame-ink); font-weight: 600; font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; }
.dz-foot { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--mkt-line); text-align: center; font-size: 1rem; }
@media (max-width: 900px) { .dz-caps { grid-template-columns: 1fr; } .dz-caps span + span { border-left: 0; border-top: 1px solid var(--frame-ink); } }

.ms-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.ms-copy h2 { font-size: clamp(1.75rem, 2.6vw, 2.125rem); }
.ms-copy .lead { margin-bottom: 0; }
.ms-art img { display: block; width: 100%; height: auto; max-width: 40rem; margin-inline: auto; mix-blend-mode: multiply; }
.ms-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 3.5rem; padding: 0; list-style: none; position: relative; }
.ms-steps::before { content: ""; position: absolute; left: 1.25rem; right: 1.25rem; top: 1.25rem; height: 1px; background: var(--frame-ink); }
.ms-steps li { position: relative; padding-top: 3.5rem; }
.ms-num { position: absolute; top: 0; left: 0; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; background: var(--frame-violet); color: var(--frame-canvas); font-weight: 700; font-size: 1.125rem; }
.ms-steps h3 { font-size: 1.125rem; margin-bottom: .5rem; }
.ms-steps p { font-size: .9375rem; }
.ms-done { margin-top: 3rem; padding: 1.25rem 1.5rem; border: 1px solid var(--frame-ink); text-align: center; color: var(--frame-ink); }
@media (max-width: 900px) {
  .ms-top { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .ms-steps { grid-template-columns: 1fr; gap: 1.5rem; }
  .ms-steps::before { left: 1.25rem; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .ms-steps li { padding-top: 0; padding-left: 3.5rem; }
}

.zs-head { max-width: none; }
.zs-head .lead { margin-bottom: 0; }
.zs-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(17.5rem, 24rem); gap: 3.5rem; align-items: center; margin-top: 3rem; }
.zs-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.zs-rules { display: grid; gap: 1.5rem; padding: 0; list-style: none; }
.zs-rules li { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: start; }
.zs-num { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; background: var(--frame-violet); color: var(--frame-canvas); font-weight: 700; }
.zs-rules h3 { font-size: 1.125rem; margin-bottom: .5rem; }
.zs-rules p { font-size: .9375rem; }
.zs-band { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 3.5rem; border: 1px solid var(--frame-ink); }
.zs-cell { padding: 2rem; }
.zs-cell + .zs-cell { border-left: 1px solid var(--frame-ink); }
.zs-cell h3 { font-size: 1.375rem; margin-bottom: .75rem; }
.zs-cell .eyebrow { margin-bottom: .75rem; }
.zs-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: 1.5rem; padding: 0; list-style: none; position: relative; }
.zs-scale::before { content: ""; position: absolute; left: 0; right: 0; top: .75rem; height: 1px; background: var(--frame-ink); }
.zs-scale li { position: relative; padding-top: 2.25rem; font-size: .8125rem; color: var(--mkt-muted); }
.zs-scale li::before { content: ""; position: absolute; top: 0; left: 0; width: 1.5rem; height: 1.5rem; border: 1px solid var(--frame-ink); background: var(--frame-canvas); }
.zs-scale li.zs-scale-on { color: var(--frame-ink); font-weight: 600; }
.zs-scale li.zs-scale-on::before { background: var(--frame-violet); }
.zs-cell-community { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.zs-people img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
@media (max-width: 900px) {
  .zs-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .zs-band { grid-template-columns: minmax(0, 1fr); }
  .zs-cell + .zs-cell { border-left: 0; border-top: 1px solid var(--frame-ink); }
  .zs-cell-community { grid-template-columns: minmax(0, 1fr); }
  .zs-scale li { font-size: .75rem; }
}

.mkt-main :where(blockquote) { margin: 0; }
.dw-head { max-width: none; }
.dw-head .lead { margin-bottom: 0; }
.dw-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(14rem, 1fr); gap: 3rem; align-items: center; margin-top: 3rem; }
.dw-card { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--frame-ink); }
.dw-card > div { padding: 1.75rem 1.5rem; }
.dw-card > div + div { border-left: 1px solid var(--frame-ink); }
.dw-card > div::before { content: ""; display: block; width: .75rem; height: .75rem; margin-bottom: 1.25rem; background: var(--frame-violet); }
.dw-card h3 { font-size: 1.125rem; margin-bottom: .5rem; }
.dw-card p { font-size: .9375rem; }
.dw-tag { margin-top: .75rem; font-size: .875rem; }
.dw-art img { display: block; width: 100%; height: auto; max-width: 22rem; margin-inline: auto; mix-blend-mode: multiply; }
.dw-quotes { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 3rem; margin-top: 3.5rem; } /* WHY: 15.09.2026: komplet opinii z rejestru, rzedy po trzy, a ostatni niepelny rzad jest wysrodkowany, zeby nie zostawala sierota z pustka obok */
.dw-quotes blockquote { flex: 0 1 calc((100% - 6rem) / 3); display: flex; flex-direction: column; justify-content: space-between; padding-top: 1.5rem; border-top: 1px solid var(--frame-ink); } /* WHY: 15.09.2026: linia nad cytatem jest wspolnym gornym rytmem kart, tak jak w zatwierdzonym komponencie nxtlvl, nie losowym separatorem akapitu */
.dw-cite img { width: 2.75rem; height: 2.75rem; object-fit: cover; border: 1px solid var(--frame-ink); flex: none; }
.dw-quotes blockquote p { color: var(--frame-ink); font-size: 1.0625rem; line-height: 1.55; }
.dw-quotes .dw-cite { display: flex; align-items: center; justify-content: flex-start; gap: .875rem; font-style: normal; margin-top: 1.25rem; font-size: .9375rem; color: var(--mkt-muted); }
.dw-quotes strong { color: var(--frame-ink); font-weight: 600; }
/* WHY: 15.09.2026: karta opinii ma byc odporna na dlugie nazwiska i dlugie nazwy firm.
   Wiersz autora to portret i dwie linie: nazwisko nigdy sie nie lamie, nazwa firmy
   skraca sie wielokropkiem zamiast rozpychac karte. */
.dw-cite .dw-who { display: grid; min-width: 0; line-height: 1.3; }
.dw-cite .dw-who strong { white-space: nowrap; }
.dw-cite .dw-firm { margin-top: .375rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mkt-muted); }
.dw-cite .dw-firm a { color: inherit; }
@media (max-width: 900px) {
  .dw-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .dw-card { grid-template-columns: minmax(0, 1fr); }
  .dw-card > div + div { border-left: 0; border-top: 1px solid var(--frame-ink); }
  .dw-quotes { gap: 2rem; }
}

.dk-grid { display: grid; gap: 3.5rem; }
.dk-top { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 3.5rem; align-items: end; }
.dk-faq { max-width: 46rem; margin-inline: auto; }
.dk-left .lead { margin-bottom: 1.5rem; }
.dk-box { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--frame-ink); }
.dk-box > div { padding: 1.5rem; }
.dk-box > div + div { border-left: 1px solid var(--frame-ink); }
.dk-box h3 { font-size: 1.0625rem; margin-bottom: 1rem; }
.dk-box li { display: grid; grid-template-columns: 1.25rem 1fr; gap: .5rem; font-size: .9375rem; color: var(--mkt-muted); margin-bottom: .75rem; }
.dk-yes li::before { content: "✓"; color: var(--frame-violet); font-weight: 700; }
.dk-no li::before { content: ""; width: .875rem; height: 1px; margin-top: .7rem; background: var(--mkt-muted); }
.dk-art { margin: 0; padding-top: 3rem; }
.dk-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.dk-faq details { border-top: 1px solid var(--frame-ink); }
.dk-faq details:last-child { border-bottom: 1px solid var(--frame-ink); }
.dk-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; font-size: 1.125rem; font-weight: 600; letter-spacing: -.02em; cursor: pointer; list-style: none; }
.dk-faq summary::-webkit-details-marker { display: none; }
.dk-faq summary::after { content: "+"; color: var(--frame-violet); font-size: 1.5rem; font-weight: 400; flex: none; }
.dk-faq details[open] summary::after { content: "–"; }
.dk-faq details p { padding-bottom: 1.5rem; }
.of-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 4rem; align-items: start; }
.of-box { border: 1px solid var(--frame-ink); padding: 2rem; }
.of-box h2 { font-size: clamp(1.625rem, 2.6vw, 2.125rem); margin-bottom: 1rem; }
.of-price { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.of-price strong { font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 700; letter-spacing: -.03em; color: var(--frame-ink); line-height: 1; }
.of-price span { font-size: .9375rem; }
.of-list li { display: grid; grid-template-columns: .75rem 1fr; gap: .875rem; align-items: start; margin-bottom: .75rem; color: var(--frame-ink); }
.of-list li::before { content: ""; width: .75rem; height: .75rem; margin-top: .45rem; background: var(--frame-violet); }
.of-note { margin-top: 1.5rem; font-size: .9375rem; } /* WHY: rytm odstepow strony, 15.09.2026: przypis oferty oddziela odstep, nie linia */
.of-art { margin-top: 2rem; }
.of-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.of-form .lead { margin-bottom: 1.5rem; }
.of-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.of-form .form-group { margin-bottom: 1.25rem; }
.of-form .form-label { display: block; margin-bottom: .5rem; font-weight: 600; font-size: .9375rem; }
.of-form .optional { font-weight: 400; color: var(--mkt-muted); }
.of-form .form-input, .of-form .form-textarea { width: 100%; padding: .875rem 1rem; border: 1px solid var(--frame-ink); background: var(--mkt-paper, #fff); font: inherit; color: var(--frame-ink); }
.of-form .form-textarea { min-height: 6rem; resize: vertical; }
.of-form .form-input:focus, .of-form .form-textarea:focus { outline: 3px solid var(--frame-violet); outline-offset: 2px; }
.of-form .form-input.error, .of-form .form-textarea.error { border-color: #b3261e; }
.of-form .form-error { display: none; margin-top: .375rem; font-size: .875rem; color: #b3261e; }
.of-form .form-error.visible { display: block; }
.of-form .form-checkbox { display: flex; gap: .75rem; align-items: flex-start; font-size: .9375rem; color: var(--mkt-muted); }
.of-form .form-checkbox input { margin-top: .3rem; accent-color: var(--frame-violet); }
.of-form .btn2 { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .875rem 1.25rem; border: 1px solid var(--frame-ink); font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; }
.of-form .btn2-primary { background: var(--frame-violet); color: var(--frame-ink); }
.of-form .btn2:hover { background: var(--frame-ink); color: var(--frame-canvas); }
.of-submit { width: 100%; }
.of-form .form-submit-status { margin-top: 1rem; font-size: .9375rem; }
.of-form .form-submit-status.is-error { color: #b3261e; }
.of-foot { margin-top: 1rem; font-size: .9375rem; }
#apply-success { border: 1px solid var(--frame-ink); padding: 2rem; }
#apply-success h3 { font-size: 1.375rem; margin-bottom: .75rem; }
@media (max-width: 900px) {
  .dk-top, .of-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .dk-box { grid-template-columns: minmax(0, 1fr); }
  .dk-box > div + div { border-left: 0; border-top: 1px solid var(--frame-ink); }
}

.mkt-main h1 { font-size: clamp(2.375rem, 4.6vw, 3.625rem); line-height: 1.08; }
.hero2 { padding-block: 4.5rem 0; }
.hero2-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; padding-bottom: 3.5rem; }
.hero2-start { margin-block: 1.25rem 1.75rem; color: var(--frame-ink); }
.hero2-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.mkt-main .btn2 { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .875rem 1.25rem; border: 1px solid var(--frame-ink); text-decoration: none; font-size: .9375rem; font-weight: 600; line-height: 1.5; color: var(--frame-ink); }
.mkt-main .btn2-primary { background: var(--frame-violet); }
.mkt-main .btn2:hover { background: var(--frame-ink); color: var(--frame-canvas); }
.hero2-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.mkt-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--frame-ink); }
.mkt-facts > div { border-bottom: 0; padding: 1rem 1.25rem; }
.mkt-facts > div + div { border-left: 1px solid var(--frame-ink); }
.mkt-facts > div:nth-child(odd) { border-right: 0; }
@media (max-width: 900px) {
  .hero2 { padding-top: 3rem; }
  .hero2-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .mkt-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mkt-facts > div:nth-child(n+3) { border-top: 1px solid var(--frame-ink); }
  .mkt-facts > div:nth-child(3) { border-left: 0; }
}

.hq { max-width: 46rem; margin: 2.5rem auto 0; padding: 2rem 2.5rem; border: 1px solid var(--frame-ink); text-align: center; }
.hq p { font-size: 1.25rem; line-height: 1.5; color: var(--frame-ink); }
.hq p strong { color: var(--frame-ink); background: color-mix(in oklch, var(--frame-violet) 22%, transparent); padding: 0 .15em; }
.hq .dw-cite { display: flex; align-items: center; justify-content: center; gap: .875rem; margin-top: 1.25rem; font-style: normal; font-size: .9375rem; color: var(--mkt-muted); }
.hq .dw-cite a { color: var(--frame-ink); }
.term-wrap { margin-top: 3rem; }
.term-lead { text-align: center; margin-bottom: 1rem; }
.chat { max-width: 52rem; margin-inline: auto; padding: 1.5rem 1.75rem; border: 1px solid var(--frame-ink); background: #fff; color: var(--frame-ink); text-align: left; }
.chat p { margin: 0; }
.chat-user { display: flex; align-items: center; gap: .75rem; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .9375rem; }
.chat-user span { font-family: inherit; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; padding: .15rem .5rem; border: 1px solid var(--frame-ink); }
.chat-meta { margin-top: 1rem; font-size: .875rem; color: var(--mkt-muted); }
.chat-meta::after { content: " \203A"; }
.chat-text { margin-top: .75rem; font-size: 1rem; line-height: 1.55; }
.chat-block { margin: 1.25rem 0 0; padding: 1.25rem 1.5rem; border: 1px solid var(--mkt-line); background: var(--frame-canvas); white-space: pre-wrap; overflow-wrap: anywhere; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .875rem; line-height: 1.65; color: var(--frame-ink); }
.chat-block + .chat-text { margin-top: 1rem; }
@media (max-width: 900px) { .chat { padding: 1.25rem; } .chat-block { font-size: .8125rem; padding: 1rem; } }
.t-cmd { color: var(--frame-canvas); }
.t-out { color: color-mix(in oklch, var(--frame-canvas) 65%, transparent); }
.t-ok { color: var(--frame-canvas); font-weight: 700; }
.inline-cta { color: var(--frame-ink); font-weight: 600; text-underline-offset: .25em; }
.sec-cta { margin-top: 2rem; text-align: center; }
.mkt-page .sec-cta { margin-top: 3.5rem; } /* WHY: 15.09.2026: blok domykajacy sekcje miesiaca, jedno zdanie nad przyciskiem w pelnym rozmiarze, bez linii nad blokiem */
.mkt-page .sec-cta-line { margin-bottom: 1.25rem; color: var(--frame-ink); font-weight: 600; }
.of-was { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; font-size: .9375rem; margin-bottom: .5rem; }
.of-was s { color: var(--frame-ink); font-weight: 600; }
.of-sum { margin: -.5rem 0 1.25rem; color: var(--frame-ink); font-weight: 500; }
.of-list li em { font-style: normal; color: var(--mkt-muted); }
.of-cta { display: flex; width: 100%; margin-top: 1.5rem; }
.of-guard { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--frame-ink); border-top: 0; }
.of-guard > div { padding: 1.5rem 2rem; }
.of-guard > div + div { border-left: 1px solid var(--frame-ink); }
.of-guard h3 { font-size: 1.125rem; margin-bottom: .5rem; }
.of-guard p { font-size: .9375rem; }
.mt-grid { display: grid; grid-template-columns: minmax(14rem, 22rem) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.mt-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; mix-blend-mode: multiply; }
.mt-facts { display: grid; gap: .75rem; }
.mt-facts li { display: grid; grid-template-columns: .75rem 1fr; gap: .875rem; align-items: start; color: var(--frame-ink); }
.mt-facts li::before { content: ""; width: .75rem; height: .75rem; margin-top: .45rem; background: var(--frame-violet); }
/* szerokosc karty wynika z flex-basis powyzej; na telefonie karty ida jedna pod druga */ /* WHY: 15.09.2026: ta reguła stała po media query jednej kolumny i nadpisywała ją, przez co na telefonie sześć kart opinii wychodziło poza ekran */
@media (max-width: 900px) {
  .dw-quotes { gap: 2rem; }
  .dw-quotes blockquote { flex: 0 1 100%; }
  .of-guard { grid-template-columns: minmax(0, 1fr); }
  .of-guard > div + div { border-left: 0; border-top: 1px solid var(--frame-ink); }
  .mt-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .mt-photo img { max-width: 16rem; }
}

.tr-head { text-align: center; }
.tr-head h2 { margin-bottom: 1.25rem; }
.tr-toggle { display: inline-flex; border: 1px solid var(--frame-ink); }
.tr-opt { padding: .5rem 1.25rem; border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--frame-ink); cursor: pointer; }
.tr-opt + .tr-opt { border-left: 1px solid var(--frame-ink); }
.tr-opt.is-on { background: var(--frame-violet); }
.tr-opt:focus-visible { outline: 3px solid var(--frame-ink); outline-offset: 2px; }
.tr-grid { display: grid; grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr); gap: 2rem; align-items: start; margin-top: 3rem; }
.tr-fig { text-align: center; }
.tr-img { display: block; width: 100%; max-width: 22rem; height: auto; margin-inline: auto; mix-blend-mode: multiply; }
.tr-label { display: inline-block; margin-top: 1rem; padding: .25rem .75rem; border: 1px solid var(--frame-ink); font-size: .8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.tr-fig h3 { margin-top: 1rem; font-size: 1.375rem; }
.tr-fig p { max-width: 26rem; margin: .75rem auto 0; }
.tr-arrow { align-self: center; height: 1px; background: var(--frame-ink); position: relative; margin-top: 12rem; }
.tr-arrow::after { content: ""; position: absolute; right: -1px; top: -5px; width: 10px; height: 10px; border-top: 1px solid var(--frame-ink); border-right: 1px solid var(--frame-ink); transform: rotate(45deg); }
@media (max-width: 900px) {
  .tr-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .tr-arrow { display: none; }
}

.lv-head { text-align: center; }
.lv-head .lead { margin-bottom: 1.25rem; }
.lv-wrap { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; gap: 1.5rem; align-items: center; max-width: 52rem; margin: 3rem auto 0; }
.lv-nav { width: 3rem; height: 3rem; border: 1px solid var(--frame-ink); background: transparent; font: inherit; font-size: 1.5rem; line-height: 1; color: var(--frame-ink); cursor: pointer; }
.lv-nav:hover { background: var(--frame-ink); color: var(--frame-canvas); }
.lv-nav:focus-visible { outline: 3px solid var(--frame-violet); outline-offset: 2px; }
.lv-stage { max-width: 40rem; margin-inline: auto; text-align: center; }
.lv-img { display: block; width: 100%; max-width: 20rem; height: auto; margin-inline: auto; mix-blend-mode: multiply; }
.lv-meta { margin-top: 1.25rem; font-size: .9375rem; }
.lv-slide h3 { font-size: 1.75rem; margin-top: .5rem; }
.lv-desc { margin-top: .75rem; }
.lv-sub { margin-top: 1.25rem; font-size: .875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--frame-ink); }
.lv-pts { display: grid; gap: .5rem; justify-items: center; margin-top: .5rem; }
.lv-pts li { display: grid; grid-template-columns: .75rem 1fr; gap: .75rem; align-items: start; text-align: left; color: var(--frame-ink); }
.lv-pts li::before { content: ""; width: .75rem; height: .75rem; margin-top: .45rem; background: var(--frame-violet); }
.lv-dots { display: flex; justify-content: center; gap: .75rem; margin-top: 2rem; padding: 0; list-style: none; }
.lv-dot { width: 3rem; height: 2.5rem; border: 1px solid var(--frame-ink); background: transparent; font: inherit; font-weight: 600; color: var(--frame-ink); cursor: pointer; }
.lv-dot.is-on { background: var(--frame-violet); }
.lv-bar { height: 3px; max-width: 32rem; margin: 1rem auto 0; background: var(--mkt-line); }
.lv-bar-fill { display: block; width: 20%; height: 100%; background: var(--frame-violet); transition: width .3s ease; }
@media (max-width: 900px) {
  .lv-wrap { grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; gap: .75rem; }
  .lv-nav { width: 2.5rem; height: 2.5rem; }
  .lv-dot { width: 2.5rem; }
}

.cm-head { max-width: none; }
.cm-head .lead { margin-bottom: 0; }
.cm-building { margin-top: 3rem; border: 1px solid var(--frame-ink); }
.cm-floor { display: grid; grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr); }
.cm-floor + .cm-floor { border-top: 1px solid var(--frame-ink); }
.cm-rail { padding: 1.5rem; border-right: 1px solid var(--frame-ink); }
.cm-lvl { display: flex; align-items: center; gap: .5rem; font-size: .8125rem; color: var(--mkt-muted); }
.cm-lvl::before { content: ""; width: .625rem; height: .625rem; background: var(--frame-violet); }
.cm-rail h3 { margin-top: .5rem; font-size: 1.25rem; }
.cm-desc { margin-top: .5rem; font-size: .875rem; }
.cm-count { margin-top: .75rem; font-size: .875rem; color: var(--frame-ink); font-weight: 600; }
.cm-room { display: flex; flex-wrap: wrap; align-items: flex-end; align-content: center; gap: .75rem 1rem; padding: 1.5rem; min-height: 9rem; }
.mlx-lab-person { display: flex; flex-direction: column; align-items: center; gap: .25rem; margin: 0; width: 3.5rem; }
.mlx-lab-person img { display: block; width: 3.5rem; height: auto; aspect-ratio: 2 / 3; object-fit: contain; mix-blend-mode: multiply; }
.mlx-lab-person-name { max-width: 5rem; padding: .1rem .4rem; border: 1px solid var(--frame-ink); font-size: .625rem; line-height: 1.3; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mlx-lab-person.is-anon img { opacity: .55; }
.mlx-lab-more { align-self: center; font-size: .8125rem; color: var(--mkt-muted); }
.mlx-lab-empty { font-size: .875rem; color: var(--mkt-muted); }
.cm-foot { margin-top: 1.25rem; text-align: center; font-size: .9375rem; }
@media (max-width: 900px) {
  .cm-floor { grid-template-columns: minmax(0, 1fr); }
  .cm-rail { border-right: 0; border-bottom: 1px solid var(--mkt-line); }
  .mlx-lab-person { width: 2.75rem; }
  .mlx-lab-person img { width: 2.75rem; }
}

/* WERSJA TRZECIA STRONY MARKETING, 15.09.2026: sekcja rezultatu, kolumna tekstu obok duzej ryciny. */
.sv-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 3.5rem; align-items: center; } /* WHY: zaakceptowany projekt ma kolumne tekstu okolo 45 procent szerokosci, .pb-grid daje 28 procent i tekst lamalby sie co trzy wyrazy */
.sv-art { margin: 0; }
.sv-art img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.sv-list { display: grid; gap: .5rem; } /* WHY: rytm odstepow strony, 15.09.2026: lista jest zwartym blokiem pod leadem, pozycje dzieli maly staly odstep, nigdy linia ani pusty wiersz */
.sv-list li { color: var(--frame-ink); line-height: 1.6; }
.sv-list strong { font-weight: 600; }
.sv-done { max-width: 52rem; margin: 3rem auto 0; text-align: center; font-size: 1.125rem; font-weight: 600; color: var(--frame-ink); } /* WHY: rytm odstepow strony, 15.09.2026: wyroznione jedno zdanie sekcji zawsze stoi wysrodkowane w tej samej szerokosci i z tym samym marginesem, bez linii rozdzielajacej */
.mkt-page .dk-faq details + details { margin-top: .625rem; } /* WHY: audyt wizualny zglaszal zerowy odstep miedzy pytaniami; zakres tylko strony marketing, bo ten arkusz importuja tez nxtlvl i labclub */
@media (max-width: 900px) {
  .sv-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}
.mkt-page .hero2 h1 { font-size: clamp(2rem, 4.6vw, 3.625rem); } /* WHY: na komputerze wielkosc pisma naglowka jest dokladnie taka jak w standardzie strony; zmieniona jest wylacznie dolna granica dla telefonu, bo przy 2.375rem zdanie przyprowadza klientow wychodzilo poza kolumne o 42 piksele. Zakres tylko strony marketing */

.sv-note { max-width: 52rem; margin: 0 auto; text-align: center; } /* WHY: rytm odstepow strony, 15.09.2026: zdania domykajace sekcje stoja jednym zwartym blokiem w tej samej szerokosci co inne wyroznione zdania */
.et-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 2.5rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--mkt-line); } /* WHY: 15.09.2026: skill, grupa i wymagania to jeden zaprojektowany rzad na tej samej lewej krawedzi co kolumny dnia, nie piec luznych wysrodkowanych linii */
.et-cell { color: var(--frame-ink); line-height: 1.6; }
.pb-then { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin: 2rem 0 2.5rem; }
.pb-then div, .zs-rules div { color: var(--frame-ink); line-height: 1.6; }
.zs-rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--mkt-line); } /* WHY: kontrakt sciezek przychodu wymaga dwoch kotwic do formularza; drugie wejscie stoi po sekcji miesiaca */ /* WHY: dwa zdania to jeden blok, nie dwa akapity rozdzielone pustym wierszem */
/* WERSJA TRZECIA, 15.09.2026: trzy etapy dnia jako trzy rowne bloki z rycinami. */
.et-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin-top: 3rem; }
.et-item { margin: 0; }
.et-item img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.et-item figcaption strong { display: block; margin-bottom: .5rem; font-size: 1.125rem; color: var(--frame-ink); } /* WHY: 15.09.2026: podpis ryciny ma tytul czesci nad zdaniem, zgodnie z zatwierdzonym projektem sekcji warsztatu */
.et-item figcaption { margin-top: 1.25rem; color: var(--frame-ink); line-height: 1.6; } /* WHY: rytm odstepow strony, 15.09.2026: podpis ryciny trzyma sie jej odstepem, linia ramy zostaje wylacznie granica sekcji i paskiem faktow */
.et-label { display: block; margin-bottom: .5rem; font-size: .8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.et-label::before { content: ""; display: inline-block; width: .625rem; height: .625rem; margin-right: .5rem; background: var(--frame-violet); vertical-align: .05em; }
/* WHY: osiem pozostalych opinii stoi w zwartej siatce tego samego komponentu, pod trzema wyrozniny cytatami */
.dw-more { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 2rem; margin-top: 3rem; } /* WHY: 15.09.2026: rowne wysokosci kart w rzedzie, wiersz autora stoi na tej samej linii bazowej */ /* WHY: rytm odstepow strony, 15.09.2026: pozostale opinie oddziela odstep, nie linia */
.dw-more blockquote { display: flex; flex-direction: column; justify-content: space-between; border-top: 0; padding-top: 0; }
.dw-more blockquote p { font-size: .9375rem; line-height: 1.55; }
.dw-more .dw-cite { display: flex; align-items: center; gap: .75rem; margin-top: 1.25rem; font-style: normal; font-size: .875rem; color: var(--mkt-muted); } /* WHY: 15.09.2026: zdjecie nigdy nie stoi w srodku akapitu, wiersz autora jest osobnym pasem pod cytatem */
.dw-more .dw-cite img { width: 2.25rem; height: 2.25rem; }
.dw-more .dw-cite span { min-width: 0; line-height: 1.4; }
.dw-more strong { color: var(--frame-ink); font-weight: 600; }
@media (max-width: 900px) {
  .et-grid, .zs-rules, .pb-then { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .et-row { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .dw-more { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
}

/* WHY: 15.09.2026: sekcja skilla wraca na strone. Okno asystenta jest zywym tekstem,
   nie obrazkiem, zeby menu zgadzalo sie z kanonem produktu i bylo czytelne na telefonie. */
.sk-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 3.5rem; align-items: center; }
.sk-list { display: grid; gap: .5rem; margin-top: 1.5rem; }
.sk-list li { display: grid; grid-template-columns: .75rem 1fr; gap: .875rem; align-items: start; color: var(--frame-ink); line-height: 1.6; }
.sk-list li::before { content: ""; width: .75rem; height: .75rem; margin-top: .45rem; background: var(--frame-violet); }
.sk-term { padding: 2rem 2.25rem; border: 1px solid var(--frame-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9375rem; line-height: 1.7; color: var(--frame-ink); }
.sk-term p { margin: 0; }
.sk-cmd span { color: var(--frame-violet); font-weight: 700; }
.sk-head { margin-top: 1.25rem !important; }
.sk-head br + * { font-weight: 400; }
.sk-next { margin-top: 1.25rem !important; }
.sk-menu { margin-top: 1.25rem !important; } /* WHY: menu jest jednym blokiem tekstu terminala, nie lista blokow, zeby audyt odstepow nie czytal wierszy jako sklejonych akapitow */
@media (max-width: 900px) {
  .sk-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .sk-term { padding: 1.5rem 1.25rem; font-size: .8125rem; }
}

.lv-skool { margin-top: 3rem; } /* WHY: jedno zdanie o Skool domyka sekcje poziomow zamiast czterech kafelkow */
