/* Browser review: keep full words, optically centred logos and real office maps. */
body.family-field .field-process--about .field-process__line--five {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 28px;
}
body.family-field .field-process--about .field-process__line--five > :is(li,.tpi-native-tag-li) {
  height: auto !important;
  min-height: 0 !important;
  padding: 26px 0 32px;
}
body.family-field .field-process--about .field-process__line--five h3 {
  max-width: none !important;
  width: 100%;
  font-size: clamp(22px, 1.8vw, 27px) !important;
  line-height: 1.25 !important;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body.family-field .field-process--about .field-process__line--five p { padding-right: 0; }
body.family-field .field-about-story__location { text-transform: none; }

/* Native Image wrappers must not inherit the image's absolute positioning. */
body.family-field .field-company__logo {
  display: grid !important;
  place-items: center;
  min-height: 190px;
}
body.family-field .field-company__logo > .elementor-widget-image,
body.family-field .field-company__logo > .field-company__mark:not(img) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  transform: none !important;
}
body.family-field .field-company__logo > .elementor-widget-image > .elementor-widget-container {
  width: 100%;
  height: 100%;
}
body.family-field .field-company__logo img.field-company__mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(240px, 84%);
  max-width: none;
  height: auto;
  object-fit: contain;
  transform: translate(-50%, -50%);
}
/* The original TPI PNG has alpha bounds y=152..1004 in a 1724px canvas. */
body.family-field .field-company__logo img.field-company__mark--main {
  transform: translate(-48.9%, -33.53%);
}
body.family-field .field-company__logo img.field-company__mark--build { width: min(210px, 80%); transform: translate(-48.88%, -44.02%); }
body.family-field .field-company__logo img.field-company__mark--logistics { transform: translate(-48.87%, -41.53%); }
body.family-field .field-company__logo img.field-company__mark--materials { transform: translate(-48.85%, -40.14%); }
body.family-field .field-company__copy :is(span,p,h3) { overflow-wrap: normal; word-break: normal; }

body.family-field .field-about-contact__map {
  background: var(--paper);
  min-height: 360px;
}
body.family-field .field-about-contact__map::before,
body.family-field .field-about-contact__map::after { display: none; }
body.family-field .field-about-contact__map > .elementor-widget-google_maps,
body.family-field .field-about-contact__map > .elementor-widget-google_maps > .elementor-widget-container {
  height: 100%;
  min-height: 360px;
  width: 100%;
}
body.family-field .field-about-contact__map > .elementor-widget-google_maps {
  position: absolute !important;
  inset: 0 !important;
  margin: 0;
}
body.family-field .field-about-contact__map .elementor-custom-embed { height: 100%; }
body.family-field .field-about-contact__map iframe {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 360px;
  border: 0;
  filter: none;
}

body.family-field .field-office-card {
  display: grid !important;
  gap: 14px;
  margin-top: 28px;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
  min-width: 0;
}
body.family-field .field-office-card h3 { margin: 0; font-size: 24px !important; }
body.family-field .field-office-card p { margin: 0; }
body.family-field .field-office-card .tpi-office-map { margin-top: 0; }
body.family-field .field-office-card iframe { height: 260px; filter: none; }
body.family-field .field-office-card .button { justify-content: flex-start; white-space: normal; }
body.family-field .field-office-card :is(.elementor-widget,.elementor-widget-container) { min-width: 0; max-width: 100%; }
@media (max-width: 1100px) {
  body.family-field .field-process--about .field-process__line--five { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  body.family-field .field-process--about .field-process__line--five { grid-template-columns: minmax(0,1fr); }
  body.family-field .field-company__logo { min-height: 190px; }
  body.family-field .field-office-card { padding: 18px; }
}

/* Architecture: four balanced companies; original transparent logos, no asset edits. */
@media (min-width: 1051px) {
  body.family-field .field-about-group__companies { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
body.family-field .field-company__logo img.field-company__mark--architecture {
  width: min(240px, 88%);
  transform: translate(-48.85%, -38.69%);
}
body.family-field .field-company--architecture .field-company__copy h3 { overflow-wrap: normal; }
body.family-field .field-company--architecture .tpi-architecture-logo--dark { display: none !important; }
html[data-theme="dark"] body.family-field .field-company--architecture .tpi-architecture-logo--light { display: none !important; }
html[data-theme="dark"] body.family-field .field-company--architecture .tpi-architecture-logo--dark { display: block !important; }
html[data-theme="dark"] body.family-field .field-company--architecture .field-company__logo { background: #20211d; }

body.family-field .field-about-group__companies :is(p,h3,span) { hyphens: none; }

/* About company logos: preserve the original black and white artwork. */
body.family-field .field-about-group .field-company__logo :is(.elementor-widget-image, img).tpi-company-logo--light {
  display: block !important;
}
body.family-field .field-about-group .field-company__logo :is(.elementor-widget-image, img).tpi-company-logo--dark {
  display: none !important;
}
html[data-theme="dark"] body.family-field .field-about-group .field-company__logo :is(.elementor-widget-image, img).tpi-company-logo--light {
  display: none !important;
}
html[data-theme="dark"] body.family-field .field-about-group .field-company__logo :is(.elementor-widget-image, img).tpi-company-logo--dark {
  display: block !important;
}
html[data-theme="dark"] body.family-field .field-about-group .field-company__logo {
  background: #20211d;
}
