:root{
  --bg:#f0f8ff;
  --bg2:#ffffff;
  --card: rgba(0,0,0,.1);
  --border: rgba(0,0,0,.2);
  --white70: rgba(0,0,0,.7);
  --white50: rgba(0,0,0,.5);
  --primary: #52b788;
}

html, body { height: 100%; }
body{
  background: var(--bg);
  color: #333;
}

.section-pad{ padding: 60px 0; }
.section-soft{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

.border-white-10{ border-color: rgba(255,255,255,.10)!important; }
.text-white-70{ color: var(--white70)!important; }
.text-white-50{ color: var(--white50)!important; }
.link-white-70{ color: var(--white70)!important; }
.link-white-70:hover{ color:#000!important; }

.text-gradient{
  background: linear-gradient(90deg, #9b8cff, #35d4ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.topbar{ background: rgba(255,255,255,.1); }

.nav-glass{
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.2);
}
.navbar .nav-link{ color: rgba(0,0,0,.75); }
.navbar .nav-link.active, .navbar .nav-link:hover{ color:#000; }

.navbar-brand img{ filter: invert(0); }
.navbar-brand span{ color: #000; }

.hero{
  position: relative;
  overflow: hidden;
  padding-top: 80px;
}
.hero-bg{
  position:absolute; inset:0;
  pointer-events:none;
}

.badge-soft{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  padding: .5rem .8rem;
  color: rgba(0,0,0,.85);
  font-size: 1.2rem;
}

.card-glass{
  background: rgba(0,0,0,.1);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  border-radius: 1.25rem;
}

.form-control, .form-select{
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.2);
  color:#000;
}
.form-control::placeholder{ color: rgba(0,0,0,.65); }
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.9);
  border-color: var(--primary);
  box-shadow: 0 0 0 .25rem rgba(82,184,136,.18);
  color:#000;
}

.stat-card{
  background: rgba(0,0,0,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 1rem;
  padding: 14px 14px;
}
.stat-icon{
  width: 38px; height: 38px; border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(109,94,252,.18);
  border: 1px solid rgba(109,94,252,.25);
  margin-bottom: 10px;
}
.stat-title{ font-weight: 700; }
.stat-sub{ color: rgba(255,255,255,.75); font-size: .9rem; }

.card-service{
  background: rgba(0,0,0,.1);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.25rem;
  transition: transform .18s ease, border-color .18s ease;
}
.card-service:hover{
  transform: translateY(-4px);
  border-color: rgba(109,94,252,.35);
}
.service-icon{
  width: 52px; height: 52px; border-radius: 18px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(53,212,255,.12);
  border: 1px solid rgba(53,212,255,.20);
  font-size: 1.35rem;
}

.icon-car { background: rgba(255, 100, 100, 0.3); border: 1px solid rgba(255, 100, 100, 0.5); }
.icon-heart { background: rgba(100, 255, 100, 0.3); border: 1px solid rgba(100, 255, 100, 0.5); }
.icon-house { background: rgba(100, 100, 255, 0.3); border: 1px solid rgba(100, 100, 255, 0.5); }
.icon-shop { background: rgba(255, 255, 100, 0.3); border: 1px solid rgba(255, 255, 100, 0.5); }
.icon-briefcase { background: rgba(255, 100, 255, 0.3); border: 1px solid rgba(255, 100, 255, 0.5); }
.icon-plane { background: rgba(255, 150, 50, 0.3); border: 1px solid rgba(255, 150, 50, 0.5); }

.callout{
  background: linear-gradient(90deg, rgba(109,94,252,.18), rgba(53,212,255,.12));
}

.about-visual{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}
.about-badge{
  width: 54px; height: 54px; border-radius: 18px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  font-size: 1.4rem;
}

.mini-card{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  padding: 14px;
}
.mini-title{ font-weight: 700; }
.mini-sub{ color: rgba(0,0,0,.75); font-size: .92rem; margin-top: 4px; }

.tick{
  width: 30px; height: 30px; border-radius: 10px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(109,94,252,.18);
  border: 1px solid rgba(109,94,252,.22);
}

.step-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.25rem;
  padding: 18px;
}
.step-no{
  font-weight: 800;
  color: rgba(0,0,0,.55);
  font-size: 1.1rem;
}
.step-title{ font-weight: 800; font-size: 1.05rem; margin-top: 6px; margin-bottom: 6px; }

.faq-acc .accordion-item{
  background: transparent;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 10px;
}
.faq-acc .accordion-button{
  background: rgba(0,0,0,.05);
  color:#000;
}
.faq-acc .accordion-button:focus{ box-shadow: none; }
.faq-acc .accordion-body{ background: rgba(255,255,255,.18); }

.contact-card{
  background: rgba(0,0,0,.04);
}
.contact-icon{
  width: 44px; height: 44px; border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(53,212,255,.12);
  border: 1px solid rgba(53,212,255,.18);
}

.footer{ background: rgba(0,0,0,.05); }

.back-to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 46px;
  height: 46px;
  display:none;
  align-items:center;
  justify-content:center;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

/* Buttons */
.btn-primary{
  background: var(--primary);
  border-color: var(--primary);
}
.btn-primary:hover{ filter: brightness(1.05); }

/* Responsive tweaks */
@media (max-width: 991px){
  .section-pad{ padding: 50px 0; }
  .infinity-line{ width: 860px; height: 340px; top: 38%; }
}

.form-label{ color: rgba(255,255,255,.9); }

h3{ color: rgba(0,0,0,.9); }

h2{ color: rgba(0,0,0,.9); }