/* Shared styling for the privacy / terms / cookie pages.
   Same token system as index.html, laid out as a document rather than a pitch. */

:root{
  --ink:#0E1A1F; --ink-2:#16272E;
  --pine:#1C3B31;
  --paper:#F8F7F4; --bone:#EDEBE4; --bone-2:#E4E1D8;
  --water:#3B7EA1; --water-deep:#235971;
  --locate:#F2C230; --locate-hi:#FFD24A; --locate-ink:#1A1403;
  --tx-1:#0E1A1F; --tx-2:#39494E; --tx-3:#55626A; --tx-4:#5C6B6F;
  --td-1:#EDEBE4; --td-2:#C3CECC; --td-3:#96A5A7; --td-4:#818F91;
  --grade:rgba(14,26,31,.15); --grade-soft:rgba(14,26,31,.09);
  --grade-hard:rgba(14,26,31,.32); --grade-dk:rgba(237,235,228,.16);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px;
  --s8:32px; --s10:40px; --s14:56px; --s18:72px; --s24:96px;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.23,1,.32,1);
  --wrap:720px; --gut:clamp(20px,5vw,48px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{
  margin:0;background:var(--paper);color:var(--tx-1);
  font-family:var(--serif);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--locate);color:var(--locate-ink);
  padding:var(--s3) var(--s4);font-family:var(--sans);font-weight:800;font-size:14.5px}
:focus-visible{outline:3px solid var(--water);outline-offset:3px}
header.top :focus-visible,.doc-top :focus-visible,footer :focus-visible{outline-color:var(--locate)}
a{color:var(--water-deep);text-underline-offset:3px}
a:hover{color:var(--ink)}
p{margin:0 0 1em;text-wrap:pretty}

/* ---------- header ---------- */
header.top{background:var(--ink);color:var(--td-1)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-block:var(--s3);flex-wrap:wrap}
.mark{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--td-1);min-height:44px;align-content:center;flex-wrap:wrap}
.mark b{font-family:var(--sans);font-weight:900;font-size:19px;letter-spacing:-.035em;line-height:1.4}
.mark span{font-family:var(--mono);font-weight:500;font-size:10.5px;color:var(--td-3);letter-spacing:.15em;text-transform:uppercase}
.back{
  display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:0 var(--s4);
  font-family:var(--sans);font-weight:800;font-size:14.5px;color:var(--td-1);
  text-decoration:none;border:1.5px solid rgba(237,235,228,.34);
  transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease);
}
.back:hover{background:rgba(237,235,228,.08);border-color:var(--td-1);color:var(--td-1)}
.back:active{transform:scale(.975)}

/* ---------- document head ---------- */
.doc-top{background:var(--ink);color:var(--td-1);padding-block:clamp(32px,6vw,56px) clamp(28px,5vw,44px)}
.stamp{
  display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
  font-family:var(--mono);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--td-4);margin:0 0 var(--s5);
}
.stamp::after{content:"";flex:1 0 28px;height:1px;background:var(--grade-dk)}
h1{
  font-family:var(--sans);font-weight:900;font-size:clamp(30px,5.6vw,48px);
  letter-spacing:-.03em;line-height:1.05;margin:0;text-wrap:balance;color:var(--td-1);
}
.doc-top .lede{color:var(--td-2);margin:var(--s5) 0 0;max-width:58ch}
.doc-top .updated{
  font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:var(--td-4);margin:var(--s5) 0 0;
}

/* ---------- the document body ---------- */
.doc{padding-block:clamp(40px,7vw,72px) clamp(48px,8vw,88px)}
.doc section{margin-top:var(--s10);padding-top:var(--s6);border-top:1px solid var(--grade)}
.doc section:first-of-type{margin-top:0;padding-top:0;border-top:0}
.doc h2{
  font-family:var(--sans);font-weight:900;font-size:clamp(20px,3.2vw,25px);
  letter-spacing:-.028em;line-height:1.12;margin:0 0 var(--s4);text-wrap:balance;
}
.doc h2 .n{
  font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;
  color:var(--water-deep);display:block;margin-bottom:var(--s2);
  font-variant-numeric:tabular-nums;
}
.doc h3{
  font-family:var(--sans);font-weight:800;font-size:17.5px;letter-spacing:-.02em;
  margin:var(--s6) 0 var(--s2);
}
.doc p,.doc li{color:var(--tx-2)}
.doc strong{font-weight:600;color:var(--tx-1)}
.doc ul{margin:0 0 1em;padding-left:0;list-style:none}
.doc ul li{padding:var(--s2) 0 var(--s2) var(--s5);border-bottom:1px solid var(--grade-soft);position:relative}
.doc ul li:last-child{border-bottom:0}
.doc ul li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;background:var(--water)}
.doc code{
  font-family:var(--mono);font-size:.87em;background:var(--bone-2);
  padding:1px 5px;color:var(--tx-1);word-break:break-word;
}

/* a called-out fact — used where the page says something concrete and checkable */
.callout{
  background:var(--bone);border-left:3px solid var(--pine);
  padding:var(--s5) var(--s6);margin:var(--s6) 0;
}
.callout p:last-child{margin-bottom:0}
.callout .h{
  font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tx-3);display:block;margin-bottom:var(--s2);
}

/* plain-English aside */
.aside{
  border:1px solid var(--grade);padding:var(--s5) var(--s6);margin:var(--s6) 0;background:var(--paper);
}
.aside .h{
  font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--water-deep);display:block;margin-bottom:var(--s2);
}
.aside p:last-child{margin-bottom:0}

.contact-block{
  background:var(--ink);color:var(--td-2);padding:var(--s6);margin-top:var(--s6);
}
.contact-block a{color:var(--locate)}
.contact-block a:hover{color:var(--locate-hi)}
.contact-block p{color:var(--td-2)}
.contact-block p:last-child{margin-bottom:0}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--td-2);padding-block:var(--s10) var(--s10);font-size:14.5px}
footer a{color:var(--td-2);text-decoration:none}
footer a:hover{color:var(--locate);text-decoration:underline}
.legal-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin:0 0 var(--s3);padding:0;list-style:none}
.legal-links a{
  font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--td-3);border-bottom:1px solid transparent;padding-bottom:2px;
}
.legal-links a:hover{color:var(--locate);border-bottom-color:var(--locate);text-decoration:none}
.legal-links a[aria-current="page"]{color:var(--locate)}
.legal{margin:0;font-size:13px;color:var(--td-4)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
