.o_nas {
    padding-top: 120px;
}

.o_nas h2 {
    margin-top: 30px;
    margin-bottom: 40px;
    color: var(--gray-gray-600-primary, #252525);
    font-family: Inter;
    font-size: 45px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 45px */
    letter-spacing: -1.35px;
}

.o_nas img.main {
    display: block;
    width: 100%;
}

.o_nas .flex-container {
    gap: 120px;
    padding-bottom: 100px;
    padding-top: 120px;
}

.o_nas .flex-container .half {
    position: relative;
    width: calc(50% - 60px);
}

.o_nas .flex-container .half p.title {
    color: var(--Grey-1, rgba(18, 18, 18, 0.94));
    font-family: Inter;
    font-size: 45px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%; /* 47.25px */
    letter-spacing: -1.35px;
}

.o_nas .flex-container .half p.desc {
    color: var(--KTI-GREY, #363844);
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 115%; /* 18.4px */
    letter-spacing: -0.32px;
}

.o_nas .flex-container .half .img1 {
    width: 462px;
    height: 577px;
    display: block;
    margin: 0 auto 134px 0;
}

.o_nas .flex-container .half .img2 {
    position: relative;
    right:0;
    margin: 150px 0 130px auto;
    width: 100%;
}

.o_nas .flex-container .half .img3 {
    margin-top: 130px;
    margin-left: 0;
    width: 100%;
    margin-bottom: 120px;
}

/* =========================
   MOBILE FIRST OVERRIDES
   ========================= */
@media (max-width: 768px) {
  .o_nas {
    padding-top: 100px;
  }

  .o_nas .container { padding: 0 16px; }

  .o_nas h2 {
    margin: 12px 0 20px;
    font-size: 32px;
    line-height: 1.05;
    letter-spacing: -0.8px;
    text-wrap: balance;
  }

  .o_nas img.main {
    width: 100%;
    height: auto;
    border-radius: 8px;
  }

  .o_nas .flex-container {
    display: flex;
    flex-direction: column;
    gap: 36px;              /* było 120px */
    padding: 36px 0 56px;   /* było 120/100 */
  }

  .o_nas .flex-container .half {
    width: 100%;
  }

  .o_nas .flex-container .half p.title {
    font-size: 32px;        /* było 45px */
    line-height: 1.1;
    letter-spacing: -0.6px;
    margin: 0 0 8px 0;
  }

  .o_nas .flex-container .half p.desc {
    line-height: 1.4;
    letter-spacing: -0.3px;
    margin: 0 0 14px 0;
  }

  /* Obrazki wewnątrz kolumn: pełna szerokość, auto height */
  .o_nas .flex-container .half .img1,
  .o_nas .flex-container .half .img2,
  .o_nas .flex-container .half .img3 {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 18px 0;         /* ujednolicone odstępy */
    display: block;
  }

  /* Drobne dopieszczenie wcześniejszych, dużych marginesów */
  .o_nas .flex-container .half .img1 { margin: 12px 0 24px; }
  .o_nas .flex-container .half .img2 { margin: 24px 0; }
  .o_nas .flex-container .half .img3 { margin: 24px 0 12px; }
}

/* Telefony „ciasne” – ok. 480px */
@media (max-width: 480px) {
  .o_nas .container { padding: 0 12px; }

  .o_nas h2 {
    font-size: 32px;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
  }

  .o_nas .flex-container { gap: 28px; padding: 28px 0 44px; }

  .o_nas .flex-container .half p.title {
    font-size: 32px;
    letter-spacing: -0.4px;
    margin-bottom: 6px;
  }
  .o_nas .flex-container .half p.desc {
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .o_nas .flex-container .half .img1,
  .o_nas .flex-container .half .img2,
  .o_nas .flex-container .half .img3 {
    margin: 14px 0;
    border-radius: 6px;
  }
}

/* =========================
   DROBNE DOPRACOWANIA
   ========================= */

/* Zapobieganie rozciąganiu w dziwnych układach */
.o_nas .flex-container .half img { object-fit: cover; }

/* Mniej animacji dla prefers-reduced-motion (jeśli coś dodasz) */
@media (prefers-reduced-motion: reduce) {
  .o_nas * { transition: none !important; }
}
