/* SpeakGOAT legal and support pages: privacy/, terms/, support/, delete-account/.
   Tokens, fonts, header, footer, buttons and the focus ring are copied from web/index.html so these
   pages match the landing page. Keep the two in step: if a token changes there, change it here.
   One light theme on purpose, same as the landing page: the brand paints every ground explicitly
   (cream page, blue stage, paper cards), so there is no dark swap. No JS needed. */

:root{
  --blue:#2267F0; --blueInk:#1A56D6; --navy:#0B1F4F; --night:#071536;
  --gold:#FFBF2E; --horn:#EF8F0D; --goldInk:#8A5600;
  --cream:#FFF6DE; --paper:#FFFDF6; --line:#E9DDBD; --mute:#56607E;
  --ok:#2E9E5B; --okInk:#1B7040;
  --warn:#F5B301; --warnSoft:#FFF1D1; --warnInk:#8A5B00;
  --err:#E5484D; --errSoft:#FDECEE; --errInk:#B4272B;
  --ui:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --dis:"Baloo 2",system-ui,sans-serif;
  --sp:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12.9 7.6 16.4 11.1 24 12 16.4 12.9 12.9 16.4 12 24 11.1 16.4 7.6 12.9 0 12 7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E");
  --gut:clamp(18px,4vw,40px);           /* side gutter, never under 16px */
  --slab:clamp(28px,4vw,44px);          /* the big block radius */
  --pad:clamp(56px,7.5vw,104px);
  --read:760px;                          /* reading column, the landing page's FAQ width */
}

/* ---- base (same as the landing page) ---- */
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;background:var(--cream);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--navy);
  font:400 17px/1.6 var(--ui);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--blueInk);outline-offset:4px;border-radius:6px}
.slab.ind :focus-visible{outline-color:var(--cream)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
[id]{scroll-margin-top:24px}

h1,h2{font-family:var(--dis);font-style:normal;font-weight:800}
h1,h2{margin:0;letter-spacing:-.01em;line-height:.98;text-wrap:balance}
h1{font-size:clamp(40px,5.4vw,68px)}
h2{font-size:clamp(34px,5.2vw,62px)}
h3{margin:0;font-weight:800;font-size:21px;letter-spacing:-.02em;line-height:1.15}
.lede{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--mute);max-width:34em}

/* wordmark: GOAT in gold with a navy outline */
.wm,.logo i{font:800 1.08em/.9 var(--dis);
  color:var(--gold);letter-spacing:-.01em;padding-right:.04em;
  -webkit-text-stroke:.035em var(--navy);paint-order:stroke fill;text-shadow:.04em .05em 0 var(--navy)}

/* brand sparkle, painted through a mask so each ground picks its own gold */
.spk,.eyebrow::before{display:inline-block;background:var(--spark,var(--horn));
  -webkit-mask:var(--sp) center/contain no-repeat;mask:var(--sp) center/contain no-repeat}
.slab.ind{--spark:var(--gold)}

.wrap{max-width:1120px;margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase}
.eyebrow::before{content:"";width:14px;height:14px;flex:none}

/* chunky pill button */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font:800 16px/1 var(--ui);letter-spacing:-.01em;padding:19px 30px;border-radius:999px;
  background:var(--blue);color:#fff;box-shadow:0 5px 0 var(--navy);transition:transform .12s,box-shadow .12s}
.btn:active{transform:translateY(5px);box-shadow:0 0 0 var(--navy)}
.btn.cream{background:var(--cream);color:var(--navy)}
.btn.ghost{background:none;color:inherit;box-shadow:none;padding-inline:8px;font-weight:700}
.btn.ghost:hover{text-decoration:underline;text-underline-offset:4px}
.btn.ghost:active{transform:none}
.ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* skip link, hidden until a keyboard user tabs to it */
.skip{position:absolute;left:var(--gut);top:-80px;z-index:10;padding:12px 18px;border-radius:999px;
  background:var(--navy);color:var(--cream);font:800 15px/1 var(--ui);text-decoration:none}
.skip:focus{top:12px}

/* ---- masthead (same as the landing page) ---- */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:25px;letter-spacing:-.035em;text-decoration:none;color:var(--navy)}
.logo img{width:38px;height:38px;border-radius:22%;display:block}
.top .btn{padding:14px 22px;font-size:15px}

/* ---- page head: the landing page's blue slab ---- */
.slab{margin-inline:14px;border-radius:var(--slab);padding-block:var(--pad);overflow:hidden}
.slab.ind{background:var(--blue);color:#fff}
.slab.ind .lede{color:var(--cream)}
.legal-head{padding-block:clamp(40px,6vw,80px)}
.legal-head .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.legal-head h1{max-width:16ch}
/* last-updated line: the landing page's cream stat pill */
.updated{display:inline-block;background:var(--cream);color:var(--navy);border-radius:22px;
  padding:11px 20px;font-weight:700;font-size:15px;line-height:1.35}

/* ---- body: summary, table of contents, text ---- */
.legal-body{display:grid;grid-template-columns:minmax(0,var(--read));gap:clamp(28px,4vw,44px);
  padding-block:clamp(36px,5vw,64px) var(--pad)}
.legal-body>*{min-width:0}
@media (min-width:901px){
  .legal-body.with-toc{grid-template-columns:minmax(190px,230px) minmax(0,var(--read));column-gap:clamp(40px,5vw,72px)}
  .with-toc>.toc{grid-column:1;grid-row:1/span 2;align-self:start;position:sticky;top:24px;
    max-height:calc(100vh - 48px);overflow-y:auto;padding:4px 6px 4px 0}
  .with-toc>:not(.toc){grid-column:2}
}

/* at a glance: the landing page's paper card */
.glance{background:var(--paper);border:2px solid var(--line);border-radius:26px;padding:clamp(22px,3.2vw,32px)}
.glance .eyebrow,.toc .eyebrow{display:flex}
.glance ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.glance li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;max-width:68ch}
.glance li::before{content:"";position:absolute;left:0;top:.3em;width:14px;height:14px;background:var(--horn);
  -webkit-mask:var(--sp) center/contain no-repeat;mask:var(--sp) center/contain no-repeat}
.glance>p{margin-top:16px;font-size:15px;color:var(--mute);max-width:68ch}

/* table of contents: a sticky side list on wide screens, a card above the text on narrow ones */
.toc .eyebrow{margin-bottom:12px}
.toc ol,.toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;margin-left:-2px;padding:7px 0 7px 16px;border-left:2px solid transparent;
  font:600 15px/1.35 var(--ui);color:var(--mute);text-decoration:none}
.toc a:hover{color:var(--navy);border-left-color:var(--blue)}
.toc a:focus-visible{outline-offset:0}
@media (max-width:900px){
  .toc{background:var(--paper);border:2px solid var(--line);border-radius:22px;padding:20px 22px 14px}
}

/* long-form text */
.prose{overflow-wrap:break-word}
.prose>:where(*+*){margin-top:clamp(32px,4vw,44px)}
.prose>section+section{border-top:2px solid var(--line);padding-top:clamp(32px,4vw,44px)}
.prose section>:where(*+*){margin-top:14px}
.prose section section{margin-top:28px}
.prose :where(p,ul,ol,dl,h2,h3,h4,blockquote){max-width:68ch}
.prose :where(ul,ol,dl,blockquote){margin-block:0}
.prose h2{font-size:clamp(28px,3.4vw,36px);line-height:1.05;letter-spacing:-.005em}
.prose h3{font-size:19px;line-height:1.25;margin-top:28px}
.prose h4{margin:22px 0 0;font:800 16px/1.3 var(--ui);letter-spacing:-.01em}
.prose :where(h2,h3,h4)+*{margin-top:8px}
.prose h2+*{margin-top:14px}
.prose section:target>h2{text-decoration:underline var(--gold) .12em;text-underline-offset:.14em}
.prose :where(ul,ol){padding-left:1.35em}
.prose li::marker{color:var(--blueInk)}
.prose ol>li::marker{font-weight:800}
.prose li+li,.prose li>:where(ul,ol,p){margin-top:8px}
.prose dl{display:grid;grid-template-columns:fit-content(16rem) minmax(0,1fr);gap:8px 20px}
.prose dt{font-weight:700}
.prose dd{margin:0}
.prose blockquote{margin-inline:0;padding-left:18px;border-left:4px solid var(--line);color:var(--mute)}
.prose hr{border:0;border-top:2px solid var(--line)}
:is(.prose,.glance,.note) a:not(.btn){color:var(--blueInk);font-weight:600;text-decoration:underline;
  text-decoration-thickness:1.5px;text-underline-offset:.18em}
:is(.prose,.glance,.note) a:not(.btn):hover{text-decoration-thickness:3px}

/* a highlighted aside inside the text, e.g. "how to ask us to delete your data" */
.note{background:var(--paper);border:2px solid var(--line);border-left:6px solid var(--blue);border-radius:18px;padding:16px 20px}
.note>*+*{margin-top:8px}

/* an in-app path or label, e.g. Profile > Settings > Account */
.path{font-weight:700;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:8px;
  padding:.05em .4em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* tables always sit in .table-wrap so they scroll sideways on a phone instead of the page */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--paper);border:2px solid var(--line);border-radius:20px;max-width:100%}
.table-wrap:focus-visible{outline-offset:2px;border-radius:20px}
.table-wrap table{width:100%;min-width:34rem;border-collapse:collapse;font-size:15px;line-height:1.5}
.table-wrap.fit table{min-width:0}
.table-wrap caption{caption-side:top;text-align:left;padding:14px 16px 2px;font-weight:700;font-size:14px;color:var(--mute)}
.table-wrap :where(th,td){padding:12px 16px;text-align:left;vertical-align:top}
.table-wrap thead th{font:800 12px/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);
  background:var(--cream);border-bottom:2px solid var(--line)}
.table-wrap tbody tr:not(:first-child)>*{border-top:2px solid var(--line)}
.table-wrap tbody th{font-weight:700}
.table-wrap :where(td,th) :where(ul,ol){padding-left:1.1em;margin:0}

/* a placeholder the founder still has to fill in: loud on purpose, easy to find */
mark{background:var(--gold);color:var(--navy);border-radius:4px;padding:0 .2em}
mark.todo{background:var(--gold);color:var(--navy);font-weight:800;border-radius:4px;padding:.05em .3em;margin-inline:.15em;
  outline:2px dashed var(--errInk);outline-offset:1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---- footer (same as the landing page, plus the legal links) ---- */
footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding-block:30px;font:700 12px/1 var(--ui);letter-spacing:.12em;color:var(--mute);text-transform:uppercase;
  border-top:2px solid var(--line)}
footer .logo{font-size:19px;gap:9px;text-transform:none}
footer .logo img{width:28px;height:28px}
footer .logo small{font:700 12px/1 var(--ui);letter-spacing:.12em;color:var(--mute);margin-left:8px}
footer nav{display:flex;flex-wrap:wrap;gap:4px 18px}
footer nav a{padding-block:8px;text-decoration:none}
footer nav a:hover,footer nav a[aria-current="page"]{color:var(--navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

@media (max-width:900px){
  .toc .eyebrow{margin-bottom:8px}
}
@media (max-width:520px){
  .logo{font-size:21px}.logo img{width:32px;height:32px}
  .top .btn{padding:12px 16px;font-size:14px}
  .glance{border-radius:22px}
  .prose dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .prose dd+dt{margin-top:12px}
}

/* ---- print: black on white, no navigation, keep placeholders visible ---- */
@media print{
  @page{margin:18mm 16mm}
  html,body{background:#fff!important;overflow:visible}
  body{color:#000;font-size:11pt;line-height:1.5}
  .skip,.top .btn,.toc,footer nav{display:none!important}
  .wrap{max-width:none;padding-inline:0}
  .top{padding-block:0 12pt}
  .slab,.slab.ind{margin:0;padding-block:0 12pt;border-radius:0;background:none;color:#000;overflow:visible}
  .slab.ind .lede,.glance>p{color:#333}
  .legal-head .wrap{gap:8pt}
  h1{font-size:28pt}
  .prose h2{font-size:17pt}
  .prose h3{font-size:13pt}
  .updated{background:none;padding:0;font-size:10pt}
  .legal-body{display:block;padding-block:12pt 0}
  .legal-body>*+*{margin-top:16pt}
  .glance,.note,.table-wrap{background:none;border-color:#bbb}
  .table-wrap{overflow:visible}
  .table-wrap table{min-width:0;font-size:9.5pt}
  .table-wrap thead th{background:none;color:#000}
  :is(h2,h3,h4){break-after:avoid}
  :is(.glance,.note,tr,li){break-inside:avoid}
  :is(.prose,.glance,.note) a:not(.btn){color:#000}
  :is(.prose,.glance,.note) a[href^="http"]::after{content:" (" attr(href) ")";font-weight:400;font-size:.9em}
  mark,mark.todo,.logo i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  footer{padding-block:12pt 0;border-top:1px solid #bbb}
}
