:root{
  --brand:#1e2a78;
  --deep:#0b1651;
  --deep-2:#0f1b66;
  --accent-start:#3b58ff;
  --accent-end:#0a0f2b;
}
*{ box-sizing: border-box; }
body{ font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#0b1020; }
.navbar-brand{ letter-spacing:.3px }

/* CTA button styling to match pill gradient */
.btn-cta{
  background: linear-gradient(90deg, var(--accent-start), var(--accent-end));
  color:#fff; border:0; padding:.6rem 1.2rem; border-radius:999px; font-weight:700;
}
.btn-cta:hover{ filter:brightness(1.05); color:#fff }

/* Hero with overlay */
.hero{ min-height: 80vh; }
.hero .hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.78); }
.hero:after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,22,81,.15) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.55) 100%); }
.hero .container{ text-shadow:0 4px 18px rgba(0,0,0,.45); }
.hero h1{ font-weight:800; letter-spacing:.2px }
.hero .btn{ background: linear-gradient(90deg, var(--accent-start), var(--accent-end)); border:0 }

/* Dark rounded panel section for solutions */
.bg-deep{ background:var(--deep) !important; }
#solutions{ background:transparent; }
#solutions .container{ background:var(--deep); color:#fff; border-radius:28px; padding:3rem; }
.card.solution{ border:0; border-radius:20px; overflow:hidden; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.card.solution img{ height: 260px; object-fit: cover; }
.card.solution .card-title{ font-weight:800; text-align:center }

/* Logos row */
.logos img{ opacity:.85; filter:grayscale(100%); height:40px }

/* Testimonial bubble */
.testimonial-bubble{ position:relative; border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,.35); }
.testimonial-bubble:after{ content:""; position:absolute; top:-12px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:12px solid transparent; border-right:12px solid transparent; border-bottom:12px solid rgba(13,110,253,1); /* matches .bg-primary */ }

/* Tabs look (underline style) */
.nav-tabs{ border-bottom:1px solid #e5e7eb }
.nav-tabs .nav-link{ border:0; color:#111827; font-weight:600; position:relative; }
.nav-tabs .nav-link.active{ color:#0b1651 }
.nav-tabs .nav-link.active:after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:linear-gradient(90deg, var(--accent-start), var(--accent-end)); border-radius:3px }

/* Accordion minimal style */
.accordion-button{ font-weight:600 }
.accordion-button:not(.collapsed){ color:#0b1651; background:#eef2ff }
.accordion-item{ border:0; border-bottom:1px solid #e5e7eb }

/* Footer */
footer.site-footer{ background:linear-gradient(180deg, var(--deep), var(--deep-2)); color:#e7ecff; border-top:0 }
footer.site-footer a{ color:#cfe0ff }
footer.site-footer a:hover{ color:#fff }


/* Admin layout */
.admin-layout{ min-height:100vh }
.admin-sidebar{ width:260px; background:linear-gradient(180deg, var(--deep), var(--deep-2)); color:#e7ecff; position:sticky; top:0; height:100vh }
.admin-sidebar .nav-link{ color:#cfe0ff }
.admin-sidebar .nav-link:hover{ color:#fff; background:rgba(255,255,255,.08); border-radius:.5rem }
.admin-topbar{ position:sticky; top:0; z-index:5; background:#fff; border-bottom:1px solid #e5e7eb; padding:.75rem 1rem }
.admin-main{ min-width:0 }

