/* PeptideLaunch — legal pages (terms, privacy).
   Restyled 2026-09-16 to the v5 "Lab" system: white, monochrome, system Helvetica/Arial.
   Replaces the old dark/teal Figtree + EB Garamond sheet, which followed the OS colour
   scheme and rendered these pages dark while the rest of the site was white.

   Tokens and component styles are kept byte-compatible with /assets/v5.css so the header,
   footer and buttons match the homepage exactly. Light-locked on purpose: there is no dark
   palette anywhere on this site. */
:root{
  --paper:#FFFFFF; --sheet:#FFFFFF; --ink:#111417; --ink-2:#464C54; --ink-3:#7A828B;
  --rule:#E2E5E9; --rule-2:#EEF0F2;
  --blue:#111417; --blue-2:#2A3037; --on-blue:#FFFFFF;
  --ok:#2F6F4F; --warn:#9A5A2E;
  --r:4px; --ease:cubic-bezier(.2,.7,.2,1);
  --d:"Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;
  --m:"SFMono-Regular", Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--d)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;text-wrap:balance;line-height:1.08}
h1{font-size:clamp(36px,4.5vw,56px)}
p{margin:0}

.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
@media (max-width:640px){.wrap{width:min(1180px,100% - 32px)}}
.sec{padding-block:96px}
@media (max-width:768px){.sec{padding-block:64px}}
/* .serif is a leftover hook from the old sheet; the v5 system has no serif face. */
.serif{font-family:var(--d)}
.mono{font-family:var(--m);font-size:12.5px;letter-spacing:.02em;color:var(--ink-3)}

/* Buttons — same geometry as v5.css. btn-primary / btn-sm are kept as aliases so any
   markup still carrying the old class names renders correctly rather than unstyled. */
.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:var(--r);font:500 15px/1 var(--d);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-p,.btn-primary{background:var(--blue);color:var(--on-blue)}
.btn-p:hover,.btn-primary:hover{background:var(--blue-2)}
.btn-s,.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-s:hover,.btn-ghost:hover{border-color:var(--ink-3)}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.btn,.btn:active{transition:none;transform:none}}

/* Header */
.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav .wrap{height:64px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;font-size:17px}
.brand .mark{width:20px;height:20px;border:1.5px solid var(--ink);border-radius:2px;position:relative;flex:none}
.brand .mark::after{content:"";position:absolute;inset:4px 4px 4px 9px;background:var(--ink);border-radius:1px}
.nav-links{display:flex;gap:22px;margin-left:8px;font-size:14px;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav .btn{margin-left:auto;height:38px;padding:0 14px;font-size:14px}
@media (max-width:900px){.nav-links{display:none}}

/* Footer */
footer{border-top:1px solid var(--rule);padding-block:44px 32px;font-size:14px;color:var(--ink-2)}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.f-grid h5{margin:0 0 10px;font-size:12.5px;color:var(--ink-3);font-weight:500;font-family:var(--m)}
.f-grid a{display:block;padding:3px 0}
.f-grid a.brand{display:flex;padding:0;color:var(--ink)}
.f-grid a:hover{color:var(--ink)}
.f-tag{margin-top:12px;max-width:34ch}
.f-bot{margin-top:36px;padding-top:18px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
@media (max-width:820px){.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.f-grid{grid-template-columns:1fr}}

/* Legal page content */
.eyebrow{display:inline-block;font-family:var(--m);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.legal-hero{padding-top:72px;padding-bottom:8px}
.legal-hero h1{max-width:20ch}
.legal-updated{color:var(--ink-3);font-family:var(--m);font-size:12.5px;margin-top:16px}
.legal-toc{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:22px 26px;margin:36px 0 8px;max-width:74ch}
.legal-toc h5{margin:0 0 12px;font-family:var(--m);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.legal-toc ol{margin:0 0 0 18px;padding:0;font-size:14.5px;color:var(--ink-2)}
.legal-toc li{margin-bottom:6px}
.legal-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-body{max-width:74ch}
.legal-body h2{font-size:15px;font-weight:700;letter-spacing:0;line-height:1.3;color:var(--ink);margin:44px 0 14px;scroll-margin-top:84px}
.legal-body h2:first-child{margin-top:0}
.legal-body p{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin-bottom:14px}
.legal-body ul,.legal-body ol{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin:0 0 14px 22px;padding:0}
.legal-body li{margin-bottom:8px}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a.inline,.legal-body a[href^="mailto:"],.legal-body a[href^="/"]{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink-3)}
.legal-body a.inline:hover,.legal-body a[href^="mailto:"]:hover{text-decoration-color:var(--ink)}
