/* delta240mvt — system „Clarity” (wersja 2026-10). Jeden zestaw tokenów i komponentów dla całego portalu.
   Zasady: kolory marki (turkus, żółty, fiolet), overlay 40% na zdjęciach, bez poświaty, jasny motyw, Inter + IBM Plex Mono. */
body.d240-site { --lp-bg:#f5f5f2; --lp-sf:#fff; --lp-tx:#020304; --lp-tx2:#3c3c3c; --lp-mu:#656565; --lp-ln:rgba(2,3,4,.11); --lp-at:#6350be; --lp-sh:rgba(2,3,4,.12); --lp-ln2:rgba(2,3,4,.3); --lp-inv:#020304; --lp-inv-tx:#f4f6f6; --lp-inv-mu:#93a8ad; --tq:#00d6d8; --yl:#f2e500; --vt:#8f5bff; --err:#b3261e;
  font-family:Inter,Arial,sans-serif; background:var(--lp-bg); color:var(--lp-tx); font-size:17px; line-height:1.5; letter-spacing:-.011em; -webkit-font-smoothing:antialiased; overflow-x:clip; min-height:100%; }
/* Tryb ciemny: te same tokeny, tło i powierzchnie w odcieniu turkusu marki, akcent tekstowy to rozjaśniony fiolet marki.
   Kontrast (WCAG 2.2): tekst 16:1, wyciszony 5,3:1 na powierzchni, fiolet 5,9:1. Wypełnienia marki (turkus, żółty, fiolet) zostają z czarnym tekstem. */
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="dark"] body.d240-site { --lp-bg:#0b1518; --lp-sf:#132226; --lp-tx:#edf3f4; --lp-tx2:#c3d0d3; --lp-mu:#93a8ad; --lp-ln:rgba(147,168,173,.18); --lp-ln2:rgba(237,243,244,.34); --lp-at:#a98bff; --lp-sh:rgba(0,0,0,.55); --lp-inv:#edf3f4; --lp-inv-tx:#020304; --lp-inv-mu:#4f6267; --err:#ff8a80; }
html[data-theme="dark"] .lp-ft { border-top:1px solid var(--lp-ln); }
:where(body.d240-site) *, :where(body.d240-site) *::before, :where(body.d240-site) *::after { box-sizing:border-box; }
:where(body.d240-site) :is(h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd) { margin:0; padding:0; }
:where(body.d240-site) :is(ul,ol) { list-style:none; }
:where(body.d240-site) a { color:inherit; text-decoration:none; }
/* height:auto: atrybut height z WordPressa inaczej wygrywa z aspect-ratio i zdjęcia na telefonie robią się bardzo wysokie */
:where(body.d240-site) img { display:block; max-width:100%; height:auto; }
:where(body.d240-site) button { font:inherit; color:inherit; cursor:pointer; }
/* atrybut hidden zawsze ukrywa — nawet gdy klasa komponentu ustawia display (np. .lp-note) */
body.d240-site [hidden] { display:none !important; }
/* pułapka na boty w formularzach (newsletter, komentarze) — na każdej stronie, także głównej */
.d240-form-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
body.d240-site ::selection { background:var(--yl); color:#020304; }
body.d240-site { display:flex; flex-direction:column; }
body.d240-site > .lp { flex:1 0 auto; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.lp-wrap { width:min(calc(100% - 40px),1200px); margin-inline:auto; }
.lp-ic { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.lp-mono { font-family:'IBM Plex Mono',Consolas,monospace; font-size:.76rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; }

/* typografia */
.lp-h1 { font-size:clamp(46px,5.8vw,84px); font-weight:700; letter-spacing:-.045em; line-height:1; }
.lp-h1 span { display:block; }
.lp-h1--page { font-size:clamp(40px,4.8vw,68px); line-height:1.02; }
.lp-h1--page span { display:inline; }
.lp-h2 { font-size:clamp(32px,3.6vw,52px); font-weight:700; letter-spacing:-.035em; line-height:1.06; }
.lp-h2--s { font-size:clamp(26px,2.4vw,34px); }
.lp-h2--m { font-size:clamp(28px,2.8vw,40px); }
.lp-h2--xl { font-size:clamp(36px,4.6vw,68px); color:#00d6d8; }
.lp-h3 { display:block; font-size:1.3rem; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
.lp-h3--l { font-size:1.5rem; }
.lp-eye { font-size:1rem; font-weight:600; color:var(--lp-at); }
.lp-sub { font-size:clamp(18px,1.6vw,21px); line-height:1.45; color:var(--lp-mu); letter-spacing:-.015em; }
.lp-mu { color:var(--lp-mu); }
.lp-tx2 { color:var(--lp-tx2); }
.lp-small { font-size:.85rem; }
.lp-hl { background:#00d6d8; color:#020304; padding:0 .14em; border-radius:.18em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }

/* przyciski i linki */
.lp-pb { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 24px; border:0; border-radius:999px; background:#00d6d8; color:#020304; font-weight:600; font-size:16px; line-height:1; white-space:nowrap; transition:opacity .2s,background .2s,box-shadow .2s; width:fit-content; }
.lp-pb:hover { opacity:.88; }
.lp-pb--k { background:var(--lp-inv); color:var(--lp-inv-tx); }
.lp-pb--w { background:#f4f6f6; color:#020304; }
.lp-pb--o { background:transparent; color:var(--lp-tx); box-shadow:inset 0 0 0 1px var(--lp-ln2); }
.lp-pb--o:hover { opacity:1; box-shadow:inset 0 0 0 1px var(--lp-tx); }
.lp-pb--ow { background:transparent; color:#f4f6f6; box-shadow:inset 0 0 0 1px rgba(244,246,246,.4); }
.lp-pb--ow:hover { opacity:1; box-shadow:inset 0 0 0 1px #f4f6f6; }
.lp-pb--sm { min-height:40px; padding:0 18px; font-size:.92rem; }
.lp-pb--lg { min-height:56px; padding:0 32px; font-size:1.05rem; }
.lp-pb--block { width:100%; }
.lp-pb[disabled], .lp-pb.is-off { opacity:.38; pointer-events:none; }
.lp-more { display:inline-flex; align-items:center; gap:4px; font-weight:600; color:var(--lp-at); white-space:nowrap; }
.lp-more .lp-ic { width:16px; height:16px; stroke-width:2; transition:transform .2s; }
.lp-more:hover .lp-ic, a:hover > .lp-more .lp-ic, a:hover .lp-more .lp-ic { transform:translateX(3px); }
.lp-more--w { color:#f4f6f6; }
.lp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; }
.lp-logo { display:inline-flex; align-items:center; gap:7px; font-weight:800; font-size:22px; letter-spacing:-.06em; line-height:1; color:var(--lp-tx); white-space:nowrap; }
.lp-logo svg { width:24px; height:24px; }
.lp-logo b { color:#00d6d8; font-weight:800; }
.lp-ib { position:relative; display:inline-grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:color-mix(in srgb,var(--lp-tx) 6%,transparent); color:var(--lp-tx); cursor:pointer; transition:background .2s; }
.lp-ib:hover { background:color-mix(in srgb,var(--lp-tx) 11%,transparent); }
.lp-lang { display:inline-flex; padding:3px; border-radius:999px; background:color-mix(in srgb,var(--lp-tx) 6%,var(--lp-bg)); }
.lp-lang a { display:grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border-radius:999px; font-size:.8rem; font-weight:600; color:var(--lp-mu); transition:color .2s,background .2s; }
.lp-lang a:hover { color:var(--lp-tx); }
.lp-lang a.is-on { background:var(--lp-sf); color:var(--lp-tx); box-shadow:0 1px 3px var(--lp-sh); }
.lp-cnt { position:absolute; top:4px; right:2px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#00d6d8; color:#020304; font-size:.68rem; font-weight:700; display:grid; place-items:center; line-height:1; }

/* siatka i kafle */
.lp { padding-block:20px 96px; }
.lp-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px; } .lp-s3 { grid-column:span 3; } .lp-s4 { grid-column:span 4; } .lp-s5 { grid-column:span 5; } .lp-s6 { grid-column:span 6; } .lp-s7 { grid-column:span 7; } .lp-s8 { grid-column:span 8; } .lp-s9 { grid-column:span 9; } .lp-s12 { grid-column:span 12; }
.lp-tile { background:var(--lp-sf); border-radius:28px; padding:clamp(24px,3.2vw,48px); display:flex; flex-direction:column; gap:20px; min-width:0; }
.lp-tile--bg { background:var(--lp-bg); box-shadow:inset 0 0 0 1px var(--lp-ln); }
.lp-tile--k { background:#020304; color:#f4f6f6; }
.lp-tile--y { background:#f2e500; color:#020304; }
.lp-tile--t { background:#00d6d8; color:#020304; }
.lp-th { display:flex; justify-content:space-between; align-items:flex-end; gap:12px 32px; flex-wrap:wrap; }
.lp-th > div { display:flex; flex-direction:column; gap:8px; max-width:640px; }
.lp-sticky { position:sticky; top:84px; align-self:start; }

/* okładka: zdjęcie + czarny overlay 40% + napisy w kolorach marki */
.lp-cover { position:relative; overflow:hidden; border-radius:28px; min-height:420px; color:#f4f6f6; display:flex; flex-direction:column; justify-content:flex-end; gap:14px; padding:clamp(24px,4vw,56px); isolation:isolate; background:#020304; }
.lp-cover > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.lp-cover::before { content:""; position:absolute; inset:0; background:rgba(2,3,4,.4); z-index:-1; }
.lp-cover .lp-cv-t { color:#00d6d8; font-weight:700; letter-spacing:-.04em; line-height:1.04; }
.lp-cover .lp-cv-y { color:#f2e500; font-weight:600; }
.lp-cover .lp-cv-p { max-width:56ch; font-size:clamp(18px,1.6vw,21px); line-height:1.45; }

/* najnowsze, pasek, listy */
.lp-rail { padding:28px; gap:16px; }
.lp-rail .lp-h3 { font-size:1.5rem; }
.lp-seg { display:flex; padding:3px; border-radius:12px; background:color-mix(in srgb,var(--lp-tx) 6%,transparent); }
.lp-seg button { flex:1; min-height:36px; border:0; border-radius:9px; background:none; color:var(--lp-mu); font-size:.84rem; font-weight:600; cursor:pointer; transition:background .2s,color .2s; }
.lp-seg button.is-on { background:var(--lp-bg); color:var(--lp-tx); box-shadow:0 1px 3px var(--lp-sh); }
.lp-tile .lp-seg button.is-on { background:var(--lp-sf); }
.lp-seg--tabs { min-width:min(100%,420px); }
.lp-rail__list { flex:1; }
.lp-rail__list li + li .lp-it { border-top:1px solid var(--lp-ln); }
.lp-it { display:grid; grid-template-columns:52px minmax(0,1fr); gap:14px; align-items:center; padding:12px 0; }
.lp-it img { width:52px; height:52px; border-radius:12px; object-fit:cover; }
.lp-it small { display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--lp-mu); }
.lp-it small .lp-ic { width:14px; height:14px; color:var(--cc); }
.lp-it b,
.lp-nf b { display:block; font-weight:600; line-height:1.3; letter-spacing:-.015em; transition:color .2s; }
.lp-it b { font-size:.98rem; }
.lp-promo { display:flex; flex-direction:column; gap:4px; padding:18px 20px; border-radius:18px; background:#00d6d8; color:#020304; transition:opacity .2s; }
.lp-promo:hover { opacity:.9; }
.lp-promo span { font-size:.85rem; font-weight:600; }
.lp-promo b { font-size:1.12rem; letter-spacing:-.02em; }
.lp-tick { overflow:hidden; border-radius:16px; background:var(--lp-sf); -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.lp-marq { display:flex; width:max-content; padding-left:28px; animation:lp-marq 90s linear infinite; }
.lp-tick:hover .lp-marq { animation-play-state:paused; }
.lp-tick a { display:inline-flex; align-items:center; gap:10px; padding:16px 40px 16px 0; white-space:nowrap; font-size:.95rem; }
.lp-tick span { color:var(--lp-mu); }
.lp-tick b { font-weight:600; }
.lp-tick i { width:6px; height:6px; border-radius:50%; background:var(--cc); }
@keyframes lp-marq { to { transform:translateX(-50%); } }

/* oferta: ścieżka + trzy kierunki */
.lp-offer { gap:36px; }
.lp-flow { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.lp-flow__tr { position:absolute; top:50%; left:calc((100% - 40px) / 6); right:calc((100% - 40px) / 6); height:2px; margin-top:-1px; background:var(--lp-ln); border-radius:2px; }
.lp-flow__tr i { position:absolute; top:50%; left:0; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; background:#00d6d8; animation:lp-dot 5s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes lp-dot { 0% { left:0; background:#00d6d8; } 45% { left:50%; background:#f2e500; } 90%,100% { left:100%; background:#8f5bff; } }
.lp-flow__nd { position:relative; z-index:1; justify-self:center; width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:var(--lp-sf); border:2px solid var(--cc); box-shadow:0 0 0 8px var(--lp-sf); }
.lp-flow__nd .lp-ic { width:28px; height:28px; }
.lp-flow__nd > span { display:grid; place-items:center; animation:lp-bob 4s ease-in-out infinite; animation-delay:var(--dl); }
@keyframes lp-bob { 50% { transform:translateY(-4px) rotate(-4deg); } }
.lp-dirs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.lp-dir { position:relative; overflow:hidden; display:flex; flex-direction:column; gap:10px; padding:28px 26px 24px; border-radius:22px; background:var(--lp-bg); transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s; }
.lp-dir:hover { transform:translateY(-6px); box-shadow:0 24px 48px -32px var(--lp-sh); }
.lp-dir__bar { position:absolute; top:0; left:0; right:0; height:5px; background:var(--cc); transition:height .3s; }
.lp-dir:hover .lp-dir__bar { height:9px; }
.lp-dir__n { align-self:flex-start; padding:3px 10px; border-radius:999px; font-size:.8rem; font-weight:700; background:var(--cc); color:var(--tc); }
.lp-dir h3 { font-size:clamp(26px,2.4vw,34px); font-weight:700; letter-spacing:-.04em; line-height:1.05; }
.lp-dir__meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid var(--lp-ln); font-size:.9rem; font-weight:600; }
.lp-dir__meta .lp-ic { width:18px; height:18px; transition:transform .25s; }
.lp-dir:hover .lp-dir__meta .lp-ic { transform:translateX(4px); }
.lp-svc { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:24px; align-items:stretch; }
.lp-svc__list { display:flex; flex-direction:column; gap:4px; }
.lp-row { display:flex; align-items:center; gap:14px; width:100%; min-height:58px; padding:8px 16px; border:0; border-radius:14px; background:none; color:var(--lp-tx); text-align:left; font-size:1.02rem; font-weight:500; cursor:pointer; transition:background .2s; }
.lp-row:hover { background:color-mix(in srgb,var(--lp-tx) 5%,transparent); }
.lp-row.is-on { background:#00d6d8; color:#020304; font-weight:600; }
.lp-row .lp-ic { color:var(--lp-at); }
.lp-row.is-on .lp-ic { color:#020304; }
.lp-row .lp-ic:last-child { margin-left:auto; width:16px; height:16px; color:var(--lp-mu); }
.lp-pic { position:relative; overflow:hidden; border-radius:22px; background:#020304; color:#f4f6f6; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; gap:8px; padding:28px; min-height:420px; }
.lp-pic > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.lp-pic::before { content:""; position:absolute; inset:0; background:rgba(2,3,4,.4); z-index:-1; }
.lp-pic b { font-size:2rem; letter-spacing:-.035em; line-height:1.1; color:#00d6d8; }
.lp-pic span { max-width:40ch; font-size:1.05rem; }
.lp-pic .lp-pb { margin-top:10px; }
.lp-big { max-width:90ch; }
.lp-big b { color:var(--lp-tx); }

/* sklep */
.lp-p4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.lp-prod { display:flex; flex-direction:column; gap:8px; }
.lp-prod img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:18px; transition:transform .5s; }
.lp-prod:hover img { transform:scale(1.02); }
.lp-prod b { font-weight:600; letter-spacing:-.015em; line-height:1.25; }
.lp-prod .lp-mu { font-size:.88rem; }
.lp-prod__price { font-weight:600; }
.lp-pcard { display:flex; flex-direction:column; gap:14px; padding:14px 14px 22px; border-radius:26px; background:var(--lp-sf); transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s; }
.lp-pcard:hover { transform:translateY(-6px); box-shadow:0 24px 48px -32px var(--lp-sh); }
.lp-pcard__im { position:relative; display:block; overflow:hidden; border-radius:18px; aspect-ratio:1/1; background:#020304; }
.lp-pcard__im img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.lp-pcard:hover .lp-pcard__im img { transform:scale(1.03); }
.lp-pcard__im .lp-tag { position:absolute; top:12px; left:12px; }
.lp-pcard__b { display:flex; flex-direction:column; gap:8px; padding:0 8px; flex:1; }
.lp-pcard__b h3 { font-size:1.2rem; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
.lp-pcard__b p { color:var(--lp-mu); font-size:.92rem; }
.lp-pcard__f { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; }
.lp-price { font-size:1.4rem; font-weight:700; letter-spacing:-.03em; }
.lp-price small { font-size:.85rem; font-weight:500; color:var(--lp-mu); letter-spacing:0; }
.lp-price s { font-size:1rem; font-weight:500; color:var(--lp-mu); margin-left:8px; }

/* karty treści */
.lp-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:28px; }
.lp-card, .lp-post { display:flex; flex-direction:column; gap:12px; }
.lp-card__im, .lp-post__im { display:block; overflow:hidden; border-radius:20px; aspect-ratio:4/3; background:#020304; }
.lp-card__im--wide { aspect-ratio:16/9; }
.lp-post__im svg { display:block; width:100%; height:100%; }
.lp-card__im img, .lp-post__im img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.lp-card:hover .lp-card__im img, .lp-post:hover .lp-post__im img { transform:scale(1.03); }
.lp-post__meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:.85rem; color:var(--lp-mu); }
.lp-post h3 { font-size:1.25rem; line-height:1.25; font-weight:600; letter-spacing:-.02em; transition:color .2s; }
.lp-post:hover h3 { color:var(--lp-at); }
.lp-post p { color:var(--lp-mu); font-size:.95rem; }
.lp-prow { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; padding:24px 0; border-top:1px solid var(--lp-ln); align-items:center; }
.lp-prow .lp-post__im { aspect-ratio:4/3; }
.lp-prow h3 { font-size:1.35rem; line-height:1.22; font-weight:600; letter-spacing:-.025em; transition:color .2s; margin:6px 0; }
.lp-prow:hover h3 { color:var(--lp-at); }
.lp-prow p { color:var(--lp-mu); font-size:.96rem; }
.lp-nf > span { display:flex; flex-direction:column; gap:2px; }
.lp-nf { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:start; padding:14px 0; border-top:1px solid var(--lp-ln); }
.lp-nf img { width:112px; height:84px; border-radius:14px; object-fit:cover; }
.lp-qt { display:flex; flex-direction:column; gap:18px; padding:28px; border-radius:24px; background:var(--lp-bg); }
.lp-qt blockquote { flex:1; font-size:1.12rem; line-height:1.5; letter-spacing:-.015em; }
.lp-qt figcaption { display:flex; align-items:center; gap:12px; font-weight:600; font-size:.95rem; }
.lp-av { width:40px; height:40px; flex:none; border-radius:50%; background:#00d6d8; color:#020304; display:grid; place-items:center; font-weight:600; }
.lp-stars { display:inline-flex; gap:2px; }
.lp-stars svg { width:16px; height:16px; fill:none; stroke:var(--lp-tx); stroke-width:1.5; stroke-opacity:.3; stroke-linejoin:round; }
.lp-stars svg.is-on { fill:#f2e500; stroke-opacity:.55; }
.lp-empty { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:12px; padding:28px; border-radius:20px; border:1px dashed var(--lp-ln); }
.lp-empty > .lp-ic { width:28px; height:28px; color:var(--lp-at); }
.lp-empty p { max-width:52ch; }
.lp-empty--row { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.lp-empty--row p { flex:1 1 320px; }
.lp-badge { display:inline-block; margin-left:8px; padding:1px 7px; border-radius:999px; border:1px solid var(--lp-ln); font-size:.7rem; font-weight:700; letter-spacing:.04em; color:var(--lp-mu); vertical-align:1px; }
.lp-chips { display:flex; flex-wrap:wrap; gap:8px; }
.lp-chip { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px; border:0; border-radius:999px; background:var(--lp-sf); box-shadow:inset 0 0 0 1px var(--lp-ln); font-size:.92rem; font-weight:500; color:var(--lp-tx2); cursor:pointer; transition:box-shadow .2s,color .2s,background .2s; }
.lp-chip:hover { box-shadow:inset 0 0 0 1px var(--lp-ln2); color:var(--lp-tx); }
.lp-chip.is-on { background:var(--lp-tx); color:var(--lp-bg); box-shadow:none; }
.lp-chip small { font-size:.78rem; opacity:.65; }
.lp-tag { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; font-size:.78rem; font-weight:700; background:var(--cc,#00d6d8); color:var(--tc,#020304); }
.lp-tag--line { background:none; box-shadow:inset 0 0 0 1px var(--lp-ln); color:var(--lp-mu); font-weight:600; }

/* proces, FAQ */
.lp-emo { display:inline-block; font-size:clamp(40px,4vw,56px); line-height:1; animation:lp-float 6s ease-in-out infinite; }
@keyframes lp-float { 50% { transform:translateY(-14px) rotate(1.2deg); } }
.lp-steps li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:18px 0; border-top:1px solid var(--lp-ln); }
.lp-steps li > span:last-child { display:flex; flex-direction:column; gap:2px; }
.lp-steps li .lp-mu { font-size:.95rem; }
.lp-steps__n { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--lp-tx); color:var(--lp-bg); font-weight:600; font-size:.9rem; }
.lp-faq details + details { border-top:1px solid var(--lp-ln); }
.lp-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:60px; padding:16px 0; font-size:1.05rem; font-weight:600; letter-spacing:-.015em; cursor:pointer; list-style:none; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary .lp-ic { width:18px; height:18px; color:var(--lp-mu); transition:transform .25s; }
.lp-faq details[open] summary .lp-ic { transform:rotate(90deg); }
.lp-faq p { padding:0 32px 18px 0; color:var(--lp-mu); }
.lp-faq--btn .lp-q { border-top:1px solid var(--lp-ln); }
.lp-faq--btn .lp-q:first-child { border-top:0; }
.lp-qb { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; min-height:60px; padding:16px 0; background:none; border:0; text-align:left; font-size:1.05rem; font-weight:600; letter-spacing:-.015em; color:var(--lp-tx); }
.lp-qb .lp-ic { width:18px; height:18px; color:var(--lp-mu); transition:transform .25s; }
.lp-qb.is-on .lp-ic { transform:rotate(90deg); }
.lp-qa { padding:0 32px 18px 0; color:var(--lp-mu); }

/* o mnie, filozofia, newsletter, finał */
.lp-about { position:relative; overflow:hidden; border-radius:28px; min-height:460px; color:#f4f6f6; background:#020304; display:flex; flex-direction:column; justify-content:flex-end; gap:14px; padding:clamp(24px,4.4vw,64px); isolation:isolate; }
.lp-about > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.lp-about::before { content:""; position:absolute; inset:0; background:rgba(2,3,4,.4); z-index:-1; }
.lp-about__eye { font-weight:600; color:#f2e500; }
.lp-about p { max-width:54ch; font-size:clamp(18px,1.6vw,21px); line-height:1.45; }
.lp-phil { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px clamp(32px,5vw,72px); align-items:center; }
.lp-phil__l { display:flex; flex-direction:column; gap:14px; }
.lp-phil__l .lp-mu { max-width:44ch; }
.lp-phil__big { font-size:clamp(36px,3.8vw,56px); font-weight:700; letter-spacing:-.05em; line-height:1.02; }
.lp-phil__big span { background:#00d6d8; color:#020304; padding:0 .14em; border-radius:.18em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.lp-phil__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
.lp-phil__items li { display:flex; gap:16px; align-items:flex-start; }
.lp-phil__items li > span:last-child { display:flex; flex-direction:column; gap:4px; }
.lp-phil__items b { font-size:1.1rem; font-weight:600; letter-spacing:-.02em; }
.lp-phil__items .lp-mu { font-size:.95rem; }
.lp-phil__ic { width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--cc); color:var(--ic); }
.lp-nl { gap:14px; }
.lp-nl__eye { display:flex; align-items:center; gap:12px; }
.lp-nl__ic { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:#00d6d8; color:#020304; }
.lp-fin { position:relative; background:#020304; color:#f4f6f6; gap:14px; }
.lp-fin .lp-emo { position:absolute; top:clamp(24px,3vw,40px); right:clamp(24px,3vw,40px); font-size:44px; animation-duration:4s; }
.lp-fin h2 { padding-right:64px; }
.lp-fin p { opacity:.75; }
.lp-fin .lp-actions { margin-top:auto; }

/* formularze */
.lp-field { display:flex; flex-direction:column; gap:8px; }
.lp-lbl { font-size:.9rem; font-weight:600; }
.lp-in { width:100%; height:52px; padding:0 18px; border-radius:14px; border:1px solid var(--lp-ln); background:var(--lp-bg); color:var(--lp-tx); font:inherit; font-size:16px; outline:none; transition:border-color .2s; }
.lp-tile .lp-in { background:var(--lp-bg); }
.lp-in:hover { border-color:var(--lp-ln2); }
.lp-in:focus { border-color:var(--lp-at); }
textarea.lp-in { height:auto; min-height:120px; padding:14px 18px; resize:vertical; }
.lp-help { font-size:.85rem; color:var(--lp-mu); }
.lp-check { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; font-size:.92rem; color:var(--lp-tx2); cursor:pointer; }
.lp-check input { width:20px; height:20px; margin:1px 0 0; accent-color:#00d6d8; }
.lp-note { display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:16px; background:var(--lp-bg); font-size:.93rem; color:var(--lp-tx2); }
.lp-note .lp-ic { margin-top:1px; color:var(--lp-at); }
.lp-note--t .lp-ic { color:#020304; background:#00d6d8; border-radius:50%; padding:3px; width:24px; height:24px; }
.lp-note--y .lp-ic { color:#020304; background:#f2e500; border-radius:50%; padding:3px; width:24px; height:24px; }
.lp-tscroll { overflow-x:auto; }
.lp-table { width:100%; border-collapse:collapse; font-size:.95rem; text-align:left; }
.lp-table th { padding:14px 16px; font-size:.82rem; font-weight:600; color:var(--lp-mu); border-bottom:1px solid var(--lp-ln); white-space:nowrap; }
.lp-table td { padding:18px 16px; border-bottom:1px solid var(--lp-ln); vertical-align:top; }
.lp-table tr:last-child td { border-bottom:0; }
.lp-table .is-hl { background:var(--lp-bg); }
.lp-pager { display:flex; justify-content:center; gap:6px; flex-wrap:wrap; }
.lp-pg { display:grid; place-items:center; min-width:44px; height:44px; padding:0 12px; border-radius:999px; font-weight:600; color:var(--lp-tx2); transition:background .2s; }
.lp-pg:hover { background:color-mix(in srgb,var(--lp-tx) 6%,transparent); }
.lp-pg.is-on { background:var(--lp-tx); color:var(--lp-bg); }
.lp-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-radius:20px; background:var(--lp-bg); }
.lp-facts > div { display:flex; flex-direction:column; gap:4px; padding:18px 22px; border-left:1px solid var(--lp-ln); }
.lp-facts > div:first-child { border-left:0; }
.lp-facts dt { font-size:.8rem; color:var(--lp-mu); font-weight:500; }
.lp-facts dd { font-weight:600; letter-spacing:-.015em; }
.lp-tl { position:relative; display:flex; flex-direction:column; }
.lp-tl > li { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; padding:16px 0; border-top:1px solid var(--lp-ln); }

/* artykuł i dokument */
.lp-art { max-width:700px; font-size:1.12rem; line-height:1.7; color:var(--lp-tx2); }
.lp-art h2 { font-size:clamp(26px,2.4vw,32px); letter-spacing:-.03em; line-height:1.15; color:var(--lp-tx); margin:2em 0 .6em; scroll-margin-top:96px; }
.lp-art h3 { font-size:1.3rem; letter-spacing:-.02em; color:var(--lp-tx); margin:1.6em 0 .5em; }
.lp-art p { margin:0 0 1.15em; }
.lp-art ul { list-style:disc; padding-left:1.3em; margin:0 0 1.2em; }
.lp-art ol { list-style:decimal; padding-left:1.3em; margin:0 0 1.2em; }
.lp-art li { margin-bottom:.4em; }
/* tylko zwykłe linki w treści; przyciski i karty (z klasą) mają własny styl */
.lp-art a:not([class]) { color:var(--lp-at); text-decoration:underline; text-underline-offset:3px; }
.lp-art blockquote { margin:1.6em 0; padding:4px 0 4px 24px; border-left:3px solid #00d6d8; font-size:1.3rem; line-height:1.45; color:var(--lp-tx); letter-spacing:-.02em; }
.lp-toc { display:flex; flex-direction:column; gap:2px; font-size:.92rem; }
.lp-toc a { display:block; padding:8px 12px; border-radius:10px; color:var(--lp-mu); transition:background .2s,color .2s; }
.lp-toc a:hover { color:var(--lp-tx); background:color-mix(in srgb,var(--lp-tx) 5%,transparent); }
.lp-toc a.is-on { color:var(--lp-tx); font-weight:600; background:color-mix(in srgb,var(--lp-tx) 7%,transparent); }
.lp-tldr { display:flex; flex-direction:column; gap:10px; padding:22px 24px; border-radius:20px; background:var(--lp-sf); box-shadow:inset 4px 0 0 #00d6d8; font-size:1rem; line-height:1.55; color:var(--lp-tx2); }
.lp-tldr b { color:var(--lp-tx); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.lp-tldr ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.lp-tldr li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; margin:0; }
.lp-tldr .lp-ic { width:18px; height:18px; color:var(--lp-at); margin-top:2px; }
.lp-author { display:flex; align-items:center; gap:14px; }
.lp-author img { width:48px; height:48px; border-radius:50%; object-fit:cover; object-position:60% 25%; }
.lp-author b { display:block; font-size:.98rem; letter-spacing:-.01em; }
.lp-author span { font-size:.85rem; color:var(--lp-mu); }
.lp-share { display:flex; gap:8px; }

/* stopka */
.lp-ft { background:#020304; color:#f4f6f6; }
.lp-ft .lp-logo { font-size:38px; color:#f4f6f6; } .lp-ft .lp-logo svg { width:42px; height:42px; }
.lp-ft h2 { font-size:.85rem; font-weight:600; color:#93a8ad; margin-bottom:14px; letter-spacing:0; }

/* tablet */
@media (max-width:1000px) {
  .lp-grid > * { grid-column:span 12; }
  .lp-sticky { position:static; }
  .lp-phil { grid-template-columns:1fr; }
  .lp-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lp-facts > div:nth-child(3) { border-left:0; }
  .lp-facts > div:nth-child(n+3) { border-top:1px solid var(--lp-ln); }}
@media (max-width:860px) { .lp-flow { display:none; } .lp-dirs { grid-template-columns:1fr; } .lp-p4 { grid-template-columns:repeat(2,minmax(0,1fr)); }}
/* telefon */
@media (max-width:640px) {
  body.d240-site { font-size:16px; }
  .lp-wrap { width:calc(100% - 32px); }
  .lp { padding-top:12px; }
  .lp-grid { gap:14px; }
  .lp-tile,
.lp-about,
.lp-cover { border-radius:22px; }
  .lp-tile { padding:22px; }
  .lp-ib { width:42px; height:42px; }
  .lp-lang a { min-width:32px; height:36px; padding:0 7px; font-size:.75rem; }
  .lp-seg--tabs { width:100%; }
  .lp-dirs { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:-22px; padding:0 22px 4px; scrollbar-width:none; }
  .lp-dirs::-webkit-scrollbar { display:none; }
  .lp-dirs .lp-dir { flex:0 0 82%; scroll-snap-align:start; }
  .lp-p4, .lp-cards.is-rail { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:-22px; padding-inline:22px; scrollbar-width:none; }
  .lp-p4::-webkit-scrollbar, .lp-cards.is-rail::-webkit-scrollbar { display:none; }
  .lp-p4 > li { flex:0 0 62%; scroll-snap-align:start; }
  .lp-cards.is-rail > li { flex:0 0 84%; scroll-snap-align:start; }
  .lp-pic { min-height:300px; order:-1; }
  .lp-row { min-height:50px; }
  .lp-phil__items { grid-template-columns:1fr; }
  .lp-nf { grid-template-columns:88px minmax(0,1fr); } .lp-nf img { width:88px; height:66px; }
  .lp-prow { grid-template-columns:104px minmax(0,1fr); gap:14px; padding:18px 0; align-items:start; }
  .lp-prow h3 { font-size:1.08rem; } .lp-prow p { display:none; }
  .lp-tl > li { grid-template-columns:1fr; gap:4px; }
  .lp-facts { grid-template-columns:1fr; }
  .lp-facts > div { border-left:0; border-top:1px solid var(--lp-ln); } .lp-facts > div:first-child { border-top:0; }
  .lp-art { font-size:1.06rem; }
  .lp-tldr { padding:18px; }}
@media (prefers-reduced-motion:reduce) { body.d240-site *, body.d240-site *::before { animation:none !important; transition:none !important; }}
.lp-ib .d240-cart-count { position:absolute; top:4px; right:2px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#00d6d8; color:#020304; font-size:.68rem; font-weight:700; display:grid; place-items:center; line-height:1; }
.lp-ft a:focus-visible { outline:2px solid #00d6d8; outline-offset:4px; }
.lp-ft__cky:focus-visible { outline:2px solid #00d6d8; outline-offset:4px; }
/* pasek postępu czytania: dolna krawędź przyklejonego nagłówka (wpis, wydanie AI News) */
.lp-readbar { position:absolute; left:0; right:0; bottom:-1px; height:3px; pointer-events:none; }
.lp-readbar i { display:block; height:100%; background:#00d6d8; transform:scaleX(0); transform-origin:left; transition:transform .12s linear; }
@media (max-width:360px) {
  .lp-lang a { min-width:30px; padding:0 6px; }}

/* baner i preferencje CookieYes */
body.d240-site .cky-consent-container .cky-consent-bar, body.d240-site .cky-modal .cky-preference-center { background:var(--lp-sf) !important; color:var(--lp-tx) !important; border:1px solid var(--lp-ln) !important; border-radius:24px !important; box-shadow:0 24px 60px -24px rgba(2,3,4,.35) !important; font-family:Inter,Arial,sans-serif !important; }
body.d240-site .cky-consent-container .cky-consent-bar { padding:24px !important; }
body.d240-site :is(.cky-consent-container .cky-title, .cky-modal .cky-preference-title, .cky-modal .cky-accordion-btn) { font-family:Inter,Arial,sans-serif !important; font-weight:700 !important; letter-spacing:-.02em; text-transform:none; color:var(--lp-tx) !important; }
body.d240-site .cky-consent-container .cky-title { font-size:1.15rem !important; }
body.d240-site :is(.cky-consent-container, .cky-modal) a { color:var(--lp-at) !important; text-underline-offset:2px; }
body.d240-site :is(.cky-consent-container .cky-notice-des, .cky-modal .cky-preference-content-wrapper) { color:var(--lp-tx2) !important; font-size:.92rem !important; line-height:1.5 !important; }
body.d240-site :is(.cky-consent-container, .cky-modal) .cky-btn { min-height:44px !important; padding:0 20px !important; border:1px solid var(--lp-ln2) !important; border-radius:999px !important; background:transparent !important; color:var(--lp-tx) !important; font-family:Inter,Arial,sans-serif !important; font-size:.92rem !important; font-weight:600 !important; letter-spacing:0; text-transform:none; transition:background .2s,border-color .2s; }
body.d240-site :is(.cky-consent-container, .cky-modal) .cky-btn:is(:hover,:focus-visible) { background:color-mix(in srgb,var(--lp-tx) 5%,transparent) !important; outline:none !important; border-color:var(--lp-tx) !important; }
body.d240-site :is(.cky-consent-container, .cky-modal) .cky-btn-accept { background:#00d6d8 !important; border-color:#00d6d8 !important; color:#020304 !important; }
body.d240-site :is(.cky-consent-container, .cky-modal) .cky-btn-accept:is(:hover,:focus-visible) { background:#00d6d8 !important; border-color:var(--lp-tx) !important; opacity:.9 !important; }
/* pływający przycisk zasłaniał treść i pasek zakupu; zgodę zmienia się linkiem „Ustawienia cookies” w stopce */
body.d240-site .cky-btn-revisit-wrapper { display:none !important; }
/* opisy kategorii i tabela plików cookie w oknie ustawień: CookieYes wpisuje własne kolory (#212121, #f4f4f4), tu tokeny obu motywów */
body.d240-site .cky-modal :is(.cky-accordion-header-des, .cky-accordion-header-des *, .cky-accordion-body, .cky-accordion-body p) { color:var(--lp-tx2) !important; }
body.d240-site .cky-modal .cky-audit-table { background:color-mix(in srgb,var(--lp-tx) 5%,var(--lp-sf)) !important; }
body.d240-site .cky-modal .cky-audit-table * { color:var(--lp-tx2) !important; }
body.d240-site .cky-modal .cky-footer-shadow { background:linear-gradient(transparent,var(--lp-sf)) !important; }
html[data-theme="dark"] body.d240-site .cky-modal .cky-always-active { color:#00d6d8 !important; }
html[data-theme="dark"] body.d240-site .cky-modal :is(.cky-btn-close img, .cky-accordion-chevron) { filter:invert(1); }
body.d240-site .cky-modal .cky-switch input[type="checkbox"]:checked { background:#00d6d8 !important; }
@media (max-width:576px) { body.d240-site .cky-consent-container .cky-consent-bar { border-radius:24px 24px 0 0 !important; box-shadow:0 -12px 40px -20px rgba(2,3,4,.35) !important; }}

/* link „Przejdź do treści” */
.skip-link:not(:focus) { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:9999; top:12px; left:12px; padding:12px 18px; border-radius:999px; background:#f2e500; color:#020304; font-weight:700; }

/* układ: pomocnicze klasy zamiast stylów w szablonach */
.lp-stack { display:flex; flex-direction:column; gap:20px; }
.lp-col { display:flex; flex-direction:column; gap:14px; }
.lp-split { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px 48px; }

/* karuzele poza kafelkami: wysunięcie do krawędzi ekranu równe marginesowi strony (16 px na telefonie) */
@media (max-width:640px) {
  .lp-stack > section > .lp-cards.is-rail, .lp-stack > .lp-cards.is-rail, .lp-stack > section > .lp-p4, .lp-stack > section > .of-dirs { margin-inline:-16px; padding-inline:16px; }}

/* widoczny fokus z klawiatury na całym portalu */
body.d240-site :is(a,button,summary,select,textarea,input,[tabindex]):focus-visible { outline:2px solid var(--lp-at); outline-offset:3px; }
body.d240-site .lp-tile--k :is(a,button):focus-visible, body.d240-site .lp-ft :is(a,button):focus-visible, body.d240-site .lp-cover :is(a,button):focus-visible { outline-color:#00d6d8; }

/* stopka na telefonie: zwarta — listy w dwóch kolumnach, profile jako ikony, krótsza stopka dolna */
@media (max-width:640px) {
  .lp-ft .lp-logo { font-size:30px; } .lp-ft .lp-logo svg { width:32px; height:32px; }
  .lp-ft h2 { margin-bottom:4px; }}

/* newsletter (formularz z Core) — wszędzie ten sam: pole + przycisk systemowy, krótka zgoda, drobna informacja */
.d240-newsletter { max-width:none; display:flex; flex-direction:column; gap:12px; }
.d240-newsletter > label:first-child { margin:0; font-size:.9rem; font-weight:600; color:var(--lp-tx); }
.d240-newsletter .newsletter-input-row { display:flex; gap:6px; margin:0; padding:5px; border-radius:999px; background:var(--lp-bg); border:1px solid var(--lp-ln); transition:border-color .2s; }
.d240-newsletter .newsletter-input-row:focus-within { border-color:var(--lp-at); }
.d240-newsletter .newsletter-input-row input { flex:1; width:auto; min-width:0; height:46px; padding:0 16px; border:0; border-radius:999px; background:none; color:var(--lp-tx); font:inherit; font-size:16px; outline:none; }
.d240-newsletter .newsletter-input-row button { flex:none; display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 22px; border:0; border-radius:999px; background:#00d6d8; color:#020304; font:inherit; font-size:.95rem; font-weight:600; white-space:nowrap; cursor:pointer; transition:opacity .2s; }
.d240-newsletter .newsletter-input-row button:hover { opacity:.88; }
.d240-newsletter .newsletter-input-row button[disabled] { opacity:.5; }
.d240-newsletter label.newsletter-consent { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; align-items:start; margin:0; font-size:.9rem; font-weight:500; line-height:1.45; color:var(--lp-tx2); cursor:pointer; }
.d240-newsletter .newsletter-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:#00d6d8; }
.d240-newsletter p.newsletter-consent { font-size:.78rem; line-height:1.5; color:var(--lp-mu); }
.d240-newsletter a { color:var(--lp-at); text-decoration:underline; text-underline-offset:2px; }
.d240-newsletter [data-newsletter-status]:empty { display:none; }
.d240-newsletter [data-newsletter-status]:not(:empty) { font-size:.92rem; color:var(--lp-tx); font-weight:600; }
@media (max-width:640px) {
  .d240-newsletter .newsletter-input-row { flex-direction:column; gap:8px; padding:0; border:0; border-radius:0; background:none; }
  .d240-newsletter .newsletter-input-row input { flex:none; height:52px; border:1px solid var(--lp-ln); background:var(--lp-bg); }
  .d240-newsletter .newsletter-input-row input:focus { border-color:var(--lp-at); }
  .d240-newsletter .newsletter-input-row button { height:52px; width:100%; }}
@media (max-width:640px) { .lp-about { min-height:400px; }}

/* spis treści z numerami (wpis, wydanie AI News, dokument) i ten sam numer nad nagłówkiem sekcji we wpisie */
.lp-toc--num a { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; align-items:baseline; }
.lp-tn { font-family:'IBM Plex Mono',Consolas,monospace; font-size:.78rem; font-weight:600; color:var(--lp-at); }
.art-body--num { counter-reset:sec; }
.art-body--num > h2 { counter-increment:sec; }
.art-body--num > h2::before { content:counter(sec, decimal-leading-zero); display:block; margin-bottom:10px; font-family:'IBM Plex Mono',Consolas,monospace; font-size:.8rem; font-weight:600; letter-spacing:.02em; color:var(--lp-at); }