/* Shared by privacy.html, terms.html and legal.html.
   Same palette and type scale as the landing page, set for long reading:
   one column, wider measure than the marketing copy, no motion. */

:root{
  --bg-top:#FAFAF8;
  --bg-bottom:#F1F2EE;
  --ink:#1A1C1A;
  --ink-2:#6B6F6B;
  --leaf:#2E6B4F;
  --clay:#B5654A;
  --rule:rgba(26,28,26,0.10);
  --rule-soft:rgba(26,28,26,0.06);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"Hoefler Text",Georgia,serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 32px}

/* ---------- header ---------- */
header{padding:26px 0}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark img{display:block;height:22px;width:auto}
.back{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;
  padding-bottom:4px;border-bottom:1px solid transparent;
}
.back:hover{color:var(--ink);border-bottom-color:var(--rule)}

/* ---------- document ---------- */
.doc{padding:56px 0 40px}
.label{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);font-weight:500;display:block;margin-bottom:18px;
}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,46px);line-height:1.1;letter-spacing:-0.005em}
h2{
  font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;
  margin:52px 0 16px;padding-top:24px;border-top:1px solid var(--rule-soft);
}
h3{font-family:var(--serif);font-weight:400;font-size:18.5px;line-height:1.3;margin:28px 0 10px}
.updated{font-size:12.5px;letter-spacing:.02em;color:var(--ink-2);margin-top:18px}

p{color:var(--ink-2);font-size:16.5px;line-height:1.65;margin:14px 0;max-width:64ch}
.doc > .wrap > p:first-of-type{font-size:18px}
strong{color:var(--ink);font-weight:500}
a{color:var(--leaf)}
a:hover{color:var(--ink)}

ul,ol{margin:14px 0 14px 0;padding-left:0;list-style:none}
li{
  color:var(--ink-2);font-size:16.5px;line-height:1.62;
  position:relative;padding:0 0 0 24px;margin:10px 0;max-width:64ch;
}
li::before{
  content:"";position:absolute;left:0;top:12px;
  width:10px;height:1px;background:var(--leaf);
}
ol{counter-reset:n}
ol > li{counter-increment:n}
ol > li::before{
  content:counter(n,decimal-leading-zero);
  width:auto;height:auto;background:none;top:0;
  font-size:12px;letter-spacing:.1em;color:var(--leaf);
}

/* A framed block for the things a reader must not skim past: the receipt
   scan exception, the no advice lines, the liability cap. */
.note{
  border:1px solid var(--rule);
  border-left:2px solid var(--clay);
  border-radius:4px;
  padding:22px 24px;margin:24px 0;
  background:rgba(255,255,255,0.55);
}
.note p{margin:8px 0}
.note p:first-child{margin-top:0}
.note p:last-child{margin-bottom:0}
.note .k{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--clay);display:block;margin-bottom:10px;
}

/* Contact and identity blocks: plain rows, no table dressing. */
dl.facts{margin:18px 0;display:grid;grid-template-columns:190px 1fr;gap:0}
dl.facts dt{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  padding:14px 0;border-top:1px solid var(--rule-soft);
}
dl.facts dd{
  font-size:16px;color:var(--ink);
  padding:14px 0;border-top:1px solid var(--rule-soft);
}

/* Anything still waiting on a real value. Visible on purpose: it should be
   impossible to publish this page without noticing what is unfilled. */
.todo{
  background:rgba(181,101,74,.12);
  color:var(--clay);
  padding:1px 6px;border-radius:3px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.88em;
}

/* ---------- footer ---------- */
footer{padding:34px 0 46px;border-top:1px solid var(--rule-soft);margin-top:64px}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px 28px;flex-wrap:wrap}
footer p{font-size:12.5px;color:var(--ink-2);margin:0;max-width:none}
.footer-logo{display:block;height:18px;width:auto}
nav.legal{display:flex;gap:20px;flex-wrap:wrap}
nav.legal a{
  font-size:12.5px;color:var(--ink-2);text-decoration:none;
  padding-bottom:2px;border-bottom:1px solid transparent;
}
nav.legal a:hover{color:var(--ink);border-bottom-color:var(--rule)}
nav.legal a[aria-current="page"]{color:var(--ink)}

@media (max-width:700px){
  .wrap{padding:0 24px}
  .doc{padding:36px 0 24px}
  h2{margin-top:42px}
  dl.facts{grid-template-columns:1fr;gap:0}
  dl.facts dt{padding:14px 0 0;border-top:1px solid var(--rule-soft)}
  dl.facts dd{padding:4px 0 14px;border-top:none}
  footer .wrap{flex-direction:column;align-items:flex-start;text-align:left}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
