/* Blog i raporty rynku ABM: ta sama powłoka co strona główna (kosmos, Funnel Display/Sans, brzoskwinia), układ do długiego czytania.
   Spis treści po lewej przykleja się do ekranu i podświetla bieżący rozdział (blog.js); poniżej 1040 px staje nad tekstem. */
:root {
  --kosmos: #04060C; --kosmos-2: #0A0E18; --kosmos-3: #111725;
  --gwiazda: #EEF1F7; --tekst: #D5DBE6; --szary: #9AA4B6; --szary-2: #6F7A8E;
  --krawedz: rgba(238, 241, 247, .09); --krawedz-2: rgba(238, 241, 247, .16);
  --brzoskwinia: #FF7D6B; --brzoskwinia-jasna: #FFB199; --mieta: #4CC9A4; --niebo: #4F8DF7; --zloto: #E2B654;
  --f-display: "Funnel Display", system-ui, sans-serif; --f-body: "Funnel Sans", system-ui, sans-serif;
  --ruch: cubic-bezier(.2, .8, .2, 1);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: radial-gradient(1200px 700px at 70% -200px, rgba(79, 141, 247, .10), transparent 70%), var(--kosmos); color: var(--tekst); font: 400 17px/1.6 var(--f-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
.b-wnetrze { width: min(1200px, 100% - 32px); margin-inline: auto; }

/* Pasek i stopka */
.b-pasek { position: sticky; top: 0; z-index: 30; background: rgba(4, 6, 12, .78); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--krawedz); }
.b-pasek__w { display: flex; align-items: center; gap: 24px; min-height: 68px; }
.b-marka { display: flex; align-items: center; }
.b-marka svg { height: 26px; width: auto; }
.b-menu { display: flex; gap: 4px; margin-left: auto; }
.b-menu a { padding: 8px 12px; border-radius: 10px; color: var(--szary); text-decoration: none; font-size: 15px; transition: color .2s, background .2s; }
.b-menu a:hover { color: var(--gwiazda); background: rgba(238, 241, 247, .06); }
.b-przycisk { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 20px; border-radius: 14px; font: 600 15px/1 var(--f-body); text-decoration: none; white-space: nowrap; transition: background .2s, box-shadow .3s var(--ruch); }
.b-przycisk--glowny { background: var(--brzoskwinia); color: #1A0D0A; }
.b-przycisk--glowny:hover { background: #FF907F; box-shadow: 0 10px 30px rgba(255, 125, 107, .28); }
.b-przycisk--cichy { border: 1px solid var(--krawedz-2); color: var(--gwiazda); }
.b-przycisk--cichy:hover { background: rgba(238, 241, 247, .06); }
.b-pasek .b-przycisk { padding: 11px 16px; font-size: 14.5px; }
@media (max-width: 760px) { .b-menu { display: none; } .b-pasek__w { justify-content: space-between; } }
.b-stopka { margin-top: 96px; padding: 32px 0 48px; color: var(--szary-2); font-size: 14px; }
.b-stopka__w { display: flex; flex-wrap: wrap; gap: 20px 40px; justify-content: space-between; align-items: center; border-top: 1px solid var(--krawedz); padding-top: 28px; }
.b-stopka nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.b-stopka nav a { text-decoration: none; color: var(--szary); }
.b-stopka nav a:hover { color: var(--gwiazda); }
.b-podglad { background: var(--zloto); color: #241A04; text-align: center; font-weight: 600; font-size: 14px; padding: 10px 16px; }

/* Nagłówek wpisu */
.b-wpis__glowa { max-width: 880px; padding-top: 56px; }
.b-okruchy { margin: 0 0 20px; font-size: 14px; color: var(--szary-2); }
.b-okruchy a { color: var(--brzoskwinia-jasna); text-decoration: none; }
.b-okruchy a:hover { text-decoration: underline; }
.b-wpis h1, .b-lista h1 { margin: 0; font: 600 clamp(34px, 5vw, 58px)/1.04 var(--f-display); letter-spacing: -.03em; color: var(--gwiazda); text-wrap: balance; }
.b-lead { margin: 22px 0 0; font-size: clamp(18px, 2vw, 21px); line-height: 1.55; color: var(--szary); max-width: 720px; text-wrap: pretty; }
.b-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 26px 0 0; font-size: 14px; color: var(--szary-2); }
.b-meta span + span::before { content: "·"; margin-right: 18px; color: var(--krawedz-2); }
.b-okladka { margin-top: 40px; margin-bottom: 0; }
.b-okladka img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 24px; border: 1px solid var(--krawedz); }
.b-okladka figcaption { margin-top: 10px; font-size: 13px; color: var(--szary-2); }
.b-okladka figcaption a { color: var(--szary); }

/* Układ: spis treści + tekst */
.b-uklad { display: grid; grid-template-columns: 250px minmax(0, 700px); gap: 72px; justify-content: center; margin-top: 56px; }
.b-spis { position: sticky; top: 100px; align-self: start; max-height: calc(100vh - 124px); overflow: auto; padding-right: 8px; scrollbar-width: thin; }
.b-spis__tytul { margin: 0 0 14px; font: 600 12px/1.4 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--szary-2); }
.b-spis ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--krawedz); counter-reset: r; }
.b-spis li { counter-increment: r; }
.b-spis a { position: relative; display: block; padding: 8px 0 8px 18px; margin-left: -1px; border-left: 2px solid transparent; color: var(--szary-2); text-decoration: none; font-size: 14.5px; line-height: 1.4; transition: color .25s, border-color .25s; }
.b-spis a::before { content: counter(r, decimal-leading-zero); display: block; font: 500 11px/1 var(--f-body); letter-spacing: .06em; margin-bottom: 4px; color: inherit; opacity: .7; }
.b-spis a:hover { color: var(--gwiazda); }
.b-spis a[aria-current="true"] { color: var(--gwiazda); border-left-color: var(--brzoskwinia); }
.b-spis a[aria-current="true"]::before { color: var(--brzoskwinia); opacity: 1; }
.b-spis__postep { margin-top: 20px; height: 3px; border-radius: 3px; background: var(--krawedz); overflow: hidden; }
.b-spis__postep i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--brzoskwinia), var(--brzoskwinia-jasna)); transform-origin: left; transform: scaleX(var(--postep, 0)); }
@media (max-width: 1040px) {
  .b-uklad { grid-template-columns: minmax(0, 700px); gap: 0; }
  .b-spis { position: static; max-height: none; margin-bottom: 40px; padding: 20px 22px; border: 1px solid var(--krawedz); border-radius: 18px; background: var(--kosmos-2); }
  .b-spis__postep { display: none; }
}

/* Treść */
.b-tresc { font-size: 18.5px; line-height: 1.75; color: var(--tekst); min-width: 0; }
.b-tresc > p:first-child { margin-top: 0; }
.b-tresc p { margin: 0 0 1.25em; text-wrap: pretty; }
.b-tresc h2 { margin: 2.4em 0 .7em; font: 600 clamp(26px, 3vw, 34px)/1.15 var(--f-display); letter-spacing: -.02em; color: var(--gwiazda); text-wrap: balance; }
.b-tresc h3 { margin: 1.9em 0 .5em; font: 600 21px/1.3 var(--f-display); color: var(--gwiazda); }
.b-tresc strong { color: var(--gwiazda); font-weight: 600; }
.b-tresc a { color: var(--brzoskwinia-jasna); text-decoration: underline; text-decoration-color: rgba(255, 177, 153, .4); text-underline-offset: 3px; }
.b-tresc a:hover { text-decoration-color: currentColor; }
.b-tresc ul, .b-tresc ol { margin: 0 0 1.4em; padding-left: 1.3em; }
.b-tresc li { margin-bottom: .55em; padding-left: .2em; }
.b-tresc li::marker { color: var(--brzoskwinia); }
.b-tresc sup, .b-tresc figcaption sup { font-size: .68em; line-height: 0; vertical-align: baseline; position: relative; top: -.55em; }
.b-tresc sup a { text-decoration: none; padding: 0 1px; }
.b-tresc blockquote { margin: 2em 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--brzoskwinia); font: 500 23px/1.45 var(--f-display); color: var(--gwiazda); }
.b-tresc figure { margin: 2.4em 0; }
.b-tresc figure img, .b-tresc figure svg { width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--krawedz); background: var(--kosmos-2); }
.b-tresc figcaption { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--szary-2); }
.b-ramka { margin: 2em 0; padding: 24px 26px; border-radius: 18px; background: var(--kosmos-2); border: 1px solid var(--krawedz); }
.b-ramka > :last-child { margin-bottom: 0; }
.b-ramka__nad { display: block; margin-bottom: 8px; font: 600 12px/1.4 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--mieta); }
.b-ramka--radar { border-color: rgba(255, 125, 107, .28); background: linear-gradient(160deg, rgba(255, 125, 107, .08), transparent 60%), var(--kosmos-2); }
.b-ramka--radar .b-ramka__nad { color: var(--brzoskwinia); }
.b-liczby { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 2em 0; }
.b-liczba { padding: 20px; border-radius: 18px; background: var(--kosmos-2); border: 1px solid var(--krawedz); }
.b-liczba b { display: block; font: 600 40px/1 var(--f-display); letter-spacing: -.03em; color: var(--gwiazda); }
.b-liczba span { display: block; margin-top: 10px; font-size: 14.5px; line-height: 1.45; color: var(--szary); }
.b-tabela { width: 100%; margin: 2em 0; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.b-tabela th, .b-tabela td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--krawedz); }
.b-tabela th { font-weight: 600; color: var(--gwiazda); font-size: 14px; }
.b-tabela-ramka { overflow-x: auto; }

/* Pobranie raportu, CTA, źródła */
.b-pobierz { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin: 3em 0 1em; padding: 28px; border-radius: 22px; background: var(--kosmos-3); border: 1px solid var(--krawedz-2); }
.b-pobierz p { margin: 0; font-size: 15.5px; color: var(--szary); }
.b-pobierz__nad { font: 600 12px/1.4 var(--f-body) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--mieta) !important; }
.b-pobierz__tytul { margin: 6px 0 6px !important; font: 600 22px/1.25 var(--f-display) !important; color: var(--gwiazda) !important; }
@media (max-width: 640px) { .b-pobierz { flex-direction: column; align-items: stretch; } }
.b-cta { margin: 3.5em 0 0; padding: 36px; border-radius: 24px; border: 1px solid rgba(255, 125, 107, .3); background: radial-gradient(600px 300px at 100% 0%, rgba(255, 125, 107, .16), transparent 70%), var(--kosmos-2); }
.b-cta p { margin: 0 0 14px; font-size: 16.5px; color: var(--szary); }
.b-cta__nad { font: 600 12px/1.4 var(--f-body) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--brzoskwinia) !important; }
.b-cta__tytul { font: 600 clamp(24px, 3vw, 30px)/1.15 var(--f-display) !important; letter-spacing: -.02em; color: var(--gwiazda) !important; text-wrap: balance; }
.b-cta__przyciski { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.b-zrodla { margin-top: 3.5em; padding-top: 8px; font-size: 14.5px; line-height: 1.55; color: var(--szary-2); }
.b-zrodla h2 { font-size: 20px; margin: 1em 0 .8em; }
.b-zrodla ol { padding-left: 1.4em; }
.b-zrodla li { margin-bottom: .6em; }
.b-zrodla li:target { color: var(--gwiazda); }
.b-zrodla a { color: var(--szary); }

/* Karty wpisów: lista i „Czytaj także” */
.b-lista__glowa { max-width: 820px; padding-top: 64px; }
.b-nad { margin: 0 0 16px; font: 600 13px/1.4 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--brzoskwinia); }
.b-karty { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.b-karty--lista { margin-top: 48px; }
.b-karta { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: var(--kosmos-2); border: 1px solid var(--krawedz); text-decoration: none; transition: border-color .25s, transform .35s var(--ruch); }
.b-karta:hover { border-color: var(--krawedz-2); transform: translateY(-3px); }
.b-karta img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.b-karta__kat { margin: 20px 22px 0; font: 600 12px/1.4 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--brzoskwinia); }
.b-karta__tytul { margin: 8px 22px 0; font: 600 21px/1.25 var(--f-display); color: var(--gwiazda); }
.b-karta__opis { margin: 10px 22px 0; font-size: 15px; line-height: 1.55; color: var(--szary); }
.b-karta__meta { margin: auto 22px 20px; padding-top: 16px; font-size: 13px; color: var(--szary-2); }
.b-inne { margin-top: 96px; }
.b-inne h2 { margin: 0 0 24px; font: 600 28px/1.2 var(--f-display); color: var(--gwiazda); }
.b-pusto, .b-brak { color: var(--szary); }
.b-brak { padding-top: 96px; min-height: 40vh; }
.b-brak h1 { font: 600 40px/1.1 var(--f-display); color: var(--gwiazda); }
.b-brak a { color: var(--brzoskwinia-jasna); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
/* Przyciski w treści (ramka na końcu, pobranie raportu) nie dziedziczą wyglądu linków z tekstu. */
.b-tresc a.b-przycisk { text-decoration: none; }
.b-tresc a.b-przycisk--glowny { color: #1A0D0A; }
.b-tresc a.b-przycisk--cichy { color: var(--gwiazda); }
/* Podgląd stron raportu w zapowiedzi: dwie strony A4 obok siebie, lekko nachodzące, jak rozłożony dokument. */
.b-strony > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 28px; border-radius: 18px; background: radial-gradient(500px 260px at 50% 0%, rgba(255,125,107,.14), transparent 70%), var(--kosmos-2); border: 1px solid var(--krawedz); }
.b-tresc .b-strony img { border-radius: 6px; border: 0; box-shadow: 0 18px 40px rgba(0,0,0,.45); background: none; }
.b-strony img:first-child { transform: rotate(-1.2deg); } .b-strony img:last-child { transform: rotate(1.2deg) translateY(10px); }
