/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root{
  --color-primary:#FDD402;
  --color-primary-rgb:253,212,2;
  --color-secondary:#00296B;
  --color-secondary-rgb:0,41,107;
  --color-tertiary:#EC1A23;
  --color-tertiary-rgb:236,26,35;

  --color-heading:#F5F7FA;
  --color-body:#AEB6CC;
  --color-muted:#7C86A3;

  --bg-body:#05070E;
  --bg-body-alt:#080B16;
  --bg-card:rgba(255,255,255,0.035);
  --bg-card-hover:rgba(255,255,255,0.06);
  --bg-glass:rgba(10,14,26,0.55);
  --border-soft:rgba(255,255,255,0.09);

  --gradient-primary:linear-gradient(120deg,#FDD402 0%,#EC1A23 100%);
  --gradient-radial:radial-gradient(circle,rgba(var(--color-primary-rgb),.35) 0%,rgba(var(--color-primary-rgb),0) 70%);
  --gradient-navy:linear-gradient(180deg,#050712 0%,#0A1330 100%);

  --font-heading:'Space Grotesk',sans-serif;
  --font-body:'Poppins',sans-serif;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;

  --shadow:0 20px 60px rgba(0,0,0,.45);
  --shadow-glow:0 0 60px rgba(var(--color-primary-rgb),.15);

  --transition:.4s cubic-bezier(.16,.84,.44,1);
  --transition-fast:.22s ease;
}

/* ==========================================================================
   2. RESET / BASE
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-body);
  color:var(--color-body);
  font-family:var(--font-body);
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  color:var(--color-heading);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0;
}
p{margin:0;}
a{color:inherit;text-decoration:none;transition:var(--transition-fast);}
ul{margin:0;padding:0;list-style:none;}
img{max-width:100%;display:block;}
button{font-family:var(--font-body);cursor:pointer;}
::selection{background:var(--color-primary);color:#0A0A0A;}

.container-xl{max-width:1320px;margin:0 auto;padding:0 24px;}

/* focus visibility for accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
  border-radius:6px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ==========================================================================
   3. UTILITIES
   ========================================================================== */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-heading);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-primary);
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';
  width:8px;height:8px;border-radius:50%;
  background:var(--gradient-primary);
  box-shadow:0 0 12px rgba(var(--color-primary-rgb),.8);
}
.section-head{max-width:640px;margin-bottom:64px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-title{font-size:clamp(2rem,4vw,2.9rem);}
.section-sub{margin-top:16px;color:var(--color-body);font-size:1.05rem;}
.text-gradient{
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
section{position:relative;padding:120px 0;}
@media (max-width:768px){section{padding:80px 0;}}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}

/* glass card base */
.glass{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

/* floating glow blobs */
.glow-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  pointer-events:none;
  z-index:0;
  opacity:.55;
}

/* equalizer signature mark — Brand Jam's recurring motif */
.eq-mark{display:inline-flex;align-items:flex-end;gap:3px;height:22px;}
.eq-mark span{width:4px;border-radius:2px;background:var(--gradient-primary);animation:eqbeat 1.1s ease-in-out infinite;}
.eq-mark span:nth-child(1){height:40%;animation-delay:0s;}
.eq-mark span:nth-child(2){height:100%;animation-delay:.15s;}
.eq-mark span:nth-child(3){height:65%;animation-delay:.3s;}
.eq-mark span:nth-child(4){height:85%;animation-delay:.45s;}
@keyframes eqbeat{0%,100%{transform:scaleY(.4);}50%{transform:scaleY(1);}}

/* ==========================================================================
   4. BUTTONS
   ========================================================================== */
.btn-jam{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.95rem;
  padding:15px 30px;
  border-radius:100px;
  border:1px solid transparent;
  transition:var(--transition);
  overflow:hidden;
  white-space:nowrap;
  isolation:isolate;
}
.btn-jam-primary{
  background:var(--gradient-primary);
  color:#100800;
  box-shadow:0 10px 30px rgba(var(--color-primary-rgb),.25);
}
.btn-jam-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(var(--color-primary-rgb),.4);
  color:#100800;
}
.btn-jam-secondary{
  background:rgba(255,255,255,.04);
  color:var(--color-heading);
  border-color:var(--border-soft);
  backdrop-filter:blur(10px);
}
.btn-jam-secondary:hover{
  border-color:rgba(var(--color-primary-rgb),.5);
  transform:translateY(-3px);
  color:var(--color-heading);
  background:rgba(255,255,255,.08);
}
.btn-jam-ghost{
  background:transparent;color:var(--color-heading);
  border-color:transparent;
  padding:15px 8px;
}
.btn-jam-ghost:hover{color:var(--color-primary);}
.btn-jam-ghost i{transition:transform var(--transition-fast);}
.btn-jam-ghost:hover i{transform:translateX(5px);}
.btn-jam .ripple{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.5);
  transform:scale(0);
  animation:ripple .6s linear;
  pointer-events:none;
}
@keyframes ripple{to{transform:scale(3);opacity:0;}}
.btn-sm-jam{padding:11px 22px;font-size:.85rem;}
.btn-block-jam{width:100%;}

/* ==========================================================================
   5. HEADER
   ========================================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:22px 0;
  transition:var(--transition);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  padding:14px 0;
  background:var(--bg-glass);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-soft);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand-logo{display:flex;align-items:center;gap:12px;font-family:var(--font-heading);font-weight:700;font-size:1.3rem;color:var(--color-heading);}
.brand-logo .logo-badge{
  width:42px;height:42px;border-radius:12px;
  background:var(--gradient-navy);
  border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;
}

.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav>ul{display:flex;align-items:center;gap:4px;}
.main-nav a.nav-link-jam{
  padding:10px 16px;border-radius:100px;
  font-family:var(--font-heading);
  font-size:.92rem;font-weight:500;
  color:var(--color-body);
  display:flex;align-items:center;gap:6px;
}
.main-nav a.nav-link-jam:hover,.main-nav a.nav-link-jam:focus-visible{color:var(--color-heading);background:rgba(255,255,255,.06);}

.nav-item-dropdown{position:relative;}
.dropdown-panel{
  position:absolute;top:calc(100% + 12px);left:0;
  min-width:240px;
  padding:10px;
  opacity:0;visibility:hidden;
  transform:translateY(8px);
  transition:var(--transition-fast);
  z-index:20;
}
.nav-item-dropdown:hover .dropdown-panel,
.nav-item-dropdown:focus-within .dropdown-panel{
  opacity:1;visibility:visible;transform:translateY(0);
}
.dropdown-panel a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:10px;
  font-size:.88rem;color:var(--color-body);
}
.dropdown-panel a:hover{background:rgba(255,255,255,.06);color:var(--color-primary);}
.dropdown-panel a i{color:var(--color-primary);width:16px;}

.header-actions{display:flex;align-items:center;gap:10px;}
.icon-btn{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-soft);
  color:var(--color-heading);
  transition:var(--transition-fast);
}
.icon-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(var(--color-primary-rgb),.4);color:var(--color-primary);}

.search-panel{
  position:fixed;inset:0;z-index:1200;
  background:rgba(3,4,10,.85);
  backdrop-filter:blur(10px);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:14vh;
  opacity:0;visibility:hidden;transition:var(--transition);
}
.search-panel.is-open{opacity:1;visibility:visible;}
.search-panel-inner{width:100%;max-width:640px;padding:0 20px;}
.search-panel input{
  width:100%;padding:20px 24px;border-radius:100px;
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.06);
  color:var(--color-heading);font-size:1.1rem;
}
.search-panel input::placeholder{color:var(--color-muted);}
.search-close{margin:20px auto 0;display:block;color:var(--color-body);text-align:center;}

.mobile-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--border-soft);background:rgba(255,255,255,.04);align-items:center;justify-content:center;color:var(--color-heading);}
.mobile-toggle span{display:block;width:18px;height:2px;background:currentColor;position:relative;}
.mobile-toggle span::before,.mobile-toggle span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:var(--transition-fast);}
.mobile-toggle span::before{top:-6px;}
.mobile-toggle span::after{top:6px;}
.mobile-toggle.is-active span{background:transparent;}
.mobile-toggle.is-active span::before{top:0;transform:rotate(45deg);}
.mobile-toggle.is-active span::after{top:0;transform:rotate(-45deg);}

.mobile-nav{
  position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);
  background:var(--bg-body-alt);
  border-left:1px solid var(--border-soft);
  z-index:1100;
  padding:100px 28px 40px;
  transform:translateX(100%);
  transition:var(--transition);
  overflow-y:auto;
}
.mobile-nav.is-open{transform:translateX(0);}
.mobile-nav ul{display:flex;flex-direction:column;gap:6px;}
.mobile-nav a{display:block;padding:14px 4px;font-family:var(--font-heading);font-size:1.1rem;border-bottom:1px solid var(--border-soft);color:var(--color-heading);}
.mobile-nav .btn-jam{margin-top:24px;}
.nav-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1050;opacity:0;visibility:hidden;transition:var(--transition-fast);}
.nav-scrim.is-open{opacity:1;visibility:visible;}

@media (max-width:991px){
  .main-nav{display:none;}
  .mobile-toggle{display:flex;}
  .header-actions .icon-btn.d-search{display:none;}
}

/* ==========================================================================
   6. HERO
   ========================================================================== */
.hero{
  padding:200px 0 100px;
  position:relative;
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;background:var(--gradient-navy);}
.hero-bg .glow-blob.g1{width:520px;height:520px;background:var(--color-primary);top:-160px;right:-120px;}
.hero-bg .glow-blob.g2{width:460px;height:460px;background:var(--color-tertiary);bottom:-180px;left:-140px;opacity:.35;}
.hero-bg .grid-overlay{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 50% 0%,black 0%,transparent 70%);
}
.hero-content{position:relative;z-index:2;}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 18px 8px 8px;border-radius:100px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border-soft);
  font-size:.85rem;color:var(--color-body);
  margin-bottom:28px;
}
.hero-badge .pill{
  background:var(--gradient-primary);color:#100800;
  font-weight:700;font-size:.72rem;letter-spacing:.05em;
  padding:4px 10px;border-radius:100px;text-transform:uppercase;
}
.hero-title{
  font-size:clamp(2.6rem,6vw,4.6rem);
  max-width:920px;
}
.hero-lede{
  max-width:560px;margin-top:26px;
  font-size:1.15rem;color:var(--color-body);
}
.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:38px;}
.hero-trust{display:flex;flex-wrap:wrap;gap:28px;margin-top:56px;}
.hero-trust-item{display:flex;align-items:center;gap:10px;color:var(--color-muted);font-size:.85rem;}
.hero-trust-item i{color:var(--color-primary);}

/* hero form card */
.hero-form-card{
  padding:38px 34px;
  position:relative;z-index:2;
  box-shadow:var(--shadow);
}
.hero-form-card .form-eq{position:absolute;top:24px;right:28px;}
.hero-form-card h3{font-size:1.35rem;margin-bottom:6px;}
.hero-form-card p.sub{color:var(--color-muted);font-size:.9rem;margin-bottom:26px;}
.jam-field{margin-bottom:16px;position:relative;}
.jam-field label{display:block;font-size:.8rem;color:var(--color-muted);margin-bottom:7px;font-weight:500;}
.jam-field input,.jam-field select,.jam-field textarea{
  width:100%;padding:13px 16px;border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-soft);
  color:var(--color-heading);font-family:var(--font-body);font-size:.92rem;
  transition:var(--transition-fast);
}
.jam-field input::placeholder,.jam-field textarea::placeholder{color:var(--color-muted);}
.jam-field input:focus,.jam-field select:focus,.jam-field textarea:focus{
  outline:none;border-color:var(--color-primary);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.14);
}
.jam-field.has-error input{border-color:var(--color-tertiary);}
.jam-field .error-msg{display:none;color:var(--color-tertiary);font-size:.76rem;margin-top:6px;}
.jam-field.has-error .error-msg{display:block;}
.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:.78rem;color:var(--color-muted);margin:14px 0 20px;}
.form-consent input{margin-top:3px;}

/* industries marquee */
.marquee-wrap{
  position:relative;z-index:2;margin-top:90px;
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
  padding:26px 0;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
}
.marquee-track{display:flex;width:max-content;gap:64px;animation:marquee 32s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{
  font-family:var(--font-heading);font-weight:500;font-size:1rem;
  color:var(--color-muted);white-space:nowrap;display:flex;align-items:center;gap:12px;
}
.marquee-track span i{color:var(--color-primary);font-size:.6rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ==========================================================================
   7. CLIENTS / STATS
   ========================================================================== */
.clients-strip{padding-top:70px;padding-bottom:60px;}
.clients-strip .label{font-size:.8rem;color:var(--color-muted);text-align:center;margin-bottom:40px;letter-spacing:.08em;text-transform:uppercase;}
.logo-row{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:32px;opacity:.75;}
.logo-row .logo-item{font-family:var(--font-heading);font-weight:600;font-size:1.3rem;color:var(--color-muted);letter-spacing:-.02em;transition:var(--transition-fast);}
.logo-row .logo-item:hover{color:var(--color-heading);}

.stats-grid{margin-top:80px;}
.stat-card{padding:34px 28px;text-align:center;height:100%;transition:var(--transition);}
.stat-card:hover{transform:translateY(-6px);background:var(--bg-card-hover);}
.stat-num{font-family:var(--font-heading);font-size:clamp(2.2rem,4vw,2.9rem);font-weight:700;color:var(--color-heading);}
.stat-num .suffix{color:var(--color-primary);}
.stat-label{margin-top:8px;color:var(--color-muted);font-size:.9rem;}

/* ==========================================================================
   8. SERVICES
   ========================================================================== */
.service-card{
  padding:38px 32px;height:100%;
  position:relative;overflow:hidden;
  transition:var(--transition);
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:var(--gradient-radial);
  opacity:0;transition:var(--transition);
  transform:scale(.6);
}
.service-card:hover{transform:translateY(-8px);border-color:rgba(var(--color-primary-rgb),.35);box-shadow:var(--shadow-glow);}
.service-card:hover::before{opacity:1;transform:scale(1);}
.service-card .num-tag{
  position:absolute;top:26px;right:30px;
  font-family:var(--font-heading);font-size:.78rem;color:var(--color-muted);
}
.service-icon{
  width:58px;height:58px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(var(--color-primary-rgb),.1);
  color:var(--color-primary);font-size:1.4rem;
  margin-bottom:24px;position:relative;z-index:1;
}
.service-card h3{font-size:1.28rem;margin-bottom:12px;position:relative;z-index:1;}
.service-card p{font-size:.92rem;color:var(--color-body);position:relative;z-index:1;margin-bottom:20px;}
.service-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:600;font-size:.86rem;color:var(--color-heading);position:relative;z-index:1;}
.service-link i{transition:transform var(--transition-fast);font-size:.78rem;}
.service-card:hover .service-link{color:var(--color-primary);}
.service-card:hover .service-link i{transform:translateX(5px);}

/* ==========================================================================
   9. WHY CHOOSE / COMPARISON
   ========================================================================== */
.why-visual{position:relative;padding:20px;}
.why-visual .glass{padding:34px;}
.compare-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-soft);}
.compare-row:last-child{border-bottom:none;}
.compare-row .label{color:var(--color-body);font-size:.92rem;}
.compare-row .agency-tick{color:var(--color-primary);font-size:1.1rem;}
.compare-row .others-tick{color:var(--color-muted);font-size:1.1rem;opacity:.5;}
.compare-head{display:flex;justify-content:space-between;margin-bottom:12px;}
.compare-head span{font-family:var(--font-heading);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);}
.compare-head span.us{color:var(--color-primary);}

.usp-list{display:flex;flex-direction:column;gap:26px;}
.usp-item{display:flex;gap:20px;}
.usp-badge{
  flex:none;width:52px;height:52px;border-radius:14px;
  background:var(--gradient-primary);color:#100800;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.usp-item h4{font-size:1.05rem;margin-bottom:6px;}
.usp-item p{font-size:.9rem;color:var(--color-body);}

/* ==========================================================================
   10. PROCESS TIMELINE (a real sequence — numbering earns its place)
   ========================================================================== */
.process-timeline{position:relative;}
.process-timeline::before{
  content:'';position:absolute;left:29px;top:10px;bottom:10px;width:2px;
  background:linear-gradient(180deg,var(--color-primary),var(--color-tertiary),transparent);
  opacity:.4;
}
@media(max-width:767px){.process-timeline::before{left:23px;}}
.process-step{display:flex;gap:28px;padding-bottom:52px;position:relative;}
.process-step:last-child{padding-bottom:0;}
.step-track{
  flex:none;width:60px;height:60px;border-radius:50%;
  background:var(--bg-body-alt);border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-weight:700;color:var(--color-primary);
  position:relative;z-index:1;
}
@media(max-width:767px){.step-track{width:48px;height:48px;font-size:.85rem;}}
.step-body{padding-top:6px;}
.step-body .track-tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px;display:block;}
.step-body h3{font-size:1.2rem;margin-bottom:8px;}
.step-body p{font-size:.92rem;color:var(--color-body);max-width:520px;}

/* ==========================================================================
   11. PORTFOLIO
   ========================================================================== */
.portfolio-card{position:relative;border-radius:var(--radius);overflow:hidden;height:420px;display:block;}
.portfolio-card .pf-media{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.16,.84,.44,1);}
.portfolio-card:hover .pf-media{transform:scale(1.08);}
.portfolio-card .pf-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,14,.1) 0%,rgba(5,7,14,.92) 100%);}
.portfolio-card .pf-content{position:absolute;left:0;right:0;bottom:0;padding:30px;transform:translateY(18px);opacity:.92;transition:var(--transition);}
.portfolio-card:hover .pf-content{transform:translateY(0);opacity:1;}
.pf-cat{display:inline-block;padding:5px 14px;border-radius:100px;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
.portfolio-card h3{font-size:1.3rem;margin-bottom:6px;}
.portfolio-card .pf-meta{font-size:.85rem;color:var(--color-body);display:flex;align-items:center;justify-content:space-between;}
.pf-view{width:44px;height:44px;border-radius:50%;background:var(--gradient-primary);color:#100800;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:var(--transition);}
.portfolio-card:hover .pf-view{opacity:1;transform:scale(1);}

/* ==========================================================================
   12. TESTIMONIALS
   ========================================================================== */
.testi-viewport{overflow:hidden;}
.testi-track{display:flex;transition:transform .6s cubic-bezier(.16,.84,.44,1);}
.testi-slide{flex:0 0 100%;padding:6px;}
.testi-card{padding:44px;max-width:760px;margin:0 auto;text-align:center;}
.testi-stars{color:var(--color-primary);font-size:1rem;margin-bottom:22px;letter-spacing:3px;}
.testi-quote{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-heading);font-weight:500;line-height:1.5;}
.testi-person{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px;}
.testi-avatar{width:52px;height:52px;border-radius:50%;background:var(--gradient-navy);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;color:var(--color-primary);}
.testi-person .name{font-family:var(--font-heading);color:var(--color-heading);font-size:.95rem;}
.testi-person .role{font-size:.8rem;color:var(--color-muted);}
.testi-nav{display:flex;justify-content:center;gap:14px;margin-top:36px;}
.testi-nav button{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid var(--border-soft);color:var(--color-heading);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);}
.testi-nav button:hover{background:var(--gradient-primary);color:#100800;border-color:transparent;}
.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:20px;}
.testi-dots button{width:8px;height:8px;border-radius:50%;background:var(--border-soft);border:none;padding:0;transition:var(--transition-fast);}
.testi-dots button.is-active{width:26px;border-radius:5px;background:var(--gradient-primary);}

/* ==========================================================================
   13. PRICING
   ========================================================================== */
.pricing-card{padding:40px 34px;height:100%;display:flex;flex-direction:column;position:relative;transition:var(--transition);}
.pricing-card:hover{transform:translateY(-6px);}
.pricing-card.is-featured{border:1px solid rgba(var(--color-primary-rgb),.5);box-shadow:var(--shadow-glow);background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.06),transparent 60%),var(--bg-card);}
.pricing-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gradient-primary);color:#100800;font-family:var(--font-heading);font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 18px;border-radius:100px;white-space:nowrap;}
.plan-name{font-size:1.1rem;color:var(--color-muted);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
.plan-price{font-family:var(--font-heading);font-size:2.6rem;font-weight:700;color:var(--color-heading);margin:14px 0 4px;}
.plan-price .cur{font-size:1.2rem;vertical-align:top;color:var(--color-muted);}
.plan-price .per{font-size:.9rem;color:var(--color-muted);font-weight:400;}
.plan-desc{font-size:.88rem;color:var(--color-body);margin-bottom:26px;}
.plan-features{display:flex;flex-direction:column;gap:14px;margin-bottom:30px;flex-grow:1;}
.plan-features li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--color-body);}
.plan-features li i{color:var(--color-primary);margin-top:3px;font-size:.85rem;}
.plan-features li.muted{opacity:.4;}
.plan-features li.muted i{color:var(--color-muted);}

/* ==========================================================================
   14. FAQ ACCORDION
   ========================================================================== */
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-item:first-child{border-top:1px solid var(--border-soft);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;
  padding:26px 6px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  color:var(--color-heading);font-family:var(--font-heading);font-size:1.05rem;font-weight:500;
}
.faq-q .plus{
  flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;color:var(--color-primary);
  transition:var(--transition);
}
.faq-item.is-open .faq-q .plus{transform:rotate(135deg);background:var(--gradient-primary);color:#100800;border-color:transparent;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.16,.84,.44,1);}
.faq-a-inner{padding:0 6px 26px;color:var(--color-body);font-size:.94rem;max-width:760px;}

/* ==========================================================================
   15. FINAL CTA
   ========================================================================== */
.final-cta{
  position:relative;overflow:hidden;
  border-radius:var(--radius-lg);
  padding:90px 40px;
  text-align:center;
  background:var(--gradient-navy);
  border:1px solid var(--border-soft);
}
.final-cta .glow-blob{width:480px;height:480px;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4;}
.final-cta h2{font-size:clamp(2rem,4.5vw,3.2rem);max-width:760px;margin:0 auto;position:relative;z-index:1;}
.final-cta p{max-width:560px;margin:20px auto 0;color:var(--color-body);position:relative;z-index:1;}
.final-cta .cta-row{position:relative;z-index:1;margin-top:38px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

/* ==========================================================================
   16. FOOTER
   ========================================================================== */
.site-footer{padding:100px 0 0;border-top:1px solid var(--border-soft);background:var(--bg-body-alt);}
.footer-top{padding-bottom:70px;}
.footer-about p{font-size:.92rem;color:var(--color-body);margin:20px 0 26px;max-width:320px;}
.footer-social{display:flex;gap:10px;}
.footer-heading{font-family:var(--font-heading);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-heading);margin-bottom:22px;}
.footer-links li{margin-bottom:13px;}
.footer-links a{font-size:.9rem;color:var(--color-body);}
.footer-links a:hover{color:var(--color-primary);}
.footer-contact li{display:flex;gap:12px;font-size:.9rem;color:var(--color-body);margin-bottom:16px;}
.footer-contact i{color:var(--color-primary);margin-top:3px;}
.newsletter-form{display:flex;gap:8px;margin-top:6px;}
.newsletter-form input{flex:1;min-width:0;padding:13px 16px;border-radius:100px;background:rgba(255,255,255,.04);border:1px solid var(--border-soft);color:var(--color-heading);font-size:.88rem;}
.newsletter-form input::placeholder{color:var(--color-muted);}
.newsletter-form button{flex:none;width:46px;height:46px;border-radius:50%;background:var(--gradient-primary);color:#100800;border:none;display:flex;align-items:center;justify-content:center;}
.footer-bottom{border-top:1px solid var(--border-soft);padding:26px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--color-muted);}
.footer-bottom a{color:var(--color-muted);}
.footer-bottom a:hover{color:var(--color-primary);}
.footer-legal{display:flex;gap:22px;}

.back-to-top{
  position:fixed;bottom:28px;right:28px;z-index:900;
  width:48px;height:48px;border-radius:50%;
  background:var(--gradient-primary);color:#100800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(var(--color-primary-rgb),.3);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:var(--transition);
  border:none;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}

/* ==========================================================================
   17. RESPONSIVE
   ========================================================================== */
@media (max-width:1199px){
  .hero{padding-top:170px;}
}
@media (max-width:767px){
  .hero-cta-row{flex-direction:column;align-items:stretch;}
  .hero-form-card{margin-top:50px;}
  .final-cta{padding:60px 24px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
@media (max-width:575px){
  .container-xl{padding:0 18px;}
  .testi-card{padding:30px 22px;}
}
	
	a.custom-logo-link {
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
}

a.custom-logo-link > img {
    width: 3.5rem;
    height: auto;
}

/* ==========================================================================
   SERVICE HERO
   ========================================================================== */

.service-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:620px;
    padding:220px 0 120px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    isolation:isolate;
}

.service-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(5,7,14,.35) 0%,
            rgba(5,7,14,.82) 60%,
            rgba(5,7,14,.95) 100%
        );
    z-index:-2;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at top right,
            rgba(var(--color-primary-rgb),.18),
            transparent 40%
        ),
        radial-gradient(
            circle at bottom left,
            rgba(var(--color-tertiary-rgb),.15),
            transparent 45%
        );
    z-index:-1;
}

/* subtle grid */

.service-hero::after{
    content:"";
    position:absolute;
    inset:0;

    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

    background-size:60px 60px;

    mask-image:radial-gradient(circle at center,#000 45%,transparent 100%);

    opacity:.45;

    pointer-events:none;
}

.service-hero-content{
    position:relative;
    z-index:5;
    max-width:900px;
}

/*======================================
Section Label
======================================*/

.section-label{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:10px 22px;

    margin-bottom:28px;

    border-radius:100px;

    background:rgba(255,255,255,.05);

    border:1px solid var(--border-soft);

    backdrop-filter:blur(18px);

    color:var(--color-primary);

    font-family:var(--font-heading);

    font-size:.82rem;

    font-weight:600;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.section-label i{

    font-size:.85rem;

    color:var(--color-primary);

}

/*======================================
Heading
======================================*/

.service-hero h1{

    font-size:clamp(2.8rem,6vw,5rem);

    line-height:1.05;

    font-weight:700;

    margin-bottom:26px;

    color:var(--color-heading);

}

.service-hero h1 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

}

/*======================================
Description
======================================*/

.service-hero p{

    max-width:760px;

    margin:0 auto;

    color:var(--color-body);

    font-size:1.12rem;

    line-height:1.9;

}

/*======================================
Breadcrumb
======================================*/

.page-breadcrumb{

    margin-top:45px;

}

.page-breadcrumb ol{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:14px;

}

.page-breadcrumb li{

    display:flex;

    align-items:center;

    gap:14px;

    font-size:.92rem;

    color:var(--color-muted);

}

.page-breadcrumb li i{

    color:rgba(255,255,255,.28);

    font-size:.75rem;

}

.page-breadcrumb a{

    color:var(--color-body);

    transition:var(--transition-fast);

}

.page-breadcrumb a:hover{

    color:var(--color-primary);

}

.page-breadcrumb .active{

    color:var(--color-primary);

    font-weight:600;

}

/*======================================
Animation
======================================*/

.service-hero .section-label{

    animation:fadeUp .5s ease forwards;

}

.service-hero h1{

    animation:fadeUp .7s ease forwards;

}

.service-hero p{

    animation:fadeUp .9s ease forwards;

}

.page-breadcrumb{

    animation:fadeUp 1.1s ease forwards;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*======================================
Responsive
======================================*/

@media (max-width:991px){

    .service-hero{

        min-height:520px;

        padding:180px 0 90px;

    }

}

@media (max-width:767px){

    .service-hero{

        min-height:auto;

        padding:160px 0 80px;

    }

    .service-hero h1{

        font-size:clamp(2.2rem,8vw,3.4rem);

    }

    .service-hero p{

        font-size:1rem;

    }

    .page-breadcrumb ol{

        gap:10px;

    }

}


/* ==========================================================================
   ABOUT SERVICE
   ========================================================================== */

.service-about-section{
    position:relative;
    overflow:hidden;
    background:var(--bg-body);
}

.service-about-section::before{
    content:"";
    position:absolute;
    width:480px;
    height:480px;
    top:-180px;
    left:-140px;
    border-radius:50%;
    background:rgba(var(--color-primary-rgb),.08);
    filter:blur(90px);
    pointer-events:none;
}

.service-about-section::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-140px;
    bottom:-160px;
    border-radius:50%;
    background:rgba(var(--color-tertiary-rgb),.08);
    filter:blur(90px);
    pointer-events:none;
}

/*======================================
Image
======================================*/

.service-about-image{

    position:relative;

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow);

}

.service-about-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s cubic-bezier(.16,.84,.44,1);

}

.service-about-image:hover img{

    transform:scale(1.05);

}

/*======================================
Floating Badge
======================================*/

.service-badge{

    position:absolute;

    left:30px;

    bottom:30px;

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:14px 22px;

    border-radius:100px;

    background:rgba(8,11,22,.75);

    backdrop-filter:blur(18px);

    border:1px solid var(--border-soft);

    color:var(--color-heading);

    font-family:var(--font-heading);

    font-size:.9rem;

    font-weight:500;

    box-shadow:var(--shadow);

}

.service-badge i{

    color:var(--color-primary);

    font-size:1rem;

}

/*======================================
Content
======================================*/

.service-about-content{

    padding-left:30px;

}

.service-about-content .section-label{

    margin-bottom:22px;

}

.service-about-content h2{

    font-size:clamp(2rem,4vw,3rem);

    margin-bottom:24px;

    line-height:1.15;

}

.service-about-content h2 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

}

/*======================================
Description
======================================*/

.service-description{

    margin-bottom:38px;

}

.service-description p{

    color:var(--color-body);

    font-size:1rem;

    line-height:1.9;

    margin-bottom:18px;

}

.service-description p:last-child{

    margin-bottom:0;

}

/*======================================
Features Grid
======================================*/

.service-features{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:18px;

    margin-bottom:40px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:14px;

    padding:18px 20px;

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    border-radius:var(--radius-sm);

    transition:var(--transition);

}

.feature-item:hover{

    transform:translateY(-5px);

    border-color:rgba(var(--color-primary-rgb),.45);

    background:var(--bg-card-hover);

    box-shadow:var(--shadow-glow);

}

.feature-item i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    flex:none;

    background:rgba(var(--color-primary-rgb),.12);

    color:var(--color-primary);

    font-size:.9rem;

}

.feature-item span{

    color:var(--color-heading);

    font-weight:500;

    line-height:1.5;

}

/*======================================
Button
======================================*/

.service-about-btn{

    margin-top:10px;

}

.service-about-btn .btn-primary{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:16px 34px;

    border-radius:100px;

    background:var(--gradient-primary);

    color:#111;

    font-family:var(--font-heading);

    font-weight:600;

    transition:var(--transition);

    box-shadow:0 15px 35px rgba(var(--color-primary-rgb),.25);

}

.service-about-btn .btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 55px rgba(var(--color-primary-rgb),.4);

    color:#111;

}

.service-about-btn i{

    transition:transform .3s ease;

}

.service-about-btn .btn-primary:hover i{

    transform:translateX(4px);

}

/*======================================
Responsive
======================================*/

@media(max-width:991px){

    .service-about-content{

        padding-left:0;

        margin-top:40px;

    }

}

@media(max-width:767px){

    .service-features{

        grid-template-columns:1fr;

    }

    .service-badge{

        left:20px;

        right:20px;

        bottom:20px;

        justify-content:center;

        font-size:.82rem;

    }

    .service-about-content h2{

        font-size:2rem;

    }

}

/* ==========================================================================
   WHY CHOOSE BRAND JAM AGENCY
   ========================================================================== */

.service-benefits-section{
    position:relative;
    overflow:hidden;
    background:var(--bg-body-alt);
}

.service-benefits-section::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    top:-220px;
    right:-180px;
    border-radius:50%;
    background:rgba(var(--color-primary-rgb),.08);
    filter:blur(110px);
    pointer-events:none;
}

.service-benefits-section::after{
    content:"";
    position:absolute;
    width:460px;
    height:460px;
    bottom:-180px;
    left:-140px;
    border-radius:50%;
    background:rgba(var(--color-tertiary-rgb),.06);
    filter:blur(100px);
    pointer-events:none;
}

/*==============================
Section Heading
==============================*/

.service-benefits-section .section-heading{
    margin-bottom:70px;
}

.service-benefits-section h2{

    font-size:clamp(2rem,4vw,3rem);

    margin:22px 0;

    line-height:1.15;

}

.service-benefits-section h2 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

}

.service-benefits-section .section-heading p{

    max-width:700px;

    margin:0 auto;

    font-size:1.05rem;

    color:var(--color-body);

    line-height:1.9;

}

/*==============================
Benefit Card
==============================*/

.benefit-card{

    position:relative;

    height:100%;

    padding:42px 34px;

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    border-radius:var(--radius);

    backdrop-filter:blur(18px);

    overflow:hidden;

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.benefit-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:var(--gradient-radial);

    opacity:0;

    transform:scale(.6);

    transition:var(--transition);

}

.benefit-card:hover{

    transform:translateY(-10px);

    border-color:rgba(var(--color-primary-rgb),.45);

    background:var(--bg-card-hover);

    box-shadow:var(--shadow-glow);

}

.benefit-card:hover::before{

    opacity:1;

    transform:scale(1);

}

/*==============================
Number Accent
==============================*/

.benefit-card{

    counter-increment:benefits;

}

.benefit-card::after{

    content:counter(benefits, decimal-leading-zero);

    position:absolute;

    top:28px;

    right:30px;

    font-family:var(--font-heading);

    font-size:.82rem;

    color:rgba(255,255,255,.18);

    letter-spacing:.12em;

}

/*==============================
Icon
==============================*/

.benefit-icon{

    position:relative;

    z-index:2;

    width:72px;

    height:72px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    background:rgba(var(--color-primary-rgb),.10);

    color:var(--color-primary);

    font-size:1.7rem;

    transition:var(--transition);

}

.benefit-card:hover .benefit-icon{

    background:var(--gradient-primary);

    color:#111;

    transform:rotate(-8deg) scale(1.05);

}

/*==============================
Content
==============================*/

.benefit-card h3{

    position:relative;

    z-index:2;

    margin-bottom:16px;

    font-size:1.35rem;

    color:var(--color-heading);

}

.benefit-card p{

    position:relative;

    z-index:2;

    color:var(--color-body);

    font-size:.96rem;

    line-height:1.85;

}

/*==============================
Hover Border Animation
==============================*/

.benefit-card{

    isolation:isolate;

}

.benefit-card .benefit-icon,
.benefit-card h3,
.benefit-card p{

    position:relative;

    z-index:3;

}

.benefit-card:hover h3{

    color:var(--color-primary);

}

/*==============================
Responsive
==============================*/

@media(max-width:991px){

    .service-benefits-section .section-heading{

        margin-bottom:55px;

    }

}

@media(max-width:767px){

    .benefit-card{

        padding:34px 26px;

    }

    .benefit-icon{

        width:64px;

        height:64px;

        font-size:1.4rem;

    }

}



/* ==========================================================================
   INDUSTRIES WE SERVE
   ========================================================================== */

.service-areas-section{
    position:relative;
    overflow:hidden;
    background:var(--bg-body);
}

.service-areas-section::before{
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    top:-240px;
    left:-220px;
    border-radius:50%;
    background:rgba(var(--color-primary-rgb),.08);
    filter:blur(120px);
    pointer-events:none;
}

.service-areas-section::after{
    content:"";
    position:absolute;
    width:480px;
    height:480px;
    bottom:-180px;
    right:-180px;
    border-radius:50%;
    background:rgba(var(--color-tertiary-rgb),.08);
    filter:blur(110px);
    pointer-events:none;
}

/*==============================
Section Heading
==============================*/

.service-areas-section .section-heading{
    margin-bottom:70px;
}

.service-areas-section h2{

    font-size:clamp(2rem,4vw,3rem);

    margin:22px 0;

    line-height:1.15;

}

.service-areas-section h2 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

}

.service-areas-section .section-heading p{

    max-width:720px;

    margin:0 auto;

    color:var(--color-body);

    font-size:1.05rem;

    line-height:1.9;

}

/*==============================
Industry Card
==============================*/

.area-card{

    position:relative;

    height:100%;

    padding:40px 34px;

    border-radius:var(--radius);

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    backdrop-filter:blur(18px);

    overflow:hidden;

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.area-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:var(--gradient-radial);

    opacity:0;

    transform:scale(.7);

    transition:var(--transition);

}

.area-card:hover{

    transform:translateY(-8px);

    border-color:rgba(var(--color-primary-rgb),.45);

    background:var(--bg-card-hover);

    box-shadow:var(--shadow-glow);

}

.area-card:hover::before{

    opacity:1;

    transform:scale(1);

}

/*==============================
Icon
==============================*/

.area-icon{

    position:relative;

    z-index:2;

    width:72px;

    height:72px;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    background:rgba(var(--color-primary-rgb),.10);

    color:var(--color-primary);

    font-size:1.7rem;

    transition:var(--transition);

}

.area-card:hover .area-icon{

    background:var(--gradient-primary);

    color:#111;

    transform:rotate(-8deg) scale(1.05);

}

/*==============================
Content
==============================*/

.area-card h3{

    position:relative;

    z-index:2;

    font-size:1.35rem;

    margin-bottom:16px;

    color:var(--color-heading);

    transition:var(--transition-fast);

}

.area-card:hover h3{

    color:var(--color-primary);

}

.area-card p{

    position:relative;

    z-index:2;

    color:var(--color-body);

    font-size:.95rem;

    line-height:1.85;

}

/*==============================
Bottom CTA
==============================*/

.service-area-cta{

    margin-top:90px;

    padding:55px 60px;

    border-radius:var(--radius-lg);

    background:linear-gradient(
        135deg,
        rgba(var(--color-secondary-rgb),.95),
        rgba(8,12,28,.95)
    );

    border:1px solid rgba(var(--color-primary-rgb),.18);

    position:relative;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.service-area-cta::before{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    top:-150px;

    right:-120px;

    border-radius:50%;

    background:rgba(var(--color-primary-rgb),.12);

    filter:blur(90px);

}

.service-area-cta .cta-content{

    position:relative;

    z-index:2;

}

.service-area-cta h3{

    font-size:2rem;

    margin-bottom:14px;

}

.service-area-cta p{

    max-width:620px;

    color:var(--color-body);

    font-size:1rem;

    line-height:1.8;

}

/*==============================
CTA Button
==============================*/

.service-area-cta .btn-primary{

    position:relative;

    z-index:2;

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:16px 34px;

    border-radius:100px;

    background:var(--gradient-primary);

    color:#111;

    font-family:var(--font-heading);

    font-weight:600;

    transition:var(--transition);

    box-shadow:0 18px 40px rgba(var(--color-primary-rgb),.25);

}

.service-area-cta .btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 55px rgba(var(--color-primary-rgb),.45);

    color:#111;

}

.service-area-cta .btn-primary i{

    transition:transform .3s ease;

}

.service-area-cta .btn-primary:hover i{

    transform:translateX(5px);

}

/*==============================
Responsive
==============================*/

@media(max-width:991px){

    .service-area-cta{

        padding:45px;

        text-align:center;

    }

    .service-area-cta .text-lg-end{

        text-align:center !important;

        margin-top:30px;

    }

}

@media(max-width:767px){

    .service-areas-section .section-heading{

        margin-bottom:50px;

    }

    .area-card{

        padding:32px 26px;

    }

    .area-icon{

        width:64px;

        height:64px;

        font-size:1.5rem;

    }

    .service-area-cta{

        padding:35px 25px;

    }

    .service-area-cta h3{

        font-size:1.6rem;

    }

}


/* ==========================================================================
   FAQ SECTION
   ========================================================================== */

.faq-section{
    position:relative;
    overflow:hidden;
    background:var(--bg-body-alt);
}

.faq-section::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    top:-220px;
    left:-180px;
    border-radius:50%;
    background:rgba(var(--color-primary-rgb),.08);
    filter:blur(120px);
    pointer-events:none;
}

.faq-section::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    bottom:-180px;
    right:-180px;
    border-radius:50%;
    background:rgba(var(--color-tertiary-rgb),.08);
    filter:blur(100px);
    pointer-events:none;
}

/*==============================
Section Heading
==============================*/

.faq-section .section-heading{
    margin-bottom:70px;
}

.faq-section h2{

    font-size:clamp(2rem,4vw,3rem);

    margin:20px 0;

    line-height:1.15;

}

.faq-section h2 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;

}

.faq-section .section-heading p{

    max-width:700px;
    margin:0 auto;
    color:var(--color-body);
    line-height:1.9;
    font-size:1.05rem;

}

/*==============================
Accordion
==============================*/

.faq-accordion{

    display:flex;
    flex-direction:column;
    gap:20px;

}

.faq-accordion .accordion-item{

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    border-radius:var(--radius);

    overflow:hidden;

    backdrop-filter:blur(18px);

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.faq-accordion .accordion-item:hover{

    border-color:rgba(var(--color-primary-rgb),.35);

    box-shadow:var(--shadow-glow);

}

/*==============================
Question Button
==============================*/

.faq-accordion .accordion-button{

    position:relative;

    background:transparent;

    color:var(--color-heading);

    font-family:var(--font-heading);

    font-size:1.1rem;

    font-weight:600;

    padding:28px 70px 28px 28px;

    box-shadow:none;

}

.faq-accordion .accordion-button:focus{

    box-shadow:none;

}

.faq-accordion .accordion-button:not(.collapsed){

    background:transparent;

    color:var(--color-primary);

}

/* remove bootstrap icon */

.faq-accordion .accordion-button::after{

    display:none;

}

/*==============================
Custom Plus Icon
==============================*/

.faq-accordion .accordion-button::before{

    content:"+";

    position:absolute;

    right:24px;

    top:50%;

    transform:translateY(-50%);

    width:40px;

    height:40px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(var(--color-primary-rgb),.08);

    border:1px solid rgba(var(--color-primary-rgb),.18);

    color:var(--color-primary);

    font-size:1.5rem;

    font-weight:300;

    transition:var(--transition);

}

.faq-accordion .accordion-button:not(.collapsed)::before{

    content:"–";

    background:var(--gradient-primary);

    color:#111;

    transform:translateY(-50%) rotate(180deg);

}

/*==============================
Answer
==============================*/

.faq-accordion .accordion-body{

    padding:0 28px 28px;

    color:var(--color-body);

    line-height:1.9;

    font-size:.97rem;

}

.faq-accordion .accordion-body p:last-child{

    margin-bottom:0;

}

/*==============================
Collapse Animation
==============================*/

.faq-accordion .accordion-collapse{

    transition:all .35s ease;

}

/*==============================
Responsive
==============================*/

@media(max-width:767px){

    .faq-section .section-heading{

        margin-bottom:50px;

    }

    .faq-accordion .accordion-button{

        font-size:1rem;

        padding:22px 60px 22px 20px;

    }

    .faq-accordion .accordion-button::before{

        width:34px;

        height:34px;

        right:18px;

        font-size:1.2rem;

    }

    .faq-accordion .accordion-body{

        padding:0 20px 22px;

    }

}



/* ==========================================================================
   QUICK CONTACT
   ========================================================================== */

.quick-contact-section{
    position:relative;
    overflow:hidden;
    background:var(--bg-body-alt);
}

.quick-contact-section::before{
    content:"";
    position:absolute;
    width:600px;
    height:600px;
    top:-260px;
    left:-220px;
    border-radius:50%;
    background:rgba(var(--color-primary-rgb),.08);
    filter:blur(120px);
    pointer-events:none;
}

.quick-contact-section::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    bottom:-220px;
    right:-180px;
    border-radius:50%;
    background:rgba(var(--color-tertiary-rgb),.08);
    filter:blur(110px);
    pointer-events:none;
}

/*======================================
Wrapper
======================================*/

.quick-contact-wrapper{

    position:relative;

    padding:70px;

    border-radius:var(--radius-xl);

    background:rgba(10,14,28,.75);

    backdrop-filter:blur(24px);

    border:1px solid var(--border-soft);

    box-shadow:var(--shadow);

    overflow:hidden;

}

.quick-contact-wrapper::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(var(--color-primary-rgb),.04),
        transparent 55%
    );

    pointer-events:none;

}

/*======================================
Content
======================================*/

.quick-contact-content{

    position:relative;

    z-index:2;

}

.quick-contact-content h2{

    font-size:clamp(2.2rem,5vw,3.4rem);

    line-height:1.15;

    margin:22px 0;

}

.quick-contact-content h2 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

}

.quick-contact-content p{

    font-size:1rem;

    line-height:1.9;

    color:var(--color-body);

    margin-bottom:38px;

}

/*======================================
Contact Info
======================================*/

.contact-info-list{

    display:flex;

    flex-direction:column;

    gap:18px;

    margin-bottom:40px;

}

.contact-info-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

}

.contact-icon{

    width:62px;

    height:62px;

    flex:none;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:rgba(var(--color-primary-rgb),.10);

    color:var(--color-primary);

    font-size:1.3rem;

    transition:var(--transition);

}

.contact-info-item:hover .contact-icon{

    background:var(--gradient-primary);

    color:#111;

    transform:translateY(-4px);

}

.contact-icon.whatsapp{

    color:#25D366;

}

.contact-info-item:hover .contact-icon.whatsapp{

    color:#111;

}

.contact-text span{

    display:block;

    margin-bottom:4px;

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:var(--color-muted);

}

.contact-text a,
.contact-text p{

    color:var(--color-heading);

    margin:0;

    font-weight:500;

    text-decoration:none;

}

.contact-text a:hover{

    color:var(--color-primary);

}

/*======================================
Highlights
======================================*/

.contact-features{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:16px;

}

.contact-features .feature{

    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 18px;

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    border-radius:var(--radius-sm);

    transition:var(--transition);

}

.contact-features .feature:hover{

    transform:translateY(-4px);

    background:var(--bg-card-hover);

    border-color:rgba(var(--color-primary-rgb),.35);

}

.contact-features i{

    color:var(--color-primary);

}

/*======================================
Form Card
======================================*/

.quick-contact-form{

    position:relative;

    padding:45px;

    border-radius:var(--radius-lg);

    background:var(--bg-card);

    border:1px solid var(--border-soft);

    box-shadow:var(--shadow);

}

.form-header{

    margin-bottom:35px;

}

.form-header h3{

    margin:18px 0 14px;

    font-size:2rem;

}

.form-header p{

    color:var(--color-body);

    line-height:1.8;

}

/*======================================
CF7
======================================*/

.quick-contact-form input,
.quick-contact-form textarea,
.quick-contact-form select{

    width:100%;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid var(--border-soft);

    background:rgba(255,255,255,.04);

    color:var(--color-heading);

    transition:var(--transition-fast);

}

.quick-contact-form input:focus,
.quick-contact-form textarea:focus,
.quick-contact-form select:focus{

    border-color:var(--color-primary);

    box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.15);

    outline:none;

}

.quick-contact-form textarea{

    min-height:170px;

    resize:vertical;

}

.quick-contact-form input[type="submit"],
.quick-contact-form button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:100%;

    padding:18px;

    border:none;

    border-radius:100px;

    background:var(--gradient-primary);

    color:#111;

    font-family:var(--font-heading);

    font-weight:700;

    transition:var(--transition);

    cursor:pointer;

    box-shadow:0 18px 45px rgba(var(--color-primary-rgb),.30);

}

.quick-contact-form input[type="submit"]:hover,
.quick-contact-form button:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 60px rgba(var(--color-primary-rgb),.45);

}

/*======================================
Responsive
======================================*/

@media(max-width:991px){

    .quick-contact-wrapper{

        padding:45px;

    }

    .quick-contact-form{

        margin-top:50px;

    }

}

@media(max-width:767px){

    .quick-contact-wrapper{

        padding:30px 22px;

    }

    .contact-features{

        grid-template-columns:1fr;

    }

    .quick-contact-form{

        padding:28px;

    }

    .quick-contact-content h2{

        font-size:2rem;

    }

}