:root{--primary:#0ea5e9;--secondary:#6366f1;--dark:#0f172a}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,'Noto Sans','Apple Color Emoji','Segoe UI Emoji',sans-serif;background:radial-gradient(1200px 600px at 85% -10%,rgba(99,102,241,.06),transparent 60%),radial-gradient(1000px 600px at 10% 20%,rgba(14,165,233,.06),transparent 60%),#fff}
.btn-primary{background:var(--primary);border:0}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);color:#fff}
.navbar-brand i{color:var(--primary)}
.navbar .nav-link{transition:color .2s ease;border-radius:999px;padding:.45rem .75rem}
.navbar .nav-link.active{color:var(--primary);background:rgba(14,165,233,.14);font-weight:600}
.navbar .nav-link:hover{background:rgba(14,165,233,.08)}
.section-title{font-weight:700}
.text-gradient{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-gradient{background:linear-gradient(135deg,var(--primary),var(--secondary))}
.shadow-soft{box-shadow:0 1rem 2rem rgba(0,0,0,.08)}
footer{background:var(--dark);color:#94a3b8}
.navbar.sticky-top{transition:all .3s ease}
.navbar.scrolled{box-shadow:0 .5rem 1rem rgba(0,0,0,.08);backdrop-filter:saturate(180%) blur(10px)}
.navbar.hide-up{transform:translateY(-100%)}
.hover-lift{transition:transform .2s ease,box-shadow .2s ease}
.hover-lift:hover{transform:translateY(-6px);box-shadow:0 1.25rem 2rem rgba(0,0,0,.12)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:1040;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
/* Utilities shared across pages */
.feature-icon{font-size:2rem;color:#0ea5e9}
.icon-circle{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(14,165,233,.12);color:#0ea5e9}
.section{padding:5rem 0}
.section.wave-top{position:relative}
.section.wave-top:before{content:"";position:absolute;top:-1px;left:0;right:0;height:24px;background:#f8f9fa}
.stat{text-align:center}
.stat h3{font-weight:800}
.testimonial-card{border:0}
.faq .accordion-button:focus{box-shadow:none}
.contact-card{border:0}
.bg-cover{background-size:cover;background-position:center;background-repeat:no-repeat}
.bg-fixed{background-attachment:fixed}
.image-stack{position:relative}
.image-stack .img-main{border-radius:.75rem;box-shadow:0 1rem 2rem rgba(0,0,0,.12)}
.image-stack .img-float{position:absolute;width:46%;bottom:-18px;right:-18px;border-radius:.75rem;box-shadow:0 .75rem 1.5rem rgba(0,0,0,.12)}
/* Page hero */
.page-hero{min-height:220px}
/* Header glass + offcanvas */
.navbar-glass{background:rgba(255,255,255,.75)!important;backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(15,23,42,.06)}
.navbar-toggler{border:0}
.offcanvas-nav .nav-link{padding:.6rem .75rem;border-radius:.5rem}
.offcanvas-nav .nav-link:hover{background:rgba(14,165,233,.1)}
/* Footer */
.site-footer{background:#0b1220;color:#cbd5e1}
.site-footer a{color:#e2e8f0;text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer .footer-title{font-weight:700;color:#e2e8f0}
.site-footer .social a{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.08);margin-right:.5rem}
.site-footer .social a:hover{background:rgba(255,255,255,.18)}
