/* ── Home Hero ── */
.hero {
  padding: 96px 0 104px; display: grid; grid-template-columns: 1.1fr 1fr;
  gap: 64px; align-items: center; min-height: 88vh;
}
.hero-glow { position: absolute; left: 25%; top: 20%; transform: translate(-50%,-50%); width: 900px; height: 700px; pointer-events: none; background: radial-gradient(ellipse, rgba(120,78,248,.08) 0%, transparent 60%); }
.hero-glow2 { position: absolute; right: 5%; bottom: 10%; width: 400px; height: 400px; pointer-events: none; background: radial-gradient(ellipse, rgba(0,212,138,.05) 0%, transparent 65%); }
.hero-badge { display: inline-flex; align-items: center; gap: 9px; background: rgba(120,78,248,.1); border: 1px solid rgba(120,78,248,.3); color: var(--purple); padding: 6px 16px; border-radius: 20px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 28px; }
.hero-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
.hero h1 { font-size: clamp(50px, 5vw, 70px); font-weight: 800; line-height: 1.07; letter-spacing: -.02em; margin-bottom: 22px; }
.hero-sub { font-size: 16px; line-height: 1.75; color: var(--gray); margin-bottom: 40px; max-width: 460px; }
/* Proof card */
.proof-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 36px; backdrop-filter: blur(8px); position: relative; overflow: hidden; }
.proof-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--purple), var(--blue), var(--teal)); }
.proof-label { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gray2); margin-bottom: 24px; }
.proof-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 40px; margin-bottom: 28px; }
.proof-num { font-size: 36px; font-weight: 800; line-height: 1; background: linear-gradient(135deg, var(--purple), var(--blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.proof-lbl { font-size: 12px; color: var(--gray); margin-top: 4px; }
.proof-quote { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06); border-radius: 10px; padding: 20px; font-size: 13px; line-height: 1.65; color: var(--gray); font-style: italic; }
.proof-author { margin-top: 10px; font-size: 12px; font-weight: 600; color: var(--teal); font-style: normal; }

/* Services preview */
.services-preview { padding: 88px 0; }
.svcs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(120,78,248,.12); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.svc-icon svg { width: 22px; height: 22px; }
.svc-name { font-size: 16px; font-weight: 700; margin-bottom: 9px; }
.svc-desc { font-size: 13px; line-height: 1.7; color: var(--gray); }
.svcs-more { text-align: center; margin-top: 36px; }

/* Testimonial strip */
.testi-strip { padding: 88px 0; background: var(--bg2); }
.testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
.testi-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 12px; padding: 32px; }
.testi-quote { font-size: 14px; line-height: 1.7; color: var(--gray); font-style: italic; margin: 14px 0 16px; }
.testi-author { font-size: 12px; font-weight: 700; color: var(--white); }
.testi-company { font-size: 11px; color: var(--purple); margin-top: 2px; }