html, body { max-width: 100%; overflow-x: hidden; }

.container-fluid, .content { max-width: 1140px; }
.profile-img-big { max-width: 220px; }
body.home-page { display: flex; flex-direction: column; min-height: 100vh; }
body.home-page .content { flex: 1; display: flex; flex-direction: column; justify-content: center; }

.home-hero {
  display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between;
  margin-left: calc(108px + max(0px, (100vw - 1172px) / 2) - max(0px, (100vw - 1140px) / 2));
  margin-right: calc(154px + max(0px, (100vw - 1172px) / 2) - max(0px, (100vw - 1140px) / 2));
}
.home-photo { flex: 0 0 auto; width: 220px; text-align: center; }
.home-photo .profile-img-big { width: 100%; }
.home-info { flex: 0 1 525px; min-width: 0; }
.home-info h5.title { font-size: 1.65rem; }
.home-info h7 { font-size: 1.1rem; }

@media (max-width: 1171.98px) {
  .home-hero { margin-left: 108px; margin-right: 154px; }
}

@media (max-width: 991.98px) {
  .home-hero { flex-direction: column; flex-wrap: wrap; align-items: center; text-align: center; gap: 2rem; margin-left: 0; margin-right: 0; }
  .home-info { width: 100%; max-width: 100%; text-align: center; }
  /* Vendor .title rule forces text-align:left !important; must match it here. */
  .home-info h5.title { text-align: center !important; }
}

.about-hero { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 2.5rem; padding-top: 2rem; }
.about-photo { flex: 0 0 auto; width: 220px; text-align: center; }
.about-photo .profile-img { width: 100%; }
.about-icons { display: flex; justify-content: center; gap: 0.75rem; margin-top: 1rem; }
.about-info { flex: 1 1 380px; min-width: 0; padding-top: 1rem; }

.news { padding-left: 52px; }

@media (max-width: 767.98px) {
  .about-hero { flex-direction: column; flex-wrap: wrap; align-items: center; text-align: center; padding-top: 1rem; }
  .about-info { width: 100%; text-align: center; }
  .news { padding-left: 0; }
}

/* CV page: PDF viewer sized by viewport height, contained so the browser's
   built-in PDF UI can never force horizontal page scroll on narrow screens. */
.cv-pdf-wrapper { width: 100%; max-width: 100%; overflow: hidden; }
.cv-pdf { display: block; width: 100%; height: 85vh; border: 0; }

@media (max-width: 575.98px) {
  .cv-pdf { height: 70vh; }
}
