*{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;background:#fafbfc;color:#111}
.nav{position:sticky;top:0;background:rgba(250,251,252,.85);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;padding:22px 48px;border-bottom:1px solid #eee;z-index:10}
.logo{font-size:2rem;font-weight:800}.logo span,h1 span{color:#156BFF}nav a{text-decoration:none;color:#555;margin-left:28px}
.hero{min-height:88vh;padding:90px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#156BFF33,transparent 70%);top:-120px;right:-80px;animation:float 8s ease-in-out infinite}
@keyframes float{50%{transform:translate(-25px,18px)}}
h1{font-size:clamp(3.5rem,9vw,7rem);line-height:.92;max-width:900px;margin:0 0 22px;font-weight:800}
.hero p{font-size:1.6rem;color:#666;max-width:560px}
.buttons{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}.btn{padding:16px 28px;border-radius:999px;border:1px solid #ddd;text-decoration:none;color:#111;font-weight:600;background:white}.primary{background:#156BFF;color:#fff;border:none}
.section{padding:90px 64px}.card{background:white;border:1px solid #eee;border-radius:28px;margin:0 40px 40px;padding:48px;box-shadow:0 8px 28px rgba(0,0,0,.04)}
.grid,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.svc,.insight{background:white;border:1px solid #ececec;border-radius:24px;padding:30px;transition:.3s}.svc:hover,.insight:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(0,0,0,.08)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.mapbox{height:420px;border-radius:30px;background:linear-gradient(180deg,#eef6ff,#fff);position:relative;border:1px solid #eee}.mapdot{width:20px;height:20px;border-radius:50%;background:#156BFF;position:absolute;left:35%;top:45%;box-shadow:0 0 40px #156BFF}
.sig{margin-top:24px;font-weight:600}.contact{text-align:center}footer{text-align:center;color:#777;padding:40px}
@media(max-width:800px){.nav{padding:18px 22px;flex-direction:column;gap:12px}.hero,.section{padding:48px 22px}.card{margin:0 14px 24px;padding:28px}.split{grid-template-columns:1fr}.mapbox{height:280px}nav a{margin:0 10px}}