.infra{padding:8px 0 36px}
.infra-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end;margin-bottom:28px}
.infra-intro h2{font-size:clamp(36px,4.2vw,52px);line-height:1.02;letter-spacing:-.035em;font-weight:450}
.infra-intro p{font-size:16px;line-height:1.6;color:var(--body);max-width:440px}
.infra-board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:12px;align-items:stretch}
.infra-visual{background:var(--card);border-radius:16px;overflow:hidden;min-height:460px;position:relative}
.infra-visual .tile-media{height:100%;min-height:460px}
.infra-layers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.infra-layers li{background:var(--card);border-radius:16px;padding:22px 22px 20px;display:grid;grid-template-columns:40px 1fr;gap:8px 14px;align-content:center;flex:1}
.infra-layers li>span{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:var(--muted);padding-top:4px}
.infra-layers h3{font-size:18px;line-height:1.2;font-weight:450;letter-spacing:-.02em}
.infra-layers p{margin-top:6px;color:var(--body);font-size:14px;line-height:1.5}
@media(max-width:900px){
  .infra{padding-top:4px}
  .infra-intro,.infra-board{grid-template-columns:1fr;gap:22px}
  .infra-intro h2{font-size:clamp(34px,8vw,44px)}
  .infra-visual,.infra-visual .tile-media{min-height:240px;height:240px}
  .infra-layers li{padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .infra-visual .gpu-electricity{display:none}
}
