:root {
  --bg: #070910;
  --panel: rgba(255,255,255,.055);
  --panel-strong: rgba(255,255,255,.085);
  --line: rgba(255,255,255,.10);
  --text: #f7f8fb;
  --muted: #a4abba;
  --blue: #5b7cff;
  --violet: #ab6cff;
  --orange: #ff9756;
  --radius: 28px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(circle at 50% -15%, #18244b 0, transparent 34%), var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(1180px, calc(100% - 44px)); margin-inline: auto; }
.aurora { position: fixed; z-index: -1; filter: blur(90px); border-radius: 999px; opacity: .17; pointer-events:none; }
.aurora-a { width: 420px; height: 420px; background: #765cff; top: 8vh; left: -180px; }
.aurora-b { width: 480px; height: 480px; background: #ff7d50; top: 38vh; right: -260px; opacity:.10; }
.site-header { height: 86px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:10; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:20px; font-weight:700; letter-spacing:-.02em; }
.brand img { width:36px; height:36px; object-fit:contain; }
.brand.small { font-size:17px; }
.brand.small img { width:28px; height:28px; }
nav { display:flex; align-items:center; gap:28px; font-size:14px; color:#ccd0dc; }
nav a { transition:.2s ease; }
nav a:hover { color:white; }
.nav-download { border:1px solid var(--line); background:rgba(255,255,255,.06); padding:10px 15px; border-radius:12px; }
.hero { min-height: 720px; display:grid; grid-template-columns: 1.03fr .97fr; align-items:center; gap:70px; padding-block:48px 88px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:13px; color:#c8cede; border:1px solid var(--line); background:rgba(255,255,255,.04); padding:8px 11px; border-radius:999px; }
.dot { width:7px; height:7px; background:#7b8cff; border-radius:50%; box-shadow:0 0 14px #7389ff; }
h1 { font-size:clamp(58px, 7vw, 94px); line-height:.95; letter-spacing:-.065em; margin:24px 0 26px; max-width:760px; }
h1 span { background:linear-gradient(100deg,#8ba5ff 8%,#c479ff 52%,#ff9a61 92%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy > p:not(.requirements) { color:var(--muted); font-size:19px; line-height:1.65; max-width:650px; }
.hero-actions { display:flex; gap:12px; margin-top:34px; flex-wrap:wrap; }
.button { min-height:52px; padding:0 20px; display:inline-flex; justify-content:center; align-items:center; gap:9px; border-radius:15px; font-size:15px; font-weight:650; transition:transform .2s ease, background .2s ease, border .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:linear-gradient(135deg,#6e7fff,#945dff); box-shadow:0 16px 40px rgba(104,87,255,.24), inset 0 1px rgba(255,255,255,.3); }
.button.primary:hover { background:linear-gradient(135deg,#7f8eff,#a46cff); }
.button.secondary { border:1px solid var(--line); background:rgba(255,255,255,.05); }
.button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.requirements { margin-top:16px; font-size:12px !important; color:#777f91 !important; }
.hero-art { position:relative; min-height:520px; display:grid; place-items:center; }
.icon-glow { position:absolute; width:64%; aspect-ratio:1; border-radius:34%; background:radial-gradient(circle at 50% 38%, rgba(105,111,255,.75), rgba(230,89,255,.22) 48%, transparent 72%); filter:blur(50px); transform:scale(1.12); }
.app-icon { width:min(520px, 100%); position:relative; filter:drop-shadow(0 40px 45px rgba(0,0,0,.34)); transform:rotate(2deg); animation:float 6s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(2deg)} 50%{transform:translateY(-13px) rotate(1deg)} }
.marquee-wrap { border-block:1px solid var(--line); overflow:hidden; background:rgba(255,255,255,.025); }
.marquee { width:max-content; display:flex; gap:24px; align-items:center; padding:15px 0; font-size:13px; color:#8d95a7; animation:marquee 34s linear infinite; }
.marquee i { font-style:normal; color:#5c6474; font-size:9px; }
@keyframes marquee { to { transform:translateX(-50%); } }
.section { padding-block:130px; }
.section-heading { margin-bottom:50px; }
.kicker { color:#8e9cff; text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:750; margin:0 0 14px; }
h2 { margin:0; font-size:clamp(38px,5vw,66px); line-height:1.02; letter-spacing:-.05em; }
.subhead { color:var(--muted); font-size:17px; margin:18px auto 0; max-width:620px; }
.center { text-align:center; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.feature-card { min-height:250px; padding:28px; border:1px solid var(--line); background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03)); border-radius:var(--radius); box-shadow:inset 0 1px rgba(255,255,255,.05); }
.feature-card.wide { grid-column:span 2; display:flex; align-items:flex-end; gap:26px; }
.card-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; flex:0 0 auto; background:linear-gradient(135deg,rgba(112,126,255,.22),rgba(181,91,255,.12)); border:1px solid rgba(143,136,255,.21); color:#c3c7ff; font-weight:700; font-size:17px; }
.feature-card h3 { margin:20px 0 9px; font-size:21px; letter-spacing:-.025em; }
.feature-card.wide h3 { margin-top:0; }
.feature-card p { margin:0; color:var(--muted); line-height:1.6; font-size:15px; max-width:560px; }
.preview-section { background:linear-gradient(180deg, transparent, rgba(255,255,255,.025), transparent); }
.preview-toggle { width:max-content; margin:0 auto 32px; padding:5px; background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:14px; display:flex; gap:4px; }
.toggle-btn { border:0; color:#9299a8; background:transparent; padding:9px 16px; border-radius:10px; font:600 13px inherit; cursor:pointer; }
.toggle-btn.active { color:#fff; background:rgba(255,255,255,.11); box-shadow:inset 0 1px rgba(255,255,255,.09); }
.preview-stage { position:relative; }
.preview-stage:before { content:""; position:absolute; inset:12% 10% -6%; background:linear-gradient(90deg,#5c6fff,#bb66ff,#ff9663); filter:blur(72px); opacity:.18; z-index:-1; }
.screenshot-frame { border:1px solid rgba(255,255,255,.14); border-radius:28px; padding:10px; background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045)); box-shadow:0 45px 90px rgba(0,0,0,.32); }
.screenshot-frame img { width:100%; display:block; border-radius:19px; transition:opacity .22s ease, transform .22s ease; }
.screenshot-frame img.switching { opacity:.25; transform:scale(.995); }
.cta { padding-block:60px 120px; }
.cta-panel { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; border:1px solid var(--line); border-radius:32px; padding:35px; background:radial-gradient(circle at 18% 0%,rgba(110,126,255,.16),transparent 38%),rgba(255,255,255,.045); }
.cta-panel img { width:120px; }
.cta-panel h2 { font-size:36px; margin-bottom:8px; }
.cta-panel p:not(.kicker) { color:var(--muted); margin:0; }
.footer { min-height:110px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; color:#7f8797; font-size:12px; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.08s; }
.delay-2 { transition-delay:.16s; }
@media (max-width:900px) {
  nav a:not(.nav-download) { display:none; }
  .hero { grid-template-columns:1fr; text-align:center; gap:10px; padding-top:70px; }
  .hero-copy > p, .hero-copy { margin-inline:auto; }
  .hero-actions { justify-content:center; }
  .hero-art { min-height:420px; }
  .app-icon { width:min(480px,82vw); }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .feature-card.wide { grid-column:span 2; }
  .cta-panel { grid-template-columns:auto 1fr; }
  .cta-panel .button { grid-column:1/-1; }
}
@media (max-width:620px) {
  .shell { width:min(100% - 28px,1180px); }
  .site-header { height:72px; }
  h1 { font-size:clamp(48px,15vw,72px); }
  .hero { min-height:auto; padding-bottom:72px; }
  .hero-copy > p:not(.requirements) { font-size:17px; }
  .hero-art { min-height:320px; }
  .section { padding-block:90px; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-card, .feature-card.wide { grid-column:auto; min-height:220px; display:block; }
  .feature-card.wide h3 { margin-top:20px; }
  .cta-panel { grid-template-columns:1fr; text-align:center; }
  .cta-panel img { margin:auto; }
  .footer { flex-direction:column; justify-content:center; gap:14px; text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after { animation:none !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
}

/* Refined feature grid and footer */
.feature-grid {
  gap: 18px;
}
.feature-card {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 12% 0%, rgba(122, 118, 255, .10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.026));
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}
.feature-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 12% 0%, rgba(122, 118, 255, .15), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032));
}
.feature-card.wide {
  min-height: 230px;
  padding: 32px 34px;
}
.feature-card .card-icon {
  margin-bottom: auto;
}
.feature-card h3 {
  margin: 32px 0 9px;
}
.feature-card.wide h3 {
  margin: 0 0 9px;
}
.feature-card.wide .card-icon {
  margin-bottom: 0;
}
.footer {
  min-height: 116px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
}
.footer p { margin: 0; }
.footer-meta { text-align: center; }
.footer-copyright { text-align: right; }

@media (max-width:900px) {
  .feature-grid { gap: 14px; }
  .feature-card { min-height: 220px; }
  .footer { grid-template-columns: 1fr auto; }
  .footer-meta { display: none; }
}
@media (max-width:620px) {
  .feature-card, .feature-card.wide { min-height: 200px; padding: 26px; }
  .feature-card h3, .feature-card.wide h3 { margin: 28px 0 9px; }
  .feature-card.wide { display: flex; }
  .feature-card.wide .card-icon { margin-bottom: auto; }
  .footer { display:flex; }
  .footer-copyright { text-align:center; }
}
