:root{--bg:#fafaf9;--surface:#ffffff;--surface-2:#f5f5f4;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1917;--text-muted:#57534e;--text-subtle:#a8a29e;--accent:#0d9488;--accent-soft:#ccfbf1;--accent-text:#115e59;--warn:#c2410c;--warn-soft:#ffedd5;--soil-bassendean:#fef3c7;--soil-bassendean-text:#854d0e;--soil-spearwood:#fde68a;--soil-spearwood-text:#78350f;--soil-karrakatta:#fed7aa;--soil-karrakatta-text:#7c2d12;--soil-pinjarra:#d6d3d1;--soil-pinjarra-text:#44403c;--soil-darling-scarp:#bbf7d0;--soil-darling-scarp-text:#14532d;--bore-gnangara:#dbeafe;--bore-gnangara-text:#1e3a8a;--bore-jandakot:#cffafe;--bore-jandakot-text:#155e75;--bore-rockingham:#e0e7ff;--bore-rockingham-text:#3730a3;--bore-mandurah-pinjarra:#ede9fe;--bore-mandurah-pinjarra-text:#5b21b6;--bore-darling-scarp:#fce7f3;--bore-darling-scarp-text:#9d174d}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1280px;margin:0 auto;padding:32px 24px 64px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 24px}.topbar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:600;font-size:15px;color:var(--text)}.brand small{color:var(--text-muted);font-weight:400;margin-left:8px}.meta{font-size:12px;color:var(--text-subtle)}h1{font-size:28px;font-weight:600;margin:0 0 4px;letter-spacing:-.02em}.subtitle{color:var(--text-muted);margin:0 0 32px;font-size:15px;max-width:64ch}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:32px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.stat-value{font-size:24px;font-weight:600;margin-top:4px;letter-spacing:-.01em}.stat-sub{font-size:12px;color:var(--text-subtle);margin-top:4px}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin:32px 0 12px}.section-title{font-size:16px;font-weight:600}.section-meta{font-size:12px;color:var(--text-subtle)}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500;padding:10px 12px;background:var(--surface-2)}td,th{border-bottom:1px solid var(--border)}td{padding:12px;font-size:13px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}.suburb-name{font-weight:600;color:var(--text)}.suburb-name a{color:inherit}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.right{text-align:right}.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.soil-bassendean{background:var(--soil-bassendean);color:var(--soil-bassendean-text)}.soil-spearwood{background:var(--soil-spearwood);color:var(--soil-spearwood-text)}.soil-karrakatta{background:var(--soil-karrakatta);color:var(--soil-karrakatta-text)}.soil-pinjarra{background:var(--soil-pinjarra);color:var(--soil-pinjarra-text)}.soil-darling-scarp{background:var(--soil-darling-scarp);color:var(--soil-darling-scarp-text)}.bore-gnangara{background:var(--bore-gnangara);color:var(--bore-gnangara-text)}.bore-jandakot{background:var(--bore-jandakot);color:var(--bore-jandakot-text)}.bore-rockingham{background:var(--bore-rockingham);color:var(--bore-rockingham-text)}.bore-mandurah-pinjarra{background:var(--bore-mandurah-pinjarra);color:var(--bore-mandurah-pinjarra-text)}.bore-darling-scarp{background:var(--bore-darling-scarp);color:var(--bore-darling-scarp-text)}.rain-bar{display:inline-block;height:6px;border-radius:3px;background:linear-gradient(90deg,#67e8f9,#0891b2);vertical-align:middle;margin-right:6px}.legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.back-link{display:inline-block;font-size:13px;color:var(--text-muted);margin-bottom:16px}.hero{display:grid;grid-template-columns:1fr 280px;grid-gap:24px;gap:24px;margin-bottom:32px}@media (max-width:768px){.hero{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}.hero h1{font-size:32px;margin-bottom:4px}.hero-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--text-muted);font-size:13px;margin-top:8px}.hero-meta span{display:inline-flex;align-items:center;gap:4px}.hero-image{border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2);aspect-ratio:4/3}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-image-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--text-subtle);font-size:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.grid-2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500;margin:0 0 12px}.card p{margin:0 0 12px;color:var(--text)}.card p:last-child{margin-bottom:0}.kv{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:13px}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.callout{background:var(--accent-soft);color:var(--accent-text);padding:12px 16px;border-radius:6px;font-size:13px;margin-top:16px}.callout strong{display:block;margin-bottom:4px}.source-strip{display:flex;gap:16px;font-size:12px;color:var(--text-subtle);margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.source-strip a,.tag{color:var(--text-muted)}.tag{display:inline-block;padding:2px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:11px;margin-right:4px}