.project-index-hero{padding-bottom:clamp(48px,7vh,78px)}
.project-index-hero .lede{max-width:58ch}
.project-index-section{padding-top:clamp(46px,7vh,82px)}
.project-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-index-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .25s ease,transform .25s ease}
.project-index-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.project-index-media{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--line);background:#070707}
.project-index-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.project-index-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(200,154,69,.1),transparent 52%),#070707;text-align:center}
.project-index-placeholder span{color:var(--accent);font:400 .72rem var(--mono);letter-spacing:.08em;direction:ltr}
.project-index-placeholder strong{font-size:1.2rem;font-weight:500}
.project-index-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}
.project-index-body .kicker{margin-bottom:12px}
.project-index-body h2{margin:0;font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.08}
.project-index-body p{margin:16px 0 0;color:var(--muted);font-size:.94rem}
.project-index-link{display:inline-flex;gap:8px;margin-top:auto;padding-top:24px;color:var(--accent);font-weight:600}
.project-index-note{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}
.case-site .project-index-card{background:#000}
.infrastructure-projects{margin-top:clamp(34px,5vh,64px);border-top:1px solid var(--line)}
.project-group-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);align-items:end;gap:clamp(38px,7vw,110px);margin-bottom:clamp(36px,5vw,66px)}
.project-group-head h2{max-width:12ch;margin:12px 0 0;font-size:var(--case-type-section);line-height:.96;text-wrap:balance}
.project-group-head>p{max-width:52ch;margin:0;color:var(--muted);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.75;text-wrap:pretty}
.infrastructure-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.infrastructure-project-card{display:flex;min-width:0;flex-direction:column;padding:clamp(24px,2.6vw,34px);border:1px solid var(--line);background:#000;transition:border-color .25s ease,transform .25s ease}
.infrastructure-project-card:hover{border-color:rgba(200,154,69,.72);transform:translateY(-3px)}
.infrastructure-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.infrastructure-card-top .kicker{margin:0}
.infrastructure-number{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;letter-spacing:.16em}
.infrastructure-project-card h3{max-width:15ch;margin:28px 0 0;font-size:clamp(1.48rem,2.15vw,2.08rem);line-height:1.12;text-wrap:balance}
.infrastructure-summary{margin:20px 0 0;color:var(--muted);font-size:.96rem;line-height:1.75;text-wrap:pretty}
.infrastructure-scope{display:grid;gap:0;margin:26px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}
.infrastructure-scope li{position:relative;padding:14px 18px 14px 0;border-bottom:1px solid var(--line);color:rgba(255,255,255,.82);font-size:.88rem;line-height:1.6}
.infrastructure-scope li::before{content:"";position:absolute;inset-inline-start:0;top:1.34rem;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.infrastructure-value{margin-top:auto;padding-top:28px}
.infrastructure-value>span{color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.1em}
.infrastructure-value p{margin:9px 0 0;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.65}
.infrastructure-tools{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0 0;padding:0;list-style:none}
.infrastructure-tools li{padding:7px 10px;border:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1}
@media(max-width:980px){.project-index-grid,.infrastructure-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.infrastructure-project-grid>.infrastructure-project-card:last-child:nth-child(odd){grid-column:1/-1}.project-group-head{grid-template-columns:1fr;gap:20px}.project-group-head>p{max-width:60ch}}
@media(max-width:680px){.project-index-grid,.infrastructure-project-grid{grid-template-columns:1fr}.infrastructure-project-grid>.infrastructure-project-card:last-child:nth-child(odd){grid-column:auto}.project-index-media{aspect-ratio:16/10}.project-index-card:hover,.infrastructure-project-card:hover{transform:none}.infrastructure-project-card{padding:24px 20px}.infrastructure-project-card h3{max-width:18ch}.infrastructure-card-top{align-items:flex-start}.infrastructure-card-top .kicker{max-width:18ch}}
@media(prefers-reduced-motion:reduce){.project-index-card,.infrastructure-project-card{transition:none}}
