/* Infrastructure additions for the desktop design phase. */
@media (min-width:1051px) {
  .infrastructure-page.projects-page .infrastructure-hero {
    background:
      linear-gradient(180deg,rgba(6,33,54,.45),rgba(6,33,54,0) 190px),
      linear-gradient(90deg,rgba(3,26,44,.3),rgba(3,26,44,.12) 60%,rgba(3,26,44,.16)),
      #082E51 url("../c01-infrastructure-josh-banniere-v01.webp") center / cover no-repeat;
  }
  .infrastructure-hero h1 {
    max-width:760px;
  }
  .infrastructure-main .infrastructure-hero .infrastructure-eyebrow {
    position:absolute;
    bottom:calc(100% + 24px);
    margin:0;
    color:#FFFFFF;
    font-size:14px;
    font-weight:500;
  }
  .infrastructure-main .infrastructure-hero .infrastructure-hero-lead {
    max-width:740px;
  }
  .infrastructure-main .infrastructure-hero .infrastructure-hero-line {
    display:block;
  }
  .infrastructure-main :is(.projects-intro,.projects-context) h2 {
    margin-bottom:36px;
  }
  .infrastructure-page .projects-tabs {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .infrastructure-page .projects-tabs button {
    text-wrap:balance;
  }
  .infrastructure-themes-layout .projects-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
  .infrastructure-themes-layout .projects-panel > div { min-width:0; }
  .infrastructure-diagram { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:24px; min-height:176px; margin:0; padding:20px 0; }
  .infrastructure-diagram-node { position:relative; display:grid; grid-template-rows:48px minmax(40px,auto); justify-items:center; gap:10px; min-width:0; text-align:center; font-size:13px; line-height:1.5; color:#000000; }
  .infrastructure-diagram-icon { display:grid; place-items:center; width:56px; height:48px; color:#1769E0; }
  .infrastructure-diagram-icon svg { display:block; width:32px; height:32px; }
  .infrastructure-diagram:not(.infrastructure-diagram-branched) .infrastructure-diagram-node:not(:last-child)::after { content:""; position:absolute; top:24px; left:calc(50% + 34px); width:calc(100% - 44px); border-top:1px dashed #1769E0; }
  .infrastructure-diagram-branched { grid-template-columns:minmax(0,1fr); align-content:center; gap:32px; padding:0; }
  .infrastructure-diagram-branched .infrastructure-diagram-node { grid-template-rows:40px auto; gap:6px; }
  .infrastructure-diagram-branched .infrastructure-diagram-icon { height:40px; }
  .infrastructure-diagram-branched > .infrastructure-diagram-node::after { content:""; position:absolute; left:50%; top:100%; height:16px; border-left:1px solid #A3BFE7; }
  .infrastructure-diagram-branches { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
  .infrastructure-diagram-branches::before { content:""; position:absolute; top:-16px; left:calc((100% - 24px) / 4); right:calc((100% - 24px) / 4); border-top:1px solid #A3BFE7; }
  .infrastructure-diagram-branches .infrastructure-diagram-node::before { content:""; position:absolute; left:50%; bottom:100%; height:16px; border-left:1px solid #A3BFE7; }
  /* Related services now precede FAQ; avoid stacking their trailing space. */
  .infrastructure-main .projects-related { margin-top:40px; }
  .infrastructure-page .faq .section-inner { padding-top:0; padding-bottom:80px; }
  .infrastructure-main .projects-contact { padding-top:0; padding-bottom:80px; }
  .infrastructure-main .faq-answer a {
    color:#1769E0;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .infrastructure-main .faq-answer a:is(:hover,:focus-visible) { color:#1254B5; }
  .infrastructure-main .faq-answer a:focus-visible { outline:2px solid #1769E0; outline-offset:3px; }
}
