:root{
  --koom-radius: 18px;
}

.card{
  border-radius: var(--koom-radius);
}

.badge-tier{
  font-size: .85rem;
}

.hero{
  background: radial-gradient(1200px circle at 20% 10%, rgba(13,110,253,.18), transparent 45%),
              radial-gradient(900px circle at 80% 20%, rgba(25,135,84,.18), transparent 40%),
              radial-gradient(900px circle at 70% 85%, rgba(111,66,193,.16), transparent 45%),
              #0b1220;
  color: #fff;
  border-radius: 22px;
  padding: 2.2rem 1.8rem;
}

.hero .btn{
  border-radius: 999px;
  padding: .65rem 1rem;
}

.k-chip{
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  padding: .35rem .65rem;
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  flex-wrap: wrap;
}

.k-chip-location,
.k-chip-dot,
.k-chip-service{
  display: inline-block;
}

.form-control,
.form-select{
  border-radius: 14px;
}

.text-bg-purple{
  background-color:#6f42c1 !important;
  color:#fff !important;
}

.hero-logo{
  width: 100%;
  max-width: 600px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.hero-panel{
  border-radius: var(--koom-radius);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  padding: .95rem 1rem;
  backdrop-filter: blur(6px);
}

.hero-panel .title{
  font-weight: 600;
  margin-bottom: .15rem;
}

.hero-panel .desc{
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  line-height: 1.35;
}

.hero-panel + .hero-panel{
  margin-top: .5rem;
}

.hero-soft{
  color: rgba(255,255,255,.75);
}

.floating-contact-btn{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1050;
  border-radius: 999px;
  padding: 0.85rem 1rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  font-weight: 600;
}

@media (min-width: 992px){
  .floating-contact-btn{
    display: none;
  }
}

.hero-bubble{
  border-radius: var(--koom-radius);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  padding: .85rem 1rem;
}

@media (max-width: 991px){
  .hero-bubble{
    padding: .8rem .9rem;
  }
}

.hp-field{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.border-purple{
  border: 2px solid #6f42c1 !important;
}

.border-green{
  border: 2px solid #008000 !important;
}

@media (max-width: 767.98px){
  .hero{
    padding: 1.5rem 1rem;
    border-radius: 18px;
    text-align: center;
  }

  .hero .row{
    row-gap: 1.25rem;
  }

  .hero [class*="col-"]{
    text-align: center;
  }

  .k-chip{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .15rem;
    width: 100%;
    max-width: 100%;
    padding: .55rem .85rem;
    line-height: 1.3;
    border-radius: 16px;
  }

  .k-chip-location{
    font-size: .95rem;
  }

  .k-chip-dot{
    display: none;
  }

  .k-chip-service{
    font-size: .9rem;
    opacity: .82;
  }

  .hero h1{
    font-size: 1.9rem;
    line-height: 1.15;
    margin-top: .75rem;
    margin-bottom: .75rem;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .hero p,
  .hero .hero-soft{
    font-size: .98rem;
    line-height: 1.45;
  }

  .hero-logo{
    max-width: 260px;
    margin-top: 1rem;
  }

  .hero .btn{
    width: 100%;
    justify-content: center;
  }

  .hero .d-flex.gap-2,
  .hero .d-flex.gap-3{
    flex-direction: column;
    align-items: stretch;
  }
}

.btn-get-started {
  background-color: #6f42c1;
  border-color: #6f42c1;
  color: #fff;
}

.btn-get-started:hover,
.btn-get-started:focus {
  background-color: #59359c;
  border-color: #59359c;
  color: #fff;
}