:root{
    --bg-a:#0a192f;
    --bg-b:#050d1a;
    --bg-c:#020710;
    --purple:hsl(270,70%,55%);
    --magenta:hsl(300,60%,45%);
    --indigo-glow:hsl(240,80%,70%);
    --cyan:#00d4ff;
    --teal:#00ffcc;
    --accent:hsl(250,85%,65%);
    --white:#f3f6fb;
    --muted:rgba(243,246,251,0.66);
    --muted-2:rgba(243,246,251,0.42);
    --radius:0.875rem;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--white);
    background:
      radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0,212,255,0.07) 0%, transparent 60%),
      radial-gradient(circle at 8% 80%, rgba(99,56,255,0.06) 0%, transparent 50%),
      radial-gradient(circle at top center, var(--bg-a) 0%, var(--bg-b) 65%, var(--bg-c) 100%);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
  }
  .display{font-family:'Plus Jakarta Sans', sans-serif; letter-spacing:-0.02em;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  section{position:relative; z-index:1;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }
  ::selection{background:var(--cyan); color:#04121c;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--cyan); outline-offset:3px; border-radius:8px;}

  /* bokeh blobs, matches in-app background treatment */
  .bokeh{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
  .bokeh span{position:absolute; border-radius:50%; filter:blur(90px);}
  .b1{width:60vw; height:60vw; top:-20%; right:-10%; background:var(--purple); opacity:0.16;}
  .b2{width:55vw; height:55vw; bottom:-15%; left:-15%; background:var(--magenta); opacity:0.12;}
  .b3{width:34vw; height:34vw; top:38%; left:32%; background:var(--indigo-glow); opacity:0.08;}

  /* Glass system — matches .glass-card / .glass-panel in app */
  .glass-panel{background:rgba(255,255,255,0.06); backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%); border:1px solid rgba(255,255,255,0.10); box-shadow:0 25px 70px -25px rgba(0,0,0,0.6);}
  .glass-card{background:rgba(255,255,255,0.04); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,0.07); transition:all .3s ease;}
  .glass-card:hover{background:rgba(255,255,255,0.07); border-color:rgba(0,212,255,0.25); transform:translateY(-3px);}

  /* ---------- NAV ---------- */
  header{position:sticky; top:0; z-index:60; backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%); background:rgba(5,13,26,0.6); border-bottom:1px solid rgba(255,255,255,0.08);}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1180px; margin:0 auto;}
  .logo{display:flex; align-items:center; gap:10px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:1.15rem;}
  .logo img{width:32px; height:32px; border-radius:9px;}
  .nav-links{display:flex; gap:32px; font-size:0.94rem; color:var(--muted);}
  .nav-links a:hover{color:var(--white);}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 22px; border-radius:100px; font-size:0.92rem; font-weight:600; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
  .btn-primary{background:var(--white); color:#0a192f; box-shadow:0 8px 24px rgba(0,212,255,0.18);}
  .btn-primary:hover{transform:translateY(-1px); background:#dff6ff;}
  .btn-ghost{background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.14); color:var(--white); backdrop-filter:blur(10px);}
  .btn-ghost:hover{background:rgba(255,255,255,0.09);}
  .menu-toggle{display:none; background:none; border:none; color:var(--white); font-size:1.4rem; cursor:pointer; line-height:1; width:44px; height:44px; display:none; align-items:center; justify-content:center; border-radius:10px;}
  .menu-toggle:active{background:rgba(255,255,255,0.08);}
  @media (max-width:900px){ .nav-links{display:none;} .nav-cta .btn-ghost{display:none;} .menu-toggle{display:flex;} }

  .mobile-menu{display:none; flex-direction:column; padding:6px 24px 22px; gap:2px; border-top:1px solid rgba(255,255,255,0.08); background:rgba(5,13,26,0.97); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{padding:14px 4px; font-size:1rem; font-weight:500; color:var(--white); border-bottom:1px solid rgba(255,255,255,0.07);}
  .mobile-menu a:last-of-type{border-bottom:none; margin-top:8px;}
  .mobile-menu .btn{width:100%; margin-top:6px;}
  @media (min-width:900px){ .mobile-menu{display:none !important;} }

  /* ---------- HERO ---------- */
  .hero{padding:76px 0 40px;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;}
  @media (max-width:980px){ .hero-grid{grid-template-columns:1fr; gap:56px;} }
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:0.76rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--cyan); background:rgba(0,212,255,0.08); border:1px solid rgba(0,212,255,0.25); padding:7px 14px; border-radius:100px; margin-bottom:22px;}
  .eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--cyan);}
  h1.hero-title{font-size:clamp(2.3rem, 4.6vw, 3.6rem); line-height:1.06; font-weight:700; margin-bottom:20px;}
  h1.hero-title .grad{background:linear-gradient(90deg, var(--cyan), var(--teal) 60%, var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; background-size:200% auto; animation:gradShift 6s ease-in-out infinite;}
  @keyframes gradShift{0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;}}
  .hero-sub{font-size:1.1rem; line-height:1.6; color:var(--muted); max-width:500px; margin-bottom:32px;}
  .hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:20px;}
  .hero-note{font-size:0.85rem; color:var(--muted-2);}

  .store-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:6px;}
  .store-badge{display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.14); padding:10px 18px 10px 14px; border-radius:14px; backdrop-filter:blur(10px); cursor:pointer; position:relative; transition:background .2s ease, transform .18s ease;}
  .store-badge:hover{transform:translateY(-1px);}
  .store-badge.is-placeholder{cursor:not-allowed;}
  .store-badge.is-placeholder:hover{transform:none;}
  a.is-placeholder{cursor:not-allowed;}
  .store-badge:hover{background:rgba(255,255,255,0.09);}
  .store-badge svg{width:24px; height:24px; flex-shrink:0;}
  .store-badge .store-text{display:flex; flex-direction:column; line-height:1.2;}
  .store-badge .store-text small{font-size:0.64rem; color:var(--muted-2); letter-spacing:0.04em; text-transform:uppercase;}
  .store-badge .store-text strong{font-size:0.9rem; font-weight:600; color:var(--white);}
  .coming-soon-tag{position:absolute; top:-9px; right:-8px; background:var(--cyan); color:#04121c; font-size:0.58rem; font-weight:700; padding:3px 8px; border-radius:100px; letter-spacing:0.03em; text-transform:uppercase; box-shadow:0 4px 10px rgba(0,212,255,0.4);}

  /* Hero phone cluster (real screenshots) */
  .phone-cluster{position:relative; height:560px; display:flex; align-items:center; justify-content:center;}
  .device{position:absolute; width:220px; border-radius:34px; padding:9px; background:linear-gradient(160deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03)); border:1px solid rgba(255,255,255,0.14); box-shadow:0 40px 90px -25px rgba(0,0,0,0.65); transition:transform .4s ease;}
  .device-screen{border-radius:26px; overflow:hidden; aspect-ratio:1242/2688; position:relative; background:#050d1a;}
  .device-screen img{width:100%; height:100%; object-fit:cover;}
  .device-notch{position:absolute; top:9px; left:50%; transform:translateX(-50%); width:70px; height:16px; background:#03070f; border-radius:100px; z-index:2;}
  .device.d-center{width:238px; z-index:3;}
  .device.d-left{left:2%; top:8%; transform:rotate(-9deg); z-index:2;}
  .device.d-right{right:2%; top:8%; transform:rotate(9deg); z-index:2;}
  .phone-cluster:hover .d-left{transform:rotate(-13deg) translateY(-6px);}
  .phone-cluster:hover .d-right{transform:rotate(13deg) translateY(-6px);}
  .glow-ring{position:absolute; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(0,212,255,0.18), transparent 70%); filter:blur(10px); z-index:0;}
  @media (max-width:980px){ .phone-cluster{height:440px;} .device.d-center{width:190px;} .device.d-left,.device.d-right{width:170px;} }
  @media (max-width:520px){ .device.d-left,.device.d-right{display:none;} .phone-cluster{height:400px;} }

  /* ---------- CLARIFIER ---------- */
  .clarifier{border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); padding:20px 0; background:rgba(255,255,255,0.02);}
  .clarifier-row{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; text-align:center;}
  .clarifier-row span{font-size:0.9rem; color:var(--muted);}
  .clarifier-row strong{color:var(--white); font-weight:600;}
  .pill-no{font-size:0.76rem; color:var(--muted-2); border:1px solid rgba(255,255,255,0.14); padding:5px 12px; border-radius:100px; text-decoration:line-through; text-decoration-color:rgba(0,212,255,0.55);}

  /* ---------- SECTION HEAD ---------- */
  .section-head{max-width:640px; margin:0 auto 50px; text-align:center;}
  .section-eyebrow{font-size:0.76rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--teal); margin-bottom:14px; display:block;}
  h2.section-title{font-size:clamp(1.75rem, 3.2vw, 2.4rem); line-height:1.15; margin-bottom:14px;}
  .section-sub{color:var(--muted); font-size:1rem; line-height:1.6;}

  /* ---------- BENTO HOW IT WORKS ---------- */
  .how{padding:100px 0;}
  .bento{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch;}
  @media (max-width:980px){ .bento{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .bento{grid-template-columns:1fr;} }
  .bento-card{border-radius:24px; padding:30px; position:relative; display:flex; flex-direction:column;}
  .step-num{font-family:'Plus Jakarta Sans',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cyan); letter-spacing:0.05em; margin-bottom:14px; display:block;}
  .bento-card h3{font-family:'Plus Jakarta Sans',sans-serif; font-size:1.22rem; margin-bottom:10px; font-weight:700;}
  .bento-card p{color:var(--muted); font-size:0.92rem; line-height:1.6;}

  /* ---------- SHOWCASE GALLERY ---------- */
  .showcase{padding:20px 0 110px;}
  .gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:980px){ .gallery{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .gallery{grid-template-columns:1fr; max-width:280px; margin:0 auto;} }
  .gallery.gallery-3col{grid-template-columns:repeat(3,1fr); max-width:760px; margin:0 auto;}
  @media (max-width:820px){ .gallery.gallery-3col{grid-template-columns:repeat(2,1fr); max-width:600px;} }
  @media (max-width:560px){ .gallery.gallery-3col{grid-template-columns:1fr; max-width:280px;} }
  .gallery-item{text-align:center;}
  .gallery-item .device{position:static; width:100%; margin:0 auto 18px; transform:none !important;}
  .gallery-item h4{font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:700; margin-bottom:6px;}
  .gallery-item p{font-size:0.85rem; color:var(--muted);}

  /* ---------- TRUST ---------- */
  .trust{padding:0 0 110px;}
  .trust-card{border-radius:24px; padding:48px; background:linear-gradient(135deg, rgba(0,212,255,0.07), rgba(124,109,240,0.06));}
  @media (max-width:560px){ .trust-card{padding:30px 24px;} }
  .trust-top{display:flex; align-items:center; gap:14px; margin-bottom:32px; flex-wrap:wrap;}
  .age-chip{font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.05rem; background:var(--white); color:var(--bg-a); padding:8px 16px; border-radius:12px;}
  .trust-top h3{font-family:'Plus Jakarta Sans',sans-serif; font-size:1.25rem; font-weight:700;}
  .trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:800px){ .trust-grid{grid-template-columns:1fr;} }
  .trust-item h5{font-size:0.96rem; margin-bottom:8px; font-weight:600; display:flex; align-items:center; gap:8px;}
  .trust-item p{font-size:0.87rem; color:var(--muted); line-height:1.55;}
  .trust-item svg{width:18px; height:18px; stroke:var(--teal); flex-shrink:0;}

  /* ---------- CITIES ---------- */
  .cities{padding:0 0 110px; text-align:center;}

  /* ---------- DOWNLOAD CTA ---------- */
  .download{padding:20px 0 140px;}
  .download-card{position:relative; overflow:hidden; border-radius:36px; padding:70px 40px; text-align:center; background:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)); border:1px solid rgba(255,255,255,0.1);}
  @media (max-width:560px){ .download-card{padding:48px 24px;} }
  .download-card::before{content:''; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(0,212,255,0.20), transparent 65%); top:-230px; left:50%; transform:translateX(-50%); filter:blur(20px);}
  .download-card > *{position:relative; z-index:1;}
  .download-card h2{font-size:clamp(1.85rem,3.4vw,2.6rem); margin-bottom:16px;}
  .download-card p{color:var(--muted); max-width:480px; margin:0 auto 34px; line-height:1.6;}
  .download .store-row{justify-content:center;}

  /* ---------- FOOTER ---------- */
  footer{border-top:1px solid rgba(255,255,255,0.08); padding:56px 0 100px;}
  .footer-grid{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:40px;}
  .footer-brand{max-width:280px;}
  .footer-brand p{color:var(--muted-2); font-size:0.87rem; margin-top:14px; line-height:1.6;}
  .footer-cols{display:flex; gap:56px; flex-wrap:wrap;}
  .footer-col h6{font-size:0.76rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted-2); margin-bottom:16px; font-weight:600;}
  .footer-col a{display:block; font-size:0.9rem; color:var(--muted); margin-bottom:11px;}
  .footer-col a:hover{color:var(--white);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:26px; border-top:1px solid rgba(255,255,255,0.07); font-size:0.8rem; color:var(--muted-2);}
  .social-row{display:flex; gap:14px;}
  .social-row a{width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.14); display:flex; align-items:center; justify-content:center;}
  .social-row svg{width:17px; height:17px;}

  /* ---------- STICKY MOBILE BAR ---------- */
  .sticky-bar{position:fixed; left:0; right:0; bottom:0; z-index:70; transform:translateY(120%); transition:transform .35s ease; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(5,13,26,0.85); backdrop-filter:blur(20px); border-top:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:space-between; gap:12px;}
  .sticky-bar.show{transform:translateY(0);}
  .sticky-bar .logo{font-size:0.96rem;}
  .sticky-bar .logo img{width:26px; height:26px;}
  @media (min-width:900px){ .sticky-bar{display:none;} }

  @media (prefers-reduced-motion: reduce){ *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;} }
  .fade-in{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
  .fade-in.visible{opacity:1; transform:translateY(0);}

  .mock-caption{text-align:center; margin-top:16px;}
  .mock-caption h4{font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:700; margin-bottom:6px;}
  .mock-caption p{font-size:0.85rem; color:var(--muted);}
