:root{
  --bg:#FCF1F6;     /* requested */
  --bg2:#FDF2F7;    /* requested */
  --orange:#ff7a00;
  --orange2:#ff922b;
  --dark:#0c0c0c;
  --muted:#6b7280;
  --card:#ffffff;
  --shadow: 0 20px 45px rgba(16, 24, 40, 0.10);
  --shadow2: 0 10px 25px rgba(16, 24, 40, 0.10);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto;
  color:var(--dark);
  background:linear-gradient(180deg,var(--bg) 0%, #ffffff 55%, var(--bg2) 100%);
}

/* Material icons */
.mi{
  font-family: "Material Symbols Rounded";
  font-weight: 600;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.btn-lg{
  font-size: medium;
}
/* Navbar */
.vib-nav{
  background:rgba(252, 241, 246, 0.82);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.nav-logo{  width: 60%; }
.brand-title{ font-weight:700; line-height:1; }
.brand-sub{ font-size:12px; color:var(--muted); }

.nav-link{
  font-weight:500;
  color:#1f2937 !important;
}
.nav-link:hover{ color:var(--orange) !important; }

.btn-orange{
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  border:none;
  color:#fff;
  box-shadow: var(--shadow2);
  border-radius: 999px;
  font-weight:600;
}
.btn-orange:hover{ transform: translateY(-1px); }

.btn-outline-orange{
  border:1px solid rgba(255,122,0,0.35);
  border-radius: 999px;
  font-weight:600;
  color:var(--orange);
  background:#fff;
}

.btn-ghost{
  border:1px solid rgba(0,0,0,0.08);
  border-radius:999px;
  background:#fff;
  font-weight:600;
}

/* Hero */
.hero-wrap{ padding: 70px 0 30px 0; }

.vib-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  background:var(--orange);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 999px;
  box-shadow: 0 10px 25px rgba(16,24,40,0.08);
  font-weight:600;
  font-size:14px;
}

.hero-title{
  font-size: clamp(34px, 4.1vw, 52px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.6px;
}
.text-orange{ color:var(--orange); }

.hero-sub{
  font-size:16px;
  color:var(--muted);
  line-height:1.75;
  max-width: 560px;
}

/* Trust strip */
.hero-trust{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:12px;
  max-width: 680px;
}
@media(min-width:992px){
  .hero-trust{ grid-template-columns: repeat(4,minmax(0,1fr)); }
}

.trust-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:16px;
  padding:12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.trust-ico{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
}
.trust-top{ font-weight:700; font-size:13px; }
.trust-sub{ color:var(--muted); font-size:12px; }

/* Mini reviews */
.mini-reviews{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media(min-width:992px){
  .mini-reviews{ grid-template-columns: repeat(3,minmax(0,1fr)); }
}
.mini-review{
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:16px;
  padding:12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.mini-review .stars{
  color:var(--orange);
  font-size:16px;
  display:flex;
  gap:2px;
}
.mini-review .txt{ font-size:12px; color:#111827; margin-top:8px; line-height:1.55; }
.mini-review .name{ font-size:11px; color:var(--muted); margin-top:8px; }

/* Hero media */
.hero-media{
  position:relative;
  border-radius: 26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  box-shadow: var(--shadow);
}
.hero-img{ width:100%; height:auto; display:block; }

.hero-badge{
  position:absolute;
  top:18px;
  right:18px;
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  color:#fff;
  font-weight:800;
  padding:14px 16px;
  border-radius: 999px;
  font-size:14px;
  text-align:center;
  box-shadow: 0 20px 40px rgba(255,122,0,0.28);
}
.hero-badge small{
  display:block;
  font-size:11px;
  font-weight:600;
  opacity:0.9;
}

.hero-float-card{
  position:absolute;
  bottom:18px;
  left:18px;
  display:flex;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding:12px 14px;
  box-shadow: 0 20px 35px rgba(16,24,40,0.14);
}
.float-icon{
  width:40px;height:40px;
  display:grid; place-items:center;
  border-radius:14px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
}
.float-title{ font-weight:700; font-size:13px; }
.float-sub{ font-size:12px; color:var(--muted); }

/* Sticky CTA */
.sticky-cta{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:999;
  display:flex;
  gap:10px;
  padding:10px 12px;
  background: rgba(252, 241, 246, 0.95);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(0,0,0,0.06);
}
.cta-btn{
  flex:1;
  text-align:center;
  text-decoration:none;
  padding:12px 10px;
  border-radius: 14px;
  font-weight:700;
  font-size:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.cta-btn-whatsapp{
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  color:#fff;
  border:none;
}

/* Responsive padding for sticky bar space */
@media (max-width: 991px){
  .hero-wrap{ padding: 45px 0 90px 0; }
}

/* ========== Sections Base ========== */
.vib-section{
  padding: 70px 0;
}
.vib-heading{
  max-width: 760px;
  margin: 0 auto;
}
.vib-title{
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 800;
  letter-spacing: -0.3px;
  margin-bottom: 10px;
}
.vib-desc{
  color: var(--muted);
  line-height: 1.75;
  font-size: 14px;
}

/* ========== About Section ========== */
.about-media{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: var(--shadow);
}
.about-img{
  width: 100%;
  height: auto;
  display: block;
}

.about-badge{
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 999px;
  padding: 10px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 12px;
}

.about-float{
  position: absolute;
  bottom: 16px;
  right: 16px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 35px rgba(16,24,40,0.14);
  border-radius: 18px;
  padding: 12px 14px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.af-ico{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display: grid;
  place-items: center;
}
.af-title{ font-weight: 800; font-size: 13px; }
.af-sub{ font-size: 12px; color: var(--muted); }

/* Right About Card */
.about-card{
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}

.about-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 700;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.about-title{
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.3px;
  margin: 14px 0 10px;
  line-height: 1.25;
}
.about-text{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}

/* About points */
.about-point{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.ap-title{
  font-weight: 800;
  font-size: 13px;
}
.ap-sub{
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}

/* CTA */
.about-cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.about-guarantee{
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-weight: 600;
  font-size: 12px;
  color: #111827;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  background: #fff;
}

/* Responsive */
@media (max-width: 991px){
  .vib-section{ padding: 55px 0; }
  .about-card{ padding: 18px; }
  .about-title{ font-size: 20px; }
}
/* ========== Industry Chips ========== */
.industry-chips{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content:center;
}
.chip{
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  transition: all .2s ease;
}
.chip:hover{
  transform: translateY(-1px);
  border-color: rgba(255,122,0,0.35);
}
.chip.active{
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  border: none;
}

/* ========== Services ========== */
.service-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 22px 20px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  transition: all .22s ease;
  position:relative;
  overflow:hidden;
}
.service-card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,122,0,0.25);
  box-shadow: 0 24px 55px rgba(16,24,40,0.12);
}

.service-card.highlight::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.22), transparent 45%);
  pointer-events:none;
}

.service-icon{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display:grid;
  place-items:center;
  margin-bottom: 14px;
}
.service-icon .mi{ font-size: 26px; }

.service-title{
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 10px;
}
.service-text{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
  margin-bottom: 14px;
}

/* list */
.service-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: 10px;
}
.service-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color:#111827;
  font-size: 13px;
  font-weight: 600;
}
.service-list li .mi{
  font-size: 20px;
  color: var(--orange);
  margin-top: 1px;
}

.service-link{
  margin-top: 16px;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration:none;
  font-weight: 800;
  color: var(--orange);
  font-size: 13px;
}
.service-link:hover{ text-decoration: underline; }

/* bottom CTA card */
.services-cta .scta-card{
  border-radius: 26px;
  padding: 22px;
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content:space-between;
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,122,0,0.08));
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}
.scta-title{
  font-weight: 900;
  font-size: 18px;
  margin: 0 0 6px;
}
.scta-text{
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

@media(max-width:991px){
  .services-cta .scta-card{
    flex-direction:column;
    text-align:center;
  }
}
/* ========== Work Filters ========== */
.work-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}
.wfilter{
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 800;
  color: #111827;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  transition: all .2s ease;
}
.wfilter:hover{
  transform: translateY(-1px);
  border-color: rgba(255,122,0,0.35);
}
.wfilter.active{
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  border:none;
}

/* ========== Work Cards ========== */
.work-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  overflow:hidden;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  transition: all .22s ease;
}
.work-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 55px rgba(16,24,40,0.12);
  border-color: rgba(255,122,0,0.25);
}

.work-thumb{
  position:relative;
  overflow:hidden;
}
.work-thumb img{
  width:100%;
  
  object-fit: cover;
  display:block;
  transition: transform .35s ease;
}
.work-card:hover .work-thumb img{
  transform: scale(1.04);
}

.work-tags{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.wtag{
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 900;
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.work-body{
  padding: 18px 18px 20px;
}
.work-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 10px;
  margin-bottom: 10px;
}
.work-cat{
  font-size: 12px;
  font-weight: 900;
  color: var(--orange);
  background: rgba(255,122,0,0.12);
  padding: 6px 10px;
  border-radius: 999px;
}
.work-loc{
  font-size: 12px;
  font-weight: 800;
  color: #111827;
  display:flex;
  gap:6px;
  align-items:center;
}

.work-title{
  font-weight: 900;
  font-size: 16px;
  margin: 0 0 8px;
}
.work-text{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
  margin-bottom: 12px;
}

/* metrics */
.work-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom: 14px;
}
.metric{
  flex:1;
  min-width: 140px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 800;
  display:flex;
  gap:8px;
  align-items:center;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.metric .mi{
  color: var(--orange);
}

/* actions */
.work-actions{
  display:flex;
  gap:10px;
  justify-content:space-between;
  flex-wrap:wrap;
}

/* Work CTA */
.work-cta .wcta-card{
  border-radius: 26px;
  padding: 22px;
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content:space-between;
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,122,0,0.08));
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}
.wcta-title{
  font-weight: 900;
  font-size: 18px;
  margin: 0 0 6px;
}
.wcta-text{
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

@media(max-width:991px){
  .work-cta .wcta-card{
    flex-direction:column;
    text-align:center;
  }
}
/* ===== Work Carousel ===== */
.work-carousel{
  position: relative;
}

.work-carousel-head{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-bottom: 14px;
}

.wc-btn{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  display:grid;
  place-items:center;
  transition: all .2s ease;
}
.wc-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,122,0,0.25);
}

.work-dots{
  position: relative;
  margin-top: 18px;
}
.work-dots [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.18);
}
.work-dots .active{
  background: var(--orange);
}
/* ========== Clientele Section ========== */
.clientele-card{
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}

.clientele-kicker{
  display: inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 800;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.clientele-title{
  margin: 14px 0 10px;
  font-weight: 900;
  font-size: clamp(22px, 2.1vw, 30px);
  letter-spacing: -0.3px;
  line-height: 1.2;
}

.clientele-text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}

/* chips */
.country-chips{
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.country-chip{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  display:flex;
  gap: 10px;
  align-items:center;
}

.cc-flag{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  font-weight: 900;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
}

.cc-title{
  font-weight: 900;
  font-size: 13px;
  line-height: 1.1;
}
.cc-sub{
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
}

.clientele-trust{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 10px 12px;
  font-weight: 700;
  font-size: 12px;
}

/* Right */
.clientele-right{
  padding: 10px;
}

.stat-card{
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  text-align:left;
  height: 100%;
  position:relative;
  overflow:hidden;
}
.stat-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.18), transparent 45%);
  pointer-events:none;
}

.stat-ico{
  width: 46px;
  height: 46px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display:grid;
  place-items:center;
}
.stat-ico .mi{ font-size: 24px; }

.stat-num{
  font-weight: 900;
  font-size: 22px;
  margin-top: 12px;
}
.stat-label{
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-top: 4px;
}

/* industry coverage */
.industry-cover{
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 20px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}

.industry-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.industry-title{
  font-weight: 900;
  font-size: 14px;
  display:flex;
  align-items:center;
  gap: 10px;
}
.industry-sub{
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}

.industry-grid{
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.industry-item{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  font-weight: 800;
  font-size: 12px;
  display:flex;
  gap: 10px;
  align-items:center;
}
.industry-item .mi{
  color: var(--orange);
  font-size: 22px;
}

/* responsive */
@media(max-width: 991px){
  .country-chips{ grid-template-columns: 1fr; }
  .industry-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}
/* ========== Why Trust Us ========== */
.trust-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 20px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  transition: all .22s ease;
  position:relative;
  overflow:hidden;
}

.trust-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.14), transparent 45%);
  pointer-events:none;
}

.trust-card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,122,0,0.25);
  box-shadow: 0 24px 55px rgba(16,24,40,0.12);
}

.trust-ico{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display:grid;
  place-items:center;
  margin-bottom: 14px;
}
.trust-ico .mi{ font-size: 26px; }

.trust-title{
  font-weight: 900;
  font-size: 16px;
  margin: 0 0 8px;
}
.trust-text{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
}

/* Process Card */
.process-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position:relative;
  overflow:hidden;
}

.process-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top right, rgba(255,122,0,0.16), transparent 45%);
  pointer-events:none;
}

.process-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.process-title{
  margin: 14px 0 8px;
  font-weight: 900;
  font-size: 22px;
  line-height: 1.2;
}
.process-text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}

/* Timeline */
.process-steps{
  display:grid;
  gap: 14px;
}

.step-item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
}

.step-dot{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  font-weight: 900;
  color:#fff;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  box-shadow: 0 14px 30px rgba(255,122,0,0.22);
  flex: 0 0 auto;
}

.step-title{
  font-weight: 900;
  font-size: 13px;
}
.step-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
}

/* Guarantee */
.process-guarantee{
  display:flex;
  gap: 12px;
  align-items:center;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.pg-ico{
  width: 44px;
  height: 44px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display:grid;
  place-items:center;
}
.pg-title{
  font-weight: 900;
  font-size: 13px;
}
.pg-sub{
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
  margin-top: 3px;
}

/* Responsive */
@media(max-width: 991px){
  .process-card{ padding: 18px; }
}
/* ========== Reviews Section ========== */
.review-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 14px;
  padding: 18px;
  border-radius: 26px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  flex-wrap:wrap;
}

.rs-left{
  display:flex;
  align-items:center;
  gap: 14px;
}
.rs-score{
  width: 72px;
  height: 72px;
  border-radius: 26px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  font-weight: 900;
  font-size: 22px;
  box-shadow: 0 20px 40px rgba(255,122,0,0.25);
}
.rs-stars{
  display:flex;
  gap: 2px;
  color: var(--orange);
}
.rs-text{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

.rs-right{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.rs-pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

/* cards */
.review-card{
  height:100%;
  border-radius: 26px;
  padding: 20px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  transition: all .22s ease;
  position:relative;
  overflow:hidden;
}

.review-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.12), transparent 45%);
  pointer-events:none;
}

.review-card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,122,0,0.22);
  box-shadow: 0 24px 55px rgba(16,24,40,0.12);
}

.review-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom: 12px;
}
.review-user{
  display:flex;
  gap: 10px;
  align-items:center;
}
.avatar{
  width: 46px;
  height: 46px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
  display:grid;
  place-items:center;
  font-weight: 900;
}
.r-name{
  font-weight: 900;
  font-size: 13px;
  line-height: 1.1;
}
.r-sub{
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  margin-top: 4px;
}
.r-stars{
  color: var(--orange);
  display:flex;
  gap: 2px;
}
.r-stars .mi{ font-size: 20px; }

.review-text{
  margin: 0;
  color: #111827;
  font-size: 13px;
  line-height: 1.85;
}

.review-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 14px;
}
.rtag{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.rtag .mi{
  font-size: 18px;
  color: var(--orange);
}

/* CTA */
.reviews-cta .rcta-card{
  border-radius: 26px;
  padding: 22px;
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content:space-between;
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,122,0,0.08));
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}
.rcta-title{
  font-weight: 900;
  font-size: 18px;
  margin: 0 0 6px;
}
.rcta-text{
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

@media(max-width:991px){
  .reviews-cta .rcta-card{
    flex-direction:column;
    text-align:center;
  }
}
/* ===== Review Carousel (Mobile) ===== */
.review-carousel{
  position: relative;
}
.review-carousel .review-card{
  margin: 0 4px;
}

.review-carousel-head{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-bottom: 14px;
}

.rc-btn{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  display:grid;
  place-items:center;
  transition: all .2s ease;
}
.rc-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,122,0,0.25);
}

/* dots */
.review-dots{
  position: relative;
  margin-top: 18px;
}
.review-dots [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.18);
}
.review-dots .active{
  background: var(--orange);
}
/* ========== Pricing Section ========== */
.pricing-note{
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px 16px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  font-weight: 800;
  font-size: 13px;
}

.pn-left, .pn-right{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.price-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position: relative;
  overflow:hidden;
  transition: all .22s ease;
}

.price-card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,122,0,0.22);
  box-shadow: 0 24px 55px rgba(16,24,40,0.12);
}

.price-top{
  margin-bottom: 14px;
}
.price-plan{
  font-weight: 900;
  font-size: 16px;
}
.price-sub{
  margin-top: 6px;
  font-size: 13px;
  color: var(--muted);
  font-weight: 700;
}

.price-value{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.price-main{
  font-weight: 900;
  font-size: 28px;
  letter-spacing: -0.3px;
}
.price-mini{
  margin-top: 5px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}

.price-list{
  list-style:none;
  padding:0;
  margin: 16px 0 0;
  display:grid;
  gap: 10px;
}
.price-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: 13px;
  font-weight: 700;
  color:#111827;
}
.price-list li .mi{
  color: var(--orange);
}

.price-actions{
  margin-top: 18px;
}

/* Popular */
.price-card.popular{
  border: 1px solid rgba(255,122,0,0.28);
  box-shadow: 0 30px 70px rgba(255,122,0,0.14);
  transform: translateY(-4px);
}
.popular-badge{
  position:absolute;
  top: 18px;
  right: 18px;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  display:inline-flex;
  align-items:center;
  gap: 8px;
}

/* Addon */
.addon-card{
  border-radius: 26px;
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,122,0,0.08));
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}
.addon-badge{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.addon-title{
  margin: 12px 0 8px;
  font-weight: 900;
  font-size: 18px;
}
.addon-text{
  margin:0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
}
.addon-points{
  margin-top: 14px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.addon-point{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  display:flex;
  gap: 8px;
  align-items:center;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.addon-point .mi{ color: var(--orange); }

.addon-right{
  min-width: 280px;
}
.addon-price{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  margin-bottom: 12px;
  text-align:center;
}
.ap-main{
  font-weight: 900;
  font-size: 26px;
}
.ap-sub{
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  margin-top: 4px;
}

.pricing-faq{
  display:grid;
  gap: 10px;
}
.pf-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px 16px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  font-size: 13px;
  font-weight: 800;
}
.pf-item .mi{ color: var(--orange); }

@media(max-width:991px){
  .price-card.popular{ transform:none; }
  .addon-card{ flex-direction:column; text-align:center; }
  .addon-right{ min-width: unset; width:100%; }
}
/* ========== Payment Terms + Delivery Checklist ========== */
.terms-card,
.delivery-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position:relative;
  overflow:hidden;
}

.terms-card::before,
.delivery-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.12), transparent 45%);
  pointer-events:none;
}

.terms-head,
.delivery-head{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  align-items:center;
}

.terms-title,
.delivery-title{
  font-weight: 900;
  font-size: 16px;
  display:flex;
  gap: 10px;
  align-items:center;
}

.terms-badge,
.delivery-badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

/* Payment terms items */
.terms-list{
  display:grid;
  gap: 12px;
}

.terms-item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.t-ico{
  width: 44px;
  height: 44px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}
.t-ico .mi{
  color: var(--orange);
  font-size: 22px;
}

.t-title{
  font-weight: 900;
  font-size: 13px;
}
.t-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.7;
}

.terms-note{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 12px 14px;
  border-radius: 22px;
  background: rgba(255,122,0,0.08);
  border: 1px solid rgba(255,122,0,0.18);
  font-size: 12px;
  font-weight: 800;
  color: #111827;
}
.terms-note .mi{
  color: var(--orange);
}

/* Delivery checklist */
.delivery-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.delivery-item{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  font-size: 12px;
  font-weight: 900;
  display:flex;
  align-items:center;
  gap: 10px;
}
.delivery-item .mi{
  color: var(--orange);
  font-size: 22px;
}

@media(max-width:575px){
  .delivery-grid{
    grid-template-columns: 1fr;
  }
}
/* ========== Contact Section ========== */
.contact-info{
  height:100%;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position:relative;
  overflow:hidden;
}
.contact-info::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.12), transparent 45%);
  pointer-events:none;
}

.contact-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.contact-title{
  margin: 14px 0 8px;
  font-weight: 900;
  font-size: 22px;
}
.contact-text{
  margin:0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}

/* Quick buttons */
.contact-quick{
  display:grid;
  gap: 12px;
}
.cq-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 22px;
  text-decoration:none;
  font-weight: 900;
  font-size: 13px;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  box-shadow: 0 20px 45px rgba(255,122,0,0.20);
  transition: all .2s ease;
}
.cq-btn:hover{
  transform: translateY(-2px);
  color:#fff;
}
.cq-btn.outline{
  background:#fff;
  color:#111827;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
}
.cq-btn.outline:hover{
  border-color: rgba(255,122,0,0.24);
}
.cq-btn .arrow{
  opacity: .9;
}

/* Trust points */
.contact-trust{
  display:grid;
  gap: 12px;
}
.ct-item{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 14px;
  display:flex;
  gap: 12px;
  align-items:flex-start;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.ct-item .mi{
  color: var(--orange);
  font-size: 24px;
}
.ct-title{
  font-weight: 900;
  font-size: 13px;
}
.ct-sub{
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
}

.contact-guarantee{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 12px 14px;
  border-radius: 22px;
  background: rgba(255,122,0,0.08);
  border: 1px solid rgba(255,122,0,0.18);
  font-size: 12px;
  font-weight: 900;
}
.contact-guarantee .mi{
  color: var(--orange);
}

/* Form */
.contact-form-card{
  height:100%;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position:relative;
  overflow:hidden;
}
.contact-form-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top right, rgba(255,122,0,0.12), transparent 45%);
  pointer-events:none;
}

.form-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 10px;
  flex-wrap:wrap;
}
.fh-title{
  font-weight: 900;
  font-size: 16px;
  display:flex;
  gap: 10px;
  align-items:center;
}
.fh-sub{
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}

/* Inputs */
.vib-label{
  font-weight: 900;
  font-size: 12px;
  margin-bottom: 8px;
}

.vib-input{
  position:relative;
}
.vib-input .mi{
  position:absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(17,24,39,0.55);
}
.vib-input input,
.vib-input select,
.vib-input textarea{
  padding-left: 46px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  font-weight: 700;
  font-size: 13px;
  min-height: 48px;
}
.vib-input textarea{
  min-height: 120px;
  padding-top: 12px;
}
.vib-input.textarea .mi{
  top: 18px;
  transform:none;
}

.vib-input input:focus,
.vib-input select:focus,
.vib-input textarea:focus{
  border-color: rgba(255,122,0,0.35);
  box-shadow: 0 0 0 .25rem rgba(255,122,0,0.15);
}

/* Privacy */
.privacy-note{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.06);
  background:#fff;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.privacy-note .mi{
  color: var(--orange);
}

@media(max-width:991px){
  .contact-info, .contact-form-card{ padding: 18px; }
}
/* ========== Footer ========== */
.vib-footer{
  margin-top: 40px;
  padding: 64px 0 90px; /* extra space because sticky bar */
  background: rgba(255,255,255,0.60);
  border-top: 1px solid rgba(0,0,0,0.06);
}

.footer-logo{
  font-weight: 1000;
  font-size: 20px;
  letter-spacing: -0.5px;
  text-decoration:none;
  color:#111827;
}
.footer-text{
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.85;
}

.footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 14px;
}
.fbadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 9px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.fbadge .mi{ color: var(--orange); }

.footer-title{
  font-weight: 1000;
  font-size: 14px;
  margin: 0 0 12px;
}
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.footer-links a{
  text-decoration:none;
  color:#111827;
  font-weight: 800;
  font-size: 13px;
  opacity: .85;
  transition: all .15s ease;
}
.footer-links a:hover{
  color: var(--orange);
  opacity: 1;
}

.footer-contact{
  display:grid;
  gap: 12px;
}
.fc-item{
  display:flex;
  gap: 12px;
  align-items:center;
  text-decoration:none;
  padding: 12px 14px;
  border-radius: 22px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
  transition: all .2s ease;
  color:#111827;
}
.fc-item:hover{
  transform: translateY(-2px);
  border-color: rgba(255,122,0,0.25);
}
.fc-item .mi{
  width: 42px;
  height: 42px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: rgba(255,122,0,0.14);
  color: var(--orange);
}
.fc-label{
  font-weight: 900;
  font-size: 12px;
  opacity: .75;
}
.fc-value{
  font-weight: 1000;
  font-size: 13px;
}

.footer-bottom{
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.06);
  display:flex;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  font-weight: 800;
  color: var(--muted);
  font-size: 12px;
}
.fb-right{
  display:flex;
  gap: 10px;
  align-items:center;
}
.fb-link{
  text-decoration:none;
  color: var(--muted);
}
.fb-link:hover{ color: var(--orange); }
.dot{
  width: 4px;
  height: 4px;
  border-radius:999px;
  background: rgba(0,0,0,0.3);
}

/* ========== Sticky Booking Bar ========== */
.sticky-booking{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 999;
}

.sb-wrap{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 10px 12px;
  box-shadow: 0 24px 60px rgba(16,24,40,0.18);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  backdrop-filter: blur(12px);
}

.sb-left{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 220px;
}
.sb-icon{
  width: 44px;
  height: 44px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  display:grid;
  place-items:center;
}
.sb-icon .mi{ color: var(--orange); font-size: 24px; }
.sb-title{
  font-weight: 1000;
  font-size: 13px;
  line-height: 1.1;
}
.sb-sub{
  margin-top: 4px;
  color: var(--muted);
  font-weight: 800;
  font-size: 12px;
}

.sb-actions{
  display:flex;
  gap: 10px;
  align-items:center;
}

.sb-btn{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 18px;
  font-weight: 1000;
  font-size: 13px;
  transition: all .2s ease;
  border: 1px solid rgba(0,0,0,0.06);
}

.sb-btn.orange{
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  border:none;
  box-shadow: 0 20px 45px rgba(255,122,0,0.20);
}

.sb-btn.dark{
  background: #111827;
  color:#fff;
  border:none;
}

.sb-btn.ghost{
  background:#fff;
  color:#111827;
}

.sb-btn:hover{
  transform: translateY(-1px);
}

@media(max-width: 575px){
  .sb-left{ display:none; } /* mobile: more space for buttons */
  .sb-btn-text{ display:none; } /* icons only */
  .sb-btn{ padding: 12px 12px; border-radius: 16px; }
  .vib-footer{ padding-bottom: 120px; }
}



/* ========== Premium Modal ========== */
.vib-modal .modal-dialog{ padding: 10px; }

.vib-modal-content{
  border-radius: 26px;
  border: 1px solid rgba(0,0,0,0.06);
  overflow:hidden;
  box-shadow: 0 40px 80px rgba(16,24,40,0.20);
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
}

.vib-modal-header{
  padding: 18px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,122,0,0.10));
}

.vmh-left{
  display:flex;
  gap: 12px;
  align-items:center;
}
.vmh-icon{
  width: 46px;
  height: 46px;
  border-radius: 18px;
  background: rgba(255,122,0,0.14);
  display:grid;
  place-items:center;
}
.vmh-icon .mi{ color: var(--orange); font-size: 24px; }
.vmh-title{
  font-weight: 1000;
  margin:0;
}
.vmh-sub{
  margin:4px 0 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 800;
}

.vib-close{ opacity: .7; }
.vib-close:hover{ opacity: 1; }

.vib-modal-body{
  padding: 18px 20px 22px;
}

/* Trust box inside modal */
.vm-trust{
  height:100%;
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 20px 45px rgba(16,24,40,0.08);
  position:relative;
  overflow:hidden;
}
.vm-trust::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(255,122,0,0.14), transparent 45%);
  pointer-events:none;
}

.vm-trust-badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  font-weight: 1000;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}

.vm-trust-title{
  margin: 12px 0 10px;
  font-weight: 1000;
  font-size: 16px;
}

.vm-list{ display:grid; gap:10px; }
.vm-item{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 10px 12px;
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,0.06);
}
.vm-item .mi{ color: var(--orange); font-size: 22px; }

.vm-mini{
  margin-top: 12px;
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 12px;
  border-radius: 18px;
  background: rgba(255,122,0,0.08);
  border: 1px solid rgba(255,122,0,0.18);
  font-weight: 900;
  font-size: 12px;
}
.vm-mini .mi{ color: var(--orange); }

.vm-wa{
  margin-top: 12px;
  width:100%;
  display:flex;
   align-items:center;
  gap: 10px;
  padding: 14px 14px;
  border-radius: 20px;
  text-decoration:none;
  font-weight: 1000;
  font-size: 13px;
  color:#fff;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  box-shadow: 0 20px 45px rgba(255,122,0,0.20);
}
.vm-wa:hover{ color:#fff; transform: translateY(-2px); }

/* Form spacing */
.vm-form .vib-input input,
.vm-form .vib-input select,
.vm-form .vib-input textarea{
  background: rgba(255,255,255,0.95);
}
