.masterplan-section{background:var(--paper-2)}
.masterplan-figure{margin:26px 0 0;border:1px solid var(--line);background:#fff;box-shadow:12px 12px 0 var(--paper-3);overflow:hidden}
.masterplan-figure img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}
.masterplan-figure figcaption{padding:12px 16px;color:var(--muted);font:11px/1.5 var(--font-mono);letter-spacing:.04em}
@media(max-width:760px){.masterplan-figure{box-shadow:7px 7px 0 var(--paper-3)}.masterplan-figure img{min-height:220px;object-fit:cover}}

/* Homepage masterplan hero: preserve architectural detail beside a solid message panel. */
.hero{position:relative;overflow:hidden;background:#0b1938;color:#fff}
.hero::before,.hero::after{content:none}
.hero-grid{display:none}
.hero>.container{width:min(calc(100% - 48px),1720px)}
.hero-main{grid-template-columns:minmax(600px,.78fr) minmax(0,1.22fr);gap:0;min-height:650px;padding:48px 0}
.hero-main>div:first-child{position:relative;z-index:2;display:flex;max-width:none;flex-direction:column;justify-content:center;padding:48px 52px;background:#0c1c42;border-left:4px solid var(--accent);box-shadow:24px 0 60px rgba(2,11,30,.22)}
.hero-eyebrow,.hero-sub,.hero-points,.hero-note,.hero-divider{color:rgba(255,255,255,.88)}
.hero h1,.hero h1 .accent{color:#fff;white-space:nowrap;text-shadow:0 3px 20px rgba(0,0,0,.18)}
.hero .hero-visual{display:block;min-width:0}
.hero .hero-card{position:relative;height:100%;border:0;background:#09152f;box-shadow:none;transform:none}
.hero .hero-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero .hero-card figcaption{position:absolute;right:18px;bottom:18px;left:auto;padding:9px 12px;border:1px solid rgba(255,255,255,.25);background:rgba(5,15,37,.78);color:rgba(255,255,255,.8);backdrop-filter:blur(4px)}
.hero .hero-card figcaption b{color:#fff}
.hero .stats{background:#07142f;border-top:1px solid rgba(255,255,255,.18)}
.hero .stat{border-color:rgba(255,255,255,.18)}
.hero .stat b,.hero .stat>span{color:#fff}
@media(max-width:980px){.hero>.container{width:100%}.hero-main{grid-template-columns:1fr;min-height:0;padding:0}.hero .hero-visual{order:-1;height:clamp(300px,56vw,520px)}.hero-main>div:first-child{padding:44px max(24px,6vw);border-left:0;border-top:3px solid var(--accent);box-shadow:none}.hero h1,.hero h1 .accent{white-space:normal}.hero .hero-card figcaption{right:12px;bottom:12px}}
@media(max-width:560px){.hero .hero-visual{height:250px}.hero .hero-card img{object-position:center}.hero .hero-card figcaption{right:8px;bottom:8px;left:8px;font-size:10px}.hero-main>div:first-child{padding:34px 20px 42px}.hero h1{font-size:clamp(40px,12vw,62px)}}
