/* Terms, Privacy and Contact (terms.html, privacy.html, contact.html). Header and footer come from styles.css. */
.legal-header{border-bottom:1px solid var(--line)}
.legal-back{font-size:14px;font-weight:600;color:#526783;white-space:nowrap}
.legal-back:hover{color:var(--teal)}
.legal{max-width:780px;margin:0 auto;padding:56px 24px 90px;color:var(--ink)}
.legal .eyebrow{margin-bottom:14px}
.legal h1{font:800 clamp(34px,5vw,48px)/1.08 "Manrope",sans-serif;letter-spacing:-1.6px;color:var(--navy);margin:0 0 14px}
.legal .lede{font-size:18px;color:var(--slate);margin:0 0 6px}
.legal .updated{font-size:14px;color:#7b8ba5;margin:0 0 34px}
.legal h2{font:800 23px/1.25 "Manrope",sans-serif;letter-spacing:-.5px;color:var(--navy);margin:44px 0 12px;scroll-margin-top:24px}
.legal h3{font:700 17px/1.3 "Manrope",sans-serif;color:var(--navy2);margin:26px 0 8px}
.legal p,.legal li{font-size:16px;line-height:1.7}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 16px;padding-left:22px}
.legal li{margin:0 0 8px}
.legal a{color:#00726e;text-decoration:underline;text-underline-offset:2px}
.legal .summary{background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:0 0 34px}
.legal .summary h2{margin-top:0}
/* styles.css hides every nav under 1050px (the site menu); the page's contents list stays. */
.legal nav.toc{display:block;border:1px solid var(--line);border-radius:14px;padding:18px 24px;margin:0 0 30px}
.legal .toc strong{display:block;font:700 13px/1 "Manrope",sans-serif;letter-spacing:1.2px;color:#079c98;margin-bottom:12px}
.legal .toc ol{margin:0;padding-left:22px;columns:2;column-gap:34px}
.legal .toc li{font-size:14px;margin:0 0 6px;break-inside:avoid}
.legal .note{font-size:14px;color:var(--slate)}
.legal .contact-card{border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:0 0 18px}
.legal .contact-card h2,.legal .contact-card h3{margin-top:0;font-size:19px}
/* Contact form (contact.html, privacy.html). It posts to the app, which answers with a 303 back to this page's
   #contact-sent or #contact-error; :target shows that message, so the page needs no script. */
.legal .form-status{display:none;border-radius:12px;padding:14px 18px;margin:0 0 18px;font-weight:600;scroll-margin-top:80px}
.legal .form-status:target{display:block}
.legal .form-sent{background:#e6f8f1;border:1px solid #9fe0c8;color:#06684f}
.legal .form-error{background:#fdeeee;border:1px solid #f1b9b9;color:#9b1c1c}
.legal .contact-form{display:grid;gap:18px;margin-top:4px}
.legal .field label{display:block;font:700 15px/1.3 "Manrope",sans-serif;color:var(--navy);margin:0 0 7px}
.legal .field input,.legal .field textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:#fff;border:1px solid #c9d6e3;border-radius:10px;padding:12px 14px}
.legal .field textarea{min-height:160px;resize:vertical}
.legal .field input:focus,.legal .field textarea:focus{outline:3px solid rgba(0,169,163,.28);outline-offset:1px;border-color:var(--teal)}
.legal .field-hint{font-size:14px;line-height:1.5;color:var(--slate);margin:6px 0 0}
.legal .contact-form .button{justify-self:start;border:0;font-size:16px;cursor:pointer}
/* Honeypot: off-screen (not display:none, which some bots skip) and out of the tab order; people never see it. */
.legal .hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.legal{padding:36px 16px 70px}.legal .toc ol{columns:1}.legal .summary,.legal .toc,.legal .contact-card{padding:18px}.legal .contact-form .button{justify-self:stretch}}
