@charset "UTF-8";
/**
 * Header strony głównej – modifier + blok hero.
 * Niższy kontener (~600px), sekcja hero z hasłem i czerwonym prostokątem.
 * Tło: wideo z Customizera (Media), fallback obrazek przy prefers-reduced-motion.
 * Ładowany tylko na is_front_page().
 */
.c-subpage-header--home {
  height: 600px;
  min-height: 600px;
}
@media (max-width: 767px) {
  .c-subpage-header--home {
    height: min(600px, 85vh);
    min-height: min(480px, 75vh);
  }
}

/* Warstwa wideo w tle – tylko na stronie głównej. Czarny fallback gdy wideo się jeszcze ładuje. */
.c-subpage-header__video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-color: #000;
}
.c-subpage-header__video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.c-subpage-header__video-wrap {
  /* Ciemny overlay nad wideo – żeby film nie wybijał się i tekst był czytelny */
}
.c-subpage-header__video-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

/* z-index wyżej niż hero („Zbuduj z nami…”), żeby bar/menu był zawsze nad napisami */
.c-subpage-header--home .c-subpage-header__bar {
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__video-wrap {
    visibility: hidden;
  }
  .c-subpage-header--home {
    background-image: url("img/home-header-bg.png");
    background-size: cover;
    background-position: center;
  }
}
/* Hero – absolutnie na dole headera, wyrównany do content; z-index poniżej bara (menu) */
.c-home-hero {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--inner-max-width);
  /* --content-padding-x = 0 przy ≥1280px (max-width centruje), var(--section-padding-x) poniżej 1280px */
  padding: 0 var(--content-padding-x) clamp(1.75rem, 4vw, 3.5rem);
  box-sizing: border-box;
  color: var(--color-white);
  font-family: var(--font-primary);
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

/* „Sprawdź oferty pracy…” – pod głównym hasłem; odstęp od tytułu żeby się nie nakładały */
.c-home-hero__cta-bar {
  margin: 0;
  margin-top: 1rem;
  font-size: clamp(0.9375rem, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.c-home-hero__title-wrap {
  position: relative;
  width: 100%;
  max-width: 580px;
  margin: 0;
  padding: 0;
}

/* „Zbuduj z nami swoją przyszłość!” – czerwony kwadrat dokładnie na słowie „przyszłość!” */
.c-home-hero__title {
  position: relative;
  margin: 0;
  font-size: clamp(1.75rem, 4.5vw, 62px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-white);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.c-home-hero__title-accent {
  display: inline-block;
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.01em;
  background-color: var(--color-brand);
  padding: 0px 15px 9px 10px;
  border-radius: 8px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 60px;
}

/* Telefon po prawej – zgodnie z projektem: kółko (ikona) z lewej, biały pasek (zaokrąglony z prawej), numer w środku */
.c-home-hero__phone {
  position: absolute;
  right: var(--section-padding-x);
  bottom: clamp(1.25rem, 4.5vw, 4.5rem);
  width: 340px; /* 25px + 315px (pill); ikona 57px nałożona z lewej */
  height: 57px;
  text-decoration: none;
  color: #898989;
  font-weight: 600;
  line-height: 25px;
  font-family: var(--font-primary);
  box-sizing: border-box;
}

.c-home-hero__phone:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

/* Biały pasek – zaokrąglony tylko z prawej, obramowanie #898989 */
.c-home-hero__phone-pill {
  position: absolute;
  top: 0;
  left: 25px;
  width: 315px;
  height: 57px;
  border-radius: 0 100px 100px 0;
  background-color: #fff;
  border: 1px solid #898989;
  box-sizing: border-box;
}

/* Numer telefonu – nad paskiem; mniejszy rozmiar, żeby mieścił się w białym pasku */
.c-home-hero__phone-number {
  position: absolute;
  top: 16px;
  left: 73px;
  font-size: clamp(1rem, 1.5vw, 22px);
  font-weight: 600;
  white-space: nowrap;
}

/* Kółko z ikoną – na lewo, na wierzchu */
.c-home-hero__phone-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 57px;
  height: 57px;
  border-radius: 28.5px;
}
.c-home-hero__phone-icon img {
  width: 57px;
  height: 57px;
  display: block;
}

@media (max-width: 767px) {
  .c-home-hero {
    padding-inline: 1rem; /* nadpisuje --content-padding-x, żeby na małych ekranach nie był zbyt duży */
  }
  .c-home-hero__title {
    font-size: clamp(2rem, 7vw, 38px);
  }
  .c-home-hero__phone {
    position: relative;
    right: auto;
    bottom: auto;
    width: auto;
    max-width: 240px;
    height: 44px;
    margin-top: 1rem;
    font-size: 0.9375rem;
    line-height: 1.25;
    align-self: flex-start;
  }
  .c-home-hero__phone-pill {
    left: 22px;
    width: 220px;
    height: 44px;
    border-radius: 0 100px 100px 0;
  }
  .c-home-hero__phone-number {
    top: 12px;
    left: 56px;
  }
  .c-home-hero__phone-icon {
    width: 44px;
    height: 44px;
    border-radius: 22px;
  }
  .c-home-hero__phone-icon img {
    width: 44px;
    height: 44px;
  }
}
/**
 * Strona główna – karty kategorii ofert (4 karty: Budowa, Zakład, Biuro, Studenci).
 * Grid 4→2→1, BEM.
 */
/**
 * Zmienne reużywalne (header, komponenty).
 * Breakpoint używany z wordpressify: --screen-xxl (1440px).
 */
/* Breakpointy – zmienne SCSS (do mixinów / media queries) */
:root {
  /* Kolory */
  --color-text: #303030;
  --color-brand: #d2232a;
  --color-brand-hover: #b81e24;
  --color-white: #fff;
  --color-bg-light: #f5f5f5;
  --color-border: #d6d6d6;
  --color-border-light: #e8e8e8;
  --color-muted: #a0a0a0;
  /* Typografia */
  --font-primary: "Montserrat", sans-serif;
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --line-height-tight: 16px;
  --line-height-base: 24px;
  /* Typografia fluid – skalowanie na mniejszych ekranach */
  --font-size-hero: clamp(2rem, 3.5vw, 3rem);
  --font-size-h2: clamp(1.5rem, 2.5vw, 2.25rem);
  --font-size-h3: clamp(1.125rem, 2vw, 1.5rem);
  --font-size-h1-subpage: 36px;
  /* Header – spacing / layout (zgodne z Figmą) */
  --header-gap: 55px;
  --header-gap-lg: 100px;
  --header-padding: 10px;
  /* Pasek headera przy scrollu (fixed) – padding-top kompensacyjny w _c-subpage-header ~76px + oddech pod sticky reel/sidebar */
  --sticky-header-offset: 88px;
  --radius-pill: 100px;
  --cta-padding: 12px 32px;
  /* Sekcje – ujednolicone paddingi L/R i max-width (wyrównanie w pionie), fluid; content węższy – przestrzeń L/R */
  --section-padding-x: clamp(1rem, 4vw, 3rem);
  --section-padding-y: clamp(3rem, 6vw, 6rem);
  --inner-max-width: 1280px;
  /* Kontenery treści: 0 na desktop (wyrównanie z headerem), section-padding-x na mobile i tablet */
  --content-padding-x: 0;
  /* Wymiary ikon i logo */
  --icon-size: 20px;
  --logo-width: 53px;
  --logo-height: 59px;
  /* Strefa pracodawcy (Figma) */
  --employer-color-heading: #0e0e0e;
  --employer-color-body: #4c4c4c;
  --employer-color-muted: #c1c1c1;
  --employer-line-height-heading: 47px;
  --employer-font-inter: "Inter Tight", sans-serif;
  --employer-font-neulis: "Neulis Sans", sans-serif;
  /* Footer */
  --color-footer-bg: #f2f2f2;
  --color-footer-text: #0e0e0e;
  --color-footer-bar-text: #c7c7c7;
  --color-footer-phone-border: #898989;
  --footer-inner-max: var(--inner-max-width);
  --footer-gap: 30px;
}

/* Padding L/R dopóki viewport węższy niż kontener – od 1280px kontener wycentrowany, wcześniej padding L/R */
@media (max-width: 1279px) {
  :root {
    --content-padding-x: var(--section-padding-x);
  }
}
.c-HomeJobCategories {
  width: 100%;
  padding: var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomeJobCategories__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
}

.c-HomeJobCategories__header {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-bottom: clamp(2rem, 5vw, 5rem);
}
@media (max-width: 767px) {
  .c-HomeJobCategories__header {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-bottom: clamp(1.5rem, 4vw, 2rem);
    /* 1. blok: Oferty pracy, 2. blok: tekst – oba pod sobą, do lewej */
  }
  .c-HomeJobCategories__header .c-HomeJobCategories__heading {
    max-width: 100%;
    text-align: left;
  }
}

.c-HomeJobCategories__label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  font-size: clamp(0.875rem, 2vw, var(--font-size-base));
  line-height: 1.35;
  color: var(--color-muted);
  font-family: var(--employer-font-neulis, sans-serif);
  text-transform: uppercase;
  flex-shrink: 0;
}

.c-HomeJobCategories__dot {
  width: clamp(14px, 4vw, 18px);
  height: clamp(14px, 4vw, 18px);
  border-radius: 50%;
  background-color: var(--color-brand);
  flex-shrink: 0;
}

.c-HomeJobCategories__heading {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.3;
  font-weight: 700;
  color: #0e0e0e;
  max-width: 866px;
  text-align: right;
  flex: 1;
  min-width: 0;
}

.c-HomeJobCategories__heading-muted {
  color: #c1c1c1;
}

.c-HomeJobCategories__slider {
  position: relative;
}

.c-HomeJobCategories__arrows--mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .c-HomeJobCategories__arrows--mobile {
    display: none;
  }
}

.c-HomeJobCategories__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
}
.c-HomeJobCategories__arrow:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.c-HomeJobCategories__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
.c-HomeJobCategories__arrow img {
  width: 27px;
  height: 27px;
  object-fit: contain;
  display: block;
}

@media (max-width: 767px) {
  .c-HomeJobCategories__track-outer {
    overflow: hidden;
  }
}

.c-HomeJobCategories__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 2vw, 1.5rem);
}
@media (max-width: 767px) {
  .c-HomeJobCategories__grid {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(0.75rem, 2vw, 1.5rem);
    transition: transform 0.35s ease;
  }
}
@media (min-width: 768px) {
  .c-HomeJobCategories__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1rem, 2.5vw, 1.5rem);
  }
}
@media (min-width: 1200px) {
  .c-HomeJobCategories__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.c-HomeJobCategories__card {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background-color: var(--color-white);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
@media (max-width: 767px) {
  .c-HomeJobCategories__card {
    flex: 0 0 100%;
    min-width: 0;
  }
}
.c-HomeJobCategories__card:hover, .c-HomeJobCategories__card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.c-HomeJobCategories__card:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-HomeJobCategories__card--build .c-HomeJobCategories__card-body {
  background-color: var(--color-brand);
  color: var(--color-white);
}

.c-HomeJobCategories__card--build .c-HomeJobCategories__card-cta {
  background-color: var(--color-white);
  color: var(--color-brand);
}

.c-HomeJobCategories__card-media {
  flex-shrink: 0;
  aspect-ratio: 336/290;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
}

.c-HomeJobCategories__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}

.c-HomeJobCategories__card:hover .c-HomeJobCategories__card-img,
.c-HomeJobCategories__card:focus-visible .c-HomeJobCategories__card-img {
  transform: scale(1.05);
}

.c-HomeJobCategories__card-body {
  flex: 1;
  padding: clamp(0.75rem, 2vw, 1rem) clamp(1rem, 2vw, 1.25rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  min-height: 0;
}

.c-HomeJobCategories__card-title {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 600;
  line-height: 1.25;
}

.c-HomeJobCategories__card-subtitle {
  margin: 0;
  font-size: clamp(0.8125rem, 1.5vw, var(--font-size-base));
  line-height: 1.25;
  color: #cbcbcb;
  font-family: var(--employer-font-neulis, sans-serif);
}

.c-HomeJobCategories__card-cta {
  margin-top: auto;
  padding: clamp(0.5rem, 1.5vw, 0.75rem) clamp(1rem, 2vw, 1.25rem);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: clamp(0.8125rem, 1.5vw, var(--font-size-sm));
  font-weight: 600;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  transition: background-color 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
}

.c-HomeJobCategories__card:hover .c-HomeJobCategories__card-cta,
.c-HomeJobCategories__card:focus-visible .c-HomeJobCategories__card-cta {
  background-color: #b81e24;
}

.c-HomeJobCategories__card--build:hover .c-HomeJobCategories__card-cta,
.c-HomeJobCategories__card--build:focus-visible .c-HomeJobCategories__card-cta {
  background-color: rgba(255, 255, 255, 0.95);
}

@media (prefers-reduced-motion: reduce) {
  .c-HomeJobCategories__grid {
    transition: none;
  }
  .c-HomeJobCategories__card,
  .c-HomeJobCategories__card-img,
  .c-HomeJobCategories__card-cta {
    transition: none;
  }
  .c-HomeJobCategories__card:hover,
  .c-HomeJobCategories__card:focus-visible {
    transform: none;
  }
  .c-HomeJobCategories__card:hover .c-HomeJobCategories__card-img,
  .c-HomeJobCategories__card:focus-visible .c-HomeJobCategories__card-img {
    transform: none;
  }
}
/**
 * Strona główna – dwukolumnowy tekst o ofertach.
 */
.c-HomeOffersText {
  width: 100%;
  padding: 0 var(--section-padding-x) var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomeOffersText__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
}

.c-HomeOffersText__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
}
@media (min-width: 992px) {
  .c-HomeOffersText__columns {
    grid-template-columns: 1fr 1fr;
  }
}

.c-HomeOffersText__col {
  min-width: 0;
}

.c-HomeOffersText__text {
  font-size: var(--font-size-base);
  line-height: 25px;
  color: var(--employer-color-body, #4c4c4c);
}

/**
 * Strona główna – CTA „Nie znalazłeś oferty?" + obrazek + przycisk Aplikuj.
 */
.c-HomeOpenApplication {
  width: 100%;
  padding: 0 var(--section-padding-x) var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomeOpenApplication__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .c-HomeOpenApplication__inner {
    grid-template-columns: 1fr 1fr;
  }
}

.c-HomeOpenApplication__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  padding: clamp(1rem, 2.5vw, 1.5rem) clamp(1.5rem, 4vw, 2rem);
}

.c-HomeOpenApplication__heading {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.35;
  font-weight: 600;
  color: #000;
}

.c-HomeOpenApplication__text {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 25px;
  color: var(--employer-color-body, #4c4c4c);
  max-width: 492px;
}

.c-HomeOpenApplication__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cta-padding);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
}
.c-HomeOpenApplication__cta:hover, .c-HomeOpenApplication__cta:focus-visible {
  opacity: 0.9;
}
.c-HomeOpenApplication__cta:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-HomeOpenApplication__media {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
.c-HomeOpenApplication__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: linear-gradient(269deg, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}

.c-HomeOpenApplication__img {
  width: 100%;
  height: auto;
  max-width: 740px;
  display: block;
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  .c-HomeOpenApplication__cta:hover {
    transition: none;
  }
}
/**
 * Strona główna – pełnoszerokościowy pas zdjęcia (DJI-0559).
 */
.c-HomePhotoBand {
  width: 100%;
  overflow: hidden;
}

.c-HomePhotoBand__inner {
  width: 100%;
  max-width: 100%;
}

.c-HomePhotoBand__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 536px;
  object-position: center;
}

/**
 * Strona główna – 4 etapy rekrutacji (karty) + zdjęcie po prawej.
 */
.c-HomeRecruitment {
  width: 100%;
  padding: var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomeRecruitment__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
}

.c-HomeRecruitment__header {
  margin-bottom: clamp(1rem, 3vw, 1rem);
}

.c-HomeRecruitment__label {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 25px;
  color: var(--color-muted);
  font-family: var(--employer-font-neulis, sans-serif);
  text-transform: uppercase;
}

.c-HomeRecruitment__dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--color-brand);
  flex-shrink: 0;
}

.c-HomeRecruitment__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 3rem);
  align-items: center;
}
@media (min-width: 992px) {
  .c-HomeRecruitment__layout {
    grid-template-columns: 1fr auto;
  }
}

.c-HomeRecruitment__steps {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2vw, 2rem);
}

.c-HomeRecruitment__step {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: 8px;
  border: 1px solid var(--color-border-light, #e8e8e8);
  box-sizing: border-box;
  background-color: var(--color-white);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-HomeRecruitment__step:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.c-HomeRecruitment__step-icon {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  object-fit: contain;
}

.c-HomeRecruitment__step-content {
  flex: 1;
  min-width: 0;
}

.c-HomeRecruitment__step-title {
  margin: 0 0 0.375rem;
  font-size: clamp(1.125rem, 2vw, 2.25rem);
  line-height: 1.3;
  font-weight: 600;
  color: #0e0e0e;
}

.c-HomeRecruitment__step-desc {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 1.25;
  color: var(--employer-color-body, #4c4c4c);
}

.c-HomeRecruitment__media {
  border-radius: 8px;
  overflow: hidden;
}

.c-HomeRecruitment__img {
  width: 100%;
  max-width: 581px;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 8px;
}
@media (min-width: 992px) {
  .c-HomeRecruitment__img {
    width: 581px;
    height: 667px;
    object-fit: cover;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-HomeRecruitment__step {
    transition: none;
  }
}
/**
 * Strona główna – O nas: breadcrumb, heading, opis+CTA, pasek 5 benefitów.
 */
.c-home-about__breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.c-home-about__breadcrumb-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #d2232a;
  flex-shrink: 0;
}

.c-home-about__breadcrumb-label {
  font-family: var(--employer-font-neulis, sans-serif);
  font-size: 16px;
  line-height: 25px;
  color: #a0a0a0;
  text-decoration: none;
}
.c-home-about__breadcrumb-label:hover, .c-home-about__breadcrumb-label:focus-visible {
  color: var(--color-brand);
}
.c-home-about__breadcrumb-label:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-home-about__main {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 5vw, 3rem);
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.c-home-about__heading {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 36px);
  line-height: 47px;
  font-weight: 600;
  font-family: var(--font-primary);
  color: #0e0e0e;
}

.c-home-about__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 3rem);
  padding: 3rem 0;
}

.c-home-about__content-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  max-width: 100%;
}
@media (min-width: 992px) {
  .c-home-about__content-col {
    max-width: 50%;
  }
}

.c-home-about__text {
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 25px;
  color: #a0a0a0;
}

.c-home-about__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  border-radius: 100px;
  background-color: #d2232a;
  color: var(--color-white);
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.c-home-about__cta:hover, .c-home-about__cta:focus-visible {
  opacity: 0.9;
}
.c-home-about__cta:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-home-about__benefits {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: clamp(1.5rem, 3vw, 2rem) 0;
  border-radius: 8px;
  border: 1px solid #d6d6d6;
  box-sizing: border-box;
  min-height: 178px;
}

.c-home-about__benefit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  min-width: 0;
  flex: 1;
  min-height: 127px;
}

.c-home-about__benefits-sep {
  width: 1px;
  height: 127px;
  background-color: #d6d6d6;
  flex-shrink: 0;
}

.c-home-about__benefit-icon {
  width: 55px;
  height: 55px;
  object-fit: contain;
  flex-shrink: 0;
}

.c-home-about__benefit-label {
  font-size: 17px;
  line-height: 25px;
  font-family: var(--employer-font-inter, "Inter Tight", sans-serif);
  color: #3a3a3a;
  text-align: center;
}

@media (max-width: 767px) {
  .c-home-about__benefits-sep {
    display: none;
  }
  .c-home-about__benefits {
    flex-direction: column;
  }
  .c-home-about__benefit {
    min-height: 0;
    padding: 1rem;
    border-bottom: 1px solid #d6d6d6;
    width: 100%;
    flex: none;
  }
  .c-home-about__benefit:last-child {
    border-bottom: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-home-about__cta:hover {
    transition: none;
  }
}
/**
 * Strona główna – szara sekcja: Program Poleceń + Szkoły Zawodowe.
 */
.c-HomePrograms {
  width: 100%;
  position: relative;
  z-index: 0;
  padding: var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomePrograms__bg {
  position: absolute;
  inset: 0;
  background-color: #f2f2f2;
  z-index: 0;
}

.c-HomePrograms__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 8vw, 5rem);
}

.c-HomePrograms__block {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: start;
}
@media (min-width: 992px) {
  .c-HomePrograms__block {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}

/* Drugi wiersz: tekst z lewej, zdjęcie z prawej (kolejność w DOM: content, media). */
.c-HomePrograms__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.c-HomePrograms__heading {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.4;
  font-weight: 600;
  color: #0e0e0e;
}

.c-HomePrograms__text {
  font-size: var(--font-size-base);
  line-height: 25px;
  color: var(--employer-color-body, #4c4c4c);
}

.c-HomePrograms__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cta-padding);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
}
.c-HomePrograms__cta:hover, .c-HomePrograms__cta:focus-visible {
  opacity: 0.9;
}
.c-HomePrograms__cta:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-HomePrograms__media {
  border-radius: 8px;
  overflow: hidden;
}

.c-HomePrograms__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  .c-HomePrograms__cta:hover {
    transition: none;
  }
}
/**
 * Strona główna – Aktualności (slider do 20 kart) + CTA „zobacz więcej" + strzałki nawigacji.
 */
.c-HomeNews {
  width: 100%;
  padding: var(--section-padding-y) var(--section-padding-x);
  box-sizing: border-box;
}

.c-HomeNews__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
}

.c-HomeNews__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.c-HomeNews__heading {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.4;
  font-weight: 600;
  color: #0e0e0e;
}

.c-HomeNews__nav {
  display: flex;
  align-items: center;
  gap: 4rem;
}

.c-HomeNews__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cta-padding);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
}
.c-HomeNews__cta:hover, .c-HomeNews__cta:focus-visible {
  opacity: 0.9;
}
.c-HomeNews__cta:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-HomeNews__arrows {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.c-HomeNews__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
}
.c-HomeNews__arrow:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.c-HomeNews__arrow:disabled, .c-HomeNews__arrow.c-HomeNews__arrow--disabled {
  opacity: 0.35;
  cursor: default;
}
.c-HomeNews__arrow img {
  width: 27px;
  height: 27px;
  object-fit: contain;
  display: block;
}

.c-HomeNews__track-outer {
  overflow: hidden;
  --news-gap: clamp(1.5rem, 4vw, 2.5rem);
}

.c-HomeNews__grid {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--news-gap);
  transition: transform 0.35s ease;
}

.c-HomeNews__card {
  flex: 0 0 100%;
  min-width: 0;
  border-radius: 8px;
  background-color: #fafafa;
  overflow: hidden;
  color: #3a3a3a;
}
@media (min-width: 768px) {
  .c-HomeNews__card {
    flex: 0 0 calc((100% - var(--news-gap)) / 2);
  }
}
@media (min-width: 992px) {
  .c-HomeNews__card {
    flex: 0 0 calc((100% - 2 * var(--news-gap)) / 3);
  }
}

.c-HomeNews__card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.c-HomeNews__card-link:hover .c-HomeNews__card-title, .c-HomeNews__card-link:focus-visible .c-HomeNews__card-title {
  color: var(--color-brand);
}
.c-HomeNews__card-link:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-HomeNews__card-media {
  position: relative;
  aspect-ratio: 473/257;
  background-color: #e1e1e1;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

.c-HomeNews__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-HomeNews__card-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e1e1e1;
}

.c-HomeNews__card-body {
  padding: clamp(1rem, 3vw, 1.625rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.c-HomeNews__card-title {
  margin: 0;
  font-size: 18px;
  line-height: 25px;
  font-weight: 600;
  color: inherit;
  transition: color 0.2s ease;
}

.c-HomeNews__card-excerpt {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 23px;
  color: #3a3a3a;
}

.c-HomeNews__card-more {
  font-size: 17px;
  line-height: 25px;
  font-weight: 600;
  text-decoration: underline;
}

.c-HomeNews__empty {
  margin: 0;
  padding: 2rem;
  text-align: center;
  font-size: var(--font-size-base);
  color: var(--color-muted);
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .c-HomeNews__card-title {
    transition: none;
  }
  .c-HomeNews__grid {
    transition: none;
  }
}