/* Shared by /about/privacy/ and /about/terms/. The nav, logo, buttons and
   footer are copied from site/index.html so every /about/ page matches. */
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:600;font-display:swap;src:url(assets/fonts/dm-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Display";font-weight:400;font-display:swap;src:url(assets/fonts/dm-serif-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Display";font-weight:400;font-style:italic;font-display:swap;src:url(assets/fonts/dm-serif-display-latin-400-italic.woff2) format("woff2")}

:root{
  --font-ui:"DM Sans",system-ui,sans-serif;
  --font-display:"DM Serif Display",Georgia,serif;
  --canvas:#f7f5ef; --paper:#fffefb; --ink:#24392f; --muted:#627064;
  --forest:#294e3b; --forest-hover:#1f3d2e; --terra:#9f493a; --divider:#dadcd2;
  --sage:#edf0df;
  --ease:cubic-bezier(.22,1,.36,1);
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.15;margin:0;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin:0}
.spark{display:inline-block;width:.75em;height:.695em;vertical-align:baseline;color:var(--terra)}
:focus-visible{outline:2px solid var(--forest);outline-offset:3px;border-radius:4px}

/* Buttons (as on the landing page) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:8px;font-weight:500;font-size:16px;transition:background .2s,transform .2s var(--ease),box-shadow .2s}
.btn-primary{background:var(--forest);color:#fff;box-shadow:0 10px 24px -12px rgba(41,78,59,.55)}
.btn-primary:hover{background:var(--forest-hover);transform:translateY(-1px)}
.btn:active{transform:scale(.98);transition-duration:.08s}
.btn-primary:active{background:var(--forest-hover);box-shadow:0 4px 12px -8px rgba(41,78,59,.55)}

/* Nav (as on the landing page) */
.nav{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-color:var(--divider)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:var(--font-display);font-size:32px;letter-spacing:-.04em;line-height:1;display:inline-flex;align-items:baseline;gap:6px}
.logo .spark{width:22px;height:20px}
.nav-links{display:flex;gap:30px;font-size:15px;font-weight:500}
.nav-links a{color:var(--muted);transition:color .15s}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.nav .btn{min-height:42px;padding:0 18px;font-size:15px;gap:0}
@media (max-width:860px){.nav-links{display:none}}
@media (max-width:420px){.nav .btn .long{display:none}}

/* Document */
.doc{max-width:760px;margin:0 auto;padding:56px 24px 88px}
.doc h1{font-size:clamp(40px,6vw,58px);margin:14px 0 10px}
.doc h2{font-size:28px;margin:52px 0 12px;scroll-margin-top:96px}
.doc h3{font-family:var(--font-ui);font-size:17px;font-weight:600;margin:26px 0 6px}
.doc p,.doc ul{margin:0 0 14px}
.doc ul{padding-left:22px}
.doc li{margin:4px 0}
.doc a{color:var(--forest);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--forest) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color .15s}
.doc a:hover{text-decoration-color:currentColor}
.updated{color:var(--muted);font-size:15px;margin-bottom:28px!important}
.doc .updated a{color:inherit}
.doc .updated a:hover{color:var(--ink)}
.summary{background:var(--paper);border:1px solid var(--divider);border-radius:14px;padding:24px 26px;margin:30px 0}
.doc .summary h2{margin-top:0;font-size:24px}
.summary ul{margin:0}
.toc{columns:2 220px;font-size:15px;padding-left:20px}
.table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--divider);border-radius:12px;background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--divider)}
tr:last-child td{border-bottom:0}
th{font-weight:600;background:var(--sage)}
code{font-size:14px;background:var(--sage);padding:1px 5px;border-radius:4px}

/* Footer (as on the landing page) */
footer{border-top:1px solid var(--divider);padding:40px 0 48px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
footer .tagline{font-family:var(--font-display);font-style:italic;font-size:22px}
footer .meta{color:var(--muted);font-size:14px;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
footer .meta a{transition:color .15s}
footer .meta a:hover,footer .meta a[aria-current]{color:var(--ink)}
footer .meta button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;transition:color .15s}
footer .meta button:hover{color:var(--ink)}

/* Logo spark: one full turn on hover or focus, as in the app (spark.js). */
.logo[data-spin] .spark{transform-origin:50% 50%;animation:sparkSpin 1.5s}
@keyframes sparkSpin{
  0%{transform:rotate(0deg) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  16%{transform:rotate(-12deg) scale(.94);animation-timing-function:cubic-bezier(.7,0,.25,1)}
  78%{transform:rotate(372deg) scale(1.06);animation-timing-function:cubic-bezier(.33,0,.3,1)}
  100%{transform:rotate(360deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){.logo[data-spin] .spark{animation:none}}
@media print{.nav,footer,.toc{display:none}}
