.geo-hero{padding:42px 0 28px;background:linear-gradient(180deg,#f3f8ff,#fff)}
.geo-hero-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.geo-badge{padding:17px 20px;border:1px solid #d8e4ee;border-radius:18px;background:#fff;text-align:center;min-width:210px}.geo-badge strong,.geo-badge small{display:block}.geo-badge small{margin-top:5px;color:var(--muted)}
.geo-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:22px;align-items:start}.geo-panel{padding:22px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
.geo-search{display:grid;grid-template-columns:1fr auto;gap:10px}.geo-search input{width:100%;min-height:50px;border:1px solid #cfdce6;border-radius:14px;padding:10px 13px}.geo-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.geo-note{margin-top:12px;padding:12px 14px;border-radius:14px;background:#f5f8fb;color:#5f7487;font-size:.88rem}.geo-status{margin-top:12px;color:var(--muted)}
.geo-results{display:grid;gap:11px}.geo-result{padding:15px;border:1px solid #dfe8ef;border-radius:16px;background:#fff}.geo-result h3{margin:0 0 7px;color:var(--casa-navy)}.geo-result p{margin:4px 0;color:#536b7f}.geo-result .postcode{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef7f1;color:#176f3c;font-weight:850}.geo-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.geo-result-actions a{padding:8px 10px;border-radius:10px;background:#edf4fb;color:var(--casa-navy);font-weight:750}
.geo-source{display:grid;gap:10px}.geo-source div{padding:14px;border:1px solid #e1e8ee;border-radius:14px;background:#fbfdff}.geo-source strong{display:block;color:var(--casa-navy)}.geo-source small{display:block;margin-top:4px;color:var(--muted);line-height:1.6}
@media(max-width:850px){.geo-hero-grid,.geo-layout{grid-template-columns:1fr}.geo-badge{min-width:0}.geo-search{grid-template-columns:1fr}.geo-search .btn{width:100%}}
