.section-intro{max-width:900px;margin:-8px 0 25px;color:var(--muted);font-size:16px}
.baseline-grid,.target-grid,.place-grid,.district-grid,.signal-grid,.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.baseline-grid article,.target-grid article,.place-grid article,.district-grid article,.signal-grid article,.delivery-grid article{padding:23px;background:#fff;border-top:4px solid var(--accent)}
.baseline-grid strong,.target-grid strong{display:block;color:var(--accent);font:500 30px/1 var(--serif)}
.baseline-grid h3,.target-grid h3,.place-grid h3,.district-grid h3,.signal-grid h3,.delivery-grid h3{margin:13px 0 8px;font-size:18px}
.baseline-grid p,.target-grid p,.place-grid p,.district-grid p,.signal-grid p,.delivery-grid p{margin:0;color:var(--muted);font-size:13px}
.portfolio-band{padding:48px;background:var(--pale)}
.portfolio-stack{display:grid;gap:16px}.portfolio-row{display:grid;grid-template-columns:210px 1fr;background:#fff;border-left:6px solid var(--accent)}
.portfolio-row>header{padding:25px}.portfolio-row>header small,.future-grid>article>small,.flow-grid small{color:var(--accent);font:700 10px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.portfolio-row>header h3{margin:11px 0 0;font-size:23px}.portfolio-row>div{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}
.portfolio-row section{padding:24px;border-left:1px solid var(--line)}.portfolio-row section:first-child{border-left:0}.portfolio-row h4,.future-grid h4{margin:0 0 8px;font-size:17px}.portfolio-row p,.future-grid p{margin:0;color:var(--muted);font-size:13px}
.future-band{padding:48px;background:var(--dark);color:#fff}.future-band .kicker{color:#65d8cf}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33636b;border:1px solid #33636b}
.future-grid>article{padding:26px;background:#0c3640}.future-grid>article>small{color:#78e0d8}.future-grid>article>h3{margin:11px 0 20px;color:#fff;font-size:24px}.future-grid section{padding:15px 0;border-top:1px solid #315862}.future-grid h4{color:#fff}.future-grid p{color:#c8d8da}
.editorial-note{display:grid;grid-template-columns:220px 1fr;gap:28px;margin-top:18px;padding:24px;background:var(--pale);border-left:5px solid var(--accent)}.editorial-note strong{font:600 18px/1.3 var(--serif)}.editorial-note p{margin:0;color:var(--muted)}
.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:flow}.flow-grid article{position:relative;padding:24px 20px;background:#fff;counter-increment:flow}.flow-grid article::after{content:'→';position:absolute;right:-10px;top:48%;z-index:2;color:var(--accent);font-size:20px}.flow-grid article:last-child::after{display:none}.flow-grid h3{margin:12px 0 8px;font-size:17px}.flow-grid p{margin:0;color:var(--muted);font-size:12px}
.district-grid{grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.district-grid article{border-top:0}.district-grid h3{color:var(--accent)}
.source-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.district-grid{grid-template-columns:repeat(3,1fr)}.flow-grid{grid-template-columns:repeat(3,1fr)}.flow-grid article::after{display:none}.portfolio-row{grid-template-columns:170px 1fr}.portfolio-row>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.baseline-grid,.target-grid,.place-grid,.signal-grid,.delivery-grid{grid-template-columns:repeat(2,1fr)}.future-grid{grid-template-columns:1fr}.portfolio-row{grid-template-columns:1fr}.portfolio-row>div{border-left:0;border-top:1px solid var(--line)}.district-grid{grid-template-columns:repeat(2,1fr)}.source-grid{grid-template-columns:1fr}}
@media(max-width:600px){.baseline-grid,.target-grid,.place-grid,.district-grid,.signal-grid,.delivery-grid,.flow-grid{grid-template-columns:1fr}.portfolio-band,.future-band{padding:34px 22px}.portfolio-row>div{grid-template-columns:1fr}.portfolio-row section{border-left:0;border-top:1px solid var(--line)}.editorial-note{grid-template-columns:1fr;gap:10px}}
@media(max-width:440px){.header-row{flex-wrap:wrap;padding:10px 0}.main-nav{flex-basis:100%;margin-left:0;justify-content:space-between}.hero h1{font-size:35px}}
