.app-promo-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) 142px;
  align-items:center;
  gap:1.1rem;
  margin-top:1.25rem;
  padding:1.3rem 1.15rem 1.3rem 1.35rem;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:30px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,244,249,.98)) padding-box,
    linear-gradient(135deg,var(--pink),#ffbed6 48%,var(--teal)) border-box;
  box-shadow:0 22px 48px rgba(75,36,25,.16),0 8px 24px rgba(244,111,151,.12);
}
.app-promo-card::before,
.app-promo-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:999px;
  pointer-events:none;
}
.app-promo-card::before{
  width:190px;
  height:190px;
  right:-78px;
  top:-82px;
  background:radial-gradient(circle,rgba(34,199,200,.25),rgba(34,199,200,0) 70%);
}
.app-promo-card::after{
  width:160px;
  height:160px;
  left:-76px;
  bottom:-92px;
  background:radial-gradient(circle,rgba(244,111,151,.24),rgba(244,111,151,0) 72%);
}
.app-promo-copy{position:relative;z-index:2;min-width:0}
.app-promo-kicker{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  margin-bottom:.6rem;
  color:#842849;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.app-promo-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--teal);
  box-shadow:0 0 0 5px rgba(34,199,200,.12);
}
.app-promo-card h3{
  margin:0;
  max-width:10ch;
  color:var(--cocoa);
  font-size:clamp(1.7rem,3.2vw,2.25rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.app-promo-card p{
  margin:.72rem 0 .95rem;
  color:var(--muted);
  font-size:.91rem;
  line-height:1.55;
}
.app-download-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.78rem 1.15rem;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:linear-gradient(135deg,#e83f7c,var(--pink) 48%,#ff8fb4);
  color:#fff;
  font-size:.9rem;
  font-weight:1000;
  letter-spacing:.04em;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(232,63,124,.27),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .2s ease,box-shadow .2s ease;
}
.app-download-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(232,63,124,.34),inset 0 1px 0 rgba(255,255,255,.35);
}
.app-download-btn:focus-visible{
  outline:3px solid rgba(34,199,200,.45);
  outline-offset:3px;
}
.app-phone-stage{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-height:248px;
  filter:drop-shadow(0 18px 18px rgba(75,36,25,.22));
}
.app-phone-stage::before{
  content:"";
  position:absolute;
  width:132px;
  height:132px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(244,111,151,.22),rgba(34,199,200,.24));
  box-shadow:0 0 0 12px rgba(255,255,255,.48);
}
.app-phone{
  position:relative;
  width:126px;
  height:246px;
  padding:6px;
  border:3px solid #3c2119;
  border-radius:27px;
  background:linear-gradient(145deg,#5a3126,#23110d);
  transform:rotate(3deg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.app-phone::before{
  content:"";
  position:absolute;
  z-index:3;
  width:42px;
  height:12px;
  left:50%;
  top:6px;
  border-radius:0 0 10px 10px;
  background:#2c1610;
  transform:translateX(-50%);
}
.app-phone-screen{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border-radius:19px;
  background:linear-gradient(180deg,#fff9f5,#fff1f7);
}
.app-phone-status{
  display:flex;
  justify-content:space-between;
  padding:7px 9px 4px;
  color:#4b2419;
  font-size:5.8px;
  font-weight:1000;
}
.app-phone-logo{
  width:63px;
  height:auto;
  aspect-ratio:260 / 200;
  margin:1px auto 5px;
  object-fit:contain;
}
.app-phone-photo{
  width:calc(100% - 12px);
  height:78px;
  margin:0 6px;
  border-radius:11px;
  object-fit:cover;
  box-shadow:0 7px 14px rgba(75,36,25,.13);
}
.app-phone-title{
  margin:7px 7px 3px;
  color:var(--cocoa);
  font-size:10px;
  font-weight:1000;
  line-height:1.05;
  text-align:center;
}
.app-phone-subtitle{
  margin:0 8px 6px;
  color:#8a6559;
  font-size:5.7px;
  font-weight:750;
  line-height:1.25;
  text-align:center;
}
.app-phone-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:0 7px;
}
.app-phone-actions span{
  display:grid;
  place-items:center;
  min-height:23px;
  padding:3px;
  border-radius:7px;
  color:#fff;
  font-size:5.8px;
  font-weight:1000;
  line-height:1.05;
  text-align:center;
}
.app-phone-actions span:first-child{background:linear-gradient(135deg,var(--pink),#ff91b7)}
.app-phone-actions span:last-child{background:linear-gradient(135deg,var(--teal),#37aeb5)}
.app-phone-home{
  width:34px;
  height:3px;
  margin:auto auto 5px;
  border-radius:999px;
  background:rgba(75,36,25,.55);
}

@media (max-width:760px){
  .app-promo-card{
    grid-template-columns:minmax(0,1fr) 118px;
    gap:.75rem;
    padding:1.05rem .8rem 1.05rem 1rem;
    border-radius:26px;
  }
  .app-promo-card h3{font-size:clamp(1.55rem,7.4vw,2rem)}
  .app-promo-card p{font-size:.86rem;line-height:1.46}
  .app-download-btn{width:100%;min-height:48px;padding:.7rem .8rem;font-size:.8rem}
  .app-phone-stage{min-height:222px;transform:scale(.9)}
}

@media (max-width:390px){
  .app-promo-card{grid-template-columns:minmax(0,1fr) 104px;padding:.95rem .6rem .95rem .85rem}
  .app-promo-kicker{font-size:.62rem;letter-spacing:.08em}
  .app-promo-card h3{font-size:1.45rem}
  .app-promo-card p{font-size:.8rem}
  .app-phone-stage{margin-inline:-9px;transform:scale(.8)}
}

@media (prefers-reduced-motion:reduce){
  .app-download-btn{transition:none}
}
