:root{
  --brand-blue:#0b4a8b;
  --brand-blue-2:#0d6efd;
  --brand-blue-3:#2d7ff9;
  --brand-navy:#0f172a;
  --brand-text:#1e293b;
  --brand-muted:#64748b;
  --brand-light:#f8fafc;
  --brand-border:#dbe5f0;
  --brand-white:#ffffff;

  --shadow-soft:0 12px 35px rgba(15,23,42,.08);
  --shadow-medium:0 22px 50px rgba(15,23,42,.12);
  --shadow-blue:0 12px 24px rgba(13,110,253,.22);

  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:14px;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  background:var(--brand-light);
  color:var(--brand-text);
  overflow-x:hidden;
}

a{
  text-decoration:none;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

.hero-z{
  position:relative;
  z-index:2;
}

.body-copy-muted{
  color:var(--brand-muted);
  line-height:1.85;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes reviewTicker{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

/* =========================
   NAVBAR
========================= */
.navbar{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  box-shadow:0 6px 20px rgba(15,23,42,.06);
  padding:.9rem 0;
}

.navbar-brand img{
  height:44px;
  width:auto;
}

.nav-link{
  color:var(--brand-text);
  font-weight:600;
  margin:0 .25rem;
}

.nav-link:hover,
.nav-link:focus{
  color:var(--brand-blue);
}

/* =========================
   BUTTONS
========================= */
.btn-main{
  background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-2));
  border:none;
  color:#fff;
  border-radius:var(--radius-sm);
  padding:.85rem 1.25rem;
  font-weight:700;
  box-shadow:var(--shadow-blue);
  transition:.25s ease;
}

.btn-main:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(13,110,253,.28);
}

.btn-light-hero{
  background:#fff;
  color:var(--brand-navy);
  border:none;
  border-radius:var(--radius-sm);
  padding:.9rem 1.3rem;
  font-weight:700;
  transition:.25s ease;
}

.btn-light-hero:hover{
  background:#f3f7fc;
  color:var(--brand-navy);
  transform:translateY(-2px);
}

.btn-outline-hero{
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius-sm);
  padding:.9rem 1.3rem;
  font-weight:700;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}

.btn-outline-hero:hover{
  color:#fff;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.55);
  transform:translateY(-2px);
}

.btn-outline-cta{
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius-sm);
  padding:.9rem 1.3rem;
  font-weight:700;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}

.btn-outline-cta:hover{
  color:#fff;
  background:rgba(255,255,255,.12);
}

/* =========================
   GLOBAL SECTIONS
========================= */
.section{
  padding:90px 0;
}

.section-title{
  font-size:clamp(1.9rem, 2.8vw, 2.5rem);
  font-weight:800;
  color:var(--brand-navy);
  margin-bottom:1rem;
  letter-spacing:-.02em;
}

.section-subtitle{
  max-width:760px;
  margin:0 auto;
  color:var(--brand-muted);
  font-size:1.05rem;
  line-height:1.8;
}

/* =========================
   HERO / PRIMARY BAND
========================= */
.hero,
.brands-hero-style,
.reviews-hero-style{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 10% 100%, rgba(255,255,255,.10), transparent 18%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(135deg, #0b4a8b 0%, #0d6efd 100%);
}

.hero::before,
.brands-hero-style::before,
.reviews-hero-style::before{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  top:-180px;
  right:-120px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}

.hero::after,
.brands-hero-style::after,
.reviews-hero-style::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  left:-120px;
  bottom:-120px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.hero{
  padding:150px 0 110px;
}

.hero .container{
  text-align:center;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  border-radius:999px;
  padding:.65rem 1rem;
  font-weight:700;
  font-size:.95rem;
  backdrop-filter:blur(10px);
  margin-bottom:1.25rem;
  margin-left:auto;
  margin-right:auto;
  animation:fadeUp .6s ease forwards;
}

.hero h1{
  font-size:clamp(2.5rem, 5vw, 4.6rem);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.04em;
  margin-bottom:12px;
  text-align:center;
  animation:fadeUp .8s ease forwards;
}

.hero p{
  color:rgba(255,255,255,.90);
  font-size:1.12rem;
  line-height:1.85;
  max-width:720px;
  margin:15px auto 0;
  text-align:center;
  animation:fadeUp 1s ease forwards;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
  margin-top:1.5rem;
}

.hero-actions .btn{
  min-width:180px;
}

.hero-image-wrap{
  position:relative;
  max-width:570px;
  margin-left:auto;
  padding:12px;
  border-radius:28px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px);
  box-shadow:0 28px 70px rgba(0,0,0,.20);
}

.hero-image-wrap img{
  width:100%;
  border-radius:22px;
  object-fit:cover;
}

/* text on blue sections */
.brands-hero-style .section-title,
.reviews-hero-style .section-title{
  color:#fff;
}

.brands-hero-style .section-subtitle,
.reviews-hero-style .section-subtitle{
  color:rgba(255,255,255,.78);
}

/* =========================
   GLASS / PANELS
========================= */
.glass-card{
  position:relative;
  height:100%;
  padding:1.75rem;
  border-radius:24px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
  transition:.28s ease;
  overflow:hidden;
}

.glass-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.04));
  pointer-events:none;
}

.glass-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 55px rgba(15,23,42,.12);
}

.soft-panel{
  background:#fff;
  border:1px solid var(--brand-border);
  border-radius:28px;
  padding:2.25rem;
  box-shadow:var(--shadow-soft);
}

/* =========================
   SERVICES
========================= */
.services-area{
  position:relative;
  background:
    radial-gradient(circle at 0% 0%, rgba(13,110,253,.06), transparent 18%),
    radial-gradient(circle at 100% 100%, rgba(11,74,139,.05), transparent 18%);
}

.service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.58));
}

.service-icon{
  width:66px;
  height:66px;
  border-radius:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.55rem;
  color:#fff;
  background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-3));
  box-shadow:0 16px 28px rgba(13,110,253,.25);
  margin-bottom:1.2rem;
  position:relative;
  z-index:1;
}

.service-card h5{
  position:relative;
  z-index:1;
  font-weight:800;
  color:var(--brand-navy);
  margin-bottom:.75rem;
  font-size:1.18rem;
}

.service-card p{
  position:relative;
  z-index:1;
  margin-bottom:0;
  color:var(--brand-muted);
  line-height:1.75;
}

.service-link{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:1rem;
  font-weight:700;
  color:var(--brand-blue);
}

.service-link:hover{
  color:#083c70;
}

.service-list{
  display:grid;
  gap:.85rem;
}

.service-list-item{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  color:var(--brand-text);
  font-weight:600;
  line-height:1.6;
}

.service-list-item i{
  color:var(--brand-blue);
  margin-top:.15rem;
}

/* =========================
   BRANDS
========================= */
.brands-section{
  background:#fff;
}

.brand-card{
  padding:1.7rem;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--brand-border);
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
  height:100%;
}

.brand-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-medium);
}

.brand-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  color:var(--brand-blue);
  background:linear-gradient(135deg, rgba(11,74,139,.10), rgba(13,110,253,.12));
  margin-bottom:1rem;
}

.brands-hero-style .brand-card{
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
}

.brands-hero-style .brand-icon{
  background:linear-gradient(135deg, rgba(11,74,139,.15), rgba(13,110,253,.18));
}

.brand-card h5,
.brand-card-premium h5{
  font-weight:800;
  color:var(--brand-navy);
  margin-bottom:.7rem;
}

.brand-card p,
.brand-card-premium p{
  color:var(--brand-muted);
  line-height:1.72;
  margin-bottom:1rem;
}

.brand-link{
  font-weight:700;
  color:var(--brand-blue);
}

.brand-link:hover{
  color:#083c70;
}

.brand-card-premium{
  position:relative;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.5);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.brand-card-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,0));
  pointer-events:none;
}

.brand-card-premium:hover{
  transform:translateY(-10px);
  box-shadow:0 28px 60px rgba(15,23,42,.18);
  border-color:rgba(255,255,255,.85);
}

.brand-logo-wrap{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:1.1rem;
}

.brand-logo-img{
  max-height:56px;
  max-width:100%;
  width:auto;
  object-fit:contain;
  transition:transform .28s ease, filter .28s ease;
}

.brand-card-premium:hover .brand-logo-img{
  transform:scale(1.04);
  filter:drop-shadow(0 8px 18px rgba(13,110,253,.18));
}

.brand-card-premium .brand-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:800;
  color:var(--brand-blue);
  transition:gap .22s ease, color .22s ease;
}

.brand-card-premium:hover .brand-link{
  gap:.7rem;
}

.brand-card-premium .brand-link:hover{
  color:#083c70;
}

.brands-hero-style .row > div:nth-child(1) .brand-card-premium:hover{
  box-shadow:0 28px 60px rgba(14,165,233,.18);
}

.brands-hero-style .row > div:nth-child(2) .brand-card-premium:hover{
  box-shadow:0 28px 60px rgba(59,130,246,.20);
}

.brands-hero-style .row > div:nth-child(3) .brand-card-premium:hover{
  box-shadow:0 28px 60px rgba(34,197,94,.18);
}

.brands-hero-style .row > div:nth-child(4) .brand-card-premium:hover{
  box-shadow:0 28px 60px rgba(168,85,247,.18);
}

/* =========================
   INDUSTRIES
========================= */
.industries-section{
  background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.industry-card{
  height:100%;
  background:#fff;
  border:1px solid var(--brand-border);
  border-radius:22px;
  padding:1.6rem;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.industry-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-medium);
}

.industry-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  color:var(--brand-blue);
  background:linear-gradient(135deg, rgba(11,74,139,.10), rgba(13,110,253,.12));
  margin-bottom:1rem;
}

.industry-card h5{
  font-weight:800;
  color:var(--brand-navy);
  margin-bottom:.7rem;
}

.industry-card p{
  color:var(--brand-muted);
  line-height:1.72;
  margin-bottom:0;
}

/* =========================
   REVIEWS
========================= */
.reviews-section{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  overflow:hidden;
}

.reviews-ticker-wrap{
  position:relative;
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.reviews-ticker{
  display:flex;
  gap:1.25rem;
  width:max-content;
  animation:reviewTicker 45s linear infinite;
}

.reviews-ticker-wrap:hover .reviews-ticker{
  animation-play-state:paused;
}

.review-card{
  width:360px;
  min-height:220px;
  flex:0 0 auto;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.6);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:24px;
  padding:1.5rem;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.review-stars{
  color:#f4b400;
  display:flex;
  gap:.2rem;
  margin-bottom:1rem;
  font-size:1rem;
}

.review-card p{
  color:var(--brand-muted);
  line-height:1.8;
  margin-bottom:1rem;
}

.review-author{
  font-weight:800;
  color:var(--brand-navy);
}

.reviews-hero-style .review-card{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}

.reviews-hero-style .btn-main{
  background:#fff;
  color:#0b4a8b;
}

.reviews-hero-style .btn-main:hover{
  background:#f1f5ff;
  color:#0b4a8b;
}

.reviews-panel{
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 24px 60px rgba(15,23,42,.14);
  overflow:hidden;
}

.reviews-panel .elfsight-app-6aaebf35-fd14-44ca-be03-5a6fa50112ad{
  width:100%;
}

.reviews-hero-style .btn-light-hero{
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

/* =========================
   ABOUT
========================= */
.about-shell{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.about-cta-card{
  padding:1.7rem;
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff, #f8fbff);
  border:1px solid var(--brand-border);
  box-shadow:var(--shadow-soft);
}

.about-cta-card h5{
  font-weight:800;
  color:var(--brand-navy);
  margin-bottom:.7rem;
}

.about-cta-card p{
  color:var(--brand-muted);
  line-height:1.75;
  margin-bottom:1rem;
}

/* =========================
   CTA
========================= */
.cta{
  padding:3rem;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 22%),
    linear-gradient(135deg, #0f172a 0%, #153764 100%);
  color:#fff;
  box-shadow:var(--shadow-medium);
}

.cta h2{
  font-weight:800;
  margin-bottom:.8rem;
}

.cta p{
  color:rgba(255,255,255,.82);
  max-width:760px;
  margin:0 auto 1.5rem;
  line-height:1.8;
}

/* =========================
   CONTACT
========================= */
.contact-label{
  font-weight:700;
  color:var(--brand-navy);
  margin-bottom:.45rem;
}

.contact-input{
  border:1px solid var(--brand-border);
  border-radius:16px;
  padding:.9rem 1rem;
  color:var(--brand-text);
  box-shadow:none;
}

.contact-input:focus{
  border-color:rgba(13,110,253,.45);
  box-shadow:0 0 0 .2rem rgba(13,110,253,.12);
}

.contact-textarea{
  min-height:160px;
  resize:vertical;
}

.captcha-box{
  display:inline-block;
  padding:.8rem 1rem;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(11,74,139,.10), rgba(13,110,253,.12));
  color:var(--brand-navy);
  font-weight:800;
  border:1px solid var(--brand-border);
}

.map-card{
  border-radius:24px;
  background:linear-gradient(135deg, rgba(11,74,139,.08), rgba(13,110,253,.12));
  border:1px solid var(--brand-border);
  padding:1.4rem;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
  color:inherit;
}

.map-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-medium);
  color:inherit;
}

.map-card-inner{
  display:flex;
  align-items:center;
  gap:1rem;
}

.map-icon-wrap{
  width:64px;
  height:64px;
  border-radius:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-2));
  color:#fff;
  font-size:1.4rem;
  box-shadow:0 14px 28px rgba(13,110,253,.24);
  flex-shrink:0;
}

.map-card h5{
  color:var(--brand-navy);
  font-weight:800;
}

.map-card p{
  color:var(--brand-muted);
  line-height:1.7;
}

.contact-info-stack{
  display:grid;
  gap:1rem;
}

.contact-info-row{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:1rem;
  border:1px solid var(--brand-border);
  border-radius:18px;
  background:#fff;
}

.contact-mini-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(11,74,139,.10), rgba(13,110,253,.12));
  color:var(--brand-blue);
  font-size:1.05rem;
  flex-shrink:0;
}

.contact-info-row strong{
  color:var(--brand-navy);
}

.contact-info-row a{
  color:var(--brand-blue);
  font-weight:600;
}

.contact-info-row a:hover{
  color:#083c70;
}

/* =========================
   FOOTER
========================= */
.footer{
  background:var(--brand-navy);
  color:rgba(255,255,255,.82);
  padding:30px 0;
  margin-top:90px;
}

.footer a{
  color:rgba(255,255,255,.88);
}

.footer a:hover{
  color:#fff;
}

/* =========================
   WHATSAPP FLOAT
========================= */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  color:#fff;
  font-size:1.55rem;
  box-shadow:0 18px 38px rgba(37,211,102,.34);
  z-index:1100;
  transition:.25s ease;
}

.whatsapp-float:hover{
  color:#fff;
  transform:translateY(-3px);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 991.98px){
  .hero{
    padding:130px 0 90px;
  }

  .hero-image-wrap{
    margin:2.3rem auto 0;
  }

  .cta{
    padding:2.3rem;
  }
}

@media (max-width: 767.98px){
  .hero-actions{
    justify-content:center;
  }

  .review-card{
    width:300px;
    min-height:240px;
  }

  .reviews-ticker{
    animation-duration:35s;
  }
}

@media (max-width: 575.98px){
  .navbar-brand img{
    height:38px;
  }

  .section{
    padding:72px 0;
  }

  .glass-card,
  .brand-card,
  .industry-card{
    padding:1.45rem;
  }

  .soft-panel,
  .cta{
    padding:1.6rem;
  }

  .brand-logo-wrap{
    height:64px;
    margin-bottom:.95rem;
  }

  .brand-logo-img{
    max-height:48px;
  }
}

@media (max-width: 480px){
  .hero-actions{
    flex-direction:column;
    align-items:center;
  }

  .hero-actions .btn{
    width:100%;
    max-width:280px;
  }
}
/* =========================
   HERO BACKGROUND (SHARED)
   ========================= */

.hero,
.brands-hero-style,
.reviews-hero-style {
  position: relative;
  background:
    radial-gradient(circle at 10% 100%, rgba(255,255,255,.10), transparent 18%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(135deg, #0b4a8b 0%, #0d6efd 100%);
  color: #fff;
  overflow: hidden;
}

/* Ensure text is readable */
.brands-hero-style .section-title,
.reviews-hero-style .section-title,
.brands-hero-style .section-subtitle,
.reviews-hero-style .section-subtitle {
  color: #fff;
}

/* Badge consistency */
.brands-hero-style .hero-badge,
.reviews-hero-style .hero-badge {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
}

/* Cards inside blue sections */
.brands-hero-style .brand-card,
.reviews-hero-style .soft-panel {
  background: rgba(255,255,255,0.95);
  color: #1e293b;
}

/* Optional: smoother transition between sections */
.brands-section,
.reviews-section {
  padding-top: 80px;
  padding-bottom: 80px;
}