.stadium-case{
  --stadium-blue:#4f6f89;
  --stadium-alert:#9c3f35;
  --stadium-panel:#fff;
  --stadium-copy:#343a43;
  --stadium-line-strong:rgba(17,20,25,.16);
  --case-line:rgb(229,231,235);
  --stadium-hero-desktop-width:743.865px;
  --stadium-hero-desktop-height:560px;
}

.stadium-case .construction-hero h1{max-width:10ch}
.stadium-case #control-title{max-width:24ch}
html.route-stadium body.case-detail-page #constructionCase .case-brand-line{display:flex;flex-wrap:nowrap;align-items:center;font-size:14px!important;font-weight:400!important;white-space:nowrap}
html.route-stadium body.case-detail-page #constructionCase .case-brand-line>span{flex:0 0 auto;white-space:nowrap}
html.route-stadium body.case-detail-page #constructionCase .case-brand-divider{height:18px}

.stadium-media-placeholder{
  display:flex;
  min-width:0;
  min-height:420px;
  padding:clamp(28px,4vw,56px);
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  overflow:hidden;
  border:1px solid rgba(79,111,137,.22);
  border-radius:var(--ui-radius);
  background:
    linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),
    repeating-linear-gradient(0deg,transparent 0 39px,rgba(79,111,137,.16) 39px 40px),
    repeating-linear-gradient(90deg,transparent 0 39px,rgba(79,111,137,.16) 39px 40px),
    #edf2f6;
  color:var(--case-ink);
  box-shadow:var(--ui-shadow-low);
}

.stadium-media-placeholder span{
  color:var(--stadium-blue);
  font-size:12px;
  font-weight:600;
  letter-spacing:.09em;
}

.stadium-media-placeholder strong{
  max-width:21ch;
  margin-top:14px;
  font-size:clamp(24px,2.3vw,38px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
}

.stadium-hero-visual strong,
.stadium-dashboard-placeholder strong,
.stadium-alert-placeholder strong {
  max-width: none;
  text-wrap: balance;
}

.stadium-media-placeholder p{
  max-width:45em;
  margin:16px 0 0;
  color:var(--case-muted);
  font-size:14px;
  line-height:1.7;
}

.stadium-hero-visual{aspect-ratio:16 / 9}

.stadium-hero-photo{
  display:block;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  background:var(--ui-surface-subtle,#e8ecf0);
  overflow:hidden;
}

.stadium-hero-photo>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(min-width:1101px){
  html.route-stadium body.case-detail-page #constructionCase .stadium-hero-photo.case-media-hero{
    width:var(--stadium-hero-desktop-width);
    height:var(--stadium-hero-desktop-height);
    min-height:var(--stadium-hero-desktop-height);
    max-height:var(--stadium-hero-desktop-height);
    justify-self:end;
    aspect-ratio:auto;
  }

  html.route-stadium body.case-detail-page #constructionCase .stadium-hero-photo.case-media-hero>img{
    width:var(--stadium-hero-desktop-width);
    height:var(--stadium-hero-desktop-height);
    min-height:0;
    object-fit:cover;
  }
}

.stadium-context .case-section-head{display:block;margin-bottom:0;border-bottom:0;padding-bottom:0}
.stadium-platform .case-section-head{display:block;margin:0;border-bottom:0;padding-bottom:0}
.stadium-proof .case-section-head{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}

.stadium-context .case-section-head h2,
.stadium-platform .case-section-head h2,
.stadium-case #control-title{max-width:none;font-size:40px!important;font-weight:200!important;line-height:1.15!important;letter-spacing:-.035em}
.stadium-context .case-section-head h2{white-space:nowrap}
.stadium-context .case-section-head p,.stadium-platform .case-section-head p{max-width:82em;margin:22px 0 0;text-align:left}
.stadium-proof .case-section-head h2{max-width:18ch}

.stadium-case #case-control .control-room-grid{display:block!important;min-height:0!important}
.stadium-case #case-control .control-room-grid>header{position:static!important;display:block!important;min-height:0!important;margin-bottom:clamp(42px,5vw,72px);text-align:left}
.stadium-case #case-control .control-room-grid>header h2{width:100%;max-width:none;text-align:left!important}
.stadium-case #case-control .control-room-grid>header p{max-width:58em;margin-top:22px;text-align:left}
html.route-stadium body.case-detail-page #constructionCase #case-control #control-title{text-align:left!important}

.stadium-problem-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--case-line);
  border-bottom:1px solid var(--case-line);
}

.stadium-problem-grid article{
  min-width:0;
  min-height:250px;
  padding:30px 32px 32px;
}

.stadium-problem-grid article+article{border-left:1px solid var(--case-line)}
.stadium-problem-grid span{color:var(--stadium-blue);font-size:12px;letter-spacing:.08em}
.stadium-problem-grid h3{max-width:none;margin:40px 0 14px;font-size:clamp(25px,2.2vw,34px);font-weight:400;line-height:1.12;letter-spacing:-.025em;white-space:nowrap}
.stadium-problem-grid p{margin:0;color:var(--case-muted);font-size:14px;line-height:1.75}

.stadium-impact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:72px;
}

.stadium-impact-grid article{
  min-width:0;
  padding:0 28px;
}

.stadium-impact-grid article:first-child{padding-left:0}
.stadium-impact-grid article+article{border-left:1px solid var(--case-line)}
.stadium-impact-grid strong{display:block;font-size:clamp(44px,5vw,72px);font-weight:300;line-height:1}
.stadium-impact-grid span{display:block;margin-top:18px;font-size:16px}
.stadium-impact-grid p{margin:12px 0 0;color:var(--case-muted);font-size:13px;line-height:1.7}

.stadium-event-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line);list-style:none}
.stadium-event-timeline li{position:relative;min-width:0;padding:30px 26px 34px}.stadium-event-timeline li+li{border-left:1px solid var(--case-line)}.stadium-event-timeline li>span{display:block;color:var(--stadium-blue);font-size:11px;letter-spacing:.1em}.stadium-event-timeline b{display:block;margin:48px 0 14px;font-size:clamp(19px,1.7vw,25px);font-weight:500;line-height:1.2}.stadium-event-timeline p{min-height:7.2em;margin:0;color:var(--case-muted);font-size:13px;line-height:1.7}.stadium-event-timeline small{display:block;margin-top:24px;padding-top:14px;border-top:1px solid var(--case-line);color:var(--stadium-blue);font-size:11px;line-height:1.6}

/* Keep the four-step incident chain crisp on the white case-study canvas. */
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline{
  border-color:var(--stadium-line-strong)!important;
  background:var(--stadium-panel)!important;
  color:var(--case-ink)!important;
}
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline li{
  background:var(--stadium-panel)!important;
  color:var(--case-ink)!important;
}
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline li+li,
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline small{
  border-color:var(--stadium-line-strong)!important;
}
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline b{
  color:var(--case-ink)!important;
}
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline p{
  color:var(--stadium-copy)!important;
}
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline li>span,
html.route-stadium body.case-detail-page #constructionCase #case-control .stadium-event-timeline small{
  color:var(--stadium-blue)!important;
}
.stadium-incident-explorer{display:grid;grid-template-columns:minmax(21rem,.92fr) minmax(0,1.08fr);min-width:0;border:1px solid var(--case-line);background:#fff}
.stadium-zone-map{position:relative;min-width:0;min-height:34rem;padding:2rem;border-right:1px solid var(--case-line);background:#f1f3f5}.stadium-zone-map__field{position:absolute;inset:3.5rem;border:1px solid rgba(79,111,137,.28);border-radius:50%;background:#fff}.stadium-zone-map__field:before,.stadium-zone-map__field:after{position:absolute;content:"";border:1px solid rgba(79,111,137,.2);border-radius:50%}.stadium-zone-map__field:before{inset:12%}.stadium-zone-map__field:after{inset:29%}.stadium-zone-map__field span{position:absolute;z-index:1;color:var(--case-muted);font-size:10px;letter-spacing:.1em}.stadium-zone-map__field span:nth-child(1){top:10%;left:47%}.stadium-zone-map__field span:nth-child(2){top:48%;left:46%}.stadium-zone-map__field span:nth-child(3){right:8%;bottom:18%}
.stadium-zone-controls button{position:absolute;z-index:2;display:flex;gap:.65rem;align-items:center;padding:.8rem 1rem;border:1px solid rgba(79,111,137,.3);border-radius:999px;background:#fff;color:var(--case-ink);font:inherit;font-size:13px;cursor:pointer;box-shadow:var(--ui-shadow-low)}.stadium-zone-controls button:nth-child(1){top:18%;left:9%}.stadium-zone-controls button:nth-child(2){top:47%;right:7%}.stadium-zone-controls button:nth-child(3){bottom:12%;left:15%}.stadium-zone-controls button span{color:var(--stadium-blue);font-size:10px}.stadium-zone-controls button[aria-pressed="true"]{border-color:var(--stadium-blue);background:#15202b;color:#fff}
.stadium-incident-dossiers{display:flex;min-width:0;align-items:center;padding:clamp(2rem,4vw,4rem)}.stadium-incident-dossiers article[hidden]{display:none}.stadium-incident-dossiers article>span{color:var(--stadium-blue);font-size:11px;letter-spacing:.1em}.stadium-incident-dossiers h3{max-width:16ch;margin:2rem 0 1.4rem;font-size:clamp(1.8rem,2.7vw,2.8rem);font-weight:400;line-height:1.1}.stadium-incident-dossiers p{max-width:44rem;margin:0;color:var(--case-muted);font-size:14px;line-height:1.8}.stadium-incident-dossiers dl{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:2.5rem 0 0}.stadium-incident-dossiers dl div{padding-top:1rem;border-top:1px solid var(--case-line)}.stadium-incident-dossiers dt{color:var(--stadium-blue);font-size:11px}.stadium-incident-dossiers dd{margin:.55rem 0 0;font-size:13px;line-height:1.6}

.stadium-platform .wrap{display:grid;grid-template-columns:minmax(19rem,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.stadium-platform .case-section-head{grid-column:1}
.stadium-dashboard-placeholder{grid-column:2;width:min(100%,822.823px);min-height:0!important;aspect-ratio:822.823/462.833;justify-self:end;padding:clamp(24px,3vw,40px)}
.stadium-dashboard-placeholder strong{font-size:clamp(22px,2vw,32px)}
.stadium-dashboard-media{
  padding:0;
  border:1px solid var(--case-line);
  background:#fff!important;
}
.stadium-dashboard-media>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.stadium-ontology-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:24px;
  border-top:1px solid var(--case-line);
  border-bottom:1px solid var(--case-line);
}

.stadium-ontology-grid article{min-width:0;padding:32px}
.stadium-ontology-grid article+article{border-left:1px solid var(--case-line)}
.stadium-ontology-grid span{color:var(--stadium-blue);font-size:12px;letter-spacing:.08em}
.stadium-ontology-grid h3{margin:54px 0 14px;font-size:clamp(23px,2vw,31px);font-weight:400;line-height:1.12}
.stadium-ontology-grid p{margin:0;color:var(--case-muted);font-size:14px;line-height:1.7}

.stadium-capability-grid article{min-width:0}
.stadium-alert-placeholder{width:min(100%,42rem);min-height:0!important;aspect-ratio:16/9;justify-self:end}
.stadium-alert-media{
  padding:0;
  border:1px solid var(--case-line);
  background:#fff!important;
}
.stadium-alert-media>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.stadium-proof-grid{display:block;grid-template-columns:1fr;margin-top:48px}
.stadium-proof-grid .deployment-facts{width:100%;height:auto}

/* Stadium deployment facts follow the reference's open two-column ledger layout. */
html.route-stadium body.case-detail-page #constructionCase .stadium-deployment{
  width:min(100%,1480px);
  max-width:1480px;
  box-sizing:border-box;
  margin-inline:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-deployment h3{
  margin:0 0 32px;
  color:var(--case-ink);
  font-size:20px;
  font-weight:600;
  line-height:1.35;
  text-align:left;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;
  margin:0;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dl div{
  min-width:0;
  padding:22px 0 24px;
  border-top:1px solid var(--case-line);
  text-align:left;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dt{
  color:var(--case-muted);
  font-size:14px;
  line-height:1.5;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dd{
  margin:10px 0 0;
  color:var(--case-muted);
  font-size:17px;
  line-height:1.55;
  overflow-wrap:anywhere;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-close-actions{
  display:flex!important;
  width:fit-content!important;
  max-width:100%!important;
  justify-content:center;
  gap:14px!important;
  flex-wrap:wrap;
}

html.route-stadium body.case-detail-page #constructionCase .case-close .cta-actions.stadium-close-actions{
  display:flex!important;
  grid-template-columns:none!important;
}

html.route-stadium body.case-detail-page #constructionCase .stadium-close-actions .pill{
  display:inline-flex;
  width:142px;
  min-width:142px!important;
  max-width:142px;
  height:42px;
  min-height:42px;
  padding:0 22px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

.stadium-scenarios .exception-console-grid>.control-media{grid-column:2!important;grid-row:1;margin-top:0}
.stadium-scenarios .control-metrics{grid-column:1 / -1;grid-row:2;margin-top:0;border-top:0}

@media(min-width:1101px){
  .stadium-case #control-title{white-space:nowrap}
  .stadium-scenarios .exception-console-grid{grid-template-columns:minmax(30rem,.82fr) minmax(0,1.18fr)!important;align-items:center}
  .stadium-scenarios .exception-console-grid>header{grid-column:1;grid-row:1;align-self:center}
}

@media(max-width:980px){
  .stadium-context .case-section-head,
  .stadium-platform .case-section-head,
  .stadium-proof .case-section-head{grid-template-columns:1fr}
  .stadium-problem-grid{grid-template-columns:1fr 1fr}
  .stadium-problem-grid h3{white-space:normal}
  .stadium-problem-grid article:nth-child(3){grid-column:1 / -1;border-top:1px solid var(--case-line);border-left:0}
  .stadium-impact-grid{grid-template-columns:1fr 1fr;gap:42px 0}
  .stadium-impact-grid article:nth-child(3){border-left:0;padding-left:0}
  .stadium-ontology-grid{grid-template-columns:1fr}
  .stadium-ontology-grid article+article{border-top:1px solid var(--case-line);border-left:0}
  .stadium-platform .wrap{grid-template-columns:1fr}.stadium-platform .case-section-head,.stadium-dashboard-placeholder{grid-column:1}.stadium-dashboard-placeholder{min-height:0!important;aspect-ratio:16/9;justify-self:start}
  .stadium-event-timeline{grid-template-columns:1fr 1fr}.stadium-event-timeline li:nth-child(3){border-left:0}.stadium-event-timeline li:nth-child(n+3){border-top:1px solid var(--case-line)}
  .stadium-incident-explorer{grid-template-columns:1fr}.stadium-zone-map{border-right:0;border-bottom:1px solid var(--case-line)}
}

@media(max-width:1100px){
  .stadium-scenarios .exception-console-grid>.control-media{grid-column:1!important;grid-row:auto;justify-self:start}
  .stadium-scenarios .control-metrics{grid-column:1;grid-row:auto}
}

@media(max-width:700px){
  html.route-stadium body.case-detail-page #constructionCase .case-brand-line{font-size:14px!important}
  .stadium-context .case-section-head{padding-bottom:0}.stadium-context .case-section-head h2{white-space:normal}.stadium-context .case-section-head h2,.stadium-platform .case-section-head h2,.stadium-case #control-title{font-size:clamp(32px,10vw,40px)!important}.stadium-context .case-section-head p,.stadium-platform .case-section-head p{margin-top:18px}
  .stadium-media-placeholder{min-height:320px;padding:26px}
  .stadium-media-placeholder strong{font-size:26px}
  .stadium-hero-visual{aspect-ratio:auto}
  .stadium-hero-photo{min-height:0;aspect-ratio:1672 / 941;padding:0}
  .stadium-hero-photo>img{min-height:0;object-fit:cover}
  .stadium-problem-grid{grid-template-columns:1fr}
  .stadium-problem-grid article{min-height:auto;padding:28px 22px 32px}
  .stadium-problem-grid article+article,
  .stadium-problem-grid article:nth-child(3){grid-column:auto;border-top:1px solid var(--case-line);border-left:0}
  .stadium-problem-grid h3{margin-top:32px}
  .stadium-impact-grid{grid-template-columns:1fr;margin-top:54px;gap:0}
  .stadium-impact-grid article,
  .stadium-impact-grid article:first-child,
  .stadium-impact-grid article:nth-child(3){padding:28px 0;border-top:1px solid var(--case-line);border-left:0}
  .stadium-impact-grid article:last-child{border-bottom:1px solid var(--case-line)}
  .stadium-dashboard-placeholder{min-height:0!important;aspect-ratio:16/9}
  .stadium-ontology-grid article{padding:28px 22px}
  .stadium-ontology-grid h3{margin-top:38px}
  .stadium-event-timeline{grid-template-columns:1fr}.stadium-event-timeline li+li{border-top:1px solid var(--case-line);border-left:0}.stadium-event-timeline b{margin-top:28px}.stadium-event-timeline p{min-height:0}.stadium-zone-map{min-height:28rem;padding:1rem}.stadium-zone-map__field{inset:3rem 1.5rem}.stadium-zone-controls button{font-size:12px}.stadium-zone-controls button:nth-child(1){left:4%}.stadium-zone-controls button:nth-child(2){right:3%}.stadium-incident-dossiers{padding:2rem 1.35rem}.stadium-incident-dossiers dl{grid-template-columns:1fr}
  .stadium-case #control-title{white-space:normal}
  .stadium-scenarios .exception-console-grid>.control-media{grid-column:1!important;grid-row:auto}
  .stadium-scenarios .control-metrics{grid-column:1;grid-row:auto}
  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dl{grid-template-columns:1fr}
  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment h3{margin-bottom:24px}
}

@media(prefers-reduced-motion:reduce){.stadium-zone-controls button{transition:none}}

/* Stadium case annotation pass: type, section rhythm, and paired-content alignment. */
html.route-stadium body.case-detail-page #constructionCase .case-brand-line,
html.route-stadium body.case-detail-page #constructionCase .construction-lede {
  color: rgb(111, 114, 120) !important;
  border-color: rgb(111, 114, 120) !important;
  font-size: 17.6px !important;
  font-weight: 400 !important;
}

html.route-stadium body.case-detail-page #constructionCase .case-brand-divider {
  background-color: rgb(111, 114, 120) !important;
}

.stadium-context .case-section-head {
  margin-bottom: clamp(48px, 5vw, 72px);
}

.stadium-platform .case-section-head,
.stadium-scenarios .exception-console-grid > header {
  text-align: center !important;
}

.stadium-platform .case-section-head h2,
.stadium-platform .case-section-head p,
.stadium-scenarios .exception-console-grid > header h2,
.stadium-scenarios .exception-console-grid > header p {
  margin-right: auto;
  margin-left: auto;
  text-align: center !important;
}

@media (min-width: 981px) {
  .stadium-platform .wrap,
  .stadium-scenarios .exception-console-grid {
    align-items: center;
  }

  .stadium-platform .case-section-head,
  .stadium-scenarios .exception-console-grid > header {
    align-self: center;
  }

  .stadium-dashboard-placeholder,
  .stadium-alert-placeholder {
    align-self: center;
    justify-self: center;
  }

  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment {
    height:353.375px!important;
  }

  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment h3 {
    margin-bottom:20px;
  }

  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dl div {
    padding:12px 0;
  }

  html.route-stadium body.case-detail-page #constructionCase .stadium-deployment dd {
    margin-top:4px;
  }
}

@media (max-width: 700px) {
  html.route-stadium body.case-detail-page #constructionCase .case-brand-line {
    gap: 8px;
    font-size: 17.6px !important;
  }

  html.route-stadium body.case-detail-page #constructionCase .construction-lede {
    font-size: 17.6px !important;
  }

  .stadium-context .case-section-head {
    margin-bottom: 40px;
  }
}
