/* Mily — brand styles. Palette sampled from the app logo. */
:root{
  --pink:#ff8abe;
  --pink-deep:#ff2e86;
  --coral:#ff7a59;
  --pink-soft:#ffe1ed;
  --pink-tint:#fff4f9;
  --ink:#0a0a0a;
  --ink-soft:#4a4a52;
  --muted:#7a7a83;
  --white:#ffffff;
  --line:#f1d7e3;
  --grad:linear-gradient(100deg,var(--pink-deep),var(--coral));
  --radius:22px;
  --radius-lg:34px;
  --shadow:0 18px 50px -24px rgba(255,46,134,.55);
  --maxw:1120px;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-display:"Fredoka",var(--font-body);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--font-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.05;margin:0}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);
  font-weight:600;font-size:17px;border:0;cursor:pointer;border-radius:999px;
  padding:15px 28px;transition:transform .15s ease, box-shadow .2s ease;
}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 56px -22px rgba(255,46,134,.7)}
.btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--line)}
.btn-ghost:hover{border-color:var(--pink);color:var(--pink-deep)}
.btn svg{width:20px;height:20px}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(1.3) blur(14px);border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;gap:28px;height:74px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:25px}
.brand .mark{
  width:40px;height:40px;border-radius:12px;background:var(--pink);
  display:grid;place-items:center;position:relative;box-shadow:0 6px 16px -6px rgba(255,46,134,.6)
}
.brand .mark::after{content:"";position:absolute;bottom:-5px;left:12px;width:13px;height:13px;background:var(--pink);
  border-radius:0 0 4px 0;transform:rotate(12deg)}
.brand .bubble{width:24px;height:17px;background:#fff;border-radius:7px}
.nav{display:flex;gap:26px;margin-left:8px;font-weight:600;font-size:15.5px;color:var(--ink-soft)}
.nav a:hover{color:var(--pink-deep)}
.head-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.menu-toggle{display:none}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1100px 520px at 82% -8%,var(--pink-soft),transparent 60%),
  radial-gradient(700px 400px at 5% 110%,var(--pink-tint),transparent 55%);}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
  padding-top:72px;padding-bottom:84px}
.hero h1{font-size:clamp(42px,5.4vw,70px);letter-spacing:-.5px}
.hero h1 .live{color:var(--pink-deep)}
.hero .lede{margin-top:22px;font-size:20px;color:var(--ink-soft);max-width:33ch}
.hero-cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.hero-meta{margin-top:26px;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:14.5px;font-weight:600}
.stack-faces{display:flex}
.stack-faces span{width:30px;height:30px;border-radius:50%;border:2.5px solid #fff;margin-left:-10px;
  background:var(--grad)}
.stack-faces span:first-child{margin-left:0}

/* ---------- phone mockup ---------- */
.phone-wrap{display:flex;justify-content:center;position:relative}
.phone{
  width:300px;height:620px;border-radius:44px;background:#fff;position:relative;
  border:11px solid #141018;box-shadow:0 40px 90px -40px rgba(20,8,30,.6);overflow:hidden
}
.phone .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:26px;
  background:#141018;border-radius:0 0 16px 16px;z-index:5}
.app-top{padding:30px 16px 6px}
.searchbar{background:#f3f3f5;border-radius:999px;height:38px;display:flex;align-items:center;
  padding:0 14px;color:#9a9aa2;font-size:13.5px}
.tabs{display:flex;justify-content:center;gap:26px;margin:14px 0 4px;font-family:var(--font-display);font-weight:600}
.tabs .on{color:var(--ink);position:relative}
.tabs .on::after{content:"";position:absolute;inset:-6px -10px;z-index:-1;border-radius:999px;
  background:radial-gradient(circle,var(--pink-soft),transparent 70%)}
.tabs .off{color:#c4c4cc}
.row-title{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 4px;font-size:13px}
.row-title b{font-family:var(--font-display)}
.row-title .all{color:var(--pink-deep);font-weight:600}
.pop-row{display:flex;gap:12px;padding:4px 16px 10px;overflow:hidden}
.pop{width:54px;text-align:center}
.pop .ring{width:54px;height:54px;border-radius:50%;padding:3px;background:var(--grad)}
.pop .ring i{display:block;width:100%;height:100%;border-radius:50%;background:#ececf0}
.pop small{display:block;font-size:10.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:2px 16px}
.live-card{border-radius:16px;height:150px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#ffd0e2,#d7c3f0)}
.live-card:nth-child(2){background:linear-gradient(160deg,#ffe0c2,#ffb3cf)}
.live-card .dot{position:absolute;top:8px;left:8px;width:8px;height:8px;border-radius:50%;background:#15d06a;
  box-shadow:0 0 0 3px rgba(255,255,255,.5)}
.live-card .name{position:absolute;left:8px;bottom:8px;color:#fff;font-size:12px;font-weight:700;
  text-shadow:0 1px 4px rgba(0,0,0,.4)}
.tabbar{position:absolute;bottom:0;left:0;right:0;height:56px;background:#fff;border-top:1px solid #f0f0f3;
  display:flex;justify-content:space-around;align-items:center}
.tabbar i{width:22px;height:22px;border-radius:7px;background:#dcdce2}
.tabbar i.act{background:var(--grad)}
/* floating gifts */
.gift{position:absolute;bottom:60px;left:24px;font-size:22px;animation:float 3.6s ease-in infinite;opacity:0}
.gift:nth-child(2){left:70px;animation-delay:1.2s;font-size:18px}
.gift:nth-child(3){left:46px;animation-delay:2.4s;font-size:26px}
@keyframes float{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}
  70%{opacity:1}100%{opacity:0;transform:translateY(-230px) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.gift{animation:none;opacity:.9}}

/* ---------- section scaffolding ---------- */
section{padding:92px 0}
.sec-head{max-width:620px}
.sec-head h2{font-size:clamp(32px,4vw,46px);letter-spacing:-.5px}
.sec-head p{margin-top:16px;color:var(--ink-soft);font-size:19px}

/* features — intentionally varied, not identical cards */
.features{background:var(--pink-tint)}
.feat-grid{margin-top:52px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px}
.feat.wide{grid-column:span 2;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.feat .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:24px;
  background:var(--pink-soft);margin-bottom:20px}
.feat h3{font-size:24px}
.feat p{margin-top:10px;color:var(--ink-soft);font-size:16.5px}
.coin-visual{background:var(--grad);border-radius:24px;padding:26px;color:#fff;text-align:center}
.coin-visual .big{font-family:var(--font-display);font-size:46px;font-weight:600;line-height:1}
.coin-visual .lbl{opacity:.9;font-size:14px;margin-top:4px}

/* safety band */
.safety .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.safety ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:18px}
.safety li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;color:var(--ink-soft)}
.safety li b{color:var(--ink);font-family:var(--font-display);font-weight:600}
.check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--pink-soft);
  display:grid;place-items:center;color:var(--pink-deep);font-weight:800;margin-top:1px}
.safety-card{background:linear-gradient(160deg,#fff,var(--pink-tint));border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:40px}
.safety-card .age{font-family:var(--font-display);font-size:64px;font-weight:600;color:var(--pink-deep)}

/* download band */
.download{background:var(--ink);color:#fff;text-align:center;border-radius:0}
.download h2{font-size:clamp(32px,4.4vw,52px);color:#fff}
.download p{margin:18px auto 0;max-width:46ch;color:rgba(255,255,255,.72);font-size:19px}
.store-row{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--ink);
  border-radius:16px;padding:12px 22px;font-weight:600}
.store small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.store b{font-family:var(--font-display);font-size:18px}

/* footer */
.site-foot{background:var(--pink-tint);padding:64px 0 40px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.foot-grid h4{font-family:var(--font-display);font-size:16px;margin:0 0 14px}
.foot-grid a{display:block;color:var(--ink-soft);padding:5px 0;font-size:15px}
.foot-grid a:hover{color:var(--pink-deep)}
.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:14px}

/* legal pages */
.legal{max-width:820px;margin:0 auto;padding:60px 24px 90px}
.legal .kicker{color:var(--pink-deep);font-weight:700;font-family:var(--font-display)}
.legal h1{font-size:clamp(34px,5vw,50px);margin:10px 0 6px;letter-spacing:-.5px}
.legal .updated{color:var(--muted);font-size:14.5px;margin-bottom:12px}
.legal .intro{font-size:19px;color:var(--ink-soft);margin:18px 0 36px}
.legal h2{font-size:25px;margin:40px 0 12px}
.legal h3{font-size:19px;margin:24px 0 8px}
.legal p,.legal li{color:var(--ink-soft);font-size:16.5px}
.legal ul{padding-left:22px;display:grid;gap:8px}
.legal a{color:var(--pink-deep);font-weight:600}
.legal .note{background:var(--pink-tint);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:28px 0;font-size:15px}
.legal .toc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin:0 0 36px}
.legal .toc b{font-family:var(--font-display)}
.legal .toc ol{margin:12px 0 0;padding-left:20px;columns:2;gap:24px}
.legal .toc a{color:var(--ink-soft);font-weight:500}

/* responsive */
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;text-align:center}
  .hero .lede{margin-left:auto;margin-right:auto}
  .hero-cta,.hero-meta{justify-content:center}
  .phone-wrap{margin-top:30px}
  .feat.wide{grid-template-columns:1fr}
  .safety .wrap{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .nav{display:none}
  .head-cta .btn-ghost{display:none}
  .feat-grid{grid-template-columns:1fr}
  .legal .toc ol{columns:1}
  .foot-grid{grid-template-columns:1fr 1fr}
  section{padding:64px 0}
}
