/* External V1 shared responsive baseline. Page-specific content and structure stay in their own stylesheets. */
body.external-home {
  --ui-shell: 1280px;
  --ui-gutter: clamp(24px, 5vw, 72px);
}
.external-home .ext-header,
.external-home .ext-footer {
  padding-inline: var(--ui-gutter);
}
.external-home .ext-header { height: 96px; }
.external-home .ext-brand img { height: 46px; }
.external-home .ext-nav { font-size: 18px; }
.external-home .footer-top,
.external-home .footer-bottom { max-width: var(--ui-shell); }
.external-home :is(.ext-hero, .home-strengths, .home-services, .home-contact, .home-method) {
  padding-inline: var(--ui-gutter);
}
.external-home :is(
  .home-strengths-intro, .home-services-head, .home-service-list,
  .home-method-inner, .home-contact-inner
) { max-width: var(--ui-shell); }

.external-home :is(
  .corporation-shell, .location-shell, .people-shell, .person-shell,
  .services-shell, .contact-shell, .svc-shell, .igt-shell
) {
  width: min(calc(100% - 2 * var(--ui-gutter)), var(--ui-shell));
  margin-inline: auto;
}
.external-home .corporation-hero .corporation-shell {
  width: min(calc(100% - 2 * var(--ui-gutter)), var(--ui-shell));
}
.external-home :is(
  .ext-hero, .corporation-hero, .location-hero, .people-hero,
  .svc-hero, .igt-hero, .inh-hero, .ti-hero, .contact-hero
) h1 {
  font-size: clamp(42px, 4vw, 56px);
  line-height: 1.32;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.external-home :is(
  .ext-hero-button, .home-contact-button, .svc-cta a,
  .igt-cta a, .inh-actions a, .ti-next a, .location-action
) { min-height: 52px; }
.external-home :is(
  .igt-situation-grid, .igt-work-grid, .igt-review-grid,
  .svc-grid, .home-service-list, .person-shell
) > * { min-width: 0; }

@media (max-width: 1080px) {
  .external-home .ext-header { height: 88px; }
  .external-home .ext-brand img { height: 42px; }
}
@media (max-width: 640px) {
  body.external-home { --ui-gutter: 20px; }
  .external-home .ext-header {
    height: 76px;
    padding-inline: var(--ui-gutter);
  }
  .external-home .ext-brand img { height: 36px; }
  .external-home .ext-menu-toggle {
    width: 48px;
    height: 48px;
    margin-left: auto;
  }
  .external-home .mobile-overlay,
  .external-home .ext-footer { padding-inline: var(--ui-gutter); }
  .external-home :is(
    .ext-hero, .corporation-hero, .location-hero, .people-hero,
    .svc-hero, .igt-hero, .inh-hero, .ti-hero, .contact-hero
  ) h1 {
    font-size: clamp(34px, 9vw, 38px);
    line-height: 1.36;
  }
  .external-home.services-overview .svc-hero h1 { font-size: clamp(30px, 8vw, 34px); }
  .external-home :is(
    .ext-hero-button, .home-contact-button, .svc-cta a,
    .igt-cta a, .inh-actions a, .ti-next a, .location-action
  ) { min-height: 48px; }
}

/* HOME PC hero: bring the evidence figures closer to the heading while keeping the existing photo. */
@media (min-width: 1081px) {
  .external-home .ext-hero { min-height: clamp(640px, 47vw, 760px); }
  .external-home .home-trust { margin-bottom: 20px; padding-inline: 0; }
  .external-home .home-trust article,
  .external-home .home-trust article:first-child,
  .external-home .home-trust article:last-child {
    display: grid;
    grid-template-columns: max-content;
    grid-template-rows: repeat(3, max-content);
    align-content: end;
    justify-content: start;
    padding-inline: 0 16px;
    padding-bottom: 26px;
    text-align: left;
  }
  .external-home .home-trust article strong { justify-self: center; }
}

/* Align the HOME figures to the hero copy on wide PC screens. */
@media (min-width: 1601px) {
  .external-home .ext-hero {
    --home-hero-wide-shift: clamp(-118px, calc(792px - 50vw), 0px);
  }
  .external-home .ext-hero h1 {
    transform: translate(var(--home-hero-wide-shift), -8px);
  }
  .external-home .ext-hero-lead,
  .external-home .home-trust {
    transform: translateX(var(--home-hero-wide-shift));
  }
}
