.project-page{background:#f4f7f5}.project-header{background:rgba(7,19,29,.96)}.project-hero{min-height:92svh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:8.5rem max(1rem,calc((100vw - var(--max))/2)) 4.5rem;color:#fff;background:var(--ink);position:relative;overflow:hidden}.project-hero:after{content:"";position:absolute;width:38rem;height:38rem;right:-15rem;top:-18rem;border:1px solid rgba(70,214,160,.17);border-radius:50%;box-shadow:0 0 0 4rem rgba(70,214,160,.04),0 0 0 8rem rgba(70,214,160,.025)}.project-hero-copy,.project-hero-map{position:relative;z-index:1}.project-hero h1{margin:0;font-size:clamp(3rem,6vw,6.4rem);line-height:.95;letter-spacing:-.06em}.project-hero h1 em{color:var(--green);font-style:normal}.project-hero-lead{max-width:720px;margin:1.7rem 0 0;color:rgba(255,255,255,.7);font-size:1.08rem}.project-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.project-hero-map{margin:0}.project-hero-map button{display:block;width:100%;padding:0;border:0;border-radius:1.1rem;overflow:hidden;background:#fff;cursor:zoom-in;box-shadow:0 26px 90px rgba(0,0,0,.35)}.project-hero-map img{width:100%;aspect-ratio:1.25;object-fit:cover}.project-hero-map figcaption{margin-top:.7rem;color:rgba(255,255,255,.6);font-size:.78rem}.project-meta-band{background:var(--green2);color:#fff}.project-meta-band dl{max-width:var(--max);margin:0 auto;padding:1.4rem 1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.project-meta-band dt{text-transform:uppercase;letter-spacing:.12em;color:#b8f7dc;font-size:.68rem;font-weight:850}.project-meta-band dd{margin:.25rem 0 0;font-weight:720;line-height:1.35}.project-section{max-width:var(--max);margin:0 auto;padding:clamp(5rem,9vw,8rem) 1rem}.project-overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem)}.project-section h2{margin:.25rem 0 1rem;font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.03;letter-spacing:-.055em}.project-prose{color:var(--muted);font-size:1.06rem}.project-prose p:first-child{margin-top:0}.project-numbers{max-width:var(--max);margin:0 auto 4rem;padding:0 1rem;display:grid;grid-template-columns:repeat(4,1fr)}.project-numbers div{padding:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff}.project-numbers div:first-child{border-left:1px solid var(--line)}.project-numbers strong,.project-numbers span{display:block}.project-numbers strong{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.055em;line-height:1;color:var(--green2)}.project-numbers span{margin-top:.5rem;color:var(--muted);font-size:.8rem}.contribution-section{padding-top:5rem}.contribution-heading{max-width:850px;margin-bottom:2.5rem}.contribution-heading>p:not(.kicker){color:var(--muted);font-size:1.05rem}.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.contribution-card{min-height:280px;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:#fff;display:flex;flex-direction:column}.contribution-card>span{color:var(--green2);font:850 .72rem/1 ui-monospace,monospace}.contribution-card h3{margin:auto 0 .6rem;font-size:1.35rem;letter-spacing:-.025em}.contribution-card p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.55}.workflow-section{color:#fff;background:var(--ink2)}.workflow-section .kicker{color:var(--green)}.workflow-heading{max-width:850px}.project-workflow{list-style:none;padding:1.5rem 0 0;margin:0}.project-workflow li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid rgba(255,255,255,.13)}.project-workflow li>span{color:var(--green);font:850 .75rem/1.5 ui-monospace,monospace}.project-workflow strong{font-size:1.08rem}.project-workflow p{margin:.2rem 0 0;color:rgba(255,255,255,.62);font-size:.9rem}.engagement-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:.8rem;min-height:650px}.engagement-photo{position:relative;border:0;padding:0;border-radius:1rem;overflow:hidden;background:#dbe5df;cursor:zoom-in}.engagement-large{grid-row:1/3}.engagement-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.engagement-photo:hover img{transform:scale(1.03)}.engagement-photo span{position:absolute;left:.8rem;bottom:.8rem;padding:.4rem .65rem;border-radius:999px;background:rgba(7,19,29,.82);color:#fff;font-size:.72rem;font-weight:760}.outcome-section{background:#e8f4ee}.outcome-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(3rem,8vw,8rem)}.outcome-copy{color:#415760;font-size:1.02rem}.outcome-copy ul{padding-left:1.2rem;margin:1.5rem 0 2rem}.outcome-copy li{margin:.55rem 0}.attribution-note{padding-top:2rem;padding-bottom:4rem}.attribution-note p{margin:0;padding:1.25rem 1.4rem;border-left:3px solid var(--gold);background:#fff;color:var(--muted)}.project-next{padding:1rem}.project-next>div{max-width:calc(var(--max) - 2rem);margin:0 auto;padding:clamp(3rem,7vw,5rem);border-radius:1.4rem;background:var(--green2);color:#fff}.project-next .kicker{color:#b8f7dc}.project-next h2{max-width:850px;margin:.3rem 0 2rem;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.03;letter-spacing:-.05em}
.project-map-portrait{max-width:620px;justify-self:center}.project-map-portrait img{aspect-ratio:4/5;object-fit:cover}.site-section{padding-bottom:5rem}.site-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.site-profile{padding:1.6rem;border-radius:1rem;background:#fff;border:1px solid var(--line)}.site-profile>span{display:inline-block;color:var(--green2);font:850 .72rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.site-profile h3{margin:1.2rem 0 .7rem;font-size:1.45rem;letter-spacing:-.03em}.site-profile p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.report-gallery-section{background:#edf3f0}.report-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.report-map{position:relative;min-height:540px;padding:0;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff;cursor:zoom-in}.report-map img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s}.report-map:hover img{transform:scale(1.025)}.report-map span{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;border-radius:.7rem;background:rgba(7,19,29,.88);color:rgba(255,255,255,.72);font-size:.75rem}.report-map strong{color:#fff;font-size:.9rem}.report-caveat{margin:1rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.mining-gallery .report-map img{object-fit:contain;background:#fff}
.flood-gallery .report-map img{object-fit:contain;background:#fff}
@media(max-width:980px){.project-hero{grid-template-columns:1fr;padding-top:8rem}.project-hero-map{max-width:760px}.project-overview,.outcome-grid{grid-template-columns:1fr}.contribution-grid{grid-template-columns:repeat(2,1fr)}.engagement-gallery{min-height:560px}.site-profile-grid{grid-template-columns:1fr}.report-gallery{grid-template-columns:repeat(2,1fr)}.report-map{min-height:500px}}
@media(max-width:760px){.project-hero{min-height:auto;padding-top:7rem}.project-hero h1{font-size:clamp(2.8rem,13vw,4.7rem)}.project-meta-band dl{grid-template-columns:1fr 1fr}.project-numbers{grid-template-columns:1fr 1fr}.contribution-grid{grid-template-columns:1fr}.contribution-card{min-height:230px}.engagement-gallery{min-height:650px;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr}.engagement-large{grid-column:1/3;grid-row:auto}.project-hero-actions .button{width:100%}.report-gallery{grid-template-columns:1fr}.report-map{min-height:560px}}
@media(max-width:460px){.project-meta-band dl,.project-numbers{grid-template-columns:1fr}.engagement-gallery{min-height:720px;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.engagement-large{grid-column:auto}.project-numbers div{border-left:1px solid var(--line)}}

/* Keep editorial research covers fully visible, without cropping titles or evidence figures. */
.project-hero-map img[src$="-cover.svg"]{object-fit:contain;background:#102d37}
