:root{color-scheme:light;--bg:#f4f7fc;--ink:#152a47;--muted:#5c6d83;--border:#dce5f0;--blue:#2563eb;--navy:#102b50;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--blue)}
.topbar{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 10px #102b5008}.topbar-inner{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 22px}.logo{font-size:24px;font-weight:900;letter-spacing:-.06em;line-height:1}.logo span{color:var(--blue)}.logo small{display:block;letter-spacing:0;font-size:10px;font-weight:600;color:var(--muted);margin-top:5px}.topbar nav{display:flex;gap:7px;flex-wrap:wrap}.topbar nav a{font-size:13px;text-decoration:none;padding:9px 12px;border-radius:9px;color:#445670;font-weight:700}.topbar nav a:hover,.topbar nav a.active{background:#eaf1ff;color:#1d4ed8}
.wrap{max-width:1400px;margin:0 auto;padding:25px 22px 45px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#4061a0;font-weight:800}.page-title{font-size:clamp(26px,3vw,37px);line-height:1.15;margin:7px 0 8px;letter-spacing:-.04em}.lead{color:var(--muted);margin:0 0 22px;max-width:930px}.section-title{font-size:18px;margin:0 0 15px;letter-spacing:-.02em}.muted{color:var(--muted)}.small{font-size:12px}.pill{display:inline-flex;background:#e9f2ff;color:#1e4f91;border-radius:30px;padding:4px 10px;font-size:12px;font-weight:750}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.card,.panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 3px 16px #1e3a5f08}.card{padding:19px}.card .label{font-size:12px;font-weight:750;color:var(--muted);margin-bottom:9px}.card .number{font-size:clamp(22px,2.5vw,32px);font-weight:850;letter-spacing:-.04em;line-height:1.1}.card .sub{font-size:12px;color:var(--muted);margin-top:8px}.panel{padding:19px;margin:15px 0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.columns-wide{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}label{display:block;font-size:12px;font-weight:800;color:#455975;margin-bottom:5px}select,input{width:100%;height:42px;border:1px solid #cbd8e8;background:#fff;color:var(--ink);padding:8px 11px;border-radius:9px;font:inherit;font-size:13px}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:41px;border:0;border-radius:9px;background:var(--blue);color:#fff;text-decoration:none;padding:9px 14px;font-weight:800;font-size:13px;cursor:pointer}.button.secondary{background:#eaf1fb;color:#224b85}.button:hover,button:hover{filter:brightness(.96)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#60738b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#f8fafd}td,th{padding:11px 10px;border-bottom:1px solid #e9eef5;vertical-align:top}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td a{text-decoration:none;font-weight:700}td a:hover{text-decoration:underline}.map-preview{height:410px;border-radius:12px;overflow:hidden;background:#eaf1f9}.legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:10px}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.notice{border-left:3px solid #4679d4;padding:10px 13px;background:#f1f6ff;border-radius:0 10px 10px 0;color:#385473;font-size:13px}.compare-bars{display:flex;flex-direction:column;gap:5px;min-width:150px}.bar{height:8px;border-radius:8px;min-width:2px}.bar.a{background:#93a7c8}.bar.b{background:#2563eb}.foot{margin-top:24px;color:#687991;font-size:12px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.columns,.columns-wide{grid-template-columns:1fr}.field-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wrap{padding:18px 12px 35px}.topbar-inner{padding:12px;display:block}.topbar nav{margin-top:12px}.topbar nav a{padding:7px 9px;font-size:12px}.cards{gap:9px}.card{padding:14px}.panel{padding:14px}.field-grid{grid-template-columns:1fr}.map-preview{height:330px}}
