/* Homepage closing sections. */
.ph-edition { color: #171b18; font-family: 'Manrope', sans-serif; }
.pe-shell { width: min(1240px, calc(100% - 112px)); margin-inline: auto; }
.ph-edition * { box-sizing: border-box; }
.ph-edition :is(h2, p) { margin: 0; }
.ph-home .ph-edition a:focus-visible { outline: 2px solid #171b18; outline-offset: 6px; }

.pe-clients { overflow: hidden; padding-block: 36px 48px; border: 0; }
.pe-client-track { display: flex; width: max-content; animation: pe-clients-flow 42s linear infinite; }
.pe-client-logos { display: flex; flex-shrink: 0; align-items: center; gap: 64px; padding-right: 64px; }
.pe-client-logo { --logo-height: 88px; --logo-scale: 1; --logo-offset: 0px; width: 184px; height: 112px; display: flex; align-items: center; justify-content: center; }
.pe-client-logo img { display: block; flex: none; width: auto; height: calc(var(--logo-height) * var(--logo-scale)); max-width: none; max-height: none; object-fit: contain; filter: none; opacity: 1; transform: translateY(calc(var(--logo-offset) * var(--logo-scale))); }
/* Balance the artwork, including the different margins inside source images. */
.pe-client-logo[data-client-logo="isro"] { --logo-height: 96px; }
.pe-client-logo[data-client-logo="igcar"] { --logo-height: 90px; }
.pe-client-logo[data-client-logo="irel"] { --logo-height: 84px; }
.pe-client-logo[data-client-logo="inavada"] { --logo-height: 100px; --logo-offset: -3px; }
.pe-client-logo[data-client-logo="totalsecure"] { --logo-height: 110px; --logo-offset: 2px; }
.pe-client-logo[data-client-logo="hydronic"] { --logo-height: 176px; }
@keyframes pe-clients-flow { to { transform: translateX(-50%); } }

.ph-home .pe-contact { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 36px; min-height: min(820px, 86svh); padding-block: 80px; background: transparent; }
.ph-edition .pe-contact h2 { color: #171b18; font: 700 clamp(42px, 10.6vw, 156px)/.98 'Instrument Sans', 'Manrope', sans-serif; letter-spacing: -.045em; }
.ph-edition .pe-contact p { margin-top: 28px; color: #30352f; font: 400 14px/1.65 'Manrope', sans-serif; }
.ph-home .pe-contact-link { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 26px; min-height: 52px; padding: 14px 23px; border: 1px solid #171b18; border-radius: 999px; background: #171b18; color: #fff; text-decoration: none; font: 600 13px/1.5 'Manrope', sans-serif; transition: background 180ms, transform 180ms; }
.pe-contact-link span { font-size: 22px; line-height: 1; }
.ph-home .pe-contact-link:hover { color: #fff; background: #30352f; transform: translateY(-2px); }
@media (max-width: 1100px) { .pe-shell { width: calc(100% - 72px); } }
@media (max-width: 800px) {
  .pe-shell { width: calc(100% - 40px); }
  .pe-clients { padding-block: 28px 34px; }
  .pe-client-logos { gap: 36px; padding-right: 36px; }
  .pe-client-logo { --logo-scale: .82; width: 156px; height: 96px; }
  .ph-home .pe-contact { gap: 28px; min-height: 72svh; padding-block: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .pe-client-track { animation: none; width: 100%; }
  .pe-client-logos { flex-wrap: wrap; justify-content: center; width: 100%; gap: 24px; padding: 0 20px; }
  .pe-client-logos[aria-hidden="true"] { display: none; }
  .ph-home .pe-contact-link { transition: none; }
}
