/*
 * Shared styling for the legal pages (/privacy, /terms, /privacy/california).
 *
 * ONE STYLESHEET, NOT THREE INLINE COPIES. These pages are plain HTML in
 * public/ — same no-build convention as /welcome and /assessment — but unlike
 * those they are a SET, and three duplicated <style> blocks would drift the
 * moment one page is edited. Served from our own origin, so the CloudFront CSP
 * (style-src 'self') allows it.
 *
 * Tokens mirror app/landing.css so the legal pages read as part of the site
 * rather than a bolted-on afterthought.
 */
:root{
  --black:#0a0a0a; --charcoal:#2a2a2a; --ivory:#faf7f0; --cream:#f5efe3;
  --gold:#c9a961; --gold-light:#e5c77b; --gold-dark:#a88547; --muted:#6b6b6b;
  --line-soft:rgba(201,169,97,.18); --line:rgba(201,169,97,.32);
  --serif:'Playfair Display','Didot',Georgia,serif;
  --serif-alt:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);color:var(--charcoal);background:var(--ivory);
  background-image:
    radial-gradient(1200px 600px at 80% -10%,rgba(201,169,97,.10),transparent 60%),
    radial-gradient(900px 500px at -10% 110%,rgba(201,169,97,.08),transparent 60%);
  -webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;
}

/* header lockup */
header{padding:34px 24px 0;display:flex;justify-content:center}
.lockup{display:flex;flex-direction:column;align-items:center;text-decoration:none}
.lockup-mark{color:#8a6418;margin-bottom:12px}
.lockup-name{font-size:17px;letter-spacing:.42em;color:var(--charcoal);font-weight:700;text-indent:.42em;text-align:center}
.lockup-motto{font-size:9.5px;letter-spacing:.5em;color:#8a6418;font-weight:600;margin-top:8px;text-indent:.5em;text-align:center}
@media(max-width:560px){.lockup-name{font-size:13px}.lockup-motto{font-size:8px}}

/* the draft banner — deliberately loud */
.draft{
  max-width:760px;margin:32px auto 0;padding:16px 20px;
  background:#fff8e6;border:1px solid #e0c26a;border-radius:14px;
  font-size:13px;line-height:1.65;color:#6b4d0a;
}
.draft strong{color:#4a3506}
.draft code{background:rgba(0,0,0,.05);padding:1px 5px;border-radius:4px;font-size:12px}

main{flex:1;max-width:760px;margin:0 auto;padding:36px 24px 72px;width:100%}
.eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}
h1{font-family:var(--serif);font-size:clamp(30px,4.6vw,44px);font-weight:400;line-height:1.12;color:var(--black);margin:16px 0 0}
h1 em{font-family:var(--serif-alt);font-style:italic;color:var(--gold-dark)}
.updated{margin-top:14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lede{margin-top:22px;font-size:16.5px;line-height:1.72;color:#4a4a4a}
h2{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--black);margin:42px 0 0;line-height:1.3}
h3{font-size:14px;font-weight:600;color:var(--black);margin:26px 0 0;letter-spacing:.01em}
p{font-size:15.5px;line-height:1.76;color:#4a4a4a;margin:12px 0 0}
ul,ol{margin:12px 0 0;padding-left:22px}
li{font-size:15.5px;line-height:1.76;color:#4a4a4a;margin-bottom:9px}
li strong{color:var(--black);font-weight:600}
a{color:var(--gold-dark)}
strong{color:var(--black)}
.fill{background:#fff3cd;border-bottom:1px dashed #b8912f;padding:0 3px;font-weight:600;color:#6b4d0a}

/* the "what we don't do" style block */
.panel{margin-top:22px;padding:20px 22px;background:#fff;border:1px solid var(--line-soft);border-radius:18px}
.panel h3{margin-top:0}
.panel p:first-of-type{margin-top:8px}

table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
th{text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);
  font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line)}
td{padding:11px 12px;border-bottom:1px solid var(--line-soft);color:#4a4a4a;line-height:1.6;vertical-align:top}
.tablewrap{overflow-x:auto}

.contact{margin-top:26px;padding:20px 22px;background:var(--cream);border-radius:18px;font-size:15px;line-height:1.7}
.contact strong{display:block;margin-bottom:6px}

nav.legal-nav{margin-top:44px;padding-top:26px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:8px}
nav.legal-nav a{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  text-decoration:none;color:var(--gold-dark);border:1px solid var(--line-soft);
  border-radius:999px;padding:9px 15px;transition:.2s;
}
nav.legal-nav a:hover{border-color:var(--gold);background:rgba(201,169,97,.07)}
nav.legal-nav a[aria-current="page"]{background:var(--black);border-color:var(--black);color:var(--ivory)}

footer{border-top:1px solid var(--line-soft);padding:20px 24px;text-align:center;font-size:11px;color:var(--muted);line-height:1.7}
footer a{color:var(--gold-dark);text-decoration:none}
