:root{
  --night:#0E0E10; --panel:#18181C; --ink:#F2EFE9; --muted:rgba(242,239,233,.64); --line:rgba(242,239,233,.14);
  --gold:#E8C77A; --global:#6EA8FE; --politics:#F28B82; --food:#F2B866; --pop:#E58FC3; --sports:#8FD18B; --science:#6FD3C5; --tech:#A99BF5;
  --serif:"Newsreader",Georgia,serif; --sans:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--ink);font:400 17px/1.6 var(--sans)}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header.top{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
header.top img{height:30px;display:block}
.btn{display:inline-block;font:600 16px/1 var(--sans);text-decoration:none;padding:15px 22px;border-radius:12px;background:var(--ink);color:var(--night)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.small{padding:11px 16px;font-size:15px}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:56px 0 96px}
.hero h1{font:700 clamp(46px,6.4vw,84px)/1.0 var(--serif);letter-spacing:-.02em;margin:0 0 24px}
.hero h1 .dot{color:var(--gold)}
.hero p.lede{font-size:20px;line-height:1.55;color:var(--muted);max-width:30em;margin:0 0 32px}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.note{font-size:14px;color:var(--muted);margin-top:16px}

/* phone with swiping stories */
.phone{justify-self:center;width:320px;height:640px;border-radius:46px;padding:12px;background:#000;
  box-shadow:0 0 0 1px var(--line),0 40px 120px -30px rgba(232,199,122,.18)}
.screen{position:relative;height:100%;border-radius:36px;overflow:hidden;background:var(--night)}
.screen .bar{position:absolute;inset:0 0 auto 0;z-index:2;padding:26px 18px 10px;background:var(--night);border-bottom:1px solid var(--line)}
.screen .bar img{height:19px;display:block}
.screen .tabs{display:flex;gap:6px;margin-top:10px;font:500 11.5px/1 var(--sans);color:var(--muted);white-space:nowrap}
.screen .tabs span{padding:6px 9px;border-radius:99px}
.screen .tabs span:first-child{background:rgba(242,239,233,.12);color:var(--ink)}
.reel{position:absolute;inset:0;animation:reel 16s cubic-bezier(.7,0,.2,1) infinite}
.story{height:616px;padding:118px 22px 28px;display:flex;flex-direction:column;gap:12px;
  background:radial-gradient(120% 60% at 50% 0%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%)}
.story .cat{font:600 11px/1 var(--sans);letter-spacing:.09em;color:var(--c)}
.story .stat{font:700 40px/1 var(--serif);color:var(--c);margin-top:6px}
.story .statl{font-size:12px;color:var(--muted);margin-top:-6px}
.story h3{font:600 24px/1.18 var(--serif);margin:4px 0 0}
.story p{font-size:13.5px;line-height:1.5;margin:0;color:var(--ink)}
.story ul{margin:0;padding-left:16px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.story .src{margin-top:auto;font:500 12px/1 var(--sans);color:var(--muted)}
@keyframes reel{
  0%,20%{transform:translateY(0)} 25%,45%{transform:translateY(-616px)}
  50%,70%{transform:translateY(-1232px)} 75%,95%{transform:translateY(-1848px)} 100%{transform:translateY(-2464px)}
}
@media (prefers-reduced-motion:reduce){.reel{animation:none}}

/* how it works */
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:72px 0;border-top:1px solid var(--line)}
.points h2{font:600 26px/1.2 var(--serif);margin:0 0 10px}
.points p{margin:0;color:var(--muted)}

/* topics */
.topics{padding:64px 0 88px;border-top:1px solid var(--line)}
.topics h2{font:600 26px/1.2 var(--serif);margin:0 0 22px}
.topiclist{display:flex;flex-wrap:wrap;gap:6px 26px;font:600 clamp(30px,4.4vw,52px)/1.2 var(--serif);letter-spacing:-.01em;margin:0;padding:0;list-style:none}

/* footer */
footer{border-top:1px solid var(--line);padding:32px 0 48px;font-size:14px;color:var(--muted)}
footer .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{display:flex;gap:20px}

/* long-form pages (privacy, terms) */
.doc{max-width:42em;padding:40px 0 80px}
.doc h1{font:700 48px/1.05 var(--serif);letter-spacing:-.015em;margin:0 0 8px}
.doc .updated{color:var(--muted);font-size:15px;margin:0 0 36px}
.doc h2{font:600 24px/1.25 var(--serif);margin:40px 0 8px}
.doc p,.doc li{color:rgba(242,239,233,.86)}
.doc ul{padding-left:20px}

/* shared story page */
.share{min-height:70vh;display:flex;flex-direction:column;justify-content:center;max-width:34em;padding:40px 0 80px}
.share h1{font:700 44px/1.08 var(--serif);margin:0 0 14px}
.share p{color:var(--muted);font-size:18px;margin:0 0 28px}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:48px;padding:28px 0 72px}
  .points{grid-template-columns:1fr;gap:32px}
}
@media (max-width:380px){.phone{transform:scale(.9);transform-origin:top center;margin-bottom:-64px}}
