/* Shared styling for the three legal pages (terms, privacy, refunds) — PW-90.
   Same tokens as security.html. Kept in one same-origin file rather than inlined
   three times: the CSP allows style-src 'self', and "zero external requests"
   means no third party, not no files. */

@font-face { font-family:'Inter'; src:url('fonts/InterVariable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'InterDisplay'; src:url('fonts/InterDisplay-SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'InterDisplay'; src:url('fonts/InterDisplay-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }

:root {
  --sans:-apple-system,BlinkMacSystemFont,'Inter',system-ui,'Segoe UI',sans-serif;
  --display:-apple-system,BlinkMacSystemFont,'InterDisplay','Inter',system-ui,sans-serif;
  color-scheme:light;
  --bg:#f6f4ef; --raised:#fbfaf7; --surface:#fff; --sunken:#efece4;
  --tx:#211f1b; --tx2:#6c685e; --tx3:#8a8476;
  --bd:#e8e4da; --bd2:#ddd8cc;
  --accent:#007aff; --accent-hover:#0062cc; --accent-tx:#0062cc; --accent-tint:#eef6ff; --accent-soft:#cce4ff;
  --ok:#2e7d5b; --ok-tint:#e4f1e8; --ok-tx:#245f46;
  --warn:#a36f17; --warn-tint:#f8efdb; --warn-bd:#e3bd79;
  --sh-sm:0 1px 2px rgba(33,31,27,.06),0 1px 3px rgba(33,31,27,.04);
  --sh-md:0 2px 6px -1px rgba(33,31,27,.08),0 8px 20px -6px rgba(33,31,27,.10);
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme:dark;
    --bg:#1a1917; --raised:#222120; --surface:#2a2826; --sunken:#121110;
    --tx:#f3f1ea; --tx2:#b6b2a8; --tx3:#8d897f;
    --bd:rgba(255,255,255,.07); --bd2:rgba(255,255,255,.12);
    --accent:#0a84ff; --accent-hover:#3d98ff; --accent-tx:#6fb0ff;
    --accent-tint:rgba(10,132,255,.14); --accent-soft:rgba(10,132,255,.26);
    --ok:#3f9468; --ok-tint:rgba(63,148,104,.16); --ok-tx:#8fc6a4;
    --warn:#c2871f; --warn-tint:rgba(194,135,31,.16); --warn-bd:rgba(227,189,121,.45);
    --sh-sm:0 1px 2px rgba(0,0,0,.36),0 1px 3px rgba(0,0,0,.30);
    --sh-md:0 2px 6px -1px rgba(0,0,0,.40),0 8px 22px -6px rgba(0,0,0,.50);
  }
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:var(--sans); font-size:17px; line-height:1.6; color:var(--tx);
  background:var(--bg); -webkit-font-smoothing:antialiased; }
.wrap { max-width:840px; margin:0 auto; padding:0 24px; }
a { color:var(--accent-tx); }

header { position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--bd); }
header .row { display:flex; align-items:center; gap:12px; height:60px; }
header .brand { display:flex; align-items:center; gap:9px; font-weight:600; font-size:16px; color:var(--tx); text-decoration:none; }
header .brand img { width:20px; height:24px; }
header nav { margin-left:auto; display:flex; gap:22px; }
header nav a { color:var(--tx2); text-decoration:none; font-size:14.5px; }
header nav a:hover { color:var(--tx); }

.hero { padding:72px 0 20px; }
h1 { font-family:var(--display); font-size:clamp(30px,4.6vw,46px); font-weight:700;
  letter-spacing:-.03em; line-height:1.1; margin-bottom:18px; max-width:20ch; }
.lede { font-size:clamp(17px,2vw,19px); color:var(--tx2); max-width:58ch; }
.lede strong { color:var(--tx); font-weight:600; }
.stamp { font-size:13.5px; color:var(--tx3); margin-top:14px; }

section { padding:34px 0 4px; }
h2 { font-family:var(--display); font-size:clamp(20px,2.6vw,25px); font-weight:700;
  letter-spacing:-.02em; margin-bottom:12px; }
h2 .n { color:var(--tx3); font-weight:600; margin-right:8px; }
h3 { font-family:var(--display); font-size:17px; font-weight:600; color:var(--tx); margin:18px 0 6px; }
p, li { color:var(--tx2); font-size:16px; }
section > .wrap > p { max-width:62ch; margin-bottom:14px; }
strong { color:var(--tx); }
ul, ol { margin:12px 0 14px 22px; display:grid; gap:9px; }
li { max-width:60ch; }

/* The clause a reader must not be able to miss. */
.loud { background:var(--warn-tint); border:1px solid var(--warn-bd); border-radius:14px;
  padding:22px 24px; margin:18px 0 6px; box-shadow:var(--sh-sm); }
.loud h2 { margin-bottom:10px; }
.loud p { color:var(--tx2); max-width:60ch; }
.loud p + p { margin-top:10px; }
.loud strong { color:var(--tx); }

.card { background:var(--surface); border:1px solid var(--bd); border-radius:14px;
  padding:22px 24px; margin:16px 0 6px; box-shadow:var(--sh-sm); }
.card p:last-child { margin-bottom:0; }

.tablewrap { overflow-x:auto; margin:18px 0 6px; }
table { border-collapse:collapse; width:100%; background:var(--surface); border:1px solid var(--bd);
  border-radius:14px; overflow:hidden; box-shadow:var(--sh-sm); font-size:15px; }
th, td { text-align:left; padding:12px 16px; border-top:1px solid var(--bd); vertical-align:top; color:var(--tx2); }
thead th { border-top:none; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--tx3); background:var(--raised); }
td b { color:var(--tx); }

dl { display:grid; gap:14px; margin-top:14px; }
dt { font-weight:600; color:var(--tx); font-size:15.5px; }
dd { font-size:15px; color:var(--tx2); margin-left:0; max-width:62ch; }

.honest { font-size:14.5px; color:var(--tx3); margin-top:14px; max-width:64ch; }
.honest b { color:var(--warn); }

footer { border-top:1px solid var(--bd); padding:40px 0 56px; font-size:14px; color:var(--tx3); margin-top:56px; }
footer .row { display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
footer a { color:var(--tx3); text-decoration:none; }
footer a:hover { color:var(--tx2); text-decoration:underline; }
footer .sp { flex:1; }
