/* Theme styles */
.it-hero{background:radial-gradient(1200px 500px at 20% 20%, rgba(58,134,255,.25), transparent 55%),radial-gradient(900px 400px at 90% 10%, rgba(31,58,95,.25), transparent 55%),linear-gradient(180deg,#0B1220,#0B1220);color:#fff}
.it-hero .badge{background:rgba(58,134,255,.18);border:1px solid rgba(58,134,255,.35)}
.it-card{border:1px solid rgba(11,18,32,.08);border-radius:18px;box-shadow:0 10px 24px rgba(11,18,32,.06)}
.it-section{padding:70px 0}
.it-section-title{letter-spacing:-0.02em}
.it-muted{color:rgba(11,18,32,.72)}
.it-pill{border-radius:999px}
.it-kpi{font-weight:800;font-size:2rem}
.it-blog-card img{border-top-left-radius:18px;border-top-right-radius:18px}
.it-footer{background:var(--it-footer-bg);color:var(--it-footer-text)}
.it-footer a{color:rgba(255,255,255,.9);text-decoration:none}
.it-footer a:hover{text-decoration:underline}
.it-whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:9999;border-radius:999px;padding:12px 16px;box-shadow:0 18px 35px rgba(0,0,0,.18);text-decoration:none}
.it-breadcrumbs{font-size:.95rem}
.it-breadcrumbs a{text-decoration:none}
.it-breadcrumbs a:hover{text-decoration:underline}


/* Button palette overrides */
.btn-primary{--bs-btn-bg:var(--it-primary);--bs-btn-border-color:var(--it-primary);--bs-btn-hover-bg:var(--it-accent);--bs-btn-hover-border-color:var(--it-accent)}


/* Hero media (image/video background) */
.it-hero { position: relative; overflow: hidden; }
.it-hero > .container { position: relative; z-index: 2; }
.it-hero-media { position:absolute; inset:0; z-index:1; pointer-events:none; }
.it-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; transform: scale(1.02); }
.it-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.it-hero-overlay { position:absolute; inset:0; background: radial-gradient(1000px 600px at 20% 30%, rgba(58,134,255,.18), transparent 60%), linear-gradient(120deg, rgba(11,18,32,.90), rgba(11,18,32,.72)); }

/* Dynamic color application */
body { color: var(--it-body-text); }
h1,h2,h3,h4,h5,h6 { color: var(--it-headings); }
.it-muted { color: var(--it-muted-text) !important; }
header.sticky-top { background: var(--it-header-bg) !important; }
header.sticky-top .navbar .navbar-brand span,
header.sticky-top .navbar a,
header.sticky-top .navbar .offcanvas-title { color: var(--it-header-text) !important; }
.it-section { background: var(--it-section-bg); }
.it-card { background: var(--it-card-bg); }
.it-footer { background: var(--it-footer-bg); color: var(--it-footer-text); }

/* Header dynamic */
.itwm-site-header { background: var(--it-header-bg) !important; }
.itwm-site-header .navbar .nav-link,
.itwm-site-header .navbar .navbar-toggler,
.itwm-site-header .navbar .offcanvas-title,
.itwm-site-header .navbar .dropdown-item,
.itwm-logo-text { color: var(--it-header-text) !important; }

.itwm-logo img,
.itwm-logo-img,
.custom-logo-link img {
  height: 44px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
}


/* ==========================================================
   Motion / micro-interactions (performance-friendly)
   ========================================================== */
.it-reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.it-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.it-card{
  transition: transform .22s ease, box-shadow .22s ease;
}
.it-card:hover{
  transform: translateY(-3px);
}

/* Hero animated glow */
.it-hero{
  position: relative;
  overflow: hidden;
}
.it-hero::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(60% 60% at 30% 30%, rgba(58,134,255,.20), transparent 60%),
    radial-gradient(50% 50% at 70% 40%, rgba(31,58,95,.22), transparent 60%),
    radial-gradient(40% 40% at 60% 75%, rgba(32,201,151,.12), transparent 60%);
  filter: blur(18px);
  animation: itHeroGlow 10s ease-in-out infinite;
  pointer-events:none;
}
@keyframes itHeroGlow{
  0%{ transform: translate3d(-1%, -1%, 0) scale(1); opacity: .85; }
  50%{ transform: translate3d(1%, 1%, 0) scale(1.03); opacity: 1; }
  100%{ transform: translate3d(-1%, -1%, 0) scale(1); opacity: .85; }
}
.it-hero .it-hero-decor{
  position:absolute;
  border-radius: 999px;
  opacity: .55;
  pointer-events:none;
  transition: transform .25s ease;
}
.it-hero .it-hero-decor.d1{
  width: 220px; height: 220px;
  right: -80px; top: -80px;
  background: radial-gradient(circle at 30% 30%, rgba(58,134,255,.65), rgba(58,134,255,0));
}
.it-hero .it-hero-decor.d2{
  width: 260px; height: 260px;
  left: -110px; bottom: -120px;
  background: radial-gradient(circle at 30% 30%, rgba(32,201,151,.40), rgba(32,201,151,0));
}
.it-hero .it-hero-decor.d3{
  width: 180px; height: 180px;
  right: 12%; bottom: -70px;
  background: radial-gradient(circle at 30% 30%, rgba(31,58,95,.55), rgba(31,58,95,0));
}

/* Logo normalization (any image size -> consistent height) */
.itwm-logo{
  height: 44px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
}