/* ABOUTME: Report-specific styles layered over the existing Moderat subpage theme. */
/* ABOUTME: Shadow-free photos and dark text on the homepage background preserve AA contrast. */
.root-cases:has(.impact-report) { height: auto; min-height: 100%; overflow: auto; }
.case-body:has(.impact-report) { height: auto; min-height: 100%; overflow: visible; }
.snap-scroll #case-content:has(.impact-report) { height: auto; overflow: visible; }
.impact-report { background: #f0f5e9; color: #171717; font-family: Moderat, sans-serif; }
.impact-report * { box-sizing: border-box; }
.report-hero { background: #f0f5e9; }
.report-collage { height: min(650px, 70svh); display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; }
.report-collage img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.report-collage img:first-child { grid-row: span 2; }
.report-hero-copy { width: 100%; padding: 48px 6vw 0; color: #171717; background: #f0f5e9; }
.report-hero h1 { max-width: 1000px; font-size: clamp(2.5rem,6.5vw,6rem); line-height: 1.02; margin: 0 0 24px; color: #171717; }
.report-hero p { font-size: clamp(1.15rem,2.3vw,1.8rem); margin: 0; color: #171717; }
.report-intro { max-width: 1200px; margin: auto; padding: 48px 6vw; }
.report-intro h2 { color: #171717; font-size: clamp(1.8rem,3.4vw,3rem); line-height: 1.18; margin: 0 0 36px; }
.report-download { display: inline-block; padding: 18px 24px; background: #f99d27; color: #171717; border: 2px solid #171717; font-weight: bold; font-size: 20px; text-decoration: none; }
.report-download:hover { background: #171717; color: #fff; }
.report-download span { white-space: nowrap; }
.report-copy { max-width: 900px; padding: 0 6vw 72px; margin: auto; font-size: 20px; line-height: 1.65; }
.report-copy p { margin: 0 0 28px; }
.report-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 0 3vw; }
.report-gallery img { width: 100%; height: 350px; object-fit: cover; }
.report-quote { margin: 0; padding: 90px 9vw 110px; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.25; font-weight: bold; border: 0; color: #171717; }
.impact-report a:focus-visible { outline: 3px solid #171717; outline-offset: 5px; }
@media(max-width:650px) {
 .report-collage { height: 470px; }
 .report-collage { grid-template-columns: 1fr 1fr; grid-template-rows: 2fr 1fr; }
 .report-collage img:first-child { grid-row: auto; grid-column: span 2; }
 .report-hero-copy { padding: 32px 24px 0; }
 .report-intro { padding: 48px 24px 36px; }
 .report-copy { padding: 0 24px 40px; font-size: 18px; }
 .report-gallery { grid-template-columns: 1fr 1fr; padding: 0 12px; gap: 8px; }
 .report-gallery img { height: 230px; }
 .report-gallery img:first-child { grid-column: span 2; }
 .report-quote { padding: 48px 24px 64px; }
}
.case-body:has(.impact-report) .menu:focus-visible { outline: 3px solid #fff; box-shadow: 0 0 0 6px #171717; }

.impact-report img { border: 0; outline: 0; box-shadow: none; }
.report-teasers { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); align-items: center; gap: 40px; margin: 40px 0; }
.report-teasers img { width: 100%; height: auto; object-fit: contain; }
@media(max-width:650px) {
 .report-teasers { grid-template-columns: 1fr; gap: 24px; margin: 32px 0; }
 .report-teasers .report-cover { width: 80%; max-width: 300px; margin: auto; }
}
