:root {
  color-scheme: dark;
  --ink: #f9f7ff;
  --muted: #b9b2ca;
  --surface: #160b32;
  --surface-2: #211347;
  --line: rgba(255, 255, 255, 0.12);
  --purple: #713bff;
  --pink: #e31aad;
  --orange: #ff9f08;
  --cyan: #55d9f3;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 85% 4%, rgba(109, 55, 255, .24), transparent 27rem),
    radial-gradient(circle at 5% 32%, rgba(221, 28, 173, .1), transparent 24rem),
    #0d061f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
.section-shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 12px 18px; border-radius: 10px; background: white; color: #111; }
.skip-link:focus { top: 16px; }

.site-header {
  position: relative;
  z-index: 20;
  width: min(calc(100% - 40px), var(--max));
  height: 92px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid var(--line);
}
.brand, .footer-brand { display: flex; align-items: center; gap: 12px; }
.brand img, .footer-brand img { border-radius: 12px; }
.brand span { font-size: 1.08rem; font-weight: 780; letter-spacing: -.03em; }
.site-header nav { display: flex; align-items: center; gap: 32px; color: var(--muted); font-size: .91rem; }
.site-header nav a, .footer-links a { transition: color .2s ease; }
.site-header nav a:hover, .footer-links a:hover { color: white; }
.language-link { justify-self: end; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; font-weight: 680; }

.hero {
  position: relative;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
  align-items: center;
  gap: 54px;
  padding-block: 72px 96px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow, .section-label { margin: 0 0 20px; color: #f2b7e8; font-size: .76rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 26px; height: 1px; background: linear-gradient(90deg, var(--pink), var(--orange)); }
h1, h2, h3, p { text-wrap: pretty; }
h1 { max-width: 760px; margin: 0; font-size: clamp(3.5rem, 6.2vw, 6.1rem); line-height: .96; letter-spacing: -.068em; font-weight: 830; }
h1 em { display: block; padding-bottom: .08em; color: transparent; background: linear-gradient(100deg, #f02eb7 8%, #ff8050 48%, #ffb307); background-clip: text; -webkit-background-clip: text; font-style: normal; }
.hero-body { max-width: 600px; margin: 26px 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 34px; }
.button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 16px; padding: 12px 20px; font-weight: 730; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: white; color: #160a2c; box-shadow: 0 16px 45px rgba(0, 0, 0, .25); }
.button-primary small { display: block; margin-bottom: 1px; color: #6a6078; font-size: .61rem; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }
.google-play-icon { width: 34px; height: 34px; flex: 0 0 34px; filter: drop-shadow(0 2px 3px rgba(17, 8, 35, .14)); }
.button-ghost { border: 1px solid var(--line); color: #ddd7e9; }
.button-ghost:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.04); }
.hero-visual { position: relative; z-index: 1; min-height: 590px; perspective: 1400px; }
.phone { position: absolute; overflow: hidden; border: 8px solid #5f5781; border-radius: 42px; background: #04010a; box-shadow: 0 45px 90px rgba(0,0,0,.46); }
.phone img { width: 100%; height: 100%; object-fit: cover; }
.phone-back { width: 260px; aspect-ratio: 9/16; top: 72px; left: 4px; opacity: .62; transform: rotateY(10deg) rotateZ(-8deg); }
.phone-front { width: 316px; aspect-ratio: 9/16; top: 8px; right: 0; transform: rotateY(-7deg) rotateZ(5deg); }
.floating-badge { position: absolute; right: 215px; bottom: 22px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: rgba(33, 19, 71, .84); box-shadow: 0 20px 40px rgba(0,0,0,.35); backdrop-filter: blur(18px); font-size: .78rem; font-weight: 700; }
.floating-badge span { margin-right: 7px; color: #ff85d4; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.hero-orb-one { width: 310px; height: 310px; right: -160px; top: 42px; border: 1px solid rgba(156, 111, 255, .28); box-shadow: inset 0 0 80px rgba(100, 57, 244, .08); }
.hero-orb-two { width: 120px; height: 120px; left: 46%; bottom: 10px; background: rgba(227, 26, 173, .08); filter: blur(35px); }

.demo-section { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(50px, 8vw, 110px); padding-block: 110px 130px; }
.demo-video-wrap { position: relative; width: min(100%, 490px); aspect-ratio: 1; padding: 18px; border: 1px solid var(--line); border-radius: 46px; background: linear-gradient(145deg, rgba(112,58,255,.19), rgba(227,26,173,.08)); box-shadow: 0 40px 90px rgba(0,0,0,.32); }
.demo-video-wrap::before { content: ""; position: absolute; inset: 12% -12% -12% 20%; z-index: -1; border-radius: 50%; background: rgba(104, 55, 255, .17); filter: blur(55px); }
.demo-video-wrap video { width: 100%; height: 100%; object-fit: cover; border-radius: 32px; background: #05020d; }
.demo-chip { position: absolute; left: 38px; bottom: 38px; padding: 10px 13px; border-radius: 999px; background: rgba(14,6,31,.78); backdrop-filter: blur(12px); font-size: .7rem; font-weight: 760; letter-spacing: .05em; text-transform: uppercase; }
.section-copy h2, .section-heading h2, .privacy-copy h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1; letter-spacing: -.055em; }
.section-copy > p:not(.section-label), .section-heading > p, .privacy-copy > p:not(.section-label) { color: var(--muted); font-size: 1.06rem; line-height: 1.75; }
.demo-copy > p:not(.section-label) { max-width: 590px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 34px; }
.metric-row div { padding: 18px 8px 18px 18px; border-left: 1px solid var(--line); }
.metric-row strong { display: block; font-size: 1.5rem; }
.metric-row span { display: block; margin-top: 5px; color: #8f87a2; font-size: .72rem; }

.features-section { padding-block: 120px; border-block: 1px solid var(--line); background: rgba(255,255,255,.018); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; }
.section-heading > p { max-width: 480px; margin: 0 0 5px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 68px; }
.feature-card { min-height: 300px; padding: 27px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 26px; background: linear-gradient(160deg, rgba(255,255,255,.046), rgba(255,255,255,.012)); }
.feature-card:nth-child(2), .feature-card:nth-child(4) { transform: translateY(24px); }
.feature-number { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #d9c8ff; font-size: .72rem; font-weight: 800; }
.feature-card h3 { margin: auto 0 12px; font-size: 1.35rem; letter-spacing: -.025em; }
.feature-card p { margin: 0; color: var(--muted); font-size: .91rem; line-height: 1.62; }

.gallery-section { padding-block: 140px 130px; }
.screen-gallery { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin-top: 64px; }
.screen-card { min-width: 0; margin: 0; }
.screen-image-wrap { overflow: hidden; aspect-ratio: 9/16; border: 1px solid var(--line); border-radius: 26px; background: var(--surface); box-shadow: 0 20px 50px rgba(0,0,0,.22); transition: transform .25s ease, border-color .25s ease; }
.screen-card:hover .screen-image-wrap { transform: translateY(-7px); border-color: rgba(255,255,255,.28); }
.screen-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.screen-card figcaption { display: flex; align-items: center; gap: 9px; margin-top: 15px; color: #d5cfdf; font-size: .8rem; font-weight: 670; }
.screen-card figcaption span { color: #766d88; font-size: .66rem; }

.privacy-section { position: relative; overflow: hidden; display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 72px; margin-bottom: 120px; padding: clamp(42px, 7vw, 86px); border: 1px solid rgba(255,255,255,.16); border-radius: 44px; background: linear-gradient(125deg, #261050, #15082f 62%, #341047); }
.privacy-section::after { content: ""; position: absolute; width: 330px; height: 330px; right: -170px; bottom: -180px; border-radius: 50%; background: rgba(232, 28, 174, .2); filter: blur(20px); }
.privacy-mark { position: relative; z-index: 1; width: min(100%, 280px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.035); }
.privacy-mark::before, .privacy-mark::after { content: ""; position: absolute; inset: 13%; border: 1px solid rgba(255,255,255,.09); border-radius: 44%; transform: rotate(20deg); }
.privacy-mark::after { transform: rotate(-22deg); }
.privacy-mark img { position: relative; z-index: 2; width: 48%; border-radius: 34px; }
.privacy-copy { position: relative; z-index: 1; }
.privacy-copy ul { display: grid; gap: 13px; margin: 28px 0; padding: 0; list-style: none; }
.privacy-copy li { display: flex; align-items: center; gap: 11px; color: #e1dcea; }
.privacy-copy li span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #16072d; background: #f2a6da; font-size: .76rem; font-weight: 900; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.38); font-weight: 740; }

.site-footer { min-height: 180px; display: grid; grid-template-columns: 1.2fr auto .6fr; align-items: center; gap: 40px; border-top: 1px solid var(--line); }
.footer-brand div { display: grid; gap: 3px; }
.footer-brand strong { font-size: .95rem; }
.footer-brand span, .copyright { color: #80788f; font-size: .72rem; }
.footer-links { display: flex; gap: 26px; color: #bdb6ca; font-size: .79rem; }
.copyright { justify-self: end; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 78px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(100%, 580px); margin: 0 auto; }
  .demo-section { grid-template-columns: 1fr 1fr; gap: 45px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-card:nth-child(2), .feature-card:nth-child(4) { transform: none; }
  .screen-gallery { grid-template-columns: repeat(5, 210px); overflow-x: auto; padding: 8px 2px 24px; scroll-snap-type: x mandatory; }
  .screen-card { scroll-snap-align: start; }
  .privacy-section { grid-template-columns: .6fr 1.4fr; gap: 44px; }
  .site-footer { grid-template-columns: 1fr auto; padding-block: 45px; }
  .copyright { grid-column: 1 / -1; justify-self: start; margin: 0; }
}

@media (max-width: 700px) {
  .section-shell, .site-header { width: min(calc(100% - 28px), var(--max)); }
  .site-header { height: 76px; }
  .brand img { width: 38px; height: 38px; }
  .language-link { padding: 8px 11px; }
  .hero { gap: 26px; padding-block: 58px 76px; }
  h1 { font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .hero-body { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .hero-visual { min-height: 440px; transform: scale(.88); transform-origin: top center; margin-bottom: -60px; }
  .phone-back { width: 210px; left: -2px; }
  .phone-front { width: 250px; }
  .floating-badge { right: 115px; bottom: 18px; white-space: nowrap; }
  .demo-section { grid-template-columns: 1fr; padding-block: 90px; }
  .demo-video-wrap { justify-self: center; }
  .demo-copy { order: -1; }
  .metric-row { gap: 0; }
  .metric-row div { padding-left: 12px; }
  .features-section, .gallery-section { padding-block: 90px; }
  .feature-grid { grid-template-columns: 1fr; margin-top: 42px; }
  .feature-card { min-height: 230px; }
  .screen-gallery { margin-top: 42px; }
  .privacy-section { grid-template-columns: 1fr; gap: 36px; margin-bottom: 80px; padding: 38px 28px; border-radius: 32px; }
  .privacy-mark { width: 180px; }
  .site-footer { grid-template-columns: 1fr; gap: 28px; }
  .footer-links { flex-wrap: wrap; gap: 16px 24px; }
  .copyright { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
