:root{
  --bg:#F7F1FF;
  --card:#FFFFFF;
  --ink:#111018;
  --muted:rgba(17,16,24,.72);
  --purple:#6D28D9;
  --purple2:#2B0B5A;
  --lav:#EFE6FF;
  --line:rgba(17,16,24,.08);
  --shadow:0 14px 34px rgba(43,11,90,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial, Helvetica, sans-serif;background:var(--bg);color:var(--ink);}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 18px 28px;}

/* Top hero (exact structure from the screenshot) */
.hero-wrap{margin:0 auto;max-width:1100px;padding:18px;}
.hero{
  overflow:hidden;border-radius:18px;background:var(--card);border:1px solid var(--line);
}
.hero-grid{display:grid;grid-template-columns: 1.05fr .95fr;min-height:240px;}
.hero-left{
  padding:26px 26px;
  background:linear-gradient(135deg, rgba(43,11,90,.94), rgba(109,40,217,.86));
  color:#fff;
}
.hero-kicker{font-weight:900;opacity:.92;margin-bottom:6px;}
.hero-title{margin:0 0 10px;font-size:44px;letter-spacing:-.6px;line-height:1.05;}
.hero-sub{margin:0 0 14px;font-weight:800;opacity:.92;line-height:1.45;max-width:480px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:12px;font-weight:900;font-size:14px;
  border:2px solid transparent; cursor:pointer;
}
.btn-quote{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.30);color:#fff;}
.btn-quote:hover{background:rgba(255,255,255,.24);}
.btn-phone{background:#F2E9FF;color:var(--purple2);border-color:rgba(255,255,255,.65);}
.btn-phone:hover{filter:brightness(.98);}
.hero-right img{width:100%;height:100%;object-fit:cover;display:block;}

/* Section headings */
.h2{font-size:26px;font-weight:900;margin:18px 0 12px;letter-spacing:-.25px;color:var(--purple2);}

/* Feature cards row (4) */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px;}
.fcard{
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow);
}
.fhead{display:flex;gap:10px;align-items:center;margin-bottom:8px;}
.ficon{
  width:30px;height:30px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(109,40,217,.12);
  color:var(--purple);
  font-weight:900;
}
.fcard h3{margin:0;font-size:14px;font-weight:900;color:var(--purple2);}
.fcard p{margin:8px 0 0;font-size:12.5px;font-weight:800;color:var(--muted);line-height:1.45;}

/* Services cards (3) */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px;}
.scard{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.scard img{width:100%;height:170px;object-fit:cover;display:block;}
.sbody{padding:12px 14px 14px;}
.sbody h3{margin:0 0 6px;font-size:14px;font-weight:900;color:var(--purple2);}
.sbody p{margin:0;font-size:12.5px;font-weight:800;color:var(--muted);line-height:1.45;}
.learn{display:inline-block;margin-top:10px;color:var(--purple);font-weight:900;font-size:12.5px;}
.learn:hover{text-decoration:underline;}

/* Split section bottom */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;margin-top:14px;}
.panel{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow);
}
.panel h3{margin:0 0 10px;font-size:18px;font-weight:900;color:var(--purple2);}
.panel p{margin:8px 0;font-size:13px;font-weight:800;color:var(--muted);line-height:1.6;}
.process{
  background:linear-gradient(135deg, rgba(43,11,90,.94), rgba(109,40,217,.86));
  color:#fff;
}
.process h3{color:#fff;}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;}
.step{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);padding:10px;border-radius:14px;}
.stepnum{width:28px;height:28px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-weight:900;}
.step b{display:block;font-size:13px;}
.step span{display:block;font-weight:800;opacity:.92;font-size:12px;line-height:1.35;margin-top:2px;}
.process-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;align-items:center;}
.process .btn-quote{background:rgba(255,255,255,.20);color:#fff;}
.process .btn-phone{background:#F2E9FF;color:var(--purple2);}

/* Footer bar like screenshot */
.footer{
  margin:18px auto 0;max-width:1100px;
  background:linear-gradient(135deg, rgba(43,11,90,.96), rgba(109,40,217,.88));
  border-radius:18px; overflow:hidden; color:#fff;
}
.footer-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.14);
}
.footer-brand{display:flex;align-items:center;gap:10px;font-weight:900;}
.footer-brand img{height:130px;width:auto;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));}
.footer-nav{display:flex;gap:14px;flex-wrap:wrap;font-weight:900;font-size:13px;opacity:.95;}
.footer-nav a{opacity:.92;}
.footer-nav a:hover{text-decoration:underline;opacity:1;}
.footer-cta .btn{
  padding:10px 14px;border-radius:12px;font-size:13px;
  background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.26);color:#fff;
}
.footer-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 18px 16px;
}
.ftitle{font-weight:900;margin-bottom:8px;opacity:.95;}
.footer a{color:#fff;}
.footer small{opacity:.88;font-weight:800;display:block;margin:4px 0;}
.copy{text-align:center;padding:10px 18px;border-top:1px solid rgba(255,255,255,.14);font-weight:900;opacity:.95;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .features{grid-template-columns:1fr 1fr;}
  .services{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .hero-title{font-size:38px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}