:root{
  --bg:#fbfaf7; --ink:#14161a; --muted:#5c6169; --line:#e5e2db; --accent:#1c4dd8; --chip:#f1efe9;
  --measure:36rem;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#0e1013; --ink:#f2f1e9; --muted:#9aa1ab; --line:#23262c; --accent:#7ea2ff; --chip:#171a1f; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:400 17px/1.65 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--measure); margin:0 auto; padding:clamp(2.5rem,8vw,6rem) 1.5rem 3rem}
.mark{
  display:inline-flex; align-items:center; gap:.55rem; min-height:44px;
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  color:var(--muted); text-decoration:none; margin:0 0 clamp(1.75rem,6vw,3rem)
}
.mark svg{width:22px; height:22px; flex:none}
h1{
  font-size:clamp(2rem,7vw,2.8rem); line-height:1.12; letter-spacing:-.022em;
  font-weight:600; margin:0 0 1.1rem
}
.lede{font-size:clamp(1.05rem,3.4vw,1.2rem); color:var(--muted); margin:0 0 clamp(2.25rem,7vw,3.5rem)}
h2{
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  color:var(--muted); margin:0 0 .9rem
}
section{border-top:1px solid var(--line); padding:clamp(1.6rem,5vw,2.4rem) 0}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
ul{margin:0; padding:0 0 0 1.15rem}
li{margin:0 0 .55rem}
li:last-child{margin-bottom:0}
a{color:var(--accent); text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a.solo{display:inline-flex; align-items:center; min-height:44px}
.apps{list-style:none; padding:0; display:grid; gap:.6rem}
.apps li{margin:0}
.apps a{
  display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:52px;
  padding:.7rem 1rem; border:1px solid var(--line); border-radius:10px; background:var(--chip);
  color:var(--ink); text-decoration:none
}
.apps a span{color:var(--muted); font-size:.92rem}
.apps a:hover{border-color:var(--accent)}
footer{
  border-top:1px solid var(--line); margin-top:clamp(1.5rem,5vw,2.5rem); padding-top:1rem;
  font-size:.88rem; color:var(--muted); display:flex; flex-wrap:wrap; gap:0 1.25rem; align-items:center
}
footer a{display:inline-flex; align-items:center; min-height:44px; color:var(--muted)}
footer a:hover{color:var(--ink)}
/* policy pages */
.doc h1{font-size:clamp(1.9rem,6.5vw,2.5rem)}
.doc .updated{color:var(--muted); margin:0 0 clamp(1.75rem,6vw,2.75rem)}
.doc h2{
  font-size:1.05rem; letter-spacing:-.005em; text-transform:none; color:var(--ink);
  margin:0 0 .6rem
}
.doc section{padding:clamp(1.25rem,4vw,1.9rem) 0}
.doc address{font-style:normal}
