:root{--brand:#4F46E5;--teal:#06B6D4;--ink:#0F172A;--muted:#657287}
body.site-body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);font-feature-settings:"liga"1,"kern"1}
.site-body.theme-dark{--ink:#ECEFF4;--muted:#AAB4C1;background:#0B1220;color:var(--ink)}
.site-body.theme-dark .navbar,.site-body.theme-dark .site-footer{background:#0f1628 !important;border-color:#182038}
.site-body.theme-dark .card{background:#121a2e;border-color:#1d2742}
.site-body.theme-dark .card:hover{box-shadow:0 10px 30px rgba(0,0,0,.35)}
.site-body.theme-dark .text-muted,.site-body.theme-dark .footer-links a{color:#AAB4C1 !important}
.site-body.theme-dark .btn-outline-primary{color:#cfe0ff;border-color:#2a3a68}
.site-body.theme-dark .btn-outline-primary:hover{background:#1b2544;color:#fff}
.site-body.theme-dark .btn-brand{
  --bs-btn-bg:#3b35c4;
  --bs-btn-border-color:#3b35c4;
  --bs-btn-hover-bg:#3730A3; /* indigo-700 */
  --bs-btn-hover-border-color:#3730A3;
  background:var(--bs-btn-bg);
}
.site-body.theme-dark .site-hero{background:radial-gradient(1000px 400px at 10% -5%,#0f1931,transparent),radial-gradient(800px 300px at 90% -10%,#0c152d,transparent)}
.content img{max-width:100%;height:auto}
.navbar .nav-link{color:#111827 !important; text-decoration:none}
.navbar .nav-link:hover{color:var(--brand) !important}
.navbar .navbar-brand{color:#0F172A !important}
.navbar .btn.btn-brand{color:#fff !important}
.navbar .btn.btn-toggle{color:#374151 !important}
.navbar{z-index:1040; background:#fff}
.site-body.theme-dark .navbar{background:#0f1628 !important}
.navbar a,.navbar button{pointer-events:auto}
.navbar .navbar-toggler{border-color:#e5e7eb}
.site-body.theme-dark .navbar .navbar-toggler{border-color:#2a3a68}
.site-body.theme-dark .navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(207,224,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.btn-brand{
  /* Define as a Bootstrap variant to avoid hover overrides blanking styles */
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--brand);
  --bs-btn-border-color:var(--brand);
  --bs-btn-hover-color:#fff;
  /* Slightly darker on hover to give feedback */
  --bs-btn-hover-bg:#4338CA; /* indigo-600 */
  --bs-btn-hover-border-color:#4338CA;
  --bs-btn-focus-shadow-rgb:79,70,229; /* brand rgb */
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:var(--brand);
  --bs-btn-active-border-color:var(--brand);
  --bs-btn-disabled-bg:var(--brand);
  --bs-btn-disabled-border-color:var(--brand);
  background:var(--bs-btn-bg);
  color:var(--bs-btn-color);
  border-color:var(--bs-btn-border-color);
  border-radius:12px;
  padding:.6rem 1rem;
}
.btn-brand:hover{opacity:1;color:var(--bs-btn-hover-color);background:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}
.brand-logo{height:40px;width:auto;display:block}
.btn-toggle{border:1px solid #e5e7eb;border-radius:8px;padding:.35rem .6rem;background:#fff;color:#374151}
.site-body.theme-dark .btn-toggle{background:#0f1628;color:#cfe0ff;border-color:#2a3a68}
.brand-mark{width:12px;height:12px;border-radius:3px;background:linear-gradient(135deg,var(--brand),#6ea8fe);display:inline-block}
.site-hero{background:radial-gradient(1000px 400px at 10% -5%,#eaf2ff,transparent),radial-gradient(800px 300px at 90% -10%,#f3f6ff,transparent)}
.site-hero h1{letter-spacing:-.02em;color:#0F172A !important;opacity:1 !important}
.site-body.theme-dark .site-hero h1{color:#ECEFF4 !important}
.site-body.theme-dark .site-hero .lead{color:#cfe0ff}
.site-hero .lead{margin-top:1rem;line-height:1.6}
.particles{position:absolute;inset:0;z-index:0}
#tsparticles,.tsparticles-canvas-el,canvas.tsparticles-canvas-el{pointer-events:none !important}
.card{border:1px solid #eef1f5}
.card:hover{box-shadow:0 10px 30px rgba(16,24,40,.08);transform:translateY(-2px);transition:all .2s ease}
.feature{display:flex;gap:.75rem;align-items:flex-start}
.feature i{color:var(--brand)}
.stat{padding:1rem;border:1px solid #eef1f5;border-radius:12px;background:#fff}
.stat{position:relative;transition:transform .2s ease, box-shadow .2s ease}
.stat:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.12)}
.stat::after{content:"";position:absolute;left:10%;right:10%;bottom:-18px;height:36px;border-radius:40px;filter:blur(12px);background:radial-gradient(50% 60% at 50% 0, rgba(79,70,229,.14), transparent)}
.footer-links a{text-decoration:none;color:#667085}
.footer-links a:hover{color:var(--brand)}
.site-footer{background:#fbfbfd}
.logo-cloud{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;align-items:center;justify-items:center;filter:grayscale(100%);opacity:.85}
.logo-cloud img{max-height:48px;width:auto}
@media (max-width: 992px){.logo-cloud{grid-template-columns:repeat(3,1fr)}}
/* Navbar: respect Bootstrap's responsive collapse on mobile */
/* Removed global force-show to let offcanvas/collapse work properly */
/* Desktop spacing tweaks live in navbar.css under .sb-navbar */

/* Small screens: allow hero CTA buttons to wrap to next line */
@media (max-width: 576px){
  header.site-hero .d-flex.gap-3{ flex-wrap: wrap; }
}

/* Logo carousel */
.logo-carousel{overflow:hidden;position:relative}
.logo-carousel .track{display:flex;gap:48px;align-items:center;filter:grayscale(100%);opacity:.85;animation:scroll-x 30s linear infinite}
.logo-carousel img{height:32px;width:auto}
@keyframes scroll-x{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Floating CTA */
.floating-cta{position:fixed;right:16px;bottom:16px;z-index:1030;display:flex;flex-direction:column;gap:10px}
.floating-cta a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.cta-whatsapp{background:#25D366}
.cta-phone{background:#0d6efd}
.cta-mail{background:#333}

/* Shared modern utilities */
.glass{backdrop-filter:saturate(180%) blur(8px);background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.35);border-radius:16px;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.chip{display:inline-flex;gap:.4rem;align-items:center;background:#eef2ff;color:#334155;border-radius:999px;padding:.45rem .8rem;font-size:.9rem;margin-right:.4rem}
.icon-badge{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--brand)}
.site-hero{position:relative;overflow:hidden;background:radial-gradient(80% 60% at 10% 10%,#eef2ff,transparent),linear-gradient(180deg,#fff, #f7f8ff)}

/* Services visuals */
.service-hero{background:radial-gradient(1000px 400px at 10% -5%,#eef5ff,transparent),radial-gradient(800px 300px at 90% -10%,#f7f9ff,transparent)}
.service-card .thumb{height:120px;background:linear-gradient(180deg,#f3f6ff,#fff);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #eef1f5}
.service-card .thumb img{max-height:90px;width:auto;opacity:.95}
.icon-circle{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff}
.icon-circle i{color:var(--brand)}
.service-tiles .service-tile .card-body{padding:1rem 1.1rem}
.service-tiles .service-tile:hover .icon-circle{background:#e0e7ff}
.service-banner{background:linear-gradient(180deg,#f3f6ff,#fff)}
.service-banner .banner-media{max-height:160px;overflow:hidden;border-top:1px solid #eef1f5}
.service-banner .banner-media img{width:100%;height:auto;opacity:.9}

/* Service landing extras */
.faq .accordion-button:not(.collapsed){background:#eef2ff;color:#111827}
.faq .accordion-item{background:transparent;border-color:#e5e7eb}
.faq .accordion-button{background:#fff}
.faq .accordion-body{background:transparent}
.step{position:relative;padding-left:2rem}
.step::before{content:"";position:absolute;left:.6rem;top:.3rem;width:10px;height:10px;border-radius:50%;background:var(--brand)}
.step::after{content:"";position:absolute;left:1rem;top:1rem;bottom:-1rem;width:2px;background:#e2e8f0}
.step:last-child::after{display:none}

/* Fix Tailwind vs Bootstrap class name conflict: ensure Bootstrap collapse stays visible */
.collapse{visibility:visible !important}

/* About page: extra spacing between paragraphs */
.about-content p{ margin-bottom:1.5rem }
