.infrastructure-hero { padding-top: clamp(40px, 6vw, 72px); }
.breadcrumb--dark, .breadcrumb--dark a { color: rgba(243,241,236,.62); }
.infrastructure-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
  padding-top: clamp(32px, 4vw, 56px);
}
.infrastructure-hero__copy { max-width: 650px; }
.infrastructure-hero__copy h1 { color: var(--lt-brand-ivory); max-width: 12ch; }
.infrastructure-hero__visual {
  min-height: 600px;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 9%);
  border: 1px solid rgba(15,161,153,.34);
}
.infrastructure-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.85) contrast(1.03); }

.infrastructure-symptoms__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(13,17,21,.14);
}
.infrastructure-symptoms__list article { padding: 28px 26px 8px 0; min-height: 230px; }
.infrastructure-symptoms__list article + article { border-left: 1px solid rgba(13,17,21,.14); padding-left: 26px; }
.infrastructure-symptoms__list span,
.infrastructure-architecture__matrix span { color: var(--lt-brand-teal); font-size: 12px; letter-spacing: .08em; }
.infrastructure-symptoms__list h3,
.infrastructure-architecture__matrix h3 { margin: 30px 0 12px; font-size: 22px; }
.infrastructure-symptoms__list p,
.infrastructure-architecture__matrix p { color: #4c5458; font-size: 15px; line-height: 1.65; }

.infrastructure-causes__grid,
.infrastructure-availability__grid,
.infrastructure-implementation__grid,
.infrastructure-contact__inner {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(44px, 8vw, 110px);
  align-items: start;
}
.infrastructure-causes__content { max-width: 720px; }
.infrastructure-causes__factors,
.infrastructure-implementation__deliverables {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}
.infrastructure-causes__factors span,
.infrastructure-implementation__deliverables span {
  border: 1px solid rgba(13,17,21,.16);
  padding: 9px 12px;
  font-size: 12px;
  letter-spacing: .04em;
}

.infrastructure-architecture__matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(243,241,236,.16);
}
.infrastructure-architecture__matrix article { min-height: 270px; padding: 30px 34px 28px 0; border-bottom: 1px solid rgba(243,241,236,.12); }
.infrastructure-architecture__matrix article:nth-child(3n+2),
.infrastructure-architecture__matrix article:nth-child(3n+3) { border-left: 1px solid rgba(243,241,236,.12); padding-left: 34px; }
.infrastructure-architecture__matrix h3 { color: var(--lt-brand-ivory); }
.infrastructure-architecture__matrix p { color: var(--lt-brand-warm-gray); }

.infrastructure-contexts__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.infrastructure-contexts__grid a {
  min-height: 330px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  color: var(--lt-brand-graphite);
  text-decoration: none;
  border: 1px solid rgba(13,17,21,.16);
  transition: transform var(--lt-motion-standard) var(--lt-ease-standard), border-color var(--lt-motion-standard) var(--lt-ease-standard);
}
.infrastructure-contexts__grid a:hover { transform: translateY(-3px); border-color: var(--lt-brand-teal); }
.infrastructure-contexts__grid span { color: var(--lt-brand-teal); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.infrastructure-contexts__grid strong { font-family: var(--lt-font-display); font-size: 24px; line-height: 1.2; margin: auto 0 18px; }
.infrastructure-contexts__grid p { color: #4d5559; }

.infrastructure-availability__principles { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(13,17,21,.14); }
.infrastructure-availability__principles div { padding: 24px 26px 24px 0; border-bottom: 1px solid rgba(13,17,21,.14); }
.infrastructure-availability__principles div:nth-child(even) { padding-left: 26px; border-left: 1px solid rgba(13,17,21,.14); }
.infrastructure-availability__principles strong { font-family: var(--lt-font-display); font-size: 20px; }
.infrastructure-availability__principles p { margin-top: 10px; color: #50585c; }

.infrastructure-diagnosis__steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(13,17,21,.15); }
.infrastructure-diagnosis__steps li { display: grid; grid-template-columns: 80px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid rgba(13,17,21,.15); }
.infrastructure-diagnosis__steps span { color: var(--lt-brand-teal); font-size: 13px; letter-spacing: .08em; }
.infrastructure-diagnosis__steps strong { display: block; font-family: var(--lt-font-display); font-size: 22px; margin-bottom: 8px; }
.infrastructure-diagnosis__steps p { color: #4f575b; margin: 0; }

.infrastructure-implementation__deliverables span { border-color: rgba(243,241,236,.18); color: var(--lt-brand-warm-gray); }
.infrastructure-contact__inner .button { margin-top: 24px; }

@media (max-width: 980px) {
  .infrastructure-hero__grid,
  .infrastructure-causes__grid,
  .infrastructure-availability__grid,
  .infrastructure-implementation__grid,
  .infrastructure-contact__inner { grid-template-columns: 1fr; }
  .infrastructure-hero__visual { min-height: 460px; }
  .infrastructure-symptoms__list { grid-template-columns: 1fr 1fr; }
  .infrastructure-symptoms__list article:nth-child(3) { border-left: 0; padding-left: 0; }
  .infrastructure-architecture__matrix { grid-template-columns: 1fr 1fr; }
  .infrastructure-architecture__matrix article:nth-child(3n+2),
  .infrastructure-architecture__matrix article:nth-child(3n+3) { border-left: 0; padding-left: 0; }
  .infrastructure-architecture__matrix article:nth-child(even) { border-left: 1px solid rgba(243,241,236,.12); padding-left: 28px; }
}

@media (max-width: 720px) {
  .infrastructure-hero__visual { min-height: 390px; clip-path: none; }
  .infrastructure-hero__copy h1 { max-width: none; }
  .infrastructure-symptoms__list,
  .infrastructure-architecture__matrix,
  .infrastructure-contexts__grid,
  .infrastructure-availability__principles { grid-template-columns: 1fr; }
  .infrastructure-symptoms__list article,
  .infrastructure-symptoms__list article + article,
  .infrastructure-symptoms__list article:nth-child(3) { min-height: 0; padding: 24px 0; border-left: 0; border-bottom: 1px solid rgba(13,17,21,.14); }
  .infrastructure-architecture__matrix article,
  .infrastructure-architecture__matrix article:nth-child(even) { min-height: 0; padding: 26px 0; border-left: 0; }
  .infrastructure-contexts__grid a { min-height: 250px; }
  .infrastructure-availability__principles div,
  .infrastructure-availability__principles div:nth-child(even) { padding: 22px 0; border-left: 0; }
  .infrastructure-diagnosis__steps li { grid-template-columns: 48px 1fr; }
}
