:root{
  --bg:#fbfbfd;--fg:#1d1d1f;--muted:#6e6e73;--muted-2:#86868b;--body:#424245;
  --accent:#5856D6;--accent-hover:#3f3db8;--line:#e5e5ea;--tint:#efeefc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
img{display:block}
button{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.container{max-width:1120px;margin:0 auto}
.eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.accent{color:var(--accent)}
.badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.badges a{display:block;line-height:0}
.badges img{height:48px;width:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--fg);color:#fff;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px;color:#fff}

/* Nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(251,251,253,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav .container{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--fg);font-weight:600;font-size:17px}
.brand:hover{color:var(--fg)}
.brand img{width:30px;height:30px;border-radius:7px}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-tag{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
.brand-name{white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14px;flex-wrap:wrap}
.nav-links a{color:var(--body)}
.nav-links a:hover{color:var(--fg)}
.nav-links .cta{background:var(--accent);color:#fff;padding:7px 14px;border-radius:999px;font-weight:500}
.nav-links .cta:hover{background:var(--accent-hover);color:#fff}
@media (max-width:520px){.nav-links a:not(.cta){display:none}}

/* Hero */
.hero{padding:48px 24px 0;text-align:center}
.hero-img{max-width:1200px;margin:0 auto}
.hero-img img{width:100%;height:auto}
.hero h1{margin:48px auto 0;max-width:820px;font-size:clamp(40px,7vw,76px);line-height:1.04;letter-spacing:-0.035em;font-weight:700;text-wrap:balance}
.hero h1 .accent{display:block}
.lede{margin:22px auto 0;max-width:620px;font-size:clamp(18px,2.2vw,22px);line-height:1.45;color:var(--muted);text-wrap:pretty}
.hero .badges{margin-top:32px}
.platforms-note{margin:14px 0 0;font-size:13px;color:var(--muted-2)}

/* About */
.about{padding:110px 24px 40px}
.about .inner{max-width:860px;margin:0 auto;text-align:center}
.about h2{margin:14px 0 0;font-size:clamp(30px,4.6vw,48px);line-height:1.12;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.about p.body{margin:22px auto 0;max-width:680px;font-size:19px;line-height:1.55;color:var(--muted);text-wrap:pretty}

/* Sources */
.sources{padding:60px 24px}
.sources .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;list-style:none;padding:0}
.source{background:#fff;border-radius:24px;padding:28px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:12px;min-height:200px}
.source img{width:48px;height:48px;border-radius:12px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.source h3{margin:8px 0 0;font-size:22px;letter-spacing:-0.02em;font-weight:650}
.source p{margin:0;font-size:16px;line-height:1.5;color:var(--muted);text-wrap:pretty}

/* Features */
.features{padding:80px 24px}
.features h2{margin:0 auto;max-width:720px;text-align:center;font-size:clamp(30px,4.6vw,48px);line-height:1.1;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.feature-grid{margin:56px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px 40px}
.feature{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:20px}
.feature h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-0.015em}
.feature p{margin:0;font-size:16px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.footnote{margin:40px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
@media (max-width:360px){.feature-grid{grid-template-columns:1fr}}

/* Panels */
.panel-section{padding:20px 24px 60px}
.panel-section.devices{padding:40px 24px 80px}
.panel{border-radius:32px;padding:clamp(36px,6vw,72px);display:grid;gap:32px;align-items:center}
.panel h2{margin:12px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.family{background:var(--tint);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.family p.body{margin:0;font-size:18px;line-height:1.55;color:var(--body);text-wrap:pretty}
.dark{background:#1d1d1f;color:#f5f5f7;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px}
.dark h2{margin:0}
.dark p.body{margin:16px 0 0;font-size:17px;line-height:1.55;color:#a1a1a6;text-wrap:pretty}
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.device{background:#2c2c2e;border-radius:18px;padding:20px 16px;display:flex;flex-direction:column;gap:4px}
.device img{width:28px;height:28px;margin-bottom:10px;opacity:.9}
.device .name{font-size:17px;font-weight:600}
.device .os{font-size:13px;color:#a1a1a6}

/* FAQ */
.faq{padding:40px 24px 80px}
.faq .inner{max-width:760px;margin:0 auto}
.faq h2{margin:0 0 28px;text-align:center;font-size:clamp(28px,4vw,40px);letter-spacing:-0.03em;font-weight:700}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item h3{margin:0;font:inherit}
.faq-q{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:18px;font-weight:600;letter-spacing:-0.01em}
.faq-q:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.faq-icon{color:var(--accent);font-size:22px;font-weight:400;line-height:1;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}
.faq-a>div{overflow:hidden;min-height:0}
.faq-a p{margin:0 0 20px;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty;opacity:0;transition:opacity .3s ease}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a p{opacity:1}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* Download */
.download{padding:60px 24px 110px;text-align:center}
.download>img{width:88px;height:88px;border-radius:20px;margin:0 auto}
.download h2{margin:24px auto 0;max-width:640px;font-size:clamp(30px,4.6vw,48px);line-height:1.1;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.download .badges{margin-top:28px}

/* Footer */
.footer{border-top:1px solid var(--line);padding:28px 24px}
.footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted-2)}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a,.link-btn{color:var(--muted)}
.link-btn{all:unset;cursor:pointer;color:var(--muted)}
.link-btn:hover,.footer-links a:hover{color:var(--fg)}

/* Cookie banner */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.12);padding:18px 18px 18px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cookie[hidden]{display:none}
.cookie p{margin:0;flex:1 1 260px;font-size:14px;line-height:1.5;color:var(--body);text-wrap:pretty}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.pill{all:unset;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;border-radius:980px}
.pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pill.secondary{background:rgba(0,0,0,.06);color:var(--fg)}
.pill.secondary:hover{background:rgba(0,0,0,.1)}
.pill.primary{background:var(--accent);color:#fff}
.pill.primary:hover{background:#4b49c4}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .faq-a,.faq-a p,.faq-icon{transition:none}
}
