/* B: Clean modern — light, minimal, product-app feel */
:root{--ink:#0f172a;--muted:#64748b;--brand:#2563eb;--brand2:#1d4ed8;--bg:#f8fafc;--line:#e8edf3;--tint:#eef4ff;--foot:#0f172a;--foottext:#cbd5e1;--font:Inter,system-ui,sans-serif;--r:18px}
body{letter-spacing:-.005em}h1{font-weight:800;letter-spacing:-.035em}h2{font-weight:700;letter-spacing:-.025em}
section{padding:96px 0}.mark{border-radius:10px;background:var(--ink)}
.card{border-color:var(--line);box-shadow:none}.feat{border:0;background:transparent;padding:8px 6px}.feat .num{display:none}
.icon{border-radius:12px}
.b-hero{padding:96px 0 80px}.b-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.b-hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem)}
.b-hero .search{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px;box-shadow:0 12px 40px rgba(15,23,42,.08);max-width:560px;margin-top:28px;flex-wrap:nowrap}
.b-hero .search input{border:0;background:transparent;padding:12px 18px;min-width:0}.b-hero .search input:focus{outline:none}
.phone{justify-self:center;width:300px;height:600px;border-radius:46px;background:#0f172a;padding:12px;box-shadow:0 40px 80px rgba(15,23,42,.25),inset 0 0 0 2px #334155;position:relative}
.screen{position:relative;height:100%;border-radius:36px;background:linear-gradient(160deg,#dbeafe,#f8fafc 50%,#e0e7ff);padding:48px 14px 14px;overflow:hidden}
.notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:20px;background:#0f172a}
.ptime{position:absolute;top:12px;left:26px;font-size:.8rem;font-weight:700}
.nt{background:rgba(255,255,255,.88);backdrop-filter:blur(6px);border-radius:16px;padding:10px 13px;margin-bottom:10px;box-shadow:0 4px 14px rgba(15,23,42,.08);font-size:.82rem}
.nt b{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.nt p{margin:2px 0 0;font-weight:600}
.nt.ok{border-left:3px solid #22a06b}.nt.warn{border-left:3px solid #f59e0b}
.screen .sample-badge{top:auto;bottom:16px;right:50%;transform:translateX(50%)}
.s-trust{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ti{color:var(--brand)}
.diff{background:var(--bg);border:0}
@media(max-width:900px){.b-hero .wrap{grid-template-columns:1fr}.b-hero{padding:56px 0}.phone{transform:scale(.9)}section{padding:60px 0}.b-hero .search{border-radius:18px;flex-wrap:wrap}}
/* B: phone app scan widget */
.screen{padding:44px 12px 12px;display:flex;flex-direction:column}
.b-apphead{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 8px}.b-apphead strong{font-size:1rem}.b-apphead span{font-size:.7rem;color:var(--muted)}
.scanw-b{display:flex;flex-direction:column;flex:1;min-height:0}
.scanw-b .scan-map{height:220px;flex:none;border-radius:20px;background:#eaf0fa;overflow:hidden;overflow:clip;box-shadow:inset 0 0 0 1px #dbe4f2}
.b-streets{position:absolute;inset:0;width:100%;height:100%}.b-streets line{stroke:#fff;stroke-width:10}
.scanw-b .ripple{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:2px solid rgba(37,99,235,.45);background:rgba(37,99,235,.06);animation:bripple 3.6s ease-out infinite}
.scanw-b .ripple.r2{animation-delay:1.2s}.scanw-b .ripple.r3{animation-delay:2.4s}.scanning .ripple{animation-duration:1.8s}
@keyframes bripple{from{transform:scale(.4);opacity:1}to{transform:scale(4.6);opacity:0}}
.b-home{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(37,99,235,.4);z-index:1}.b-home svg{width:16px;height:16px}
.scanw-b .sp{padding:4px}.scanw-b .sp-dot{width:12px;height:12px;border:2px solid #fff;box-shadow:0 2px 6px rgba(15,23,42,.25)}.scanw-b .sp-l{font-size:.62rem;left:18px;padding:1px 6px;border-radius:999px}.scanw-b .sp.flip .sp-l{right:18px}
.scanw-b .sample-badge{top:8px;right:8px;bottom:auto;transform:none;font-size:.62rem;padding:2px 8px}
.scanw-b .scan-status{font-size:.66rem;color:var(--muted);margin:6px 4px 4px;min-height:2.8em;line-height:1.35}
.scanw-b .scan-log{flex:1;min-height:0;overflow:hidden}
.scanw-b .sl{background:rgba(255,255,255,.92);border-radius:14px;padding:8px 11px;margin-bottom:7px;box-shadow:0 4px 14px rgba(15,23,42,.08);font-size:.74rem;border-left:3px solid var(--brand)}
.scanw-b .sl b{display:block;font-size:.78rem}.scanw-b .sl span{display:block;color:var(--muted);line-height:1.3}.scanw-b .sl-title{border-left-color:#22a06b}.scanw-b .sl-storm{border-left-color:#f59e0b}
.scanw-b .scan-cta{justify-content:center;padding:10px 14px;font-size:.88rem;margin-top:auto}
.scanw-b .scan-tip{width:180px;font-size:.76rem}
.b-hint{font-size:.85rem;color:var(--muted);margin:10px 0 0 18px}
