html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.hero-grid{background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 40%,transparent 100%)}
.hero-glow{background:radial-gradient(ellipse 60% 50% at 50% -10%,rgba(16,185,129,.18),transparent 55%),radial-gradient(ellipse 40% 40% at 85% 20%,rgba(99,102,241,.12),transparent 50%)}
.nav-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.card-hover{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card-hover:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(15,23,42,.08);border-color:rgb(167,243,208)}
.fade-up{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:none}
.mobile-menu{max-height:0;overflow:hidden;transition:max-height .35s ease}
.mobile-menu.open{max-height:480px}
.logo-lockup{display:inline-flex;align-items:center;gap:.625rem}
.logo-mark{position:relative;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.55rem;background:linear-gradient(145deg,#0f172a,#1e293b);box-shadow:0 0 0 1px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .2s ease,box-shadow .2s ease}
.logo-lockup:hover .logo-mark{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(16,185,129,.35),0 8px 20px rgba(15,23,42,.18)}
.logo-mark-bars rect{transform-origin:bottom;transition:transform .25s ease}
.logo-lockup:hover .logo-mark-bars rect:nth-child(1){transform:scaleY(1.08)}
.logo-lockup:hover .logo-mark-bars rect:nth-child(2){transform:scaleY(1.12)}
.logo-lockup:hover .logo-mark-bars rect:nth-child(3){transform:scaleY(1.06)}
.logo-mark-pulse{position:absolute;right:-1px;top:-1px;height:.5rem;width:.5rem;border-radius:999px;background:#10b981;box-shadow:0 0 0 2px #fff}
.logo-wordmark{font-weight:700;letter-spacing:-.03em;line-height:1;color:#0f172a}
.logo-wordmark .logo-services{font-weight:600;color:#64748b}
.logo-wordmark-on-dark{color:#f8fafc}
.logo-wordmark-on-dark .logo-services{color:#94a3b8}
.sticky-cta{position:fixed;right:1rem;bottom:1rem;z-index:40;border-radius:.75rem;background:#10b981;padding:.75rem 1rem;font-size:.875rem;font-weight:600;color:#020617;box-shadow:0 10px 30px rgba(16,185,129,.35);transition:background .2s ease,transform .2s ease}
.sticky-cta:hover{background:#34d399;transform:translateY(-2px)}
@media (max-width:640px){.sticky-cta{left:1rem;right:1rem;text-align:center}}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.2)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-up{opacity:1;transform:none;transition:none}}