:root{--navy:#12263f;--teal:#0e6f66;--teal2:#13b5a6;--line:#dbe3ea;--bg:#f6f9fb;--ink:#1c2733;--mut:#5a6b7b;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--teal)}a:hover{text-decoration:none}
.top{background:var(--navy);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.top a.logo{color:#fff;text-decoration:none;font-weight:700;font-size:18px}.top a.logo b{color:#38d9c8}
.top nav a{color:#cfe3ee;text-decoration:none;font-size:14px;margin-left:14px}.top nav a:hover{color:#fff}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.hero{background:linear-gradient(180deg,var(--navy) 0,#1b3a5c 100%);color:#fff;padding:36px 0 44px}
.hero h1{font-size:clamp(32px,8vw,52px);line-height:1.05;margin:0 0 12px;letter-spacing:-.02em}
.hero p{font-size:clamp(16px,4vw,19px);color:#d6e6f0;margin:0 0 22px;max-width:36em}
.sbox{position:relative}
.sbox input{width:100%;font-size:18px;padding:16px 16px;border-radius:12px;border:2px solid transparent;outline:none;box-shadow:0 4px 18px #0004}
.sbox input:focus{border-color:var(--teal2)}
.bm-results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 8px 28px #0005;z-index:20;overflow:hidden;text-align:left}
.bm-results button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:13px 16px;font-size:16px;border-bottom:1px solid #eef2f5;cursor:pointer;color:var(--ink)}
.bm-results button span{color:var(--mut);font-size:14px;margin-left:4px}
.bm-results button:hover,.bm-results button.on{background:#e9f6f4}
.bm-note{padding:11px 16px;font-size:14px;color:var(--mut)}
.try{margin-top:14px;font-size:14px;color:#b7cddb}.try a{color:#fff}
section.blk{padding:34px 0;border-bottom:1px solid var(--line)}
section.blk h2{font-size:24px;margin:0 0 14px;letter-spacing:-.01em}
.grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}
.tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.tile b{display:block;margin-bottom:3px}.tile span{color:var(--mut);font-size:15px}
.steps{counter-reset:s;display:grid;gap:10px;padding:0;list-style:none;margin:0}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 54px;position:relative}
.steps li:before{content:counter(s);position:absolute;left:14px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;text-align:center;line-height:28px;font-weight:700}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:600;border:0;font-size:16px;cursor:pointer}
.btn.alt{background:#fff;color:var(--teal);border:1px solid var(--teal)}
.fine{color:var(--mut);font-size:13.5px}
footer.f{padding:26px 0 40px;color:var(--mut);font-size:14px}
/* snapshot */
.ssearch{background:var(--navy);padding:0 16px 12px}.ssearch .sbox input{font-size:16px;padding:12px 14px;border-radius:10px;box-shadow:none}
.addr{padding:18px 0 6px}.addr h1{font-size:clamp(24px,6vw,34px);margin:0;letter-spacing:-.01em;line-height:1.15}.addr .loc{color:var(--mut);margin-top:2px}
#minimap{height:230px;border-radius:12px;overflow:hidden;border:1px solid var(--line);margin:12px 0;background:#e9eef2}
.sum{background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:12px;padding:14px 16px;margin:12px 0;font-size:17px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:0 0 8px}
.card .big{font-size:20px;font-weight:700;margin:0 0 4px}
.card p{margin:6px 0}
.tag{display:inline-block;font-size:12.5px;font-weight:700;border-radius:6px;padding:2px 8px;background:#e9f6f4;color:var(--teal);margin-right:6px}
.tag.warn{background:#fdeee6;color:#a24a14}.tag.flood{background:#e6f0fb;color:#1b5fa8}
.ov{padding:10px 0;border-top:1px solid #eef2f5}.ov:first-of-type{border-top:0}.ov b{font-size:16px}
.skel{color:var(--mut)}
.warnbox{background:#fff8e6;border:1px solid #f0dca0;border-radius:12px;padding:12px 14px;font-size:14px;margin:14px 0}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.links a{display:block;padding:10px 0;border-top:1px solid #eef2f5}.links a:first-child{border-top:0}
table.kv{width:100%;border-collapse:collapse}table.kv td,table.kv th{text-align:left;padding:6px 0;border-top:1px solid #eef2f5;font-size:15px;vertical-align:top}table.kv th{color:var(--mut);font-weight:500;width:46%;padding-right:10px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:50}
