:root{
  --green:#05B254; --green-dark:#00381B; --orange:#E8590C; --yellow:#FFB703;
  --navy:#152036; --navy-2:#1d2b47; --text:#ffffff; --muted:#b8c4d9;
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--navy);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif;
  line-height:1.55;-webkit-text-size-adjust:100%;
}
a{color:var(--yellow)}
img{max-width:100%;height:auto}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}

/* header */
.top{position:absolute;inset:0 0 auto 0;z-index:2}
.top .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2px}
.brand img{width:36px;height:36px;border-radius:9px}
.nav a{color:#fff;text-decoration:none;margin-left:18px;font-weight:600;font-size:15px;opacity:.92}
.nav a:hover{opacity:1;text-decoration:underline}

/* hero */
.hero{
  background:var(--green);color:#fff;text-align:center;
  padding:96px 0 56px;position:relative;overflow:hidden;
}
.hero h1{font-size:clamp(34px,7vw,56px);line-height:1.08;margin:18px 0 12px;font-weight:800}
.hero p.lead{font-size:clamp(17px,2.6vw,21px);max-width:620px;margin:0 auto 26px;color:#eafff2}
.hero .logo{width:min(300px,62vw);margin:0 auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,56,27,.35))}
.stores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
.btn{
  display:inline-flex;align-items:center;gap:10px;background:#0b1424;color:#fff;text-decoration:none;
  padding:12px 20px;border-radius:14px;font-weight:700;font-size:16px;border:2px solid rgba(255,255,255,.18);
  min-width:190px;justify-content:center;
}
.btn small{display:block;font-weight:500;font-size:11px;opacity:.8;line-height:1}
.btn span{display:block;text-align:left;line-height:1.15}
.btn:hover{border-color:#fff}
.btn.ghost{background:transparent}

/* official store badges: both sit in the same-height box; the Google PNG has built-in empty space, so it is drawn taller and centred.
   Sizes are chosen so the two fit side by side even on a 360px-wide phone. */
.stores{align-items:center;flex-wrap:nowrap}
.badge{display:flex;align-items:center;justify-content:center;height:48px;transition:transform .15s}
.badge:hover{transform:translateY(-2px)}
.badge img{display:block;width:auto;max-width:none;flex:none}
.badge[data-store=ios] img{height:48px}
.badge[data-store=android] img{height:62px}
@media (min-width:520px){
  .badge{height:56px}
  .badge[data-store=ios] img{height:56px}
  .badge[data-store=android] img{height:73px}
}

/* sections */
section{padding:52px 0}
section.alt{background:var(--navy-2)}
h2{font-size:clamp(24px,4.4vw,34px);margin:0 0 8px;line-height:1.15}
.sub{color:var(--muted);margin:0 0 26px;max-width:700px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--navy);border-radius:var(--radius);padding:18px 18px 16px;border:1px solid rgba(255,255,255,.07)}
section.alt .card{background:var(--navy)}
.card h3{margin:0 0 4px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:15px}
.tag{display:inline-block;font-size:12px;font-weight:700;background:var(--green);color:#fff;border-radius:99px;padding:2px 10px;margin-bottom:8px}
.tag.two{background:var(--orange)}

/* screenshots */
.shots{display:flex;gap:16px;overflow-x:auto;padding:4px 20px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.shots img{height:min(520px,70vh);width:auto;border-radius:22px;scroll-snap-align:center;flex:0 0 auto;box-shadow:0 10px 30px rgba(0,0,0,.35)}

/* text pages */
.page{padding:96px 0 40px;max-width:760px}
.page-hero{background:var(--green);padding:78px 0 26px}
.page-hero h1{margin:14px 0 0;font-size:clamp(28px,5vw,40px)}
.prose h2{margin-top:34px;font-size:22px}
.prose p,.prose li{color:#dbe4f3}
.prose ul{padding-left:20px}
.faq details{background:var(--navy-2);border-radius:14px;padding:14px 16px;margin:10px 0;border:1px solid rgba(255,255,255,.07)}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin:10px 0 0;color:#dbe4f3}
.note{background:var(--navy-2);border-left:4px solid var(--green);padding:12px 16px;border-radius:10px;margin:18px 0}

footer{padding:34px 0 44px;color:var(--muted);font-size:14px;border-top:1px solid rgba(255,255,255,.08)}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between}
footer a{color:var(--muted)}
.hide{display:none!important}
@media (max-width:520px){.nav a{margin-left:12px;font-size:14px}.btn{min-width:0;width:100%;max-width:320px}}
