/* Blok Tekst ze zdjęciem: tekst w lewej kolumnie, zdjęcie na wysokość tekstu po prawej (reverse: po lewej). */
.rg-media-story__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); align-items: stretch; }
.rg-media-story--reverse .rg-media-story__photo { order: -1; }
.rg-media-story__copy { display: flex; flex-direction: column; align-items: flex-start; }
.rg-media-story__copy .section-head { margin-bottom: 0; }
.rg-media-story__copy :is(.section-head__lead, .rg-media-story__text) { max-width: 600px; color: var(--color-text-soft); font-size: var(--text-body); line-height: 1.65; }
.rg-media-story__text { margin-top: var(--space-3); }

.rg-media-story__tags { display: grid; grid-template-columns: repeat(4, max-content); gap: var(--space-2); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.rg-media-story__tags li {
  padding: 9px 14px; border: 1px solid var(--color-line-strong); border-radius: var(--radius-control);
  background: var(--color-surface-2); font-size: var(--text-small); font-weight: var(--weight-semibold); line-height: 1.6;
}

.rg-media-story__ratings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); width: 100%; max-width: 600px; margin-top: var(--space-5); }
.rg-rating {
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "label label" "value name" "value stars";
  align-items: center; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-card);
  background: var(--color-surface-2);
}
.rg-rating__label {
  grid-area: label; margin-bottom: var(--space-1);
  color: var(--color-red-bright); font-weight: var(--weight-medium); letter-spacing: var(--tracking-label); line-height: 1.6;
  text-transform: uppercase; white-space: nowrap;
}
.rg-rating__value { grid-area: value; display: flex; color: #fff; align-items: baseline; gap: 4px; font-size: 36px; font-weight: var(--weight-bold); line-height: 1; letter-spacing: -.045em; }
.rg-rating__value small { color: #fff; font-size: .7em; letter-spacing: -.02em; }
.rg-rating__name { grid-area: name; font-size: 16px; font-weight: var(--weight-medium); line-height: 1.35; white-space: nowrap; }
.rg-rating__stars {
  grid-area: stars; position: relative; justify-self: start;
  color: rgba(255, 255, 255, .22); font-size: 15px; letter-spacing: .18em; line-height: 1;
}
.rg-rating__stars::before {
  content: "★★★★★"; position: absolute; inset: 0 auto 0 0; width: var(--rating, 100%); overflow: hidden;
  color: var(--color-star); white-space: nowrap;
}

.rg-media-story__button { margin-top: var(--space-5); }
.rg-media-story__photo { overflow: hidden; border-radius: var(--radius-card); }
.rg-media-story__photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--photo-focus, 50% 50%); }

/* Układ v4 (podstrony Transportu) */
@media (min-width: 811px) {
  /* Tekst od góry sekcji, nie wyśrodkowany względem zdjęcia (obecna strona od 26.10; wcześniej przy 1440 i 1920 etykieta stała 66 px od góry). */
  .rg-media-story--v4 .rg-media-story__grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 57.6px; align-items: start; }
}
.rg-media-story--v4 .rg-media-story__photo { min-height: 396px; }
.rg-media-story--v4 .rg-media-story__copy { display: block; }
.rg-media-story--v4 .rg-media-story__copy :is(.section-head__lead, .rg-media-story__text) { max-width: 35em; line-height: 1.6; }
.rg-media-story--v4 .rg-media-story__photo img { height: auto; min-height: 100%; }
.rg-media-story--v4 .rg-media-story__photo--ratio { min-height: 0; aspect-ratio: var(--photo-ratio); }
.rg-media-story--v4 .rg-media-story__photo--ratio img { height: 100%; }
.rg-media-story--v4 .rg-media-story__button { display: flex; width: fit-content; margin-top: var(--space-5); } /* blokowy: margines akapitu nad nim się składa */
/* Akapity v4: 12,6 px pod każdym akapitem (jak p.lead na obecnej stronie), 14 px na tablecie i telefonie. */
.rg-media-story--v4 .rg-media-story__copy :is(.section-head__lead, .rg-media-story__text) { margin-bottom: 12.6px; }
.rg-media-story--v4 .rg-media-story__text { margin-top: 0; }
@media (max-width: 1024px) {
  .rg-media-story--v4 .rg-media-story__copy :is(.section-head__lead, .rg-media-story__text) { margin-bottom: 14px; }
}

/* Liczby (np. flota w liczbach): wartość nad opisem, linia nad każdą pozycją */
.rg-media-story__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin: var(--space-6) 0 0; }
.rg-media-story__figures > div { display: flex; flex-direction: column; padding-top: 20px; border-top: 1px solid var(--color-line-strong); }
.rg-media-story__figures dt { order: 2; max-width: 246px; margin-top: var(--space-3); color: var(--color-text-soft); line-height: 1.5; }
.rg-media-story__figures dd { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.rg-media-story__figures strong { font-size: clamp(36px, 3.5vw, 50.4px); font-weight: var(--weight-semibold); line-height: 1.15; letter-spacing: -.04em; }
.rg-media-story__figures dd span { color: var(--color-text-soft); font-size: 18px; }

@media (max-width: 1100px) {
  .rg-media-story__tags { grid-template-columns: repeat(2, max-content); }
}
@media (max-width: 810px) {
  .rg-media-story__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .rg-media-story--reverse .rg-media-story__photo { order: 0; }
  .rg-media-story__photo { aspect-ratio: 4 / 3; }
  .rg-media-story__tags li { padding: 10px 16px; }
  .rg-media-story--v4 .rg-media-story__grid { gap: var(--space-6); }
  .rg-media-story--v4 .rg-media-story__photo:not(.rg-media-story__photo--ratio) { min-height: 440px; aspect-ratio: auto; }
  .rg-media-story--v4 .rg-media-story__photo img { height: 100%; object-position: var(--photo-focus-mobile, var(--photo-focus, 50% 50%)); }
  .rg-media-story__figures { gap: 20px; margin-top: var(--space-5); }
  .rg-media-story__figures dt { font-size: var(--text-small); }
}
@media (max-width: 480px) {
  .rg-media-story__ratings { grid-template-columns: minmax(0, 1fr); width: auto; }
}

/* ===== Diagramy (pole diagram): rysunek w karcie zamiast zdjęcia, kolumny po równo.
   Rysunki i ich klasy (d5-*, e6-*) pochodzą z obecnej strony. Grafika i animacja wspólne: assets/css/diagram.css
   i assets/js/diagram.js; tu ramka, napisy i układy opisów. */
@media (min-width: 1001px) {
  .rg-media-story--diagram .rg-media-story__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 57.6px; align-items: center; }
  .rg-media-story--diagram.rg-media-story--reverse .rg-media-story__diagram { order: -1; }
}
@media (max-width: 1000px) {
  .rg-media-story--diagram .rg-media-story__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .rg-media-story--diagram.rg-media-story--reverse .rg-media-story__diagram { order: 0; }
}
.rg-media-story__diagram {
  position: relative; margin: 0 0 56px;
  border: 1px solid var(--color-line-strong); border-radius: var(--radius-card); background: var(--color-surface-2);
}
.rg-media-story__diagram .d5-replay {
  position: absolute; right: 0; bottom: -48px; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; padding: 0 10px; border: 1px solid var(--color-line-strong); border-radius: var(--radius-control);
  background: var(--color-surface-2); color: var(--color-text-muted); font-size: var(--text-button); line-height: 1.4;
  cursor: pointer; opacity: 0; transition: opacity .3s, color .2s, border-color .2s;
}
.rg-media-story__diagram .d5-replay svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rg-media-story__diagram .is-done .d5-replay, .rg-media-story__diagram .d5-replay:focus-visible { opacity: 1; }
.rg-media-story__diagram .d5-replay:hover { border-color: var(--color-text-muted); color: #fff; }

/* Napisy w rysunkach (skala z diagram.js: --d5s, --d5px) */
.rg-media-story__diagram .e6-tx { font-size: calc(15px * var(--d5s, 1.45)); font-weight: 600; fill: #fff; }
.rg-media-story__diagram .e6-tx--k { font-size: calc(14px * var(--d5px, 2)); letter-spacing: .14em; font-weight: 700; }
.rg-media-story__diagram .e6-tx--s { font-size: calc(14.5px * var(--d5px, 2)); font-weight: 500; fill-opacity: .85; letter-spacing: 0; }
.rg-media-story__diagram .d5-t { font-size: calc(14.5px * var(--d5px, 2)); fill: #fff; fill-opacity: .9; font-weight: 500; }
.rg-media-story__diagram .d5-t--ink { fill: #fff; font-weight: 500; }
.rg-media-story__diagram .d5-tm { font-size: calc(14.5px * var(--d5px, 2)); font-weight: 500; fill: #fff; fill-opacity: .7; font-variant-numeric: tabular-nums; }
.rg-media-story__diagram .d5-k { font-size: calc(14.5px * var(--d5px, 2)); font-weight: 600; fill: #fff; }

/* Opisy pod rysunkiem (jednostka: kolejne etapy) */
.rg-media-story__diagram .e6-top { margin: 0 0 12px; color: var(--color-red-bright); font-size: 16px; font-weight: var(--weight-semibold); letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.rg-media-story__diagram .e6-row { display: grid; grid-template-columns: repeat(var(--n), 1fr); margin: 14px 0 0; padding: 0; list-style: none; }
.rg-media-story__diagram .e6-row li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 6px; text-align: center; }
.rg-media-story__diagram .e6-row li::before { content: ""; position: absolute; top: -14px; left: 50%; width: 1.5px; height: 10px; background: #fff; opacity: .6; }
.rg-media-story__diagram .e6-row b { color: #fff; font-size: 16px; font-weight: var(--weight-semibold); line-height: 1.4; }
.rg-media-story__diagram .e6-mobile-labels, .rg-media-story__diagram .e6-airparcel-checks, .rg-media-story__diagram .d5 > svg.e6-airparcel-mobile { display: none; }
.rg-media-story__diagram .d5[data-d5="customs"] .e6-tx--s { display: none; } /* podpisy pod rysunkiem odprawy ukryte jak na obecnej stronie */
.rg-media-story__diagram .d5[data-d5="customs"] .e6-tx--k { letter-spacing: .04em; } /* napisy wyśrodkowane (viz-customs.mjs), EKSPORT nie dochodzi do znaczka */

/* Ruch jednostki ładunkowej i etapów (rysunek „unit”) */
@keyframes e6k-unit { 0%, 10.417% { transform: translate(0, 0); animation-timing-function: var(--viz-ease); } 44.792%, 100% { transform: translate(586.2px, 0); } }
@keyframes e6k-unit-step0 { 0%, 24.604% { opacity: 1; } 30.604%, 100% { opacity: .45; } }
@keyframes e6k-unit-step1 { 0%, 24.604% { opacity: .45; } 30.604%, 69.396% { opacity: 1; } 75.396%, 100% { opacity: .45; } }
@keyframes e6k-unit-step2 { 0%, 69.396% { opacity: .45; } 75.396%, 100% { opacity: 1; } }

@media (max-width: 800px) {
  .rg-media-story__diagram .d5-replay { bottom: -46px; }
}
@media (max-width: 760px) {
  .rg-media-story__diagram .e6c { padding-bottom: 40px; }
  .rg-media-story__diagram .e6-row { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; }
  .rg-media-story__diagram .e6-row li { flex-direction: row; align-items: baseline; gap: 10px; text-align: left; }
  .rg-media-story__diagram .e6-row li::before { display: none; }
}
@media (max-width: 640px) {
  .rg-media-story__diagram .e6-mobile-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-top: 8px; color: #fff; font-size: 16px; line-height: 1.4; }
  .rg-media-story__diagram .d5[data-d5="customs"] .e6-tx--s { display: none; }
  .rg-media-story__diagram .d5[data-d5="customs"] .e6-tx--k { font-size: calc(14px * var(--d5px, 3)); letter-spacing: 0; }
  .rg-media-story__diagram .d5[data-d5="airparcel"] > svg:not(.e6-airparcel-mobile) { display: none; }
  .rg-media-story__diagram .d5[data-d5="airparcel"] > svg.e6-airparcel-mobile { display: block; width: 100%; height: auto; }
  .rg-media-story__diagram .d5[data-d5="airparcel"] :is(text.d5-tm, text.d5-k) { font-size: calc(14px * var(--d5px, 3)); }
  .rg-media-story__diagram .e6-airparcel-checks { display: grid; gap: 8px; margin: 16px 0 0; padding-left: 22px; color: #fff; font-size: 16px; line-height: 1.5; }
  .rg-media-story__diagram .e6-airparcel-checks li::marker { color: var(--color-red-bright); }
}

/* ===== Moduły kolumny tekstu (26.10: podstrony Kariery, O nas, Kontakt, Blog). Wymiary z obecnej strony
   (assets/css/components.css: dl-rows, assets/astra.css: astra-documents, astra-empty, astra-contact-direct, astra-article). */
.rg-media-story__note { margin-top: var(--space-4); }
/* Wiersze „nazwa: opis”: linia nad listą i pod każdym wierszem, nazwa w kolumnie 200 px. */
.rg-media-story__rows { margin: var(--space-5) 0 0; border-top: 1px solid var(--color-line-strong); }
.rg-media-story__rows > div { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: var(--space-4); padding: 12px 0; border-bottom: 1px solid var(--color-line-strong); }
.rg-media-story__rows dt { color: #fff; font-weight: var(--weight-medium); }
.rg-media-story__rows dd { margin: 0; color: var(--color-text-muted); }
/* Lista wypunktowana: czerwony punktor. */
.rg-media-story__list { display: grid; gap: var(--space-2); margin: var(--space-5) 0 0; padding-left: 22px; color: var(--color-text-soft); line-height: 1.6; }
.rg-media-story__list li::marker { color: var(--color-red-bright); }
/* Lista dokumentów: nazwa i opis po lewej, link po prawej w tym samym wierszu. */
.rg-media-story__documents > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-5); row-gap: var(--space-1); align-items: center; padding: 12px 0; border-top: 1px solid var(--color-line-strong); }
.rg-media-story__documents > div:last-child { border-bottom: 1px solid var(--color-line-strong); }
.rg-media-story__documents h3 { grid-column: 1; font-size: 20px; font-weight: var(--weight-medium); line-height: 1.4; }
.rg-media-story__documents > div > span { grid-column: 1; grid-row: 2; color: var(--color-text-muted); font-size: var(--text-small); line-height: 1.5; }
.rg-media-story__documents > div > a { grid-column: 2; grid-row: 1 / 3; align-self: center; padding-block: 9px; font-size: var(--text-small); text-decoration: underline; text-underline-offset: 5px; }
.rg-media-story__documents > div > a span { margin-left: .3em; text-decoration: none; }
/* Komunikat zastępczy (np. „Lista publikacji w przygotowaniu”): pole między liniami, tytuł, akapit, przycisk kontur. */
.rg-media-story__empty { max-width: 864px; padding: 36px 0; border-top: 1px solid var(--color-line-strong); border-bottom: 1px solid var(--color-line-strong); }
.rg-media-story__empty h3 { margin-bottom: 16px; font-size: var(--text-h3); font-weight: var(--weight-medium); line-height: 1.3; }
.rg-media-story__empty p { max-width: 657px; margin-bottom: 25px; color: var(--color-text-muted); line-height: 1.75; }
/* Kafelki-linki pod nagłówkiem (Grupa Regesta „Wokół potrzeb biznesu”): dwie kolumny, kafelek jak w galerii statycznej
   (assets/css/components.css: gallery-card, gallery-card--link; pages/o-nas.css: dwie kolumny obok zdjęcia). */
.rg-media-story__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.rg-media-story__tile {
  display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-6); border: 1px solid var(--color-line-strong); border-radius: var(--radius-card);
  background: linear-gradient(135deg, rgba(203, 33, 39, .16), rgba(203, 33, 39, 0) 60%), var(--color-surface);
}
.rg-media-story__tile h3 { margin-top: var(--space-3); font-size: var(--text-h3); font-weight: var(--weight-medium); line-height: 1.35; overflow-wrap: normal; hyphens: none; }
.rg-media-story__tile p { color: var(--color-text-soft); }
.rg-media-story__tile--link { position: relative; color: inherit; text-decoration: none; transition: border-color var(--duration) var(--ease); }
.rg-media-story__tile--link:is(:hover, :focus-visible) { border-color: var(--color-red); }
.rg-media-story__tile-arrow { margin-top: auto; padding-top: var(--space-3); color: var(--color-red-bright); font-size: 20px; line-height: 1; }
/* Kontakty bezpośrednie: duże podkreślone linki w jednym wierszu. */
.rg-media-story__direct { display: flex; flex-wrap: wrap; gap: 29px; margin-top: 29px; }
.rg-media-story__direct a { font-size: clamp(18px, 3vw, 28.8px); line-height: 1.4; text-decoration: underline; text-underline-offset: 7px; }
/* Treść artykułu (wysiwyg): akapity z większą interlinią, śródtytuły, przycisk z odstępem. */
.rg-media-story__article { margin-top: var(--space-3); }
.rg-media-story__article p { margin-bottom: 25px; color: var(--color-text-muted); line-height: 1.85; }
.rg-media-story__article :is(h2, h3) { margin: 43px 0 20px; font-size: 30px; font-weight: var(--weight-medium); line-height: 1.3; letter-spacing: -.02em; }
.rg-media-story__article :is(h2, h3):first-child { margin-top: 0; }
.rg-media-story__article .btn { margin-block: 22px; }
.rg-media-story__article :is(ul, ol) { margin: 0 0 25px; padding-left: 22px; color: var(--color-text-muted); line-height: 1.75; }
.rg-media-story__article li::marker { color: var(--color-red-bright); }
.rg-media-story__copy-link { margin-top: 22px; }
.rg-media-story__copy-status { min-height: 1.6em; margin-top: 0; color: var(--color-text-muted); font-size: var(--text-small); } /* pusty komunikat trzyma miejsce (jak .astra-copy-status w HTML) */
@media (max-width: 600px) {
  .rg-media-story__tiles { grid-template-columns: minmax(0, 1fr); }
  .rg-media-story__tile { padding: var(--space-5); }
  .rg-media-story__rows > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  /* Telefon: wiersze dokumentów pod sobą z większym odstępem, nazwa 24 px, link 15 px (obecna strona: assets/astra.css do 600 px). */
  .rg-media-story__documents > div { grid-template-columns: minmax(0, 1fr); row-gap: 10px; padding: 26px 0; }
  .rg-media-story__documents h3 { font-size: 24px; }
  .rg-media-story__documents > div > a { grid-column: 1; grid-row: auto; padding-block: 10px; font-size: 15px; text-underline-offset: 6px; }
  .rg-media-story__empty { padding: 25px 0; }
}

/* wide_text: tekst na całą szerokość kolumny (podstrony Kariery, O nas, Kontakt: w HTML lead ma 760 px, czyli całą kolumnę). */
.rg-media-story--v4.rg-media-story--wide-text .rg-media-story__copy :is(.section-head__lead, .rg-media-story__text) { max-width: none; }
/* wide_text: na komputerze wprowadzenie ma pod sobą 28,8 px (margines nagłówka sekcji na obecnej stronie), więc dokumenty, wiersze
   i przycisk zaczynają się o tyle niżej; na tablecie i telefonie 14 px jak wyżej. */
@media (min-width: 1025px) {
  .rg-media-story--v4.rg-media-story--wide-text .rg-media-story__copy .section-head__lead { margin-bottom: 28.8px; }
}
/* wide_text: gdy kolumna tekstu jest wyższa niż zdjęcie w proporcji, zdjęcie wypełnia wysokość wiersza (kadr z focus),
   jak na obecnych podstronach O nas (dokumenty, kafelki Grupy); przy krótszym tekście wysokość nadal z proporcji. */
@media (min-width: 811px) {
  /* Proporcja na obrazku, nie na ramce: ramka rozciąga się do wiersza (align-self), a proporcja z ramki przenosiłaby się na jej szerokość i wypychała zdjęcie poza kolumnę. */
  .rg-media-story--v4.rg-media-story--wide-text .rg-media-story__photo--ratio { align-self: stretch; min-height: 0; aspect-ratio: auto; }
  .rg-media-story--v4.rg-media-story--wide-text .rg-media-story__photo--ratio img { width: 100%; height: 100%; aspect-ratio: var(--photo-ratio); }
}
/* wide_text: przycisk bezpośrednio pod wierszami, listą, dokumentami albo kafelkami ma 12 px odstępu (jak .btn w kolumnie tekstu na obecnej stronie). */
.rg-media-story--v4.rg-media-story--wide-text :is(.rg-media-story__rows, .rg-media-story__list, .rg-media-story__documents, .rg-media-story__tiles) + .rg-media-story__button { margin-top: 12px; }
/* Komunikat zastępczy pod nagłówkiem w układzie podstron Kariery: 29 px odstępu jak section-head na obecnej stronie. */
.rg-media-story--photo-tall .rg-media-story__empty { margin-top: 29px; }
/* photo_mobile_tall: na telefonie zdjęcie zawsze 440 px (także pionowe, kadr object-fit) jak obecne podstrony Kariery,
   a kolumna tekstu z odstępami tych stron: 32 px pod nagłówkiem, przycisk 12 px niżej, komunikat zastępczy 28 px. */
@media (max-width: 810px) {
  .rg-media-story--photo-tall .rg-media-story__empty { margin-top: 0; } /* na telefonie odstęp daje nagłówek (32 px) */
  .rg-media-story--v4.rg-media-story--photo-tall .rg-media-story__photo--ratio { height: 440px; min-height: 0; aspect-ratio: auto; }
  .rg-media-story--photo-tall .rg-media-story__copy .section-head { margin-bottom: 32px; }
  .rg-media-story--photo-tall .rg-media-story__button { margin-top: 44px; } /* 32 px nagłówka + 12 px przycisku (przycisk blokowy, marginesy się nie składają) */
  .rg-media-story--photo-tall .rg-media-story__empty { padding: 28px 0; }
  .rg-media-story--photo-tall .rg-media-story__empty h3 { margin-bottom: 18px; }
  .rg-media-story--photo-tall .rg-media-story__empty p { margin-bottom: 28px; }
  .rg-media-story--photo-tall .rg-media-story__empty .btn { margin-top: 12px; }
}

/* Zdjęcie przyklejone (photo_sticky, artykuł bloga): kolumny od góry, zdjęcie zostaje pod nagłówkiem strony
   i paskiem rozdziałów przy przewijaniu długiego tekstu (jak .rg-media-story--article w HTML). */
@media (min-width: 1025px) {
  .rg-media-story--photo-sticky .rg-media-story__grid { align-items: start; }
  .rg-media-story--photo-sticky .rg-media-story__photo { position: sticky; top: calc(var(--header-h, 58px) + var(--chapters-h, 51px) + var(--space-5)); align-self: start; width: 100%; min-width: 0; min-height: 0; }
  /* Proporcje na obrazku, nie na figure: przy position: sticky Chrome liczył figure z naturalnej wysokości zdjęcia. */
  .rg-media-story--photo-sticky .rg-media-story__photo--ratio { aspect-ratio: auto; }
  .rg-media-story--photo-sticky .rg-media-story__photo img { width: 100%; max-width: 100%; height: auto; min-height: 0; aspect-ratio: var(--photo-ratio, auto); object-fit: cover; }
}
/* Artykuł bloga (article + note, 26.10): notatka 28,8 px pod nagłówkiem, treść zaraz pod notatką, śródtytuły w rozmiarze H2
   (jak .astra-article h2 w HTML), przycisk „Skopiuj link” 10,8 px pod wierszami i 21,6 px odstępu pod spodem. */
.rg-media-story__copy:has(.rg-media-story__article) .rg-media-story__note { margin-top: 28.8px; }
.rg-media-story__note + .rg-media-story__article { margin-top: 0; }
.rg-media-story__article :is(h2, h3) { font-size: var(--text-h2); line-height: 1.2; }
.rg-media-story__rows + .rg-media-story__copy-link { margin: 10.8px 0 21.6px; }
/* Telefon: sekcja tylko z nagłówkiem i wprowadzeniem ma pod tekstem 32 px (jak .section-head w HTML), nie 14 px. */
@media (max-width: 1024px) {
  .rg-media-story--v4 .rg-media-story__copy > .section-head:last-child .section-head__lead:last-child { margin-bottom: 32px; }
}
/* Telefon: kontakty bezpośrednie jeden pod drugim (jak .astra-contact-direct w HTML). */
@media (max-width: 760px) {
  .rg-media-story__direct { flex-direction: column; gap: 38px; }
}
/* Telefon: odstępy artykułu jak .astra-article w HTML (akapity co 28 px, śródtytuły 48/22 px, przycisk 12/24 px). */
@media (max-width: 760px) {
  .rg-media-story__article p { margin-bottom: 28px; }
  .rg-media-story__article :is(h2, h3) { margin: 48px 0 22px; }
  .rg-media-story__rows + .rg-media-story__copy-link { margin: 12px 0 24px; }
}
@media (min-width: 1025px) {
  /* Figure na wysokość zdjęcia (nie wiersza siatki), inaczej przyklejanie nie działa; silniejszy selektor niż reguła wide-text. */
  .rg-media-story--v4.rg-media-story--photo-sticky .rg-media-story__photo { align-self: start; height: auto; min-height: 0; }
}

/* Trzy zdjęcia zamiast jednego (Transport drogowy #naczepy, 27.10). */
.rg-media-story__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rg-media-story__gallery .rg-media-story__photo { min-height: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; }
.rg-media-story__gallery .rg-media-story__photo:first-child { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
.rg-media-story__gallery .rg-media-story__photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: var(--photo-focus, 50% 50%); }

/* Galeria: bez min-height z układu v4 (przy 768 pierwsze zdjęcie miało 880 px szerokości i przewijało stronę w bok). */
.rg-media-story--v4 .rg-media-story__gallery .rg-media-story__photo.rg-media-story__photo { min-height: 0; }
