.community-page{--accent:#3e6487;max-width:1320px;margin:0 auto;padding-left:clamp(22px,4vw,56px);padding-right:clamp(22px,4vw,56px);padding-bottom:150px;color:#171717}.community-page .opening{padding-bottom:58px!important;border-bottom:1px solid #d7d7d7}.community-page .opening-question{max-width:790px!important}.community-page .opening-question>p:first-child{font-size:clamp(22px,2.1vw,30px)!important}.main-question{margin-top:34px!important;padding-top:26px;border-top:1px solid #e2e2e2;font-size:clamp(19px,1.65vw,24px)!important}.hero-figure{margin:clamp(56px,7vw,96px) 0 0}.hero-figure img,.community-page figure img{display:block;width:100%;height:auto}.text-column{width:min(760px,74%);margin-left:auto;margin-right:auto}.text-column h2{margin:0 0 32px;font-size:clamp(29px,3vw,42px);font-weight:500;letter-spacing:-.035em;line-height:1.1}.text-column h2 span{margin-right:.35em;color:var(--accent);font-size:.6em;vertical-align:.18em;letter-spacing:0}.text-column p{margin:0 0 1.05em;font-size:clamp(17px,1.45vw,20px);line-height:1.62;letter-spacing:-.01em}.text-column p:last-child{margin-bottom:0}.overview{padding-top:clamp(120px,14vw,190px)}.site-map{margin:clamp(64px,8vw,108px) auto 0}.site-map figcaption{margin-top:13px;color:#666;font-size:13px}.numbered-section,.architecture-section{margin-top:clamp(150px,18vw,240px)}.infrastructure-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:clamp(60px,8vw,130px);align-items:center}.infrastructure-section .text-column{width:auto}.infrastructure-section figure{margin:0;max-width:470px}.architecture-section>.text-column{margin-bottom:clamp(64px,8vw,108px)}.headquarters-drawing{margin:0 auto;max-width:1200px}.node-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px) clamp(30px,4vw,64px);align-items:center}.node-grid figure{margin:0}.centred-section .diagram{width:min(610px,64%);margin:clamp(70px,8vw,112px) auto 0}.scenario-section{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(70px,9vw,135px);align-items:center}.scenario-section .text-column{width:auto}.scenario-section figure{margin:0}.project-meta a{border-color:var(--accent)!important;color:var(--accent)!important}
@media(max-width:820px){.community-page{padding-bottom:100px}.text-column{width:100%}.infrastructure-section,.scenario-section{grid-template-columns:1fr;gap:52px}.infrastructure-section figure{max-width:420px;margin:0 auto}.node-grid{grid-template-columns:1fr;gap:48px}.centred-section .diagram{width:min(100%,520px)}.numbered-section,.architecture-section{margin-top:120px}.overview{padding-top:95px}}

/* Single-column editorial flow */
.community-page .main-question{border-top:0!important;padding-top:0!important}
.community-page .infrastructure-section,.community-page .scenario-section{display:block}
.community-page .infrastructure-section .text-column,.community-page .scenario-section .text-column{width:min(760px,74%);margin-left:auto;margin-right:auto}
.community-page .infrastructure-section figure{width:min(610px,64%);max-width:none;margin:clamp(70px,8vw,112px) auto 0}
.community-page .scenario-section figure{width:min(940px,88%);margin:clamp(70px,8vw,112px) auto 0}
.community-page .node-grid{display:grid;grid-template-columns:1fr;gap:clamp(72px,10vw,138px);max-width:1080px;margin-left:auto;margin-right:auto}
.community-page .node-grid figure{width:100%;margin:0 auto}
@media(max-width:820px){.community-page .infrastructure-section .text-column,.community-page .scenario-section .text-column{width:100%}.community-page .infrastructure-section figure,.community-page .scenario-section figure{width:100%}.community-page .node-grid{gap:64px}}
.community-page .opening{border-bottom:0!important}
.community-page .node-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px) clamp(30px,4vw,64px)}
@media(max-width:820px){.community-page .node-grid{grid-template-columns:1fr;gap:64px}}


/* Requested opening, overview and image placement. */
.community-page .opening{border-bottom:1px solid #d7d7d7!important}
.community-page .overview{box-sizing:border-box;width:min(760px,74%);margin-top:clamp(86px,10vw,130px);padding:clamp(34px,4vw,54px)!important;background:#f1f2f3}
.community-page .site-map{width:50%}
.community-page .scenario-section .hero-figure{width:100%;margin:0}
@media(max-width:820px){.community-page .overview,.community-page .site-map{width:100%}}

/* Requested overview, editorial pairings and final proposal board. */
body:has(main.community-page) main.community-page>.overview-with-hero{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  align-items:start!important;
  gap:clamp(22px,3vw,44px)!important;
  box-sizing:border-box!important;
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  margin:clamp(44px,5vw,72px) auto 0!important;
  padding:0!important;
  background:#fff!important;
}
.community-page .overview-hero{display:flex;align-items:flex-start;margin:0!important}
.community-page .overview-hero img{width:100%;height:auto;object-fit:contain}
.community-page .overview-copy{padding:clamp(30px,3.6vw,48px);background:#f1f2f3}
.community-page .overview-copy h2{margin:0 0 28px;font-size:clamp(29px,3vw,42px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.community-page .overview-copy p{margin:0 0 1.05em;font-size:clamp(17px,1.45vw,20px);line-height:1.62;letter-spacing:-.01em}
.community-page .overview-copy p:last-child{margin-bottom:0}
.community-page .site-map{width:65%!important}
.community-page .site-map + .numbered-section{border-top:0!important}
body:has(main.community-page) main.community-page>.numbered-section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(42px,6vw,86px)!important;
  align-items:center!important;
}
.community-page>.numbered-section .text-column{width:auto!important;margin:0!important}
.community-page>.numbered-section figure{width:100%!important;max-width:none!important;margin:0!important}
.community-page .headquarters-drawing{width:80%!important;max-width:none!important}
.community-page .node-grid{width:80%!important;max-width:none!important}
.community-page .closing-poster{width:min(80%,896px);margin:clamp(120px,14vw,190px) auto 0}
.community-page .closing-poster img{width:100%;height:auto}
@media(max-width:820px){body:has(main.community-page) main.community-page>.overview-with-hero,body:has(main.community-page) main.community-page>.numbered-section{grid-template-columns:1fr!important}.community-page .site-map,.community-page .headquarters-drawing,.community-page .node-grid{width:100%!important}.community-page>.numbered-section figure{margin-top:42px!important}}

/* Keep the overview image and text panel as separate siblings. */
body:has(main.community-page) main.community-page>.overview-pair{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
  gap:clamp(28px,4vw,58px);
  width:min(100%,1040px);
  margin:clamp(44px,5vw,72px) auto 0;
}
body:has(main.community-page) main.community-page>.overview-pair>.overview-hero{
  align-self:start;
  margin:0;
  padding:0;
  background:#fff!important;
}
body:has(main.community-page) main.community-page>.overview-pair>.overview-hero img{
  display:block;
  width:100%;
  height:auto;
  background:#fff!important;
}
body:has(main.community-page) main.community-page>.overview-pair>.overview-copy{
  box-sizing:border-box;
  margin:0;
  padding:clamp(30px,3.6vw,48px)!important;
  background:#f1f2f3!important;
}
@media(max-width:820px){
  body:has(main.community-page) main.community-page>.overview-pair{grid-template-columns:1fr;gap:34px}
}
