.methodology-hero::before { background:linear-gradient(90deg,rgba(9,8,18,.97),rgba(9,8,18,.65) 52%,rgba(18,12,36,.28)),url('../assets/08_maps/satellite-cases/urban-sao-paulo-nasa.jpg') center/cover; }
.method-source-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.method-source-grid a { min-height:320px; padding:34px; display:flex; flex-direction:column; text-decoration:none; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(145deg,rgba(96,65,165,.08),transparent); }
.method-source-grid span,.evidence-grid span { color:var(--signal); font:500 11px/1.5 "IBM Plex Mono",monospace; letter-spacing:.11em; }
.method-source-grid strong { margin-top:auto; font-size:28px; font-weight:500; }
.method-source-grid p { color:var(--muted); font-size:16px; line-height:1.65; }
.method-disclaimer { margin:24px 0 0; color:rgba(255,255,255,.45); font-size:13px; line-height:1.6; }
.evidence-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.evidence-grid article { min-height:390px; padding:38px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.evidence-grid h3 { margin:85px 0 18px; font-size:30px; font-weight:500; letter-spacing:-.03em; }
.evidence-grid p { color:var(--muted); font-size:17px; line-height:1.7; }
.evidence-grid small { display:block; margin-top:35px; color:rgba(255,255,255,.4); font:500 10px/1.5 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.cadence-table { border-top:1px solid var(--line); border-left:1px solid var(--line); }
.cadence-table>div { display:grid; grid-template-columns:1.1fr .7fr 1.2fr; }
.cadence-table span,.cadence-table strong { padding:22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.cadence-table>div:first-child span { color:var(--signal); font:500 11px/1.5 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.cadence-table strong { font-weight:500; }.cadence-table>div:not(:first-child) span { color:var(--muted); }
@media(max-width:900px){.method-source-grid{grid-template-columns:1fr 1fr}.evidence-grid{grid-template-columns:1fr}.cadence-table>div{grid-template-columns:1fr}.cadence-table>div:first-child{display:none}}
@media(max-width:600px){.method-source-grid{grid-template-columns:1fr}.method-source-grid a{min-height:250px}}
