:root{
  --primary:#2c8cf4;
  --primary-dark:#1a6fd1;
  --primary-light:#eaf3ff;
  --orange:#ff7a2f;
  --orange-dark:#e8631a;
  --ink:#0f1b2d;
  --muted:#5c6b7f;
  --line:#e7edf5;
  --dark-bg:#0b1930;
  --dark-bg-2:#122241;
  --radius:16px;
}
*{box-sizing:border-box;}
body{
  font-family:'Plus Jakarta Sans', sans-serif;
  color:var(--ink);
  background:#fff;
  overflow-x:hidden;
}
h1,h2,h3,h4,.display-font{
  font-family:'Sora', sans-serif;
  letter-spacing:-0.02em;
}
a{text-decoration:none;}
.text-muted-2{color:var(--muted);}
.bg-primary-light{background:var(--primary-light);}
.text-primary-c{color:var(--primary)!important;}
.text-orange{color:var(--orange)!important;}
.bg-orange{background:var(--orange)!important;}

/* Eyebrow label */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary);
  background:var(--primary-light);
  padding:6px 16px;
  border-radius:50px;
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--orange);
  display:inline-block;
}

/* Buttons */
.btn-brand{
  background:var(--orange);
  border:none;
  color:#fff;
  font-weight:700;
  padding:14px 32px;
  border-radius:50px;
  box-shadow:0 10px 25px rgba(255,122,47,.35);
  transition:.25s ease;
}
.btn-brand:hover{
  background:var(--orange-dark);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(255,122,47,.45);
}
.btn-outline-brand{
  border:2px solid var(--primary);
  color:var(--primary);
  font-weight:700;
  padding:12px 30px;
  border-radius:50px;
  background:transparent;
  transition:.25s ease;
}
.btn-outline-brand:hover{
  background:var(--primary);
  color:#fff;
  transform:translateY(-3px);
}
.btn-light-pill{
  border:2px solid rgba(255,255,255,.25);
  color:#fff;
  font-weight:700;
  padding:12px 30px;
  border-radius:50px;
  background:transparent;
  transition:.25s ease;
}
.btn-light-pill:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:#fff;
}
.btn-brand, .btn-outline-brand, .btn-light-pill{display:inline-flex;align-items:center;justify-content:center;}

/* Navbar */
.navbar{
  padding:16px 0;
  background:#fff;
  box-shadow:0 2px 20px rgba(15,27,45,.06);
}
.navbar-brand{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.5rem;
  color:var(--ink)!important;
  display:flex;
  align-items:center;
}
.navbar-brand img{height:34px; width:auto;}
.navbar-brand span{color:var(--primary);}
.btn-sm.btn-brand{padding:10px 22px; font-size:.88rem;}
.nav-link{
  font-weight:600;
  color:var(--ink)!important;
  margin:0 12px;
  position:relative;
}
.nav-link::after{
  content:"";
  position:absolute;
  bottom:-4px;left:0;
  width:0;height:2px;
  background:var(--orange);
  transition:.25s;
}
.nav-link:hover::after{width:100%;}
.nav-phone{
  font-weight:700;
  color:var(--primary);
}

/* Hero */
.hero{
  background:linear-gradient(180deg,#f6faff 0%, #fff 100%);
  padding:70px 0 40px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(44,140,244,.12) 0%, rgba(44,140,244,0) 70%);
  top:-200px;right:-150px;
  border-radius:50%;
}
.hero h1{
  font-size:3rem;
  font-weight:800;
  line-height:1.15;
  margin-bottom:22px;
}
.hero-stats{
  display:flex;
  gap:36px;
  margin-top:36px;
  flex-wrap:wrap;
}
.hero-stats .stat-num{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.6rem;
  color:var(--ink);
}
.hero-stats .stat-label{
  font-size:.82rem;
  color:var(--muted);
  font-weight:600;
}
.hero-img-wrap{position:relative;}
.hero-img-wrap img{
  border-radius:20px;
  box-shadow:0 30px 60px rgba(15,27,45,.18);
}
.float-badge{
  position:absolute;
  background:#fff;
  border-radius:14px;
  padding:14px 18px;
  box-shadow:0 15px 40px rgba(15,27,45,.15);
  font-weight:700;
  font-size:.85rem;
  display:flex;
  align-items:center;
  gap:10px;
  animation:floaty 3.5s ease-in-out infinite;
}
.float-badge i{
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  background:var(--primary-light);
  color:var(--primary);
  font-size:1.1rem;
}
.badge-seo{top:8%; left:-8%;}
.badge-secure{bottom:10%; right:-6%; animation-delay:.6s;}
.badge-responsive{bottom:38%; left:-10%; animation-delay:1.2s;}
@keyframes floaty{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-14px);}
}

/* Logo strip */
.logo-strip{
  background:#f8fafd;
  padding:26px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.logo-strip p{
  font-size:.72rem;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
}
.logo-track{
  display:flex;
  gap:60px;
  width:max-content;
  animation:scroll-left 22s linear infinite;
}
.logo-track span{
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:1.15rem;
  color:#aab6c6;
  white-space:nowrap;
}
@keyframes scroll-left{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* Section heading */
.section-pad{padding:90px 0;}
.section-head{max-width:680px; margin:0 auto 56px; text-align:center;}
.section-head h2{
  font-size:2.2rem;
  font-weight:800;
}
.section-head p{color:var(--muted); font-size:1.05rem; margin-top:14px;}

/* Feature cards */
.feature-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px 28px;
  height:100%;
  transition:.3s ease;
}
.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 45px rgba(15,27,45,.09);
  border-color:transparent;
}
.icon-box{
  width:54px;height:54px;
  border-radius:14px;
  background:var(--primary-light);
  color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  margin-bottom:20px;
  transition:.3s;
}
.feature-card:hover .icon-box{
  background:var(--orange);
  color:#fff;
}
.feature-card h5{font-weight:700; margin-bottom:10px;}
.feature-card p{color:var(--muted); font-size:.92rem; margin-bottom:0;}

/* Services */
.service-card{
  display:flex;
  gap:18px;
  padding:26px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  transition:.3s;
  height:100%;
  background:#fff;
}
.service-card:hover{
  background:var(--primary-light);
  border-color:var(--primary-light);
}
.service-card .icon-box{margin-bottom:0; flex-shrink:0;}
.service-card h6{font-weight:700; margin-bottom:6px;}
.service-card p{font-size:.86rem; color:var(--muted); margin-bottom:0;}

/* Process */
.process-wrap{position:relative;}
.process-line{
  position:absolute;
  top:34px; left:0; right:0;
  height:2px;
  background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
  z-index:0;
}
.process-step{
  text-align:center;
  position:relative;
  z-index:1;
}
.process-num{
  width:68px;height:68px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--primary);
  color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;
  font-family:'Sora',sans-serif;
  font-size:1.3rem;
  margin:0 auto 18px;
  transition:.3s;
}
.process-step:hover .process-num{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
  transform:scale(1.1);
}
.process-step h6{font-weight:700; margin-bottom:6px; font-size:.95rem;}
.process-step p{font-size:.8rem; color:var(--muted);}

/* Included section */
.included-section{
  background:var(--primary-light);
}
.check-list{list-style:none; padding:0; margin:0;}
.check-list li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 0;
  font-weight:600;
  font-size:.95rem;
}
.check-list li i{
  color:var(--primary);
  background:#fff;
  width:26px;height:26px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;
  flex-shrink:0;
}
.included-img{
  position:relative;
}
.included-img img{
  border-radius:20px;
  box-shadow:0 25px 50px rgba(15,27,45,.15);
}

/* AMC dark section */
.amc-section{
  background:radial-gradient(1200px 600px at 20% 0%, var(--dark-bg-2) 0%, var(--dark-bg) 55%);
  color:#fff;
  padding:90px 0;
}
.amc-section .section-head p{color:#a9b7cd;}
.amc-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:22px 18px;
  text-align:center;
  transition:.3s;
  height:100%;
}
.amc-card:hover{
  background:rgba(255,122,47,.12);
  border-color:var(--orange);
  transform:translateY(-6px);
}
.amc-card i{
  font-size:1.6rem;
  color:var(--orange);
  margin-bottom:12px;
  display:block;
}
.amc-card span{font-weight:600; font-size:.85rem;}

/* Portfolio */
.portfolio-card{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  transition:.3s;
  background:#fff;
  height:100%;
}
.portfolio-card:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 50px rgba(15,27,45,.12);
}
.portfolio-img{
  height:210px;
  overflow:hidden;
  position:relative;
}
.portfolio-img img{
  width:100%;height:100%;object-fit:cover;
  transition:.5s;
}
.portfolio-card:hover .portfolio-img img{transform:scale(1.08);}
.tag-pill{
  position:absolute;
  top:14px;left:14px;
  background:#fff;
  color:var(--primary);
  font-size:.7rem;
  font-weight:700;
  padding:5px 12px;
  border-radius:50px;
}
.portfolio-body{padding:20px 22px;}
.portfolio-body h6{font-weight:700; margin-bottom:6px;}
.portfolio-body p{font-size:.85rem; color:var(--muted); margin-bottom:0;}

/* Stats band */
.stats-band{
  background:var(--ink);
  color:#fff;
  border-radius:24px;
  padding:56px 40px;
  margin:0 auto;
}
.stats-band .stat-num{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:2.6rem;
  color:var(--orange);
}
.stats-band .stat-label{
  font-size:.85rem;
  color:#c4cedd;
  font-weight:600;
}

/* Testimonial */
.testimonial-card{
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  padding:48px;
  max-width:780px;
  margin:0 auto;
  box-shadow:0 25px 60px rgba(15,27,45,.08);
  position:relative;
}
.testimonial-card i.quote-icon{
  font-size:2.4rem;
  color:var(--primary-light);
  -webkit-text-stroke:1px var(--primary);
}
.testimonial-card p.quote{
  font-size:1.15rem;
  font-weight:600;
  line-height:1.6;
  margin:18px 0 26px;
}
.avatar-circle{
  width:52px;height:52px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;
  font-family:'Sora',sans-serif;
}
.stars i{color:var(--orange); font-size:.85rem;}

/* FAQ */
.accordion-button{
  font-weight:700;
  font-size:1rem;
  color:var(--ink);
  background:#fff;
  padding:22px 10px;
}
.accordion-button:not(.collapsed){
  color:var(--primary);
  background:#fff;
  box-shadow:none;
}
.accordion-button:focus{box-shadow:none;}
.accordion-button::after{
  background-size:1.1rem;
}
.accordion-item{
  border:none;
  border-bottom:1px solid var(--line);
}
.accordion-body{
  color:var(--muted);
  padding:0 10px 22px;
}

/* CTA banner */
.cta-banner{
  background:linear-gradient(120deg, var(--primary) 0%, #6a4cf0 100%);
  border-radius:28px;
  padding:64px 40px;
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-banner::before{
  content:"";
  position:absolute;
  width:400px;height:400px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  top:-150px; left:-100px;
}
.cta-banner h2{font-weight:800; font-size:2.1rem;}

/* Contact form */
.contact-form-wrap{
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  box-shadow:0 25px 60px rgba(15,27,45,.08);
  padding:44px;
}
.form-control, .form-select{
  border-radius:10px;
  border:1px solid var(--line);
  padding:12px 16px;
  font-size:.92rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(44,140,244,.15);
}
.contact-info-card{
  background:var(--ink);
  color:#fff;
  border-radius:24px;
  padding:40px;
  height:100%;
}
.contact-info-card .info-item{
  display:flex;
  gap:16px;
  margin-bottom:26px;
  align-items:flex-start;
}
.contact-info-card .info-item i{
  width:42px;height:42px;
  background:rgba(255,122,47,.15);
  color:var(--orange);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* Footer */
footer{
  background:var(--dark-bg);
  color:#c4cedd;
  padding:70px 0 24px;
}
footer h6{color:#fff; font-weight:700; margin-bottom:20px;}
footer a{color:#a9b7cd; display:block; margin-bottom:10px; font-size:.9rem; transition:.2s;}
footer a:hover{color:var(--orange);}
.footer-brand{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.4rem;
  color:#fff;
}
.social-circle{
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:.25s;
}
.social-circle:hover{background:var(--orange); transform:translateY(-4px);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:40px;
  padding-top:22px;
  font-size:.82rem;
  color:#7f8ea3;
}

@media (max-width:991px){
  .hero h1{font-size:2.1rem;}
  .float-badge{display:none;}
  .section-pad{padding:60px 0;}
}

/* Floating WhatsApp */
.whatsapp-float{
  position:fixed;
  bottom:90px; right:22px;
  width:56px;height:56px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
  box-shadow:0 10px 25px rgba(37,211,102,.45);
  z-index:1050;
  animation:floaty 3s ease-in-out infinite;
}
.whatsapp-float:hover{color:#fff; transform:scale(1.08);}

/* Mobile sticky bottom bar */
.mobile-cta-bar{
  position:fixed;
  bottom:0; left:0; right:0;
  background:#fff;
  box-shadow:0 -8px 25px rgba(15,27,45,.12);
  padding:12px 16px;
  display:none;
  gap:10px;
  z-index:1040;
}
@media (max-width:767px){
  .mobile-cta-bar{display:flex;}
  .whatsapp-float{bottom:80px; right:16px; width:50px;height:50px; font-size:1.4rem;}
  body{padding-bottom:70px;}
}
.mobile-cta-bar a{flex:1; text-align:center; border-radius:50px; padding:12px 10px; font-weight:700; font-size:.88rem;}
