.app-page { overflow: hidden; }
.app-hero { min-height: 700px; padding-top: 80px; padding-bottom: 90px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr); align-items: center; gap: clamp(50px, 9vw, 125px); }
.app-hero-copy h1 { max-width: 790px; margin: 20px 0 25px; font-size: clamp(48px, 6.2vw, 78px); line-height: .98; letter-spacing: -.058em; }
.app-hero-copy > p { max-width: 690px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.app-downloads { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 11px; }
.app-hero-copy > .app-beta-note { max-width: 590px; margin: 28px 0 0; color: var(--faint); font-size: 12px; line-height: 1.55; }
.app-beta-note strong { color: #ffc96b; }
.app-phone { width: min(100%, 330px); padding: 9px; overflow: hidden; justify-self: center; border: 1px solid rgba(255,255,255,.16); border-radius: 38px; background: #050710; box-shadow: 0 45px 90px rgba(0,0,0,.42), 0 0 70px rgba(139,124,255,.13); transform: rotate(2deg); }
.app-phone img { width: 100%; height: auto; display: block; border-radius: 29px; }
.app-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.app-features article { min-height: 300px; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.app-features article > span { color: var(--faint); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.app-features h2 { max-width: 480px; margin: 50px 0 17px; font-size: clamp(25px, 2.6vw, 35px); line-height: 1.1; letter-spacing: -.035em; }
.app-features p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.7; }
.app-final { margin-top: 110px; margin-bottom: 100px; padding: clamp(50px, 7vw, 85px); position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: linear-gradient(145deg, #151d32, #101624); }
.app-final::after { position: absolute; right: -35px; bottom: -110px; color: rgba(139,124,255,.055); font-size: 360px; font-weight: 900; line-height: 1; content: "Э"; }
.app-final h2 { max-width: 850px; margin: 18px 0 22px; position: relative; z-index: 1; font-size: clamp(38px, 5vw, 61px); line-height: 1.04; letter-spacing: -.05em; }
.app-final > p { max-width: 600px; margin: 0; position: relative; z-index: 1; color: var(--muted); line-height: 1.7; }
.app-final .app-downloads { position: relative; z-index: 1; }

@media (max-width: 800px) {
  .app-hero { min-height: 0; padding-top: 65px; grid-template-columns: 1fr; }
  .app-hero-copy h1 { font-size: clamp(43px, 13vw, 66px); }
  .app-phone { width: min(88vw, 330px); transform: none; }
  .app-features { grid-template-columns: 1fr; }
  .app-features article { min-height: 250px; }
  .app-final { margin-top: 75px; margin-bottom: 75px; padding: 52px 24px; }
}
