/* Privacy and terms. Loaded after landing.css, which supplies the nav, footer and tokens. */
.legal{margin:0 auto;padding:56px 0 72px}
.lp .legal h1{font-size:clamp(32px,4vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}
.legal .legal-date{margin-top:12px;font-size:14px;color:var(--faint)}
.lp .legal h2{margin-top:40px;font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.lp .legal h3{margin-top:22px;font-size:16px;font-weight:600;color:var(--ink)}
.legal p,.legal li{color:var(--dim);font-size:15.5px;line-height:1.65}
.legal p{margin-top:12px}
.legal ul{margin-top:10px;padding-left:20px;display:grid;gap:6px}
.legal a{color:var(--ink);text-decoration:underline;text-decoration-color:#c3c7cf;text-underline-offset:3px}
.legal a:hover{text-decoration-color:var(--ink)}
.legal code{font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f2f4;border-radius:5px;padding:1px 5px;color:var(--ink)}
.legal-table{margin-top:14px;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff}
.legal-table>div{display:grid;grid-template-columns:minmax(150px,1fr) 2fr 1.2fr;gap:16px;padding:12px 16px;border-top:1px solid var(--hair);font-size:14px;line-height:1.5;color:var(--dim)}
.legal-table>div:first-child{border-top:0;font-weight:600;color:var(--ink);background:#fafafb}
.legal-table>div>span:first-child{color:var(--ink);font-weight:500}
@media (max-width:640px){.legal-table>div{grid-template-columns:1fr}.legal{padding-top:36px}}
/* Contact form (/contact). The fields use the landing tokens; the button is the landing's primary button. */
.contact-form{display:grid;gap:18px;margin-top:28px}
.contact-field{display:grid;gap:7px}
.contact-field label{font-size:14px;font-weight:600;color:var(--ink)}
.contact-field input,.contact-field textarea{width:100%;min-width:0;border:1px solid var(--rule);border-radius:9px;background:#fff;font:inherit;font-size:15px;color:var(--ink);transition:border-color .14s}
.contact-field input{height:44px;padding:0 12px}
.contact-field textarea{min-height:168px;padding:10px 12px;line-height:1.55;resize:vertical}
.contact-field input:hover,.contact-field textarea:hover{border-color:#c9cdd4}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid #dfe8ff;border-color:var(--free)}
.contact-field [aria-invalid=true]{border-color:#e5484d}
.contact-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.legal .contact-error{margin:0;padding:10px 12px;border:1px solid #f0b4b6;border-radius:9px;background:#fff5f5;color:#b4232a;font-size:14px}
.contact-acts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.contact-acts .lp-primary{border:0;cursor:pointer;font-family:inherit}
.contact-acts .lp-primary:disabled{opacity:.7;cursor:default}
.contact-note{font-size:13.5px;color:var(--faint)}
.contact-done{margin-top:28px;padding:20px 22px;border:1px solid var(--rule);border-radius:12px;background:#fff}
.contact-done:focus,.contact-done:focus-visible{outline:none;box-shadow:none}
.lp .contact-done h2{margin-top:0}
@media (max-width:640px){.contact-field input,.contact-field textarea{font-size:16px}}
/* Guide and legal pages: the title wraps (pro.css clips every h1 to one line for the app header), and the one-line
   footer lays out as a row (landing.css makes .lp-foot the landing's four-column grid). */
.lp .legal h1{white-space:normal;overflow:visible;text-overflow:clip;text-wrap:balance}
footer.lp-foot{display:block}
footer.lp-foot>.lp-w{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
footer.lp-foot .grow{flex:1}
