.hubtop{text-align:center;padding-top:calc(var(--safe-t) + 40px)}
.logo svg{width:72px;height:72px;margin:0 auto;display:block}
.logo rect{fill:var(--accent)}
.logo path,.logo circle{fill:none;stroke:var(--on-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.hubtop h1{font-size:44px;margin-top:12px}
.lead{color:var(--muted);font-size:17px;margin:4px auto 0;max-width:420px}
.apps{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
@media (min-width:520px){.apps{grid-template-columns:1fr 1fr}}
.app{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;text-decoration:none;color:inherit;min-height:84px}
.app:hover b{color:var(--accent-ink)}
.app img{width:48px;height:48px;flex:none}
.app b{display:block;font-size:18px}
.app small{display:block;color:var(--muted);font-size:13.5px;line-height:1.35}
.how{padding-left:20px;margin:0}
.how li{margin:6px 0}
.docs{display:flex;flex-wrap:wrap;gap:8px}
/* legal pages */
.legal h1{font-size:30px}
.legal h2{margin-top:28px}
.legal p,.legal li{line-height:1.6}
.legal table{width:100%;border-collapse:collapse;font-size:14.5px}
.legal th,.legal td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tablewrap{overflow-x:auto}
.summary{background:var(--accent-soft);border-radius:var(--r);padding:14px 18px;margin:16px 0}
.summary h2{margin:0 0 6px;font-size:17px}
.summary ul{margin:0;padding-left:20px}
.back{display:inline-flex;margin-top:18px}
