
:root{
  --bg:#0f1115;
  --card:#151923;
  --muted:#202636;
  --border:rgba(255,255,255,.10);
  --border-2:rgba(255,255,255,.14);
  --text:#f4f6fb;
  --text-muted:rgba(244,246,251,.72);
  --primary:#4813c4;
  --primary-2:rgba(62, 22, 208, 0.18);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --radius:1.25rem;
  --amarelo: var(--bs-warning);
}

html{scroll-behavior:smooth;}
body.theme-dark{
  background: radial-gradient(800px 500px at 20% 0%, rgba(62, 22, 208, 0.1), transparent 60%),
              radial-gradient(700px 500px at 80% 30%, rgba(72, 22, 208, 0.08), transparent 60%),
              var(--bg);
  color: var(--text);
  overflow-x:hidden;
}

#bgCanvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}

.z-1{z-index:1;}
.border-soft{border-color: var(--border) !important;}

a{color:inherit;}
.text-muted{color:var(--text-muted) !important;}
.text-primary{color:var(--primary) !important;}
.text-primary-emphasis{color:rgba(22, 103, 208, 0.95) !important;}
.bg-primary{background-color:var(--primary) !important;}

.btn-link-muted{
  color:var(--text-muted);
  text-decoration:none;
}
.btn-link-muted:hover{color:var(--text);}

.btn-primary{
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: rgba(22,208,208,.90);
  --bs-btn-hover-border-color: rgba(22,208,208,.90);
  --bs-btn-color: #081014;
  --bs-btn-hover-color: #081014;
  --bs-btn-active-bg: rgba(22,208,208,.85);
  --bs-btn-active-border-color: rgba(22,208,208,.85);
}

.btn-primary-glow{
  box-shadow: 0 10px 28px rgba(22,208,208,.18);
  position:relative;
  overflow:hidden;
}
.btn-primary-glow::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(90deg, rgba(22,208,208,.0), rgba(22,208,208,.30), rgba(22,208,208,.0));
  opacity:0;
  transition: opacity .35s ease;
}
.btn-primary-glow:hover::after{opacity:1;}

/* .btn-outline-light{
  --bs-btn-color: var(--text);
  --bs-btn-border-color: rgba(255,255,255,.22);
  --bs-btn-hover-bg: rgba(255,255,255,.06);
  --bs-btn-hover-border-color: rgba(22,208,208,.40);
} */

.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  transition: background-color .35s ease, backdrop-filter .35s ease, border-color .35s ease;
  background: transparent;
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled{
  background: rgba(15,17,21,.70);
  backdrop-filter: blur(16px);
  border-bottom-color: var(--border);
}

.navbar{padding: .9rem 0;}
.navbar-brand{color:var(--text);}
.nav-link{
  color: var(--text-muted);
  position:relative;
}
.nav-link:hover, .nav-link:focus{color:var(--text);}
.nav-link::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-6px;
  height:2px;
  width:0%;
  margin:auto;
  background: var(--primary);
  transition: width .25s ease;
}
.nav-link:hover::after{width:100%;}

.navbar-toggler-icon-custom{
  font-size: 1.6rem;
  line-height:1;
}

.brand-mark{
  width:42px;height:42px;
  border-radius:.8rem;
  background: rgba(22,208,208,.08);
  border:1px solid rgba(22,208,208,.25);
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.brand-mark--small{width:40px;height:40px;border-radius:.8rem;}
.brand-mark-inner{
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(22,208,208,.18), transparent 55%);
}
.brand-mark-letter{
  position:relative;
  font-weight:800;
  color: var(--primary);
  font-size: 1.25rem;
}
.brand-mark-glow{
  position:absolute;
  width:22px;height:22px;
  right:-6px; bottom:-6px;
  border-radius:999px;
  background: rgba(22,208,208,.25);
  filter: blur(10px);
  transition: background-color .35s ease;
}
.navbar-brand:hover .brand-mark-glow{background: rgba(22,208,208,.45);}

.brand-text{
  font-weight:800;
  font-size: 1.25rem;
}
.brand-text-accent{color:var(--primary);}

.badge-soft{
  padding:.55rem 1rem;
  border-radius: 999px;
  background: rgba(22,208,208,.08);
  border:1px solid rgba(22,208,208,.20);
}

.dot-pulse{
  width:10px;height:10px;border-radius:999px;
  background: var(--primary);
  box-shadow: 0 0 0 0 rgba(22,208,208,.55);
  animation: dotPulse 2s infinite;
}
@keyframes dotPulse{
  0%{box-shadow:0 0 0 0 rgba(22,208,208,.55);}
  70%{box-shadow:0 0 0 10px rgba(22,208,208,0);}
  100%{box-shadow:0 0 0 0 rgba(22,208,208,0);}
}

.hero-section{
  position:relative;
  min-height:100vh;
  padding-top: 92px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hero-bg{position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0;}
.blob{
  position:absolute;
  border-radius:999px;
  filter: blur(60px);
  opacity:.9;
  animation: blobPulse 3.5s ease-in-out infinite;
}
.blob-1{width:380px;height:380px; left:12%; top:18%; background: rgba(22,208,208,.10);}
.blob-2{width:320px;height:320px; right:10%; bottom:18%; background: rgba(22,208,208,.16); animation-delay: 1s;}
@keyframes blobPulse{
  0%,100%{transform:scale(1); opacity:.75;}
  50%{transform:scale(1.06); opacity:1;}
}

.ring{
  position:absolute;
  left:50%; top:50%;
  transform: translate(-50%,-50%);
  border-radius:999px;
  border:1px solid rgba(22,208,208,.10);
  animation: spin 30s linear infinite;
}
.ring-1{width:600px;height:600px;}
.ring-2{
  width:800px;height:800px;
  border-color: rgba(22,208,208,.06);
  animation-duration:40s;
  animation-direction: reverse;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg);}}

.hero-title{letter-spacing:-.02em;}
.word-rotator{position:relative; display:inline-block; padding-bottom:.2rem;}
.word{display:inline-block; transition: opacity .45s ease, transform .45s ease;}
.word.is-out{opacity:0; transform: translateY(10px);}
.word.is-in{opacity:1; transform: translateY(0);}
.word-underline{
  position:absolute;
  left:0; right:0; bottom:-2px;
  height:4px;
  background: var(--primary);
  border-radius: 999px;
}

.stat .stat-value{
  font-weight:800;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  transition: color .25s ease;
}
.stat:hover .stat-value{color:var(--amarelo);}
.stat .stat-label{font-size:.9rem; color: var(--text-muted);}

.scroll-indicator{
  position:absolute;
  left:50%;
  bottom: 26px;
  transform: translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.4rem;
  animation: bounce 1.6s infinite;
  z-index:2;
}
@keyframes bounce{
  0%,100%{transform: translateX(-50%) translateY(0);}
  50%{transform: translateX(-50%) translateY(-6px);}
}
.mouse{
  width:26px;height:42px;
  border-radius:999px;
  border:2px solid rgba(244,246,251,.25);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:8px;
}
.mouse-dot{
  width:4px;height:10px;
  border-radius:999px;
  background: var(--primary);
  animation: dotMove 1.3s infinite;
}
@keyframes dotMove{
  0%,100%{transform: translateY(0); opacity:1;}
  50%{transform: translateY(10px); opacity:.85;}
}

.section{position:relative; z-index:1;}
.py-6{padding-top:7rem; padding-bottom:7rem;}

.section-lines::before,
.section-lines::after{
  content:"";
  position:absolute;
  left:0; right:0;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(22,208,208,.20), transparent);
}
.section-lines::before{top:0;}
.section-lines::after{bottom:0;}

.feature-card{
  position:relative;
  border-radius: var(--radius);
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  overflow:hidden;
  transition: transform .35s ease, border-color .35s ease;
  min-height: 100%;
}
.feature-card:hover{
  transform: translateY(-8px);
  border-color: rgba(22,208,208,.30);
}
.feature-card-gradient{
  position:absolute;
  inset:0;
  opacity:0;
  transition: opacity .35s ease;
}
.feature-card:hover .feature-card-gradient{opacity:1;}
.feature-card-body{position:relative; z-index:1; padding: 2rem;}
.icon-box{
  width:56px;height:56px;
  border-radius: 1rem;
  background: rgba(22,208,208,.10);
  border:1px solid rgba(22,208,208,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 1.25rem;
  transition: transform .25s ease;
}
.icon-box i{font-size: 1.6rem; color: var(--amarelo);}
.feature-card:hover .icon-box{transform: scale(1.08);}
.pill{
  font-size: .75rem;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.feature-card-arrow{
  opacity:0;
  transform: translateX(-6px);
  transition: all .25s ease;
}
.feature-card:hover .feature-card-arrow{
  opacity:1;
  transform: translateX(0);
}

.grad-cyan{background: linear-gradient(135deg, rgba(34,211,238,.20), rgba(34,211,238,.05));}
.grad-emerald{background: linear-gradient(135deg, rgba(16,185,129,.20), rgba(16,185,129,.05));}
.grad-blue{background: linear-gradient(135deg, rgba(59,130,246,.20), rgba(59,130,246,.05));}
.grad-amber{background: linear-gradient(135deg, rgba(245,158,11,.20), rgba(245,158,11,.05));}
.grad-rose{background: linear-gradient(135deg, rgba(244,63,94,.20), rgba(244,63,94,.05));}
.grad-violet{background: linear-gradient(135deg, rgba(139,92,246,.20), rgba(139,92,246,.05));}

.about-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.about-glow::after{
  content:"";
  position:absolute;
  right:-15%;
  top:40%;
  width: 55%;
  height: 55%;
  background: rgba(22,208,208,.08);
  border-radius: 999px;
  filter: blur(80px);
}

.mini-card{
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  border-radius: 1rem;
  padding: 1rem;
  height:100%;
  transition: border-color .25s ease, transform .25s ease;
}
.mini-card i{font-size: 1.6rem;}
.mini-card:hover{border-color: rgba(22,208,208,.30); transform: translateY(-2px);}

.about-visual{
  position:relative;
  aspect-ratio:1/1;
  max-width: 520px;
  margin-left:auto;
  margin-right:auto;
}
.about-circles .circle{
  position:absolute;
  inset:0;
  border-radius: 999px;
  border:1px solid rgba(22,208,208,.12);
}
.about-circles .c1{animation: pulseSoft 2.4s ease-in-out infinite;}
.about-circles .c2{inset: 8%; border-color: rgba(22,208,208,.20); animation: spin 20s linear infinite;}
.about-circles .c3{inset: 16%; border-color: rgba(22,208,208,.28); animation: spin 15s linear infinite reverse;}
@keyframes pulseSoft{0%,100%{opacity:.7;}50%{opacity:1;}}

.about-center{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.about-logo{
  width:140px;height:140px;
  border-radius: 1.4rem;
  background: rgba(21,25,35,.92);
  border:1px solid var(--text);
  box-shadow: 0 26px 80px var(--primary);
  display:flex; align-items:center; justify-content:center;
  font-size: 3rem;
  font-weight: 900;
  color: var(--text);
}

.float-card{
  width:70px;height:70px;
  border-radius: 1.1rem;
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  position:absolute;
  animation: floatBounce 3.2s ease-in-out infinite;
}
.float-card i{font-size: 1.7rem; color: var(--text);}
.float-top{top:0; left:50%; transform: translateX(-50%); animation-duration:3s;}
.float-bottom{bottom:0; left:50%; transform: translateX(-50%); animation-duration:3.5s;}
.float-left{left:0; top:50%; transform: translateY(-50%); animation-duration:4s;}
.float-right{right:0; top:50%; transform: translateY(-50%); animation-duration:3.2s;}
@keyframes floatBounce{0%,100%{transform: translate(var(--tx,0), var(--ty,0)) translateY(0);}50%{transform: translate(var(--tx,0), var(--ty,0)) translateY(-10px);}}
.float-top{--tx:-50%;}
.float-bottom{--tx:-50%;}
.float-left{--ty:-50%;}
.float-right{--ty:-50%;}

.client-tile{
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align:center;
  transition: border-color .25s ease, transform .25s ease;
  height:100%;
}
.client-tile:hover{border-color: rgba(22,208,208,.30); transform: translateY(-3px);}
.client-icon{
  width:52px;height:52px;
  border-radius: 1rem;
  background: rgba(22,208,208,.10);
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto .9rem;
  transition: transform .25s ease;
}
.client-icon i{font-size: 1.5rem; color: var(--primary);}
.client-tile:hover .client-icon{transform: scale(1.08);}
.client-count{font-weight:900; font-size:1.5rem;}
.client-name{font-size:.9rem; color: var(--text-muted);}

.testimonial-card{
  position:relative;
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  border-radius: 2rem;
  padding: 2.5rem;
  overflow:hidden;
}
.testimonial-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.testimonial-glow::before{
  content:"";
  position:absolute;
  top:0; right:0;
  width: 260px; height:260px;
  background: rgba(22,208,208,.08);
  border-radius: 999px;
  filter: blur(70px);
}
.testimonial-glow::after{
  content:"";
  position:absolute;
  left:-120px; bottom:-120px;
  width: 260px; height:260px;
  background: rgba(22,208,208,.08);
  border-radius: 999px;
  filter: blur(70px);
}
.quote-mark{
  position:absolute;
  top: 22px;
  left: 24px;
  font-size: 6rem;
  color: rgba(22,208,208,.10);
  font-family: Georgia, serif;
  line-height:1;
}
.testimonial{display:none;}
.testimonial.is-active{display:block;}
.avatar-circle{
  width:56px;height:56px;
  border-radius:999px;
  background: rgba(22,208,208,.20);
  color: var(--primary);
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  font-size: 1.25rem;
}
.testimonial-dots{
  display:flex;
  justify-content:center;
  gap:.55rem;
  margin-top: 1.5rem;
}
.testimonial-dots .dot{
  width:10px;height:10px;
  border-radius:999px;
  border:0;
  background: rgba(244,246,251,.25);
  transition: all .25s ease;
}
.testimonial-dots .dot:hover{background: rgba(244,246,251,.38);}
.testimonial-dots .dot.is-active{
  width: 34px;
  background: var(--primary);
}

.cta-lines::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(22,208,208,.30), transparent);
}
.cta-lines::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, transparent, rgba(22,208,208,.05), transparent);
  pointer-events:none;
}

.contact-card{
  display:flex;
  align-items:center;
  gap:1.25rem;
  padding: 1.25rem;
  border-radius: var(--radius);
  background: rgba(21,25,35,.92);
  border:1px solid var(--border);
  text-decoration:none;
  transition: border-color .25s ease, transform .25s ease;
}
.contact-card:hover{border-color: rgba(22,208,208,.30); transform: translateY(-2px);}
.contact-icon{
  width:56px;height:56px;
  border-radius: 1rem;
  background: rgba(22,208,208,.10);
  border:1px solid rgba(22,208,208,.20);
  display:flex; align-items:center; justify-content:center;
  transition: transform .25s ease;
}
.contact-icon i{font-size: 1.5rem; color: var(--text);}
.contact-card:hover .contact-icon{transform: scale(1.08);}
.contact-card .h5{transition: color .25s ease;}
.contact-card:hover .h5{color: var(--text);}

.footer{
  position:relative;
  background: rgba(21,25,35,.80);
  z-index:1;
}
.footer-link{
  color: var(--text-muted);
  text-decoration:none;
}
.footer-link:hover{color:var(--text);}

.social-btn{
  width:42px;height:42px;
  border-radius: .8rem;
  background: rgba(255,255,255,.06);
  color: var(--text-muted);
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  transition: all .25s ease;
}
.social-btn:hover{
  color: var(--primary);
  background: rgba(22,208,208,.10);
}

.reveal{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}

/* Improve Bootstrap card/typography contrast */
.lead{color: var(--text-muted);}

 / *   C u s t o m   F o r m   S t y l e s   * / 
 . f o r m - c o n t r o l   { 
     b a c k g r o u n d - c o l o r :   r g b a ( 2 1 ,   2 5 ,   3 5 ,   0 . 6 ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b o r d e r ) ; 
     c o l o r :   v a r ( - - t e x t ) ; 
     b o r d e r - r a d i u s :   0 . 8 r e m ; 
     p a d d i n g :   0 . 9 r e m   1 . 1 r e m ; 
     t r a n s i t i o n :   a l l   0 . 2 5 s   e a s e ; 
 } 
 . f o r m - c o n t r o l : f o c u s   { 
     b a c k g r o u n d - c o l o r :   r g b a ( 2 1 ,   2 5 ,   3 5 ,   0 . 9 ) ; 
     b o r d e r - c o l o r :   v a r ( - - p r i m a r y ) ; 
     c o l o r :   v a r ( - - t e x t ) ; 
     b o x - s h a d o w :   0   0   0   4 p x   v a r ( - - p r i m a r y - 2 ) ; 
 } 
 . f o r m - c o n t r o l : : p l a c e h o l d e r   { 
     c o l o r :   v a r ( - - t e x t - m u t e d ) ; 
     o p a c i t y :   0 . 6 ; 
 } 
 . f o r m - l a b e l   { 
     c o l o r :   v a r ( - - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 9 r e m ; 
     m a r g i n - b o t t o m :   0 . 4 r e m ; 
     m a r g i n - l e f t :   0 . 2 r e m ; 
 } 
 
 
 
 . f o r m - s e l e c t   { 
     b a c k g r o u n d - c o l o r :   r g b a ( 2 1 ,   2 5 ,   3 5 ,   0 . 6 ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b o r d e r ) ; 
     c o l o r :   v a r ( - - t e x t ) ; 
     b o r d e r - r a d i u s :   0 . 8 r e m ; 
     p a d d i n g :   0 . 9 r e m   1 . 1 r e m ; 
     b a c k g r o u n d - i m a g e :   u r l ( \ 
 
 d a t a : i m a g e / s v g + x m l 
 
 % 3 c s v g 
 
 x m l n s = h t t p : / / w w w . w 3 . o r g / 2 0 0 0 / s v g 
 
 v i e w B o x = 0   0   1 6   1 6 % 3 e % 3 c p a t h 
 
 f i l l = n o n e 
 
 s t r o k e = % 2 3 f 4 f 6 f b 
 
 s t r o k e - l i n e c a p = r o u n d 
 
 s t r o k e - l i n e j o i n = r o u n d 
 
 s t r o k e - w i d t h = 2 
 
 d = m 2   5   6   6   6 - 6 / % 3 e % 3 c / s v g % 3 e \ ) ; 
 } 
 . f o r m - s e l e c t : f o c u s   { 
     b a c k g r o u n d - c o l o r :   r g b a ( 2 1 ,   2 5 ,   3 5 ,   0 . 9 ) ; 
     b o r d e r - c o l o r :   v a r ( - - p r i m a r y ) ; 
     c o l o r :   v a r ( - - t e x t ) ; 
     b o x - s h a d o w :   0   0   0   4 p x   v a r ( - - p r i m a r y - 2 ) ; 
 } 
 o p t i o n   { 
     b a c k g r o u n d - c o l o r :   # 1 5 1 9 2 3 ; 
     c o l o r :   v a r ( - - t e x t ) ; 
 } 
 
 
 