:root{
  --bg:#0f172a;
  --text:#0b1220;
  --muted:#5b6476;
  --card:#ffffff;
  --brand:#4D96FF;
  --brand-2:#20C997;
  --brand-3:#FF6B6B;
  --brand-4:#FFA62B;
  --radius:16px;
  --font:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Noto Sans CJK SC','Microsoft YaHei',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#e8f0ff,#f6fff9);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.wrap{min-height:100vh;display:flex;flex-direction:column}
.hero{
  position:relative; padding:72px 20px 32px; overflow:hidden;
  background: radial-gradient(1200px 400px at 10% -30%, #96BAFF 0%, rgba(150,186,255,0) 60%), 
              radial-gradient(1000px 400px at 100% 0%, #B1E1A6 0%, rgba(177,225,166,0) 60%),
              linear-gradient(180deg,#ffffff, #f3f7ff);
}
.hero-inner{max-width:780px;margin:0 auto;text-align:center}
.badge{display:inline-block;background:#ffffffaa;color:#1e293b;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;margin-bottom:8px;backdrop-filter:saturate(1.2) blur(4px)}
.hero h1{margin:8px 0 8px 0;font-size:28px;line-height:1.25}
.hero .sub{margin:0 auto 16px;color:#334155;max-width:22em}
.cta{display:flex;gap:10px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.btn{border-radius:12px;padding:12px 16px;text-decoration:none;font-weight:700;display:inline-block}
.btn.primary{background:var(--brand);color:#fff}
.btn.ghost{background:#fff;color:#0f172a;border:1px solid #e2e8f0}
.hero-art .bubble{position:absolute;border-radius:999px;filter:blur(6px);opacity:.5}
.b1{width:120px;height:120px;left:8%;top:14%;background:#4D96FF}
.b2{width:160px;height:160px;right:12%;top:10%;background:#20C997}
.b3{width:140px;height:140px;left:22%;bottom:-20px;background:#FF6B6B}
.safe-bottom{height:calc(24px + env(safe-area-inset-bottom));}

.section{padding:28px 18px}
.section h2{text-align:center;margin:0 0 16px 0;font-size:22px}
.section.alt{background:#ffffff99;backdrop-filter:saturate(1.2) blur(4px)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:860px;margin:0 auto}
.card{background:var(--card);border-radius:16px;padding:14px;box-shadow:0 8px 24px rgba(20,25,44,.08)}
.card .icon{font-size:24px}
.card h3{margin:8px 0 6px 0;font-size:16px}
.card p{margin:0;color:#334155;font-size:14px;line-height:1.6}

.steps{list-style:none;padding:0;margin:0 auto;max-width:780px;color:#1f2937}
.steps li{background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(20,25,44,.08);padding:12px 14px;margin:10px 0;display:flex;gap:10px;align-items:center}
.steps li span{display:inline-flex;width:28px;height:28px;border-radius:999px;background:#e2e8f0;align-items:center;justify-content:center;font-weight:800}

#contact{text-align:center}
#contact .btn{margin-top:8px}

.footer{margin-top:auto;padding:18px 14px 22px;color:#475569}
.footer-inner{max-width:780px;margin:0 auto;text-align:center;font-size:12px}

/* Mobile first; enhance on larger screens */
@media (min-width: 720px){
  .hero h1{font-size:36px}
  .grid{grid-template-columns:repeat(4,1fr)}
  .card h3{font-size:18px}
  .section h2{font-size:26px}
}
