@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/newsreader.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/hanken-grotesk.woff2) format("woff2")}

:root{
  --paper:#f6f7f9;--ink:#15191f;--dot:#8f6b00;--muted:#5d6673;--rule:#dde1e7;
  --life:#2774ae;--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader",Georgia,"Iowan Old Style",serif;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#101318;--ink:#e8ebef;--dot:#f2c94c;--muted:#9aa3ae;--rule:#262c35;--life:#6fb1e6}
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{
  font-family:var(--sans);color:var(--ink);background:var(--paper);
  display:grid;grid-template-rows:1fr auto;min-height:100svh;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.home main{display:grid;place-items:center;padding:clamp(16px,4vw,40px) 20px;overflow:hidden}
.card{display:grid;justify-items:center;gap:clamp(14px,2.5vw,24px);text-align:center;max-width:100%}

.home h1,.mark{
  font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.01em;
}
.home h1{
  font-size:clamp(56px,15vw,168px);
  display:flex;align-items:center;white-space:nowrap;
}
.dot{
  display:inline-block;width:.175em;height:.175em;border-radius:50%;
  background:var(--dot);margin:0 .05em;transform:translateY(.02em);
}
.tagline{
  font-size:clamp(16px,2.1vw,19px);line-height:1.45;color:var(--muted);max-width:28em;text-wrap:pretty;
}
.say{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;
  font-size:clamp(17px,2.4vw,21px);color:var(--muted);
}
.say b{font-weight:400;color:var(--ink)}
.say s{text-decoration-thickness:1.5px}
button{
  font:inherit;font-size:15px;color:var(--ink);background:none;cursor:pointer;
  border:1px solid var(--rule);border-radius:999px;padding:8px 16px 8px 12px;
  display:inline-flex;align-items:center;gap:8px;
  transition:border-color .2s,background .2s;
}
button:hover{border-color:var(--ink)}
button:focus-visible,a:focus-visible{outline:2px solid var(--dot);outline-offset:3px}
button svg{width:18px;height:18px}
button[hidden]{display:none}

footer{
  display:flex;justify-content:center;gap:28px;flex-wrap:wrap;
  padding:16px 20px max(20px,env(safe-area-inset-bottom));
  font-size:15px;
}
footer a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
footer a.life{color:var(--life)}
footer a.life:hover{color:var(--life);border-color:var(--life)}
footer a[aria-current]{color:var(--ink)}
footer a:hover{color:var(--ink);border-color:var(--ink)}

@media (prefers-reduced-motion:no-preference){
  .dot{animation:in .7s cubic-bezier(.2,.8,.2,1) .15s both}
  .speaking .dot{animation:pulse .9s ease-in-out infinite}
}
@keyframes in{from{transform:translateY(.02em) scale(0)}to{transform:translateY(.02em) scale(1)}}
@keyframes pulse{50%{transform:translateY(.02em) scale(1.35)}}

.doc{--measure:40rem;--gutter:clamp(20px,5vw,40px)}
.doc .top{
  position:sticky;top:0;z-index:2;
  padding:18px var(--gutter);
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;
}
@supports (animation-timeline:scroll()){
  .doc .top{animation:edge linear both;animation-timeline:scroll();animation-range:0 80px}
  @keyframes edge{to{border-bottom-color:var(--rule)}}
}
.mark{
  display:inline-flex;align-items:center;font-size:26px;color:var(--ink);text-decoration:none;
}
.mark .dot{animation:none}
.policy{
  width:min(100%,calc(var(--measure) + 2 * var(--gutter)));margin:0 auto;
  padding:clamp(40px,9vw,96px) var(--gutter) clamp(48px,8vw,88px);
}
.eyebrow{
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dot);
  margin-bottom:18px;
}
.policy h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(40px,7.2vw,68px);line-height:1.02;letter-spacing:-.025em;
  text-wrap:balance;
}
.policy h1 .dot{margin:0 0 0 .04em;vertical-align:baseline;transform:none;animation:none}
.lede{
  margin-top:24px;font-size:clamp(19px,2.3vw,22px);line-height:1.5;color:var(--muted);
  text-wrap:pretty;max-width:34em;
}
.facts{
  list-style:none;padding:0;margin-top:36px;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-block:1px solid var(--rule);
}
.facts li{padding:18px 0;font-size:14px;color:var(--muted);display:grid;gap:4px}
.facts li+li{padding-left:20px;border-left:1px solid var(--rule)}
.facts span{font-size:clamp(34px,5vw,44px);line-height:1;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.date{margin-top:18px;font-size:14px;color:var(--muted)}

.terms{list-style:none;padding:0;margin-top:clamp(48px,7vw,72px);counter-reset:t}
.terms li{
  counter-increment:t;position:relative;
  display:grid;grid-template-columns:3.25rem 1fr;column-gap:4px;
  padding:28px 0;border-top:1px solid var(--rule);
}
.terms li::before{
  content:counter(t,decimal-leading-zero);
  grid-row:1 / span 2;padding-top:.3em;
  font-size:13px;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums;
}
.terms h2{font-weight:400;font-size:21px;line-height:1.3;letter-spacing:-.01em}
.terms p{margin-top:10px;font-size:17px;line-height:1.65;color:var(--ink);opacity:.86;text-wrap:pretty}
.terms strong{font-weight:400}
.terms a,.lede a{color:inherit;text-decoration:underline;text-decoration-color:var(--dot);text-decoration-thickness:1.5px;text-underline-offset:3px}
.terms a:hover{text-decoration-thickness:2.5px}
.doc footer{border-top:1px solid var(--rule)}

.not-found main{display:grid;place-items:center;padding:clamp(24px,6vw,64px) 20px;text-align:center;overflow:visible}
.not-found .card{gap:18px;max-width:100%}
.not-found .eyebrow{margin:0}
.not-found h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(40px,8vw,64px);line-height:1.05;
  display:block;white-space:normal;text-wrap:balance;max-width:12em;
}
.not-found p{color:var(--muted);font-size:18px;max-width:24em;line-height:1.5}
.not-found a{color:var(--life);text-decoration:none;border-bottom:1px solid transparent}
.not-found a:hover{border-color:var(--life)}

@media (max-width:560px){
  .facts{grid-template-columns:1fr}
  .facts li+li{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .facts li{grid-template-columns:auto 1fr;align-items:baseline;gap:14px;padding:14px 0}
  .facts span{font-size:30px}
  .terms li{grid-template-columns:1fr}
  .terms li::before{grid-row:auto;padding:0 0 8px}
}