/* GPU cloud capacity records: hub scorecard, evidence ladder and provider site cards. */
.stage-badge{display:inline-flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border-radius:999px;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--ink)}
.stage-badge>span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:12px;background:var(--line);color:var(--ink)}
.stage-announced>span{background:#e7ecf1}
.stage-site-identified>span{background:#cfe6fb}
.stage-permitted>span{background:#9fd3ff}
.stage-power-secured>span{background:#55c5ff}
.stage-operating{border-color:#075fbc}
.stage-operating>span{background:#075fbc;color:#fff}
.stage-ladder{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-width:330px}
.stage-ladder li{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 8px;border-radius:4px;background:var(--paper);color:var(--muted);font-size:11px;line-height:1.3}
.stage-ladder li.has-sites{background:#dceefe;color:var(--ink)}
.stage-ladder li:last-child.has-sites{background:#075fbc;color:#fff}
.ladder-count{font-family:var(--heading);font-size:19px;font-weight:700;line-height:1.1}
#sites .stage-ladder{margin-bottom:34px;max-width:760px}
#sites .stage-ladder li{padding:12px 14px;font-size:13px}
#sites .ladder-count{font-size:26px}
.capacity-headline{display:grid;gap:14px;margin:4px 0 18px}
.headline-figure{display:block;font-family:var(--heading);font-size:34px;font-weight:700;letter-spacing:-1px;color:#fff;line-height:1.15}
.headline-label{display:block;font-size:13px;color:#bdd0d7}
.directory-brief .capacity-headline+p a,.directory-brief p a{color:var(--blue)}
.capacity-scorecard td,.capacity-scorecard th{vertical-align:top}
.capacity-scorecard th[scope=row] a{color:var(--blue-dark)}
.capacity-scorecard .pricing-detail,.capacity-records .pricing-detail{display:block;color:var(--muted)}
.ladder-definitions{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ladder-definitions li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px}
.ladder-definitions p{font-size:14px;color:var(--muted);margin:14px 0 0;line-height:1.7}
.site-list{display:grid;gap:26px}
.site-card{border:1px solid var(--line);border-radius:8px;padding:30px 32px;background:#fff}
.site-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.site-card-head .eyebrow{margin-bottom:8px}
.site-card h3{font-size:25px;letter-spacing:-.6px;line-height:1.3;margin:0}
.site-basis{font-size:15px;color:var(--ink);background:var(--paper);border-left:3px solid var(--blue-dark);padding:12px 16px;margin-bottom:20px}
.site-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 34px;margin:0 0 22px}
.site-facts dt{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue-dark);margin-bottom:4px}
.site-facts dd{margin:0;font-size:15px;color:var(--muted);line-height:1.7}
.site-facts dd a,.capacity-records a,.other-sites a,.capacity-notes a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}
.capacity-records td:first-child{white-space:nowrap}
.no-records{font-size:15px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:16px 18px}
.site-gaps{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.site-gaps summary{display:flex;justify-content:space-between;font-size:14px;font-weight:650;color:var(--ink)}
.site-gaps summary span{color:var(--blue-dark);font-size:20px;line-height:1}
.site-gaps[open] summary span{transform:rotate(45deg)}
.site-gaps ul{margin:12px 0 0;padding-left:20px;font-size:14px;color:var(--muted);line-height:1.75}
.other-sites{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.other-sites li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px}
.other-sites strong{display:block;font-family:var(--heading);font-size:17px}
.other-sites span{display:block;font-size:13px;color:var(--blue-dark);margin:3px 0 8px}
.other-sites p{font-size:14px;color:var(--muted);margin:0;line-height:1.7}
.buyer-questions{margin:0;padding-left:22px;display:grid;gap:12px;font-size:16px;line-height:1.75;max-width:860px}
.capacity-notes ul{padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8;max-width:900px}
.capacity-notes h2{margin-bottom:20px}
@media(max-width:1100px){.ladder-definitions{grid-template-columns:repeat(3,1fr)}.other-sites{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.site-facts{grid-template-columns:1fr}.ladder-definitions{grid-template-columns:1fr 1fr}.site-card-head{flex-direction:column}}
@media(max-width:540px){.site-card{padding:22px 18px}.site-card h3{font-size:22px}.ladder-definitions,.other-sites{grid-template-columns:1fr}#sites .stage-ladder{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}#sites .stage-ladder li{padding:9px 7px;font-size:11px}#sites .ladder-count{font-size:21px}.headline-figure{font-size:28px}}
/* Column widths: the shared pricing-table widths are tuned for price tables, not records. */
.capacity-records{min-width:680px}
.capacity-records td:nth-child(1){width:15%;color:var(--muted)}
.capacity-records tbody th{width:24%;font-size:15px}
.capacity-records td:nth-child(3){width:51%;color:var(--ink)}
.capacity-records td:nth-child(4){width:10%;white-space:nowrap}
.capacity-scorecard{min-width:900px}
.capacity-scorecard tbody th{width:14%}
.capacity-scorecard td:nth-child(2){width:22%}
.capacity-scorecard td:nth-child(3){width:46%}
.capacity-scorecard td:nth-child(4){width:9%;color:var(--ink)}
.capacity-scorecard td:nth-child(5){width:9%;white-space:nowrap}
.site-card{min-width:0}
/* Keeps screen-reader-only labels inside the scrolling table box on phones. */
.pricing-table-wrap{position:relative}
.capacity-notes li,.site-facts dd,.site-gaps li{overflow-wrap:anywhere}
