/* Complete-frame photographic presentation; vector detail stays outside the photo. */
.media{margin:0;width:100%;min-width:0;background:var(--cream)}
.media picture{display:block;width:100%;aspect-ratio:var(--photo-ratio);background:var(--sand);overflow:visible}
.media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;filter:none;mix-blend-mode:normal}
.media figcaption{position:static;padding:9px 12px;color:#595c56;background:var(--cream);font-size:10px;line-height:1.6;letter-spacing:.015em}
.hero,.hero.home{height:auto;min-height:0;padding:62px 0;color:var(--ink);background:var(--cream);overflow:visible}
.hero:after{display:none}
.hero .wrap.hero-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center;min-height:410px}
.hero .hero-copy{width:100%;padding:25px 0}
.hero .eyebrow{color:var(--red);line-height:1.6;font-size:11px;letter-spacing:.1em}
.hero h1,.hero:not(.home) h1{font-size:clamp(36px,3.7vw,55px);max-width:580px;line-height:1.08;margin-bottom:24px}
.hero.home h1{font-size:clamp(42px,4.6vw,65px);max-width:560px}
.hero p{color:var(--muted);font-size:18px;max-width:460px;margin-bottom:30px}
.hero-photo{position:relative;width:100%;min-width:0;background:var(--sand);border:1px solid #e5e1d9}
.hero-photo .media picture{aspect-ratio:4/3}
.photo-corner{position:absolute;left:-14px;top:-14px;width:48px;height:48px;color:var(--red);stroke-width:2;background:transparent;pointer-events:none}
.photo,.split .photo,.feature .photo,.project-card .photo,.news-card .photo,.support-overview .photo{height:auto!important;min-height:0;overflow:visible;display:flex;align-items:center;background:var(--sand)}
.split .photo .media picture,.feature .photo .media picture{aspect-ratio:4/3}
.project-card .photo .media picture,.news-card .photo .media picture{aspect-ratio:3/2}
.support-overview .photo .media picture{aspect-ratio:3/2}
.project-banner{height:auto;max-width:1200px;width:calc(100% - 96px);margin:45px auto 0;overflow:visible;border-left:3px solid var(--red);padding-left:18px}
.project-banner .media picture{aspect-ratio:2.4;background:var(--cream)}
.project-banner .media figcaption{padding:8px 0;background:white}
.regional-banner{height:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:55px;padding:55px max(48px,calc((100vw - 1200px)/2));background:var(--cream);align-items:center}
.regional-banner>.media{position:static}
.regional-banner .panel{width:auto;max-width:400px;background:white;padding:35px;border-top:2px solid var(--red)}
.video-placeholder{height:auto;min-height:0;background:var(--sand);overflow:visible}
.video-placeholder .media picture{aspect-ratio:16/10}
.video-placeholder button{bottom:34px;background:transparent;color:var(--red)}
.video-placeholder button svg{color:var(--red);background:white;border:1px solid var(--red);fill:var(--red);box-shadow:0 3px 20px #0002}
.project-card:hover img,.split .photo:hover img{transform:none}
.project-card,.support-card{border-radius:0}
.project-grid.list .photo{height:auto}
@media(max-width:1100px){.hero .wrap.hero-layout{gap:35px}.hero.home h1{font-size:52px}.project-banner{width:calc(100% - 64px)}}
@media(max-width:850px){.hero,.hero.home{padding:44px 0}.hero .wrap.hero-layout{grid-template-columns:1fr;gap:30px;min-height:0}.hero .hero-copy{padding:0}.hero.home h1{max-width:650px;font-size:54px}.hero h1,.hero:not(.home) h1{max-width:650px;font-size:46px}.hero p{max-width:560px}.hero-photo .media picture{aspect-ratio:var(--photo-ratio)}.hero-photo{max-width:680px}.project-banner .media picture{aspect-ratio:var(--photo-ratio)}.regional-banner{gap:25px;padding:45px 32px;grid-template-columns:1.2fr 1fr}.regional-banner .panel{padding:25px}}
@media(max-width:600px){.hero,.hero.home{padding:38px 0 30px}.hero .wrap.hero-layout{gap:25px}.hero.home h1{font-size:43px;max-width:350px}.hero h1,.hero:not(.home) h1{font-size:39px;max-width:350px}.hero .eyebrow{font-size:10px;max-width:340px}.hero p{font-size:16px;margin-bottom:25px;max-width:350px}.hero-photo{margin-top:7px}.photo-corner{width:35px;height:35px;top:-10px;left:-10px}.media figcaption{font-size:10px;padding:8px 10px}.split .photo .media picture,.feature .photo .media picture{aspect-ratio:var(--photo-ratio)}.project-banner{width:calc(100% - 40px);margin-top:30px;padding-left:10px}.regional-banner{display:grid;grid-template-columns:1fr;padding:30px 20px;gap:25px}.regional-banner .panel{max-width:none}.regional-banner h2{font-size:30px}.project-grid.list .photo .media picture{aspect-ratio:1;height:100%;min-height:130px}.project-grid.list .photo .media figcaption{font-size:8px}.project-intro h1{overflow-wrap:anywhere}.photo{max-width:100%}}
.hero,.hero.home,.regional-banner{background:var(--red);color:#fff}
.hero .eyebrow,.hero p,.regional-banner p,.regional-banner .eyebrow{color:#fff}
.regional-banner .panel{background:var(--red);color:#fff;border-top-color:#fff}
