* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    color: #1f2937;
    background: #f8fafc;
    line-height: 1.65;
}
.container { max-width: 860px; margin: 0 auto; padding: 0 20px; }
header {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 16px 0;
    position: sticky; top: 0; z-index: 10;
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; color: #2563eb; text-decoration: none; }
.brand img { height: 32px; width: auto; display: block; }
.btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border: 1px solid transparent;
    transition: all 0.2s;
    cursor: pointer;
}
.btn-primary { background: #2563eb; color: #fff; }
.btn-primary:hover { background: #1d4ed8; }
.btn-outline { background: #fff; color: #2563eb; border-color: #2563eb; }
.btn-outline:hover { background: #eff6ff; }

main.legal { padding: 48px 0 64px; }
.legal h1 { font-size: 32px; color: #0f172a; margin-bottom: 8px; }
.legal .updated { color: #64748b; font-size: 14px; margin-bottom: 32px; }
.legal h2 { font-size: 20px; color: #0f172a; margin: 32px 0 12px; }
.legal h3 { font-size: 16px; color: #1e293b; margin: 20px 0 8px; }
.legal p { color: #334155; font-size: 15px; margin-bottom: 12px; }
.legal ul, .legal ol { margin: 0 0 14px 22px; color: #334155; font-size: 15px; }
.legal li { margin-bottom: 6px; }
.legal a { color: #2563eb; text-decoration: none; }
.legal a:hover { text-decoration: underline; }
.legal .placeholder {
    background: #fef3c7;
    color: #92400e;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.95em;
}
.legal .notice {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 16px 0 24px;
    color: #1e40af;
    font-size: 14px;
}
.legal .downloads {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 32px;
}
.legal .downloads a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: #1e293b;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}
.legal .downloads a:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
    text-decoration: none;
}
.legal .downloads a.sig { color: #475569; }
.legal .downloads svg { width: 16px; height: 16px; flex: none; }
footer {
    background: #0f172a;
    color: #94a3b8;
    padding: 28px 0;
    text-align: center;
    font-size: 14px;
}
footer a { color: #cbd5e1; text-decoration: none; }
footer a:hover { color: #fff; }
footer .footer-links { margin-bottom: 8px; }
footer .footer-links a { margin: 0 6px; }

@media (max-width: 640px) {
    .legal h1 { font-size: 26px; }
    .nav { flex-wrap: wrap; }
}
