/* ============================================================================
   .p-revenue-infrastructure - /revenue-infrastructure
   REGENERATED (cycle 6): the page consumes the shared component layer
   (components.css) directly. Nothing here re-declares a component property -
   no grid-template-columns / gap / max-width / text-align on any c-* element.
   What remains is the page's genuine one-off furniture.
   Cycle 10: the mechanism block, the qualification arrow run and the technology
   mono run were all cut as ledger duplicates; their rules went with them.
   ========================================================================== */

.p-revenue-infrastructure{ overflow-x:clip }

/* the platform hero carries no breadcrumb (top-level page), so the band takes
   the extra top padding the lane/industry heroes get from the crumb line */
.p-revenue-infrastructure .ri-hero{ padding-top:calc(var(--sec-y) + 44px) }

/* UNIQUE: the display-face closing statement that ends three sections.
   Not .c-lede - this is a full-measure closer set at h3 scale, not a lede. */
.p-revenue-infrastructure .ri-close{
  margin-top:var(--s-8); margin-inline:auto; text-align:center;
  max-width:30ch; font-family:var(--f-display); font-size:var(--t-h3);
}

@media (max-width:639px){
  .p-revenue-infrastructure .ri-close{ font-size:var(--t-h4) }
}

/* ---- cycle-12 dFix: the two blue bands ran unstructured copy at full band width ----
   Both now bound their measure and carry the enumerable half as a c-uses grid. */

/* #ri-model: the expansion axes under their own stem */
.p-revenue-infrastructure .ri-axes{ margin-top:clamp(36px,4.4vw,52px); max-width:66ch }
.p-revenue-infrastructure .ri-axes__stem{
  max-width:66ch; text-align:left;
  font-size:var(--t-body); line-height:1.6; color:var(--text-on-blue-muted);
}
.p-revenue-infrastructure .ri-axes__list{ margin-top:clamp(20px,2.4vw,28px) }
@media (min-width:900px){
  .p-revenue-infrastructure .ri-axes__list{ grid-template-columns:repeat(3,1fr) }
}

/* #ri-tech: the eight named systems, their predicate, and the closing statement */
.p-revenue-infrastructure .ri-stack{ margin-top:clamp(36px,4.4vw,52px) }
@media (min-width:900px){
  .p-revenue-infrastructure .ri-stack{ grid-template-columns:repeat(4,1fr) }
}
.p-revenue-infrastructure .ri-stack__foot{
  margin-top:clamp(22px,2.6vw,30px); padding-top:clamp(16px,2vw,22px);
  border-top:1px solid var(--text-on-blue-muted);
  font-size:var(--t-eyebrow); letter-spacing:.04em; color:var(--text-on-blue-muted);
  text-align:left;
}
.p-revenue-infrastructure .ri-tech__note{
  margin-top:clamp(24px,3vw,34px); max-width:62ch; text-align:left;
  font-size:var(--t-body); line-height:1.6; color:var(--text-on-blue);
}
