/* Shared shell for the legal pages (privacy, terms, refunds, cookies).
   Trimodels palette — see index.html for the full contrast notes. The
   --blue/--yellow variable names are inherited from the fork and kept so the
   page rules below don't need touching: "blue" is now pink-deep #EC4899
   (3.5:1 on white — links only, and links carry their own underline), and
   "yellow" is the pink highlight #F472B6 (ink on it: 7.1:1). */
:root{
  --ink:#0b0b0b;--muted:#6b6b6b;--dim-text:#6b6b6b;
  --surface:#fff;--surface-alt:#f7f7f7;
  --line:#ececec;--accent:#0b0b0b;--blue:#ec4899;--yellow:#f472b6;
  --radius:0;--maxw:820px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'Geist','Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--surface);
     color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}

.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topbar .wrap{max-width:1100px;display:flex;align-items:center;justify-content:space-between;height:64px}
.back{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.875rem}
.back:hover{color:var(--blue)}
.wordmark{font-weight:700;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}

main{padding:3.5rem 0 4.5rem}
.kicker{display:inline-flex;align-items:center;gap:.625rem;color:var(--blue);font-weight:700;font-size:.6875rem;
        letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.kicker::before{content:"";width:26px;height:3px;background:var(--yellow);flex:none}
h1{font-size:clamp(2rem,4.5vw,2.75rem);line-height:1.1;letter-spacing:-.03em;font-weight:800;margin-bottom:.75rem}
.updated{color:var(--dim-text);font-size:.875rem;margin-bottom:2.5rem}

h2{font-size:1.25rem;letter-spacing:-.02em;margin:2.75rem 0 .875rem;padding-top:1.5rem;border-top:1px solid var(--line)}
h2:first-of-type{border-top:0;padding-top:0}
h3{font-size:1rem;margin:1.75rem 0 .5rem}
p{margin-bottom:1rem;color:var(--muted)}
ul,ol{margin:0 0 1.25rem 1.25rem;color:var(--muted)}
li{margin-bottom:.5rem}
a{color:var(--blue)}
strong{color:var(--ink)}
table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.875rem;display:block;overflow-x:auto}
th,td{text-align:left;padding:.75rem;border:1px solid var(--line);vertical-align:top;color:var(--muted)}
th{background:var(--surface-alt);color:var(--ink);font-weight:700;white-space:nowrap}

/* Anything the operator still has to supply. Deliberately loud so it cannot
   ship unnoticed. */
.todo{background:var(--yellow);color:var(--ink);font-weight:700;padding:.0625rem .3125rem;border-radius:3px}

.callout{background:var(--surface-alt);border-left:4px solid var(--blue);border-radius:.5rem;
         padding:1.25rem 1.375rem;margin:0 0 1.75rem}
.callout p:last-child{margin-bottom:0}
.callout.warn{border-left-color:var(--yellow)}

.toc{background:var(--surface-alt);border-radius:var(--radius);padding:1.5rem 1.75rem;margin-bottom:2.5rem}
.toc b{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-text);margin-bottom:.75rem}
.toc ol{margin:0 0 0 1.125rem}
.toc li{margin-bottom:.375rem;font-size:.9375rem}

/* Black footer with a pink hairline — matching the landing page's close.
   Every value below is a light-on-dark pair: --muted (#6B6B6B) measures only
   3.5:1 against black, so it must not leak in here. Declared once, in order,
   with nothing after it to override. */
footer{background:var(--ink);color:rgba(255,255,255,.7);padding:2.5rem 0;font-size:.8125rem;border-top:3px solid var(--blue)}
footer .wrap{max-width:1100px;text-align:center}
footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:center;margin-bottom:1rem}
footer a{color:#fff;text-decoration:none;font-weight:500}
footer a:hover{color:var(--yellow)}
footer .entity{color:rgba(255,255,255,.62);line-height:1.75}
footer .entity a{color:rgba(255,255,255,.86)}
@media(max-width:640px){
  main{padding:2.5rem 0 3rem}
  .wrap{padding:0 1.25rem}
  h2{margin-top:2.25rem}
}
