/* Real app captures: preserve their full aspect ratio, including native navigation. */
.app-screen-link {
  display: block;
  border: 1px solid #61508b;
  border-radius: 22px;
  padding: 5px;
  background: #090a17;
  box-shadow: 0 20px 50px #0005;
}
.app-screen-link img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.app-screenshot {
  margin: 0 auto;
  width: min(100%, 280px);
}
.app-screenshot figcaption {
  padding: 18px 0 0;
  color: var(--ink);
  text-align: center;
  font-weight: 650;
  line-height: 1.5;
}
.app-screenshot figcaption small {
  display: block;
  margin-top: 8px;
  color: var(--subtle);
  font-size: 0.75rem;
  font-weight: 400;
}
.page-hero:has(.page-hero-visual) {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
}
.page-hero-visual {
  padding: 24px;
  background: radial-gradient(ellipse at center, #6435be38, transparent 70%);
}
.page-hero-copy > .hero-list {
  margin-top: 28px;
}
.page-hero-copy > .hero-list li {
  min-height: auto;
  padding: 0;
  background: none;
  border: 0;
}
.hero-art.app-hero-art {
  overflow: visible;
  background: radial-gradient(ellipse at 50% 45%, #5530a955, transparent 72%);
  border: 0;
  border-radius: 0;
}
.app-hero-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr);
  align-items: center;
  gap: 18px;
  padding: 8px 0 24px;
}
.app-hero-stage > .app-screen-link:last-child {
  margin-top: 90px;
}
.hero-art.app-hero-art img {
  height: auto;
  width: 100%;
  object-fit: contain;
}
.hero-art.app-hero-art figcaption {
  background: transparent;
  border: 0;
  padding: 12px 0;
}
.hero-copy h1 em {
  color: #bf9eff;
  background: linear-gradient(110deg, #c59bff 10%, #7de9ed 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.experience-visual:has(.app-screen-link) {
  padding: 28px 28px 52px;
  background: radial-gradient(ellipse at 50% 40%, #58309838, transparent 70%),
    #0b0c1a;
}
.experience-visual .app-screen-link {
  width: min(100%, 260px);
}
.experience-visual .app-screen-link img {
  height: auto;
}
.product-card:has(.app-screen-link) {
  padding-bottom: 24px;
}
.product-card .app-screen-link {
  width: min(100%, 240px);
  margin: 24px auto 0;
}
.product-card .app-screen-link img {
  margin: 0;
  width: 100%;
  height: auto;
}
.product-card:nth-child(even):has(.app-screen-link) {
  background: linear-gradient(160deg, #17172e, #0c1220);
}
.app-academy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.6fr);
  align-items: center;
  gap: 48px;
  padding: 36px;
  margin: 24px 0 48px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(130deg, #241a40, #101625);
}
.app-academy p {
  margin-top: 20px;
}
.app-academy .text-link {
  margin-top: 20px;
}
.app-academy .app-screenshot {
  max-width: 220px;
}
@media (max-width: 700px) {
  .page-hero:has(.page-hero-visual),
  .app-academy {
    grid-template-columns: 1fr;
  }
  .page-hero-visual {
    padding: 0;
  }
  .app-hero-stage {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 290px);
    margin-inline: auto;
  }
  .app-hero-stage > .app-screen-link:last-child {
    display: none;
  }
  .app-hero-stage .app-screen-link {
    padding: 3px;
    border-radius: 16px;
  }
  .app-hero-stage img {
    border-radius: 12px;
  }
  .experience-visual:has(.app-screen-link) {
    padding: 24px 20px 48px;
  }
  .app-academy {
    padding: 24px;
    gap: 28px;
  }
}
@media (forced-colors: active) {
  .hero-copy h1 em {
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}
