.home-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 104px;
  background: radial-gradient(circle at 78% 39%, #e6dcfb 0, transparent 34%),
    radial-gradient(circle at 11% 100%, #fff2e4 0, transparent 29%), #f8f8fc;
}
.home-hero .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(450px, 1fr); gap: 4%; }
.home-hero .hero-copy { max-width: 590px; }
.home-hero .hero-copy .eyebrow { margin-bottom: 27px; }
.home-hero .hero-copy .lead { max-width: 530px; }
.home-hero .hero-note { max-width: 540px; margin-top: 13px; }
.home-download { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 44px; }
.play-store-link { display: inline-flex; align-items: center; border-radius: 7px; transition: transform .2s, box-shadow .2s; }
.play-store-link:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(36,24,75,.15); }
.play-store-link img { width: 200px; height: auto; }
.home-download > span { max-width: 185px; color: #6a6579; font-size: .82rem; line-height: 1.4; }
.home-visual { position: relative; min-height: 655px; display: grid; place-items: center; isolation: isolate; }
.home-visual::before {
  content: ""; position: absolute; z-index: -2; width: min(100%, 560px); aspect-ratio: 1;
  border-radius: 45% 55% 53% 47%; transform: rotate(-14deg);
  background: linear-gradient(140deg, #e3d5ff 5%, #f3ecff 64%, #fff0db);
}
.home-visual::after {
  content: ""; position: absolute; z-index: -1; width: 430px; height: 430px;
  border: 1px solid rgba(109, 67, 200, .13); border-radius: 50%; transform: translate(85px, -20px);
}
.home-phone {
  position: absolute; overflow: hidden; padding: 8px; background: #17141d;
  border: 2px solid #343039; border-radius: 36px;
  box-shadow: 0 36px 75px rgba(31, 20, 58, .23), inset 0 0 0 2px rgba(255, 255, 255, .11);
}
.home-phone img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 27px; }
.home-phone-main { z-index: 2; width: 292px; height: 649px; left: 14%; top: 1%; transform: rotate(-4deg); }
.home-phone-back { z-index: 1; width: 246px; height: 548px; right: 4%; top: 9%; transform: rotate(9deg); box-shadow: 0 26px 55px rgba(31, 20, 58, .23); }
.home-screenshot-caption { position: absolute; z-index: 3; right: 0; bottom: -2px; color: #68627c; font-size: .78rem; font-weight: 650; }
.home-showcase { padding: 110px 0; background: #fff; }
.home-showcase .section-head { max-width: 760px; margin-bottom: 46px; }
.home-showcase .section-head p { max-width: 660px; }
.home-view-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-view-card { overflow: hidden; border: 1px solid #e9e5f1; border-radius: 25px; background: #fff; box-shadow: 0 16px 40px rgba(38, 26, 80, .05); }
.home-view-image { position: relative; height: 320px; overflow: hidden; background: #f2edfa; }
.home-view-image img { width: 100%; height: auto; display: block; }
.home-view-image::after { content: ""; position: absolute; inset: auto 0 0; height: 60px; background: linear-gradient(transparent, rgba(255,255,255,.13)); pointer-events: none; }
.home-view-card:nth-child(2) .home-view-image { background: #e9e0f5; }
.home-view-card:nth-child(3) .home-view-image { background: #16121d; }
.home-view-card:nth-child(3) .home-view-image::after { background: linear-gradient(transparent, rgba(18,15,24,.18)); }
.home-view-content { padding: 26px 28px 29px; }
.home-view-number { display: inline-block; margin-bottom: 11px; color: #794de4; font-size: .76rem; font-weight: 800; letter-spacing: .14em; }
.home-view-content h3 { margin-bottom: 10px; font-size: 1.35rem; }
.home-view-content p { margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.6; }
.holiday-browse { margin: 25px 0 0; }
.holiday-browse .button.ghost { color: #fff; padding-inline: 0; }
.holiday-browse .button.ghost:hover { color: #e7d9ff; }
@media (max-width: 1050px) {
  .home-hero .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr); gap: 0; }
  .home-phone-main { left: 4%; }
  .home-phone-back { right: 0; }
}
@media (max-width: 820px) {
  .home-hero { padding: 68px 0 80px; }
  .home-hero .hero-grid { grid-template-columns: 1fr; }
  .home-hero .hero-copy { max-width: 670px; }
  .home-visual { width: min(100%, 600px); margin: 30px auto 0; }
  .home-phone-main { left: 15%; }
  .home-phone-back { right: 11%; }
  .home-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-view-card:last-child { grid-column: 1 / -1; }
  .home-view-card:last-child .home-view-image { height: 280px; }
}
@media (max-width: 600px) {
  .home-hero { padding: 54px 0 56px; }
  .home-download { margin-top: 36px; gap: 10px; }
  .play-store-link img { width: 180px; }
  .home-visual { min-height: 520px; margin-top: 34px; }
  .home-visual::before { width: 420px; max-width: 100%; }
  .home-visual::after { display: none; }
  .home-phone-main { width: 225px; height: 500px; left: 7%; top: 0; border-radius: 30px; }
  .home-phone-main img { border-radius: 22px; }
  .home-phone-back { width: 177px; height: 394px; right: 5%; top: 8%; border-radius: 27px; }
  .home-phone-back img { border-radius: 19px; }
  .home-screenshot-caption { right: 0; bottom: -3px; }
  .home-showcase { padding: 74px 0; }
  .home-showcase .section-head { margin-bottom: 30px; }
  .home-view-grid { grid-template-columns: 1fr; gap: 18px; }
  .home-view-card:last-child { grid-column: auto; }
  .home-view-image, .home-view-card:last-child .home-view-image { height: 315px; }
}
@media (max-width: 390px) {
  .home-visual { min-height: 455px; }
  .home-phone-main { width: 198px; height: 440px; left: 3%; }
  .home-phone-back { width: 157px; height: 350px; right: 1%; }
}
