@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/roboto-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/roboto-latin-ext-400-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#000;--paper:#fff;--dot:#ff0000;--muted:#6b6b6b;--rule:#e6e6e6;
  --font:"Roboto",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--ink:#f4f4f2;--paper:#0b0b0c;--dot:#ff3b30;--muted:#9a9a9a;--rule:#26262a}
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{
  font-family:var(--font);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(24px,6vw,64px) 20px}
.card{display:grid;justify-items:center;gap:clamp(20px,3.5vw,36px);text-align:center}

/* The logo, set as live text so it stays crisp at any size */
.home h1{
  font-weight:400;line-height:1;letter-spacing:-.01em;
  font-size:clamp(64px,17vw,190px);
  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);
}
.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{color:var(--ink);font-weight:400}
.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:20px 20px max(28px,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[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)}}

/* ---------- Document pages (privacy) ---------- */
.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;line-height:1;letter-spacing:-.01em;
  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-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)}

@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}
}
