/* =====================================================================
   Leadmat — arkusz globalny motywu
   Kolory, fonty i rozmiary pochodzą z theme.json (zmienne --wp--preset--*).
   Animacje: wyłącznie transform i opacity; prefers-reduced-motion je wyłącza.
   ===================================================================== */

:root {
	--lm-ink: var(--wp--preset--color--ink);
	--lm-paper: var(--wp--preset--color--paper);
	--lm-magenta: var(--wp--preset--color--magenta);
	--lm-muted: var(--wp--preset--color--muted);
	--lm-soft: var(--wp--preset--color--soft);
	--lm-graphite: var(--wp--preset--color--graphite);
	--lm-line: var(--wp--custom--color--line);
	--lm-line-strong: var(--wp--custom--color--line-strong);
	--lm-line-ink: rgba(10, 10, 15, .2);
	--lm-ease: var(--wp--custom--ease);
	--lm-gutter: var(--wp--custom--gutter);
}

/* ---------- 1. Baza ---------- */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--lm-magenta); color: var(--lm-ink); }
:focus-visible { outline: 2px solid var(--lm-magenta); outline-offset: 3px; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
input::placeholder, textarea::placeholder { color: var(--wp--custom--color--dim); }
img { max-width: 100%; height: auto; }
mark.has-inline-color { background: transparent; }
mark.lm-todo { background: transparent; color: var(--lm-magenta); }
a { text-underline-offset: 4px; }

/*
 * Odstępy definiujemy jawnie w komponentach.
 * 1) Zerujemy odstęp układu WordPressa (blockGap) w naszych kontenerach — ta reguła musi
 *    wygrać ze stylami globalnymi, więc ma specyficzność jednej klasy.
 * 2) Domyślne marginesy przeglądarki w elementach komponentów zerujemy bez specyficzności
 *    (:where), żeby każda reguła komponentu (motywu albo bloku z wtyczki) miała pierwszeństwo.
 */
.wp-site-blocks > *,
:where(main, .lm-page-sections, [class*="lm-"]):is(.is-layout-flow, .is-layout-constrained) > *,
.lm-page-sections > * { margin-block: 0; }
:where([class*="lm-"]) > *,
:where(p) { margin-block: 0; }

.screen-reader-text:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- 2. Sekcje ---------- */

.lm-pad-lg { padding-block: clamp(80px, 10vw, 152px); }
.lm-pad-md { padding-block: clamp(72px, 9vw, 136px); }
.lm-pad-sm { padding-block: clamp(64px, 8vw, 120px); }
.lm-pad-calc { padding-block: clamp(80px, 10vw, 140px); }
.lm-pad-cta { padding-block: clamp(72px, 9vw, 128px); }
.lm-pad-band { padding-block: clamp(40px, 5vw, 64px); }
.lm-pad-services { padding-block: clamp(64px, 8vw, 112px) clamp(80px, 10vw, 140px); }
.lm-pad-top-0 { padding-top: 0 !important; }
.lm-rule-top { border-top: 1px solid var(--lm-line); }

.is-style-lm-paper { background: var(--lm-paper); color: var(--lm-ink); --lm-line-strong: var(--lm-line-ink); --lm-line: rgba(10, 10, 15, .14); }
.is-style-lm-magenta { background: var(--lm-magenta); color: var(--lm-ink); --lm-line-strong: rgba(10, 10, 15, .3); --lm-line: rgba(10, 10, 15, .2); }
.is-style-lm-paper a,
.is-style-lm-magenta a { color: var(--lm-ink); }
.is-style-lm-paper a:hover { color: var(--lm-magenta); }
.is-style-lm-magenta a:hover { color: var(--lm-ink); }
.is-style-lm-paper .is-style-lm-lead { color: #3A3941; }
.is-style-lm-magenta .is-style-lm-lead { color: var(--lm-ink); }

/* Etykieta + treść (1:3), jak w designie. */
.lm-split { display: flex; flex-wrap: wrap; gap: 20px clamp(32px, 5vw, 96px); }
.lm-split__label { flex: 1 1 220px; font-size: 16px; font-weight: 500; line-height: normal; padding-top: 12px; }
.lm-split__body { flex: 3 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.lm-split--head { margin-bottom: clamp(48px, 6vw, 88px); }
.lm-split--head.lm-split--head-80 { margin-bottom: clamp(48px, 6vw, 80px); }
.lm-split--head-sm { margin-bottom: clamp(40px, 5vw, 72px); }
.lm-split--row { align-items: flex-end; margin-bottom: clamp(40px, 5vw, 64px); }
.lm-split--row > .lm-split__label { padding-top: 0; }
.lm-split--row > .lm-split__body { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }
.lm-split--hero { gap: 24px clamp(32px, 5vw, 96px); padding: clamp(48px, 7vw, 104px) 0 clamp(56px, 7vw, 96px); }
.lm-split--hero > .lm-split__label { padding-top: 14px; }
.lm-split--hero > .lm-split__body { gap: 28px; }
.lm-split--hero-lg { padding-bottom: clamp(64px, 8vw, 112px); }
.lm-split--hero-lg > .lm-split__body,
.lm-split--hero-sm > .lm-split__body,
.lm-split--hero-blog > .lm-split__body { gap: 24px; }
.lm-split--hero-sm { padding-bottom: clamp(48px, 6vw, 80px); }
.lm-split--hero-blog { padding-bottom: clamp(40px, 5vw, 64px); }
.lm-split--def { gap: 24px clamp(32px, 5vw, 96px); }
.lm-split--def > .lm-split__label,
.lm-split--def > .wp-block-heading { flex: 1 1 220px; padding-top: 6px; }
.lm-split--def-gap > .lm-split__body { gap: clamp(32px, 4vw, 48px); }
.lm-split > .wp-block-heading.is-style-lm-label { flex: 1 1 220px; }

/* Układ: nagłówek z boku, treść obok (FAQ, zasady, opinie). */
.lm-aside-layout { display: flex; flex-wrap: wrap; gap: 48px clamp(32px, 5vw, 96px); }
.lm-aside-layout__head { flex: 1 1 300px; display: flex; flex-direction: column; gap: 24px; }
.lm-aside-layout__body,
.lm-aside-layout > .lm-principles { flex: 2 1 560px; min-width: 0; }
.is-style-lm-muted.lm-faq-intro { font-size: 17px; }

/* ---------- 3. Typografia (style bloków) ---------- */

.is-style-lm-hero { max-width: 1240px; font-size: clamp(52px, 8.6vw, 140px); font-weight: 200; line-height: .92; letter-spacing: -0.05em; text-wrap: balance; }
.is-style-lm-display { font-size: clamp(48px, 7.4vw, 120px); font-weight: 200; line-height: .92; letter-spacing: -0.05em; text-wrap: balance; }
.is-style-lm-h2 { font-size: clamp(40px, 5.4vw, 84px); font-weight: 200; line-height: .98; letter-spacing: -0.045em; text-wrap: balance; }
.lm-h2--faq { font-size: clamp(40px, 4.6vw, 72px); }
.is-style-lm-h2-m { font-size: clamp(36px, 4.4vw, 64px); font-weight: 200; line-height: 1; letter-spacing: -0.045em; }
.is-style-lm-h3-lg { font-size: clamp(26px, 2.4vw, 36px); font-weight: 300; line-height: 1.1; letter-spacing: -0.03em; }
.is-style-lm-step { font-size: 24px; font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; }
.is-style-lm-card-title { font-size: 24px; font-weight: 300; line-height: 1.15; letter-spacing: -0.02em; }
.is-style-lm-label { font-size: 16px; font-weight: 500; line-height: normal; letter-spacing: 0; }
.is-style-lm-lead { max-width: 640px; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; color: var(--lm-soft); text-wrap: pretty; }
.lm-measure-wide { max-width: 680px; }
.is-style-lm-lead.lm-lead-600 { max-width: 600px; }
.lm-split--hero-lg .is-style-lm-lead { max-width: 620px; }
.is-style-lm-muted { font-size: 16px; line-height: 1.55; color: var(--lm-muted); }
.is-style-lm-definition { font-size: clamp(20px, 1.9vw, 27px); font-weight: 300; line-height: 1.45; letter-spacing: -0.01em; text-wrap: pretty; }
.is-style-lm-definition strong,
.is-style-lm-definitions strong { font-weight: 500; }
.lm-eyebrow { font-size: 16px; font-weight: 500; }
.lm-eyebrow--dot { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.lm-eyebrow--dot::before { content: ""; width: 8px; height: 8px; background: var(--lm-magenta); animation: lmBlink 1.4s steps(2) infinite; }
.lm-hint { font-size: 15px; font-weight: 400; color: var(--lm-muted); }
.is-style-lm-paper .lm-hint { font-size: 14px; color: var(--lm-graphite); }
.lm-more-link { margin-top: 28px !important; }
.lm-more-link a { font-size: 17px; font-weight: 400; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.lm-actions { display: flex; flex-wrap: wrap; gap: 20px 28px; align-items: center; }

@keyframes lmBlink { 0%, 100% { opacity: 1; } 50% { opacity: .2; } }
@keyframes lmDot { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }

/* ---------- 4. Przyciski ---------- */

.wp-block-buttons { gap: 16px 28px; align-items: center; }
.wp-block-button__link { display: inline-flex; align-items: center; gap: 16px; min-height: 60px; text-decoration: none; transition: background-color .2s, color .2s; }
.wp-block-button__link em { font-style: normal; font-weight: 300; }
.lm-btn-sm .wp-block-button__link { min-height: 44px; padding: 0 20px; font-size: 15px; }
.lm-btn-lg .wp-block-button__link { min-height: 64px; padding: 0 34px; font-size: 18px; }
.lm-btn-xl { width: 100%; }
.lm-btn-xl .wp-block-button__link { width: 100%; justify-content: space-between; min-height: 72px; padding: 0 32px; font-size: 19px; box-sizing: border-box; }
.is-style-lm-dark .wp-block-button__link { background: var(--lm-ink); color: var(--lm-paper); }
.is-style-lm-dark .wp-block-button__link:hover { background: var(--lm-paper); color: var(--lm-ink); }
.is-style-lm-paper .is-style-lm-dark .wp-block-button__link:hover { background: var(--lm-magenta); color: var(--lm-ink); }
.is-style-lm-outline .wp-block-button__link { background: transparent; color: currentColor; border: 1px solid rgba(242, 240, 243, .35); font-weight: 400; }
.is-style-lm-outline .wp-block-button__link:hover { background: transparent; color: currentColor; border-color: currentColor; }
.is-style-lm-link .wp-block-button__link { min-height: 0; padding: 0; background: none; color: currentColor; font-size: 17px; font-weight: 400; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.is-style-lm-link .wp-block-button__link:hover { background: none; color: var(--lm-magenta); }
.is-style-lm-magenta .is-style-lm-link .wp-block-button__link:hover { color: var(--lm-ink); }
.lm-btn-lg.is-style-lm-link .wp-block-button__link { font-size: 18px; }

/* ---------- 5. Nagłówek ---------- */

.lm-site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0); z-index: 50; }
.lm-header { background: var(--lm-ink); border-bottom: 1px solid var(--lm-line); }
.lm-header__bar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 76px; }
.lm-header__bar > .wp-block-navigation { margin-left: auto; }
.lm-header__cta { flex: none; gap: 8px; }

.is-style-lm-logo a,
.is-style-lm-logo-lg { display: inline-flex; align-items: center; gap: 12px; color: var(--lm-paper); text-decoration: none; font-weight: 500; font-size: 22px; letter-spacing: -0.02em; text-transform: lowercase; }
.is-style-lm-logo a:hover { color: var(--lm-paper); }
.is-style-lm-logo a::before,
.is-style-lm-logo-lg::before { content: ""; display: block; width: 36px; height: 32px; background: url(../images/leadmat-logo.webp) center / contain no-repeat; }
.is-style-lm-logo-lg { font-size: 24px; }
.is-style-lm-logo-lg::before { width: 45px; height: 40px; }
.is-style-lm-logo,
.is-style-lm-logo-lg { margin: 0; }

.lm-nav { font-size: 15px; font-weight: 400; }
.lm-nav .wp-block-navigation__container { gap: 36px; }
.lm-nav .wp-block-navigation-item__content { text-decoration: none; text-underline-offset: 6px; }
.lm-nav .wp-block-navigation-item__content:hover { color: var(--lm-paper); text-decoration: underline; text-decoration-color: var(--lm-magenta); }
.lm-nav .current-menu-item > .wp-block-navigation-item__content,
.lm-nav [aria-current="page"] { text-decoration: underline; text-decoration-color: var(--lm-magenta); }
.lm-nav .wp-block-navigation__responsive-container-open,
.lm-nav .wp-block-navigation__responsive-container-close { min-width: 6em; justify-content: center; height: 44px; padding: 0 14px; border: 1px solid var(--lm-line-strong); background: transparent; color: var(--lm-paper); font: 400 14px var(--wp--preset--font-family--archivo); cursor: pointer; }

/* Podwójna klasa: musi wygrać z .wp-block-buttons > .wp-block-button { display: inline-block }. */
.lm-only-narrow.lm-only-narrow { display: none; }

/* Menu mobilne: rozwijane pod nagłówkiem zamiast pełnoekranowej nakładki; próg 960 px. */
@media (max-width: 959.98px) {
	.lm-only-wide.lm-only-wide { display: none; }
	.lm-only-narrow.lm-only-narrow { display: inline-block; }
	.lm-header__bar > .wp-block-navigation { order: 3; margin-left: 0; }
	/* Rozwinięte menu pozycjonujemy względem całego nagłówka (pełna szerokość), nie przycisku. */
	.lm-header__bar,
	.lm-header__bar > .wp-block-navigation { position: static; }
	.lm-header__bar { gap: 8px; }
	.lm-header__cta { order: 2; margin-left: auto; }
	.lm-header__cta .lm-only-narrow .wp-block-button__link { padding: 0 14px; font-size: 14px; }
	.lm-site-header .lm-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; align-items: center; }
	.lm-site-header .lm-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Dodatkowa klasa .wp-block-navigation: wygrywa z domyślnym białym tłem menu z rdzenia. */
.lm-site-header .lm-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	position: absolute; inset: 77px 0 auto 0; height: auto; overflow: visible;
	padding: 0 var(--lm-gutter) 20px; background: var(--lm-ink); color: var(--lm-paper); animation: none;
}
/* Przycisk „Zamknij” dokładnie w miejscu „Menu” (okno dialogowe jest już wcięte o margines). */
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; top: -60px; right: 0; background: var(--lm-ink); }
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation__responsive-close,
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation__responsive-dialog { max-width: none; margin: 0; }
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; align-items: stretch; max-height: calc(100vh - 97px); overflow-y: auto; }
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.lm-site-header .lm-nav .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 16px 0; border-top: 1px solid var(--lm-line); font-size: 22px; font-weight: 300; }
html.has-modal-open .lm-site-header ~ * { pointer-events: none; }

/* ---------- 6. Stopka ---------- */

.lm-footer { border-top: 1px solid var(--lm-line); background: var(--lm-ink); color: var(--lm-paper); }
.lm-footer__top { display: flex; flex-wrap: wrap; gap: 40px clamp(32px, 5vw, 96px); padding: clamp(48px, 6vw, 80px) 0 32px; }
.lm-footer__brand { flex: 1 1 220px; display: flex; flex-direction: column; gap: 14px; }
.lm-footer__tagline { max-width: 280px; font-size: 15px; line-height: 1.55; color: var(--lm-muted); }
.lm-footer__cols { flex: 3 1 560px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 40px 32px; }
.lm-footer__col { display: flex; flex-direction: column; gap: 12px; }
.lm-footer__label { margin-bottom: 6px !important; font-size: 14px; color: var(--lm-muted); }
.lm-footer-nav { font-size: 15px; font-weight: 400; }
.lm-footer-nav .wp-block-navigation__container { gap: 12px; }
.lm-footer-nav a { text-decoration: none; }
.lm-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 20px 0 32px; font-size: 13px; color: var(--lm-muted); }
.lm-footer__legal { display: flex; flex-wrap: wrap; gap: 24px; }
.lm-footer__legal a { color: var(--lm-muted); text-decoration: none; }
.lm-footer__legal a:hover { color: var(--lm-paper); }
.lm-footer__legal a[href="#ustawienia-cookies"] { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 7. Strona główna ---------- */

.lm-hero__meta { display: flex; flex-wrap: wrap; gap: 0 32px; padding: 18px 0; border-bottom: 1px solid var(--lm-line); font-size: 14px; font-weight: 400; color: var(--lm-muted); }
.lm-hero__meta > :nth-child(1) { flex: 1 1 180px; }
.lm-hero__meta > :nth-child(2) { flex: 2 1 280px; }
.lm-hero__meta > :nth-child(3) { flex: 1 1 220px; }
.lm-hero .is-style-lm-hero { margin-top: clamp(48px, 7vw, 104px); }
.lm-hero__row { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-end; justify-content: space-between; margin-top: clamp(40px, 5vw, 64px) !important; }
.lm-hero__lead { flex: 0 1 560px; max-width: none; }

.lm-def__label { margin-bottom: clamp(24px, 3vw, 40px) !important; }
.lm-def { display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 96px); align-items: flex-start; }
.lm-def__term { flex: 1 1 360px; min-width: 0; }
.lm-def__word { font-weight: 100; font-size: clamp(72px, 11vw, 184px); line-height: .85; letter-spacing: -0.06em; }
.lm-def__grammar { margin-top: 20px !important; font-size: 16px; font-weight: 400; color: var(--lm-graphite); }
.lm-def__body { flex: 1.4 1 480px; min-width: 0; display: flex; flex-direction: column; gap: clamp(36px, 4vw, 56px); }

.lm-problem__row { display: flex; flex-wrap: wrap; gap: 16px clamp(32px, 5vw, 96px); padding: 36px 0; border-top: 1px solid var(--lm-line); }
.lm-problem__row:last-child { border-bottom: 1px solid var(--lm-line); }
.lm-problem__num { flex: 1 1 220px; font-weight: 100; font-size: clamp(48px, 5vw, 72px); line-height: .9; letter-spacing: -0.04em; color: var(--lm-muted); }
.lm-problem__content { flex: 3 1 560px; display: flex; flex-wrap: wrap; gap: 16px 48px; }
.lm-problem__text { flex: 1.3 1 300px; display: flex; flex-direction: column; gap: 12px; }
.lm-problem__ai { flex: 1 1 240px; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.55; }
.lm-problem__ai strong { font-weight: 500; }

.lm-line::before { content: ""; display: block; height: 2px; background: var(--lm-magenta); transform-origin: left; }

.lm-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 40px 32px; }
.lm-step { display: flex; flex-direction: column; gap: 18px; }
.lm-step__num { font-weight: 100; font-size: 96px; line-height: .85; letter-spacing: -0.05em; }
.lm-steps--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); margin-bottom: clamp(72px, 9vw, 128px) !important; }
.lm-steps--3 .lm-step { gap: 16px; }
.lm-steps--bordered .lm-step { gap: 16px; padding-top: 18px; border-top: 2px solid var(--lm-line-strong); }
.lm-steps--bordered .lm-step:first-child { border-top-color: var(--lm-magenta); }
.lm-steps--bordered .lm-step::before { display: none; }
.lm-steps--bordered .lm-step__num { font-size: 88px; }

.lm-principles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 48px; }
.lm-principle { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--lm-line-strong); }
.lm-principles--sm { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 40px; }
.lm-principles--sm .lm-principle { gap: 10px; padding-top: 18px; }
.lm-principles--sm .is-style-lm-h3-lg { font-size: 28px; letter-spacing: -0.025em; }

.lm-topbar { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid rgba(10, 10, 15, .3); font-size: 15px; font-weight: 500; }
.lm-lg-teaser__title { max-width: 1200px; margin-top: clamp(40px, 5vw, 72px) !important; font-weight: 200; font-size: clamp(46px, 7.4vw, 120px); line-height: .92; letter-spacing: -0.05em; text-wrap: balance; }
.lm-lg-teaser { display: flex; flex-wrap: wrap; gap: clamp(40px, 5vw, 96px); margin-top: clamp(48px, 6vw, 88px) !important; align-items: flex-start; }
.lm-lg-teaser__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.lm-lg-teaser__lead { font-size: clamp(19px, 1.6vw, 23px); font-weight: 300; line-height: 1.5; text-wrap: pretty; }
.lm-lg-teaser__chat { flex: 1 1 420px; min-width: 0; }

.lm-teaser { display: flex; flex-wrap: wrap; gap: 48px clamp(32px, 5vw, 96px); align-items: flex-end; }
.lm-teaser__text { flex: 1.4 1 520px; display: flex; flex-direction: column; gap: 24px; }
.lm-teaser__title { font-weight: 200; font-size: clamp(44px, 6vw, 96px); line-height: .94; letter-spacing: -0.05em; text-wrap: balance; }
.lm-teaser__text .is-style-lm-lead { max-width: 620px; }
.lm-teaser__side { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.lm-teaser__cta { display: flex; flex-direction: column; gap: 14px; }

.lm-cta-title { max-width: 1240px; font-weight: 200; font-size: clamp(48px, 8vw, 132px); line-height: .92; letter-spacing: -0.05em; text-wrap: balance; }
.lm-cta-title--md { max-width: 1100px; font-size: clamp(44px, 7vw, 112px); line-height: .94; }
.lm-cta-title--band { max-width: 1100px; font-size: clamp(44px, 6.6vw, 104px); line-height: .94; }
.lm-cta-actions { margin-top: clamp(40px, 5vw, 64px) !important; }
.lm-cta-title--md + .lm-cta-actions,
.lm-cta-title--band + .lm-cta-actions { margin-top: clamp(36px, 4vw, 56px) !important; gap: 16px 28px; }

/* Listy */
.is-style-lm-definitions { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 28px; counter-reset: lmdef; }
.is-style-lm-definitions > li { position: relative; margin: 0; padding-left: 48px; font-size: clamp(20px, 1.9vw, 26px); font-weight: 300; line-height: 1.45; letter-spacing: -0.01em; text-wrap: pretty; counter-increment: lmdef; }
.is-style-lm-definitions > li::before { content: counter(lmdef) "."; position: absolute; left: 0; top: 0; font-size: 20px; font-weight: 500; line-height: 1.45; letter-spacing: 0; color: var(--lm-magenta); }

.is-style-lm-numbered,
.is-style-lm-numbered-sm { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lm-line-strong); counter-reset: lmnum; }
.is-style-lm-numbered > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: baseline; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--lm-line-strong); font-size: 17px; font-weight: 400; line-height: 1.45; counter-increment: lmnum; }
.is-style-lm-numbered > li::before { content: counter(lmnum); font-weight: 100; font-size: 36px; line-height: .9; letter-spacing: -0.04em; color: var(--lm-magenta); }
.is-style-lm-numbered-sm > li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--lm-line); font-size: 16px; line-height: 1.55; counter-increment: lmnum; }
.is-style-lm-numbered-sm > li::before { content: counter(lmnum); font-weight: 100; font-size: 28px; line-height: 1; color: var(--lm-magenta); }

.is-style-lm-dash { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.is-style-lm-dash > li { position: relative; margin: 0; padding-left: 30px; }
.is-style-lm-dash > li::before { content: "—"; position: absolute; left: 0; color: var(--lm-magenta); }

.is-style-lm-days { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lm-line-strong); }
.is-style-lm-days > li { position: relative; margin: 0; padding: 20px 0 20px 136px; border-bottom: 1px solid var(--lm-line); font-size: 16px; line-height: 1.55; color: var(--lm-muted); }
.is-style-lm-days > li > mark:first-child { position: absolute; left: 0; top: 20px; width: 120px; font-size: 15px; font-weight: 500; }
.is-style-lm-days > li strong { color: var(--lm-paper); font-weight: 500; }

/* ---------- 8. AI Lead Generation, O nas, Kontakt ---------- */

.lm-lg-hero__grid { display: flex; flex-wrap: wrap; gap: 48px clamp(40px, 5vw, 96px); align-items: flex-start; padding: clamp(48px, 6vw, 88px) 0 clamp(64px, 8vw, 112px); }
.lm-lg-hero__text { flex: 1.2 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.lm-lg-hero__title { font-size: clamp(48px, 7vw, 112px); }
.lm-lg-hero__text .is-style-lm-lead { max-width: 580px; }
.lm-lg-hero__grid > .wp-block-leadmat-sms-chat { flex: 1 1 400px; min-width: 0; }
.lm-lg-hero__text .wp-block-buttons { gap: 20px 28px; }

.lm-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 48px 40px; }
.lm-card-text { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--lm-line-strong); }
.lm-card-text--num { gap: 14px; }
.lm-card-text--num h3 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.1; }
.lm-card-text--accent { border-top-color: var(--lm-magenta); }
.lm-bignum { font-weight: 100; font-size: 72px; line-height: .85; letter-spacing: -0.05em; color: var(--lm-magenta); }

.lm-industries { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 0 40px; }
.lm-industry { display: flex; flex-direction: column; gap: 10px; padding: 24px 0; border-top: 1px solid var(--lm-line-strong); }
.lm-industry h3 { font-size: 26px; font-weight: 300; letter-spacing: -0.02em; line-height: 1.15; }
.lm-industry p { font-size: 15px; }
.lm-industry strong { font-weight: 500; }

.lm-flow-title { margin-bottom: 28px !important; font-weight: 300; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -0.03em; }

.lm-two-col { display: flex; flex-wrap: wrap; gap: 56px clamp(40px, 6vw, 112px); }
.lm-two-col__a { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.lm-two-col__b { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.is-style-lm-frame { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border: 1px solid var(--lm-line-strong); }
.is-style-lm-frame p { font-size: 15px; line-height: 1.6; color: var(--lm-soft); }
.is-style-lm-frame-magenta { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border: 1px solid var(--lm-magenta); }

.lm-form-band__grid { display: flex; flex-wrap: wrap; gap: 48px clamp(40px, 6vw, 112px); }
.lm-form-band__text { flex: 1 1 360px; display: flex; flex-direction: column; gap: 24px; }
.lm-form-band__title { font-weight: 200; font-size: clamp(44px, 6vw, 96px); line-height: .94; letter-spacing: -0.05em; text-wrap: balance; }
.lm-form-band__lead { max-width: 480px; font-size: 18px; line-height: 1.55; }
.lm-form-band__grid > .wp-block-leadmat-leadgen-form { flex: 1.3 1 520px; min-width: 0; }

.lm-placeholder { display: flex; align-items: flex-end; padding: 18px; box-sizing: border-box; background: repeating-linear-gradient(90deg, #121218 0 1px, #0E0E13 1px 14px); font-size: 12px; color: var(--lm-muted); }
.lm-person { display: flex; flex-wrap: wrap; gap: 48px clamp(40px, 6vw, 112px); align-items: flex-start; }
.lm-person__photo,
.lm-person > .wp-block-image { flex: 1 1 320px; max-width: 520px; aspect-ratio: 4 / 5; }
.lm-person > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.lm-person__text { flex: 1.3 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.lm-person__name { font-weight: 200; font-size: clamp(44px, 5.6vw, 88px); line-height: .95; letter-spacing: -0.05em; }
.lm-person__role { font-size: 17px; font-weight: 400; color: var(--lm-magenta); }
.lm-person__bio { max-width: 620px; font-size: 18px; line-height: 1.6; color: var(--lm-soft); text-wrap: pretty; }
.lm-person__links { font-size: 16px; font-weight: 400; color: var(--lm-muted); }
.lm-person__links a { color: var(--lm-paper); text-decoration: underline; text-underline-offset: 5px; }

.lm-proof { display: flex; flex-direction: column; gap: 32px; }
.lm-proof__lead { max-width: 680px; line-height: 1.6; }
.lm-h2-proof { font-weight: 200; font-size: clamp(36px, 4vw, 60px); line-height: 1; letter-spacing: -0.045em; text-wrap: balance; }
.lm-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.is-style-lm-placeholder { box-sizing: content-box; margin: 0; padding: 24px; border: 1px dashed var(--lm-line-strong); min-height: 160px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 14px; font-weight: 400; }
.is-style-lm-placeholder p { margin: 0; }

.lm-contact { display: flex; flex-wrap: wrap; gap: 56px clamp(40px, 6vw, 112px); padding: clamp(40px, 5vw, 64px) 0 clamp(80px, 10vw, 140px); border-top: 1px solid var(--lm-line); }
.lm-contact__info { flex: 1 1 300px; display: flex; flex-direction: column; gap: 36px; }
.lm-contact__form { flex: 1.6 1 520px; min-width: 0; }

.lm-404 { min-height: calc(100vh - 77px); display: flex; align-items: center; }
.lm-404 .lm-wrap { display: flex; flex-wrap: wrap; gap: 40px clamp(40px, 6vw, 112px); align-items: flex-end; padding-block: clamp(56px, 8vw, 120px); width: 100%; }
.lm-404__num { flex: 1 1 420px; font-weight: 100; font-size: clamp(160px, 26vw, 400px); line-height: .78; letter-spacing: -0.08em; color: var(--lm-magenta); }
.lm-404__body { flex: 1 1 380px; display: flex; flex-direction: column; gap: 24px; }
.lm-404__title { font-weight: 200; font-size: clamp(36px, 4.4vw, 64px); line-height: 1; letter-spacing: -0.045em; text-wrap: balance; }
.lm-404__lead { font-size: 18px; color: var(--lm-soft); }

/* ---------- 9. Blog: listy i karty ---------- */

.lm-blog .lm-wrap { padding-bottom: clamp(80px, 10vw, 140px); }
.lm-posts--blog { padding-top: clamp(40px, 5vw, 72px); }
.lm-featured { margin-top: clamp(40px, 5vw, 72px) !important; }
.lm-featured + .lm-posts--blog { padding-top: clamp(56px, 7vw, 96px); }
.lm-featured .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.lm-featured__card { display: flex; flex-wrap: wrap; gap: 32px clamp(32px, 5vw, 80px); align-items: flex-end; }
.lm-featured__img { flex: 1.5 1 480px; min-width: 0; }
.lm-featured__text { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.lm-featured__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; font-weight: 400; color: var(--lm-muted); }
.lm-featured__title { font-weight: 200; font-size: clamp(32px, 3.6vw, 54px); line-height: 1.02; letter-spacing: -0.04em; text-wrap: balance; }
.lm-featured__title a,
.lm-post-card__title a { color: var(--lm-paper); text-decoration: none; }
.lm-featured__excerpt { font-size: 17px; line-height: 1.55; color: var(--lm-soft); }
.lm-featured__excerpt p { margin: 0; }
.lm-featured__more { font-size: 16px; font-weight: 400; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--lm-magenta); }

.lm-posts .wp-block-post-template { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 56px 32px; }
.lm-posts .wp-block-post-template > li,
.lm-featured .wp-block-post-template > li { margin-block: 0; }
.lm-posts--home .wp-block-post-template { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 48px 32px; }
.lm-posts--blog { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 56px 32px; }
.lm-posts--blog > .wp-block-post-template { display: contents; }
.lm-posts--blog > .wp-block-post-template > li:nth-child(n+3) { order: 2; }
.lm-posts--blog > .lm-posts__banner { order: 1; grid-column: 1 / -1; }
.lm-posts--blog > .lm-pagination,
.lm-posts--blog > .wp-block-query-no-results { order: 3; grid-column: 1 / -1; }
.lm-posts--blog > .wp-block-query-no-results ~ .lm-posts__banner { display: none; }
/* Paginacja jest elementem siatki (ma już odstęp 56 px) — dopełniamy do odstępu z designu. */
.lm-posts--blog > .lm-pagination { margin-top: clamp(0px, 7vw - 56px, 32px) !important; }

.lm-post-card { position: relative; display: flex; flex-direction: column; gap: 16px; padding-top: 20px; border-top: 1px solid var(--lm-line-strong); height: 100%; }
.lm-post-card__meta { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 400; color: var(--lm-muted); }
.lm-post-card__cat a,
.lm-post__cat a { color: var(--lm-magenta); text-decoration: none; }
.lm-post-card__title { font-weight: 300; font-size: 25px; line-height: 1.18; letter-spacing: -0.02em; text-wrap: balance; }
.lm-post-card__title a::after { content: ""; position: absolute; inset: 0; }
.lm-post-card__cat { position: relative; z-index: 1; }
.lm-post-card:hover .lm-post-card__title a { color: var(--lm-paper); }
.lm-post-card__excerpt { font-size: 15px; line-height: 1.55; color: var(--lm-muted); }
.lm-post-card__excerpt p { margin: 0; }
.lm-post-card__date { font-size: 14px; color: var(--lm-muted); }

/* Zastępcza grafika, gdy wpis nie ma obrazu wyróżniającego. */
.lm-image-placeholder { display: flex; align-items: flex-end; padding: 14px; box-sizing: border-box; width: 100%; background: repeating-linear-gradient(90deg, #121218 0 1px, #0E0E13 1px 12px); font-size: 12px; color: var(--lm-muted); }

.lm-pagination { margin-top: clamp(56px, 7vw, 88px) !important; padding-top: 24px; border-top: 1px solid var(--lm-line); font-size: 16px; font-weight: 400; align-items: center; }
.lm-pagination a { text-decoration: none; }
.lm-pagination .wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.lm-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--lm-line-strong); font-variant-numeric: tabular-nums; transition: border-color .2s; }
.lm-pagination .page-numbers:hover { border-color: var(--lm-magenta); color: var(--lm-paper); }
.lm-pagination .page-numbers.current { background: var(--lm-paper); color: var(--lm-ink); border-color: var(--lm-paper); }
.lm-pagination .page-numbers.dots { border: 0; }

.lm-empty { display: flex; flex-direction: column; gap: 16px; padding: 48px 0; border-top: 1px solid var(--lm-line); }
.lm-empty__title { font-weight: 200; font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.03em; }
.lm-empty a { text-decoration: underline; text-underline-offset: 6px; }

.lm-search { max-width: 560px; }

/* ---------- 10. Wpis ---------- */

.lm-post__head { max-width: 1240px; padding: clamp(48px, 7vw, 104px) 0 clamp(32px, 4vw, 56px); }
.lm-post__cat { margin-bottom: 24px !important; font-size: 15px; font-weight: 500; }
.lm-post__title { font-weight: 200; font-size: clamp(42px, 6.2vw, 100px); line-height: .95; letter-spacing: -0.05em; text-wrap: balance; }
.lm-post__meta { margin-top: clamp(32px, 4vw, 48px) !important; padding-top: 20px; border-top: 1px solid var(--lm-line); }
.lm-post__image { margin-bottom: clamp(48px, 6vw, 88px) !important; }
.lm-post__layout { display: flex; flex-wrap: wrap; gap: 40px clamp(40px, 6vw, 112px); align-items: flex-start; }
.lm-post__aside { flex: 1 1 240px; max-width: 100%; display: flex; flex-direction: column; gap: 16px; }
.lm-post__main { flex: 3 1 560px; min-width: 0; max-width: 760px; display: flex; flex-direction: column; }
.lm-post__main > .wp-block-leadmat-audit-cta { margin-top: clamp(56px, 7vw, 88px); }
.lm-post__main > .wp-block-leadmat-author-box { margin-top: clamp(48px, 6vw, 72px); }
@media (min-width: 960px) {
	.lm-post__aside { position: sticky; top: 110px; }
}

/* Typografia treści wpisu (the_content). */
.lm-prose { font-size: 19px; line-height: 1.72; color: var(--wp--custom--color--prose); font-weight: 300; text-wrap: pretty; }
.lm-prose > * { margin-block: 0 1.15em; }
.lm-prose > :last-child { margin-bottom: 0; }
.lm-prose h2 { font-weight: 200; font-size: clamp(30px, 3vw, 42px); line-height: 1.08; letter-spacing: -0.035em; color: var(--lm-paper); margin: 2.1em 0 .6em; scroll-margin-top: 110px; text-wrap: balance; }
.lm-prose h3 { font-weight: 400; font-size: 23px; line-height: 1.25; letter-spacing: -0.015em; color: var(--lm-paper); margin: 1.7em 0 .45em; scroll-margin-top: 110px; }
.lm-prose > :first-child,
.lm-prose > .wp-block-leadmat-tldr + h2 { margin-top: 0; }
.lm-prose a { color: var(--lm-paper); text-decoration: underline; text-decoration-color: var(--lm-magenta); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.lm-prose a:hover { color: var(--lm-magenta); }
.lm-prose strong { font-weight: 500; color: var(--lm-paper); }
.lm-prose ul,
.lm-prose ol { margin: 0 0 1.3em; padding-left: 1.3em; }
.lm-prose li { margin: .5em 0; padding-left: .3em; }
.lm-prose li::marker { color: var(--lm-magenta); font-weight: 500; }
.lm-prose blockquote { margin: 1.8em 0; padding: 4px 0 4px 28px; border-left: 2px solid var(--lm-magenta); font-size: clamp(24px, 2.3vw, 32px); font-weight: 200; line-height: 1.28; letter-spacing: -0.025em; color: var(--lm-paper); }
.lm-prose blockquote p { margin: 0; }
.lm-prose figure { margin: 1.8em 0; overflow-x: auto; }
.lm-prose table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.lm-prose th,
.lm-prose td { text-align: left; vertical-align: top; padding: 14px 18px 14px 0; border: 0; border-bottom: 1px solid var(--lm-line); }
.lm-prose thead { border: 0; }
.lm-prose thead th { font-weight: 500; color: var(--lm-paper); border-bottom: 1px solid var(--lm-paper); }
.lm-prose tbody th { font-weight: 400; color: var(--lm-paper); }
.lm-prose figcaption { margin-top: 10px; font-size: 14px; color: var(--lm-muted); text-align: left; }
.lm-prose code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .86em; background: #17171E; padding: 2px 6px; }
.lm-prose pre { margin: 1.6em 0; padding: 22px 24px; background: #111117; border: 1px solid rgba(242, 240, 243, .1); overflow-x: auto; font: 400 14px/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--lm-paper); }
.lm-prose pre code { background: none; padding: 0; font-size: inherit; }
.lm-prose img { max-width: 100%; height: auto; display: block; }

/* Polityki (strona zwykła). */
.lm-legal__head { max-width: 1100px; padding: clamp(48px, 7vw, 96px) 0 clamp(32px, 4vw, 56px); }
.lm-legal__title { font-weight: 200; font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -0.05em; }
.lm-legal__head .wp-block-leadmat-post-meta { margin-top: 24px; }
.lm-legal__actions { margin-top: 24px; }
.lm-legal__actions .wp-block-button__link { min-height: 56px; padding: 0 26px; font-size: 16px; }
.lm-legal__body { display: flex; flex-wrap: wrap; gap: 40px clamp(40px, 6vw, 112px); padding: clamp(32px, 4vw, 48px) 0 clamp(80px, 10vw, 140px); border-top: 1px solid var(--lm-line); }
.lm-legal__summary { flex: 1 1 240px; font-size: 15px; line-height: 1.6; color: var(--lm-muted); }
.lm-legal__summary p { margin: 0; }
.lm-legal__body > .lm-prose { flex: 3 1 560px; min-width: 0; max-width: 800px; }
.lm-prose--legal { font-size: 17px; line-height: 1.7; }
.lm-prose--legal > * { margin-block: 0 1em; }
.lm-prose--legal h2 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; letter-spacing: -0.03em; margin: 2em 0 .6em; scroll-margin-top: 100px; }
.lm-prose--legal > h2:first-child { margin-top: 2em; }
.lm-prose--legal h3 { font-weight: 500; font-size: 18px; line-height: 1.7; margin: 1.5em 0 .4em; }
.lm-prose--legal ul,
.lm-prose--legal ol { margin: 0 0 1.2em; }
.lm-prose--legal table { min-width: 560px; font-size: 15px; }
.lm-prose--legal th,
.lm-prose--legal td { padding: 12px 16px 12px 0; }
.lm-prose--legal li { margin: .4em 0; padding-left: 0; }
.lm-prose--legal li::marker { font-weight: 300; }
.lm-prose .is-style-lm-frame-dashed { margin-top: 3em; padding: 18px 22px; border: 1px dashed var(--lm-magenta); font-size: 15px; color: var(--lm-paper); }

/* ---------- 11. Animacje wejścia (reveal.js) ---------- */

.lm-js .lm-will-reveal { opacity: 0; transform: translateY(32px); }
.lm-js .lm-will-reveal.lm-revealed { opacity: 1; transform: none; transition: opacity .9s var(--lm-ease), transform .9s var(--lm-ease); transition-delay: var(--lm-delay, 0ms); }
.lm-js .lm-line.lm-will-draw::before { transform: scaleX(0); }
.lm-js .lm-line.lm-will-draw.lm-drawn::before { transform: scaleX(1); transition: transform 1.1s var(--lm-ease) .25s; }
.lm-delay-40 { --lm-delay: 40ms; }
.lm-delay-60 { --lm-delay: 60ms; }
.lm-delay-80 { --lm-delay: 80ms; }
.lm-delay-100 { --lm-delay: 100ms; }
.lm-delay-120 { --lm-delay: 120ms; }
.lm-delay-140 { --lm-delay: 140ms; }
.lm-delay-160 { --lm-delay: 160ms; }
.lm-delay-180 { --lm-delay: 180ms; }
.lm-delay-200 { --lm-delay: 200ms; }
.lm-delay-240 { --lm-delay: 240ms; }
.lm-delay-300 { --lm-delay: 300ms; }

/* ---------- 12. Druk ---------- */

@media print {
	.lm-site-header, .lm-site-footer, [data-noprint] { display: none !important; }
	* { color: #000 !important; background: transparent !important; border-color: #bbb !important; box-shadow: none !important; }
	body { background: #fff !important; }
	.lm-js .lm-will-reveal { opacity: 1 !important; transform: none !important; }
}
