:root{--ground:#E5EAF2;--paper:#F5F8FC;--card:#FFFFFF;--ink:#344F75;--soft:#5C6B80;--wash:#E7EEF8;--rule:#CCD7E5;--gold:#F0DB76;--on-ink:#F5F8FC;--btn:#344F75;--btn-text:#F5F8FC;--band:#344F75}
@media (prefers-color-scheme:dark){:root{--ground:#0D1522;--paper:#121C2B;--card:#1A2639;--ink:#E9EEF6;--soft:#A7B4C7;--wash:#1F2E45;--rule:#2C3D58;--btn:#F0DB76;--btn-text:#1A2639;--band:#1A2639}}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:17px/1.5 "Gill Sans","Gill Sans MT",Cabin,"Trebuchet MS",system-ui,sans-serif;border-top:6px solid var(--gold)}
h1,h2,h3,p{margin:0}
h1,h2{font-family:Georgia,Gelasio,"Times New Roman",serif;font-weight:normal;letter-spacing:-.04em}
h3{font-size:17px;font-weight:600;line-height:1.25}
a{color:inherit}
.wrap{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
hr.wrap{border:0;height:1px;background:var(--rule);padding:0;max-width:1032px}

.top{padding:16px 0}
.top-row{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none}
.brand img{border-radius:6px}
.brand span{font:bold 28px Georgia,Gelasio,"Times New Roman",serif;letter-spacing:-1.5px}
.brand b{color:var(--gold)}

.button{display:inline-block;background:var(--btn);color:var(--btn-text);border-radius:999px;padding:12px 24px;font-weight:600;text-decoration:none;text-align:center}
.button.small{padding:8px 18px;font-size:15px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:bold;color:var(--soft);margin-bottom:12px}

.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding-top:40px;padding-bottom:64px}
.hero h1{font-size:clamp(44px,6.4vw,72px);line-height:1}
.hero h1 em{font-style:italic}
.lede{font-size:19px;color:var(--soft);margin-top:20px;max-width:34em}
.stores{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.store{display:flex;flex-direction:column;justify-content:center;min-width:170px;padding:9px 20px;border-radius:12px;background:var(--btn);color:var(--btn-text);text-decoration:none;font-size:20px;font-weight:600;line-height:1.1}
.store small{font-size:12px;font-weight:normal;letter-spacing:.02em}
.store.light{background:var(--gold);color:#1A2639}
.fine{font-size:14px;color:var(--soft);margin-top:12px}

/* The illustration: a phone showing the call list, drawn in the app's own style. */
.phone{justify-self:center;width:300px;padding:12px;border-radius:44px;background:var(--ink);box-shadow:8px 8px 0 var(--rule)}
.screen{background:var(--paper);border-radius:34px;padding:28px 18px 22px;min-height:540px;display:flex;flex-direction:column;gap:12px}
.screen-title{font:normal 28px Georgia,Gelasio,serif;letter-spacing:-.04em}
.shelf{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:bold;color:var(--soft)}
.match{display:flex;gap:12px;align-items:center;background:var(--wash);border:1px solid var(--gold);border-radius:14px;padding:12px}
.match strong,.row strong{display:block;font-size:16px}
.match span:not(.avatar),.row span:not(.avatar){font-size:13px;color:var(--soft)}
.voice-line{font:italic 20px Georgia,Gelasio,serif;text-align:center;margin-top:8px}
.screen .button{display:block}
.list{margin-top:auto;border-top:1px solid var(--rule)}
.row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#344F75;color:#F5F8FC;font:20px Georgia,Gelasio,serif}
.avatar.halo{outline:3px solid var(--gold);outline-offset:2px}
.avatar.slate{background:#5C6B80}.avatar.steel{background:#7F95B4}

.invited{background:var(--wash);padding:40px 0}
.invited h2{font-size:32px}
.invited p{color:var(--soft);margin-top:8px;max-width:40em}

.how{padding-top:64px;padding-bottom:56px}
.how h2,.control h2{font-size:clamp(32px,4vw,44px);line-height:1.1}
.steps{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.num{display:block;font:italic 30px Georgia,Gelasio,serif;margin-bottom:8px}
.steps p,.points p{color:var(--soft);margin-top:8px;font-size:16px}

.control{padding-top:56px;padding-bottom:72px}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px}


.band{background:var(--band);color:var(--on-ink);padding:56px 0;border-bottom:8px solid var(--gold)}
.band h2{font-size:clamp(30px,4vw,44px);line-height:1.1}
.band p{margin-top:8px;color:#E7EEF8}

.foot{display:flex;gap:24px;flex-wrap:wrap;padding-top:24px;padding-bottom:32px;font-size:14px;color:var(--soft)}
.foot span{margin-right:auto}

/* Privacy policy and terms. */
.doc{max-width:760px;padding-top:32px;padding-bottom:64px}
.doc h1{font-size:clamp(36px,5vw,52px);line-height:1.05}
.doc .meta{color:var(--soft);margin-top:16px}
.doc section{margin-top:40px}
.doc h2{font-size:30px;line-height:1.15;margin-bottom:12px}
.doc h3{margin-top:24px}
.doc p,.doc li{color:var(--ink)}
.doc p+p,.doc h3+p{margin-top:8px}
.doc ul{padding-left:20px;margin:8px 0 0}
.doc li+li{margin-top:8px}
.doc a{text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}
.doc .summary{background:var(--wash);border-radius:16px;padding:24px}
.doc .callout{background:var(--wash);border-left:4px solid var(--gold);border-radius:8px;padding:12px 16px;margin-top:16px}
.foot a[aria-current]{text-decoration:none;font-weight:600}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;gap:40px}
  .steps,.points{grid-template-columns:1fr;gap:24px}
  .steps li{display:grid;grid-template-columns:48px 1fr;column-gap:8px}
  .steps .num{grid-row:span 2;margin:0}
  .steps p{margin-top:4px}
}
@media (max-width:420px){
  .wrap{padding-left:16px;padding-right:16px}
  .brand span{font-size:24px}
  .phone{width:100%;max-width:300px}
  .store{flex:1;min-width:0}
}
