:root{
  --bg:#080B18; --bg-2:#0D1226; --surface:#121936; --line:rgba(255,255,255,.09);
  --ink:#EEF1FA; --muted:#98A3C0; --accent:#7C5CFF; --accent-2:#FF5C8A;
  --radius:16px; --wrap:1120px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.2;margin:0;letter-spacing:-.02em;font-weight:650}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(8,11,24,.78);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:650;text-decoration:none;letter-spacing:-.02em}
.logo-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));font-size:16px;font-weight:700}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{text-decoration:none;color:var(--muted);font-size:15px;transition:color .15s}
.nav-links a:hover{color:var(--ink)}
.nav-links .btn{color:#fff}

/* buttons */
.btn{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:11px 22px;
  border:0;border-radius:999px;cursor:pointer;font-family:inherit;
  transition:transform .15s,box-shadow .15s;box-shadow:0 6px 24px rgba(124,92,255,.28)}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 32px rgba(124,92,255,.4)}
.btn-sm{padding:9px 18px;font-size:14px}
.btn-lg{padding:15px 32px;font-size:16px}
.btn-block{width:100%}
.btn-ghost{background:none;border:1px solid var(--line);box-shadow:none;color:var(--ink)}

/* hero */
.hero{position:relative;overflow:hidden;padding:104px 0 88px}
.hero-in{position:relative;z-index:2;max-width:860px}
.hero-glow{position:absolute;inset:-30% -10% auto -10%;height:640px;z-index:1;pointer-events:none;
  background:radial-gradient(55% 60% at 25% 35%,rgba(124,92,255,.32),transparent 70%),
             radial-gradient(45% 55% at 75% 20%,rgba(255,92,138,.22),transparent 70%)}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12.5px;font-weight:650;
  color:var(--accent-2);margin-bottom:22px}
.hero h1{font-size:clamp(2.3rem,5.6vw,4rem);margin-bottom:26px}
.lede{color:var(--muted);font-size:clamp(1.02rem,2vw,1.2rem);max-width:660px}
.hero-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:38px}
.cta-note{color:var(--muted);font-size:14.5px}

/* stats */
.stats{border-block:1px solid var(--line);background:var(--bg-2)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.stat{background:var(--bg-2);padding:34px 26px 34px 0}
.stats-grid .stat+.stat{padding-left:26px}
.stat-v{font-size:1.28rem;font-weight:650;letter-spacing:-.02em;margin-bottom:6px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-l{color:var(--muted);font-size:15px;line-height:1.5}

/* sections */
.sec{padding:96px 0}
.sec-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.sec h2{font-size:clamp(1.75rem,3.6vw,2.5rem);margin-bottom:16px}
.sec-sub{color:var(--muted);max-width:640px;font-size:1.04rem}

/* service cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;margin-top:52px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;transition:border-color .18s,transform .18s}
.card:hover{border-color:rgba(124,92,255,.5);transform:translateY(-3px)}
.card h3{font-size:1.13rem;margin-bottom:12px}
.card p{color:var(--muted);font-size:15.5px}

/* steps */
.steps{list-style:none;margin:52px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px 40px}
.step{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.step-n{flex:none;font-variant-numeric:tabular-nums;font-weight:700;font-size:14px;
  color:var(--accent-2);padding-top:3px}
.step h3{font-size:1.06rem;margin-bottom:7px}
.step p{color:var(--muted);font-size:15px}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:38px 44px;margin-top:52px}
.why-item{border-left:2px solid;border-image:linear-gradient(180deg,var(--accent),var(--accent-2)) 1;padding-left:22px}
.why-item h3{font-size:1.08rem;margin-bottom:10px}
.why-item p{color:var(--muted);font-size:15.5px}

/* contact */
.sec-contact{background:var(--bg-2);border-top:1px solid var(--line)}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:14px}
.contact-list li{display:flex;gap:14px;align-items:baseline;font-size:15.5px;
  padding-bottom:14px;border-bottom:1px solid var(--line)}
.contact-list span{color:var(--muted);font-size:13px;text-transform:uppercase;
  letter-spacing:.09em;min-width:78px;flex:none}
.contact-list a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(124,92,255,.55)}
.contact-list a:hover{color:var(--accent-2)}

.form-card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:34px}
.row{margin-bottom:18px}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:14px;font-weight:550;margin-bottom:7px;color:var(--ink)}
.req{color:var(--accent-2)}
input,select,textarea{width:100%;background:rgba(255,255,255,.04);color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  font-family:inherit;font-size:15.5px;transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical;min-height:110px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(124,92,255,.2)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2398A3C0' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.err{color:#FF8FA8;font-size:13.5px;margin-top:6px}
.form-note{color:var(--muted);font-size:13.5px;margin-top:14px;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sent{text-align:center;padding:26px 0}
.sent h3{font-size:1.3rem;margin-bottom:12px}
.sent p{color:var(--muted);margin-bottom:18px}

/* footer */
.foot{border-top:1px solid var(--line);padding:38px 0;background:var(--bg)}
.foot-in{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  color:var(--muted);font-size:14.5px}
.foot a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.foot a:hover{color:var(--ink)}

@media (max-width:880px){
  .contact-in{grid-template-columns:1fr;gap:44px}
  .stats-grid{grid-template-columns:1fr}
  .stat,.stats-grid .stat+.stat{padding:24px 0}
  .nav-links{gap:18px}
  .nav-links a:not(.btn){display:none}
  .sec{padding:72px 0}
  .hero{padding:76px 0 64px}
  .form-card{padding:26px 22px}
  .row-2{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
