.source-section,.research-expansion{max-width:1180px;margin:2.4rem auto;padding:1.4rem;border:1px solid rgba(56,91,52,.22);border-radius:18px;background:#f3f7ed;box-shadow:0 10px 30px rgba(50,45,30,.08)}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.source-grid figure{margin:0;padding:.75rem;background:#fffdf5;border:1px solid #d9d4bf;border-radius:14px;overflow:hidden}
.source-grid img{display:block;width:100%;height:clamp(260px,40vw,620px);object-fit:contain;background:#ece9df;border-radius:9px}
.source-grid figcaption{padding:.7rem .25rem .2rem;line-height:1.55;color:#3e4839}
.numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin:1.2rem 0}
.numbers b{display:flex;flex-direction:column;gap:.35rem;padding:1rem;text-align:center;background:#244f35;color:#fff;border-radius:12px;font-size:1.35rem}
.numbers small{font-size:.76rem;font-weight:500;line-height:1.25;color:#e4ecdf}
.table-wrap{overflow-x:auto;margin:1rem 0}.table-wrap table{width:100%;border-collapse:collapse;background:#fffdf5}.table-wrap th,.table-wrap td{padding:.7rem;border:1px solid #d5d3c3;text-align:left}.table-wrap th{background:#315d3c;color:white}
.research-expansion h2{margin-top:2rem}.research-expansion p{line-height:1.75}.source-note{font-size:.9rem;color:#596254}
@media(max-width:760px){.source-grid{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.source-section,.research-expansion{margin:1.2rem .7rem;padding:1rem}.source-grid img{height:auto;max-height:70vh}}
