*{box-sizing:border-box}
html,body{margin:0;-webkit-font-smoothing:antialiased;background:#F2F5F7}
body{font-family:'Nunito Sans',system-ui,sans-serif;color:#1A1A1A}
img{max-width:100%}
::-webkit-scrollbar{height:6px;width:6px}
::-webkit-scrollbar-thumb{background:#E0C4C0;border-radius:6px}

.page{
  max-width:480px;
  margin:0 auto;
  background:#fff;
  min-height:100vh;
  overflow:hidden;
  padding-bottom:84px;
}

.store-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  height:62px;
  border-radius:16px;
  text-decoration:none;
  padding:0 26px;
  transition:transform .15s ease;
}
.store-btn:hover{transform:translateY(-1px)}
.store-btn .lbl{display:flex;flex-direction:column;align-items:flex-start;line-height:1.12}
.store-btn .lbl-top{font:700 11px Nunito;letter-spacing:.06em;opacity:.9}
.store-btn .lbl-main{font:900 20px Nunito}
.store-btn.primary{background:#EA5046;color:#fff;box-shadow:0 16px 30px -12px rgba(234,80,70,.7)}
.store-btn.dark{background:#1A1A1A;color:#fff;box-shadow:0 16px 30px -12px rgba(26,26,26,.45)}
.store-btn.light{background:#fff;color:#EA5046;box-shadow:0 18px 34px -14px rgba(0,0,0,.45)}
.store-btn.ghost{background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.7);color:#fff}

@keyframes pulse{
  0%{box-shadow:0 10px 20px -8px rgba(234,80,70,.8),0 0 0 0 rgba(234,80,70,.45)}
  70%{box-shadow:0 10px 20px -8px rgba(234,80,70,.8),0 0 0 12px rgba(234,80,70,0)}
  100%{box-shadow:0 10px 20px -8px rgba(234,80,70,.8),0 0 0 0 rgba(234,80,70,0)}
}

.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);
  border-top:1px solid #ECEFF2;
  box-shadow:0 -12px 26px -18px rgba(26,26,26,.4);
}
.sticky-inner{
  max-width:480px;margin:0 auto;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;
}
.sticky-inner img{width:42px;height:42px;border-radius:11px}
.sticky-copy{flex:1;min-width:0}
.sticky-name{font:800 14px Nunito;color:#1A1A1A}
.sticky-meta{font:700 11px Nunito;color:#9AA3AB}
.sticky-cta{
  flex:0 0 auto;height:48px;padding:0 22px;border-radius:14px;
  background:#EA5046;color:#fff;font:800 15px Nunito;
  display:flex;align-items:center;text-decoration:none;
  animation:pulse 2s ease-out infinite;transition:transform .15s ease;
}
.sticky-cta:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.sticky-cta{animation:none}}

.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFF4F2 0%,#fff 70%);
  padding:30px 22px 32px;text-align:center;
}
.icon-row{display:flex;flex-direction:column;align-items:center;gap:12px}
.icon-glow{position:relative}
.icon-glow::before{
  content:"";position:absolute;inset:-14px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(234,80,70,.35),transparent);
}
.app-icon{
  position:relative;width:74px;height:74px;border-radius:18px;
  box-shadow:0 12px 26px -8px rgba(234,80,70,.55);
}
.brand-name{font:800 17px Nunito;color:#1A1A1A}
.brand-tag{font:700 12px Nunito;color:#EA5046}
.hero h1{
  margin:16px 0 0;font:800 31px/1.2 Nunito;color:#1A1A1A;
}
.hero-text{
  margin:10px auto 0;max-width:300px;
  font:400 16px/1.5 'Nunito Sans';color:#757575;
}
.rating-row{
  margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;
}
.stars{color:#E6A12E;font-size:16px;letter-spacing:1px}
.rating-value{font:800 14px Nunito;color:#1A1A1A}
.rating-meta{font:600 13px 'Nunito Sans';color:#9AA3AB}
.store-mobile{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.store-web{display:none}
.subnote{margin-top:12px;text-align:center;font:600 13px 'Nunito Sans';color:#9AA3AB}
.phone-wrap{display:flex;justify-content:center;margin-top:26px;position:relative}
.phone-stack{position:relative;display:flex;align-items:flex-end;justify-content:center}
.phone-stack::before{
  content:"";position:absolute;inset:-22px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(234,80,70,.16),transparent);z-index:0;
}
.hero-shot-primary{
  position:relative;z-index:1;display:block;width:236px;height:auto;
}
.fan{display:none}

.shots{background:#fff;padding:28px 0 8px}
.shots-head{padding:0 22px}
.eyebrow{
  font:800 12px Nunito;letter-spacing:.12em;text-transform:uppercase;color:#EA5046;
}
.shots h2,.features h2{
  margin:8px 0 0;font:800 27px/1.2 Nunito;color:#1A1A1A;
}
.features h2{margin:0;text-align:center}
.shots-row{
  margin-top:20px;display:flex;gap:16px;overflow-x:auto;
  padding:6px 22px 18px;scroll-snap-type:x mandatory;
}
.shot-card{flex:0 0 auto;scroll-snap-align:center}
.shot-card img{display:block;width:222px;height:auto}
.scroll-hint{margin-top:14px;text-align:center;font:600 12px 'Nunito Sans';color:#9AA3AB}

.features{background:#F2F5F7;padding:36px 22px}
.features-grid{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.feature-card{
  background:#fff;border-radius:18px;padding:18px 15px;
  box-shadow:0 8px 18px -14px rgba(26,26,26,.35);
}
.feature-icon{
  width:46px;height:46px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:700;color:#EA5046;
}
.feature-icon.coral{background:#FFE8E5}
.feature-icon.warm{background:#FFF1DC}
.feature-title{margin-top:12px;font:800 15px Nunito;color:#1A1A1A}
.feature-text{margin-top:4px;font:400 13px/1.45 'Nunito Sans';color:#757575}

.cta{
  background:linear-gradient(165deg,#EA5046 0%,#D4453C 100%);
  padding:40px 24px 44px;text-align:center;
}
.cta-icon{
  width:60px;height:60px;border-radius:15px;
  box-shadow:0 12px 24px -8px rgba(0,0,0,.35);
}
.cta h2{margin:16px 0 0;font:800 28px/1.22 Nunito;color:#fff}
.cta p{margin:10px auto 0;max-width:300px;font:400 16px/1.5 'Nunito Sans';color:#FFF4F2}
.cta-meta{margin-top:14px;font:700 13px Nunito;color:#FFF4F2}
.cta .store-mobile{margin-top:22px}

.footer{background:#fff;padding:22px;text-align:center}
.footer-brand{font:700 13px Nunito;color:#9AA3AB}
.footer-meta{margin-top:6px;font:400 12px 'Nunito Sans';color:#A6B3C2}

@media (min-width:900px){
  body{background:#E8EEF2}
  .page{max-width:none;background:transparent;padding-bottom:0;--side:max(72px, calc((100% - 1180px) / 2))}
  .hero{
    display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;text-align:left;
    padding:60px var(--side) 64px;
    background:
      radial-gradient(56% 74% at 84% 14%, rgba(234,80,70,.18), transparent 62%),
      radial-gradient(52% 66% at 12% 26%, rgba(243,164,156,.28), transparent 60%),
      linear-gradient(158deg,#fff8f6 0%,#ffe9e5 46%,#f7d4ce 100%);
  }
  .hero-copy{position:relative;z-index:2;text-align:left}
  .hero h1{font-size:52px;line-height:1.06;letter-spacing:-.5px;margin-top:18px;max-width:13ch}
  .hero-text{margin:14px 0 0;max-width:440px;font-size:18px;line-height:1.55}
  .icon-row{flex-direction:row;align-items:center;gap:14px}
  .brand-block{text-align:left}
  .rating-row{justify-content:flex-start;margin-top:20px}
  .subnote{text-align:left}
  .store-mobile{display:none !important}
  .store-web{display:flex !important;flex-wrap:wrap;gap:14px;justify-content:flex-start;margin-top:24px}
  .store-web.center{justify-content:center}
  .phone-wrap{margin:0;z-index:1}
  .hero-shot-primary{
    z-index:3;width:clamp(176px,17vw,228px);
    transform:translateY(-18px);
    filter:drop-shadow(0 34px 58px rgba(26,26,26,.28));
  }
  .fan{
    display:block;position:relative;z-index:2;
    width:clamp(150px,15vw,200px);height:auto;
    transform-origin:bottom center;
    filter:drop-shadow(0 26px 46px rgba(26,26,26,.18));
  }
  .fan-left{margin-right:-68px;transform:rotate(-15deg)}
  .fan-right{margin-left:-68px;transform:rotate(15deg)}
  .shots{padding-top:48px}
  .shots-head,.shots-row,.features,.cta{padding-left:var(--side);padding-right:var(--side)}
  .features-grid{grid-template-columns:repeat(4,1fr)}
  .sticky-bar{display:none}
}
