/* ═══════════════════════════════════════════════════════════════
   MODERN LOGISTICS — IMS-Shipping inspired
   Clean, professional, white-dominant with navy + blue accents
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600&display=swap');

/* ── Tokens ── */
:root {
  --navy:        #0b1d3a;
  --navy-mid:    #132952;
  --navy-light:  #1e3d72;
  --blue:        #0ca4dc;   /* brand cyan-blue — primary accent */
  --blue-dk:     #0a8ec0;   /* hover / darker shade */
  --blue-lt:     #3bbde8;   /* lighter highlight */
  --blue-glow:   rgba(12,164,220,.20);
  --off-white:   #f0f8fd;   /* very light cyan-tinted white */
  --border:      #d0ebf7;
  --text:        #4a5568;
  --heading:     #0b1d3a;

  --r0:   0px;
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;
  --r-pill: 999px;

  --s1: 0 2px 8px rgba(11,29,58,.07);
  --s2: 0 8px 24px rgba(11,29,58,.10);
  --s3: 0 20px 48px rgba(11,29,58,.13);
  --sg: 0 6px 28px rgba(12,164,220,.28);

  --ease: cubic-bezier(.4,0,.2,1);
  --t:  260ms;
  --tl: 420ms;
}

/* ════════════════════════════
   GLOBAL
   ════════════════════════════ */
*, *::before, *::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', sans-serif !important;
  color: var(--text) !important;
  background: #fff !important;
  font-size: 15px;
  line-height: 1.7;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Montserrat', sans-serif !important;
  color: var(--heading) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
p { color: var(--text); line-height: 1.75; }
a { transition: color var(--t) var(--ease); }

/* ════════════════════════════
   SECTION TYPOGRAPHY
   ════════════════════════════ */

.section-title {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.section-title::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--blue);
  flex-shrink: 0;
}

.section-summary {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
  color: var(--heading) !important;
  margin: 10px 0 44px !important;
}

/* ════════════════════════════
   SUPPORT BAR (header top bar)
   Slimmed — only login/lang
   ════════════════════════════ */

.support-bar-area {
  padding-top: 8px !important;
  padding-bottom: 6px !important;
  font-size: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
}

ul.login li a {
  border: 1.5px solid rgba(255,255,255,.32) !important;
  border-radius: var(--r-pill) !important;
  padding: 4px 16px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .6px; text-transform: uppercase;
  transition: all var(--t) var(--ease) !important;
}
ul.login li a:hover {
  background: var(--blue) !important; border-color: var(--blue) !important; color: #fff !important;
}

a.language-btn {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: .5px;
}
ul.language-dropdown {
  border-radius: var(--r-md) !important;
  overflow: hidden; box-shadow: var(--s3) !important; border: none !important;
}
ul.language-dropdown li { background: var(--navy) !important; z-index: 1; }
ul.language-dropdown li a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important; padding: 10px 16px !important;
}
ul.language-dropdown li a::before { background: var(--blue) !important; }

/* ════════════════════════════
   NAVBAR — always-fixed header
   ════════════════════════════ */

/* Always pin the header — no scroll-away */
.header-area.header-absolute {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 2000 !important;
  background: var(--navy) !important;
  transition: background var(--t) var(--ease), box-shadow var(--t) var(--ease) !important;
}

/* Push all page content below the fixed header (~80px navbar + 0 support bar) */
body {
  padding-top: 80px !important;
}

.header-navbar {
  padding: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.logo-wrapper { padding: 14px 0 !important; }
.logo-wrapper img {
  max-height: 48px !important;
  max-width: 170px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Sticky state: white with navy text (triggered by JS on scroll) */
.sticky-navbar {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 2px 20px rgba(11,29,58,.12) !important;
  border: none !important;
  border-bottom: 3px solid var(--blue) !important;
}
.sticky-navbar .header-navbar { border: none !important; }
.sticky-navbar .main-menu li a:hover,
.sticky-navbar .main-menu li.active a { color: var(--blue) !important; }
.sticky-navbar .main-menu li.dropdown::after { color: rgba(11,29,58,.4) !important; }
.sticky-navbar .support-bar-area { display: none !important; }

/* Nav links */
.main-menu li a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .6px !important; text-transform: uppercase !important;
  padding: 26px 13px !important;
  color: rgba(255,255,255,.88) !important;
  transition: color var(--t) var(--ease) !important;
  position: relative;
}
/* Bottom bar on hover */
.main-menu li a::after { display: none !important; }
.main-menu li a::before {
  content: '' !important;
  position: absolute !important; bottom: 0 !important; left: 13px !important;
  height: 3px !important; width: 0 !important; background: var(--blue) !important;
  border-radius: 0; transition: width var(--t) var(--ease) !important;
}
.main-menu li a:hover::before,
.main-menu li.active a::before { width: calc(100% - 26px) !important; }
.main-menu li a:hover,
.main-menu li.active a { color: #fff !important; }

/* Quote CTA button */
.main-menu li a.boxed-btn {
  background: var(--blue) !important; border: none !important;
  border-radius: var(--r-pill) !important;
  padding: 10px 24px !important; margin-left: 12px !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: 1.2px !important; text-transform: uppercase !important;
  color: #fff !important; box-shadow: var(--sg) !important;
  transition: background var(--t) var(--ease), transform var(--t) var(--ease),
              box-shadow var(--t) var(--ease) !important;
}
.main-menu li a.boxed-btn::before,
.main-menu li a.boxed-btn::after { display: none !important; }
.main-menu li a.boxed-btn:hover {
  background: var(--blue-dk) !important; color: #fff !important;
  transform: translateY(-2px) !important; box-shadow: 0 10px 36px rgba(12,164,220,.45) !important;
}

/* Dropdown caret */
.main-menu li.dropdown::after {
  color: rgba(255,255,255,.4) !important; font-size: 10px !important; top: 28px !important;
}
.sticky-navbar .main-menu li.dropdown::after { color: rgba(11,29,58,.4) !important; }
.main-menu li.dropdown:hover::after,
.main-menu li.dropdown.active::after { color: var(--blue) !important; }

/* Dropdowns */
.main-menu li.dropdown ul.dropdown-lists {
  border-radius: 0 0 var(--r-md) var(--r-md) !important;
  overflow: hidden; box-shadow: var(--s3) !important;
  border-top: 3px solid var(--blue) !important; border-left: none !important;
  border-right: none !important; border-bottom: none !important;
  transform: translateY(6px) !important; top: 100% !important;
  transition: opacity var(--t) var(--ease), transform var(--t) var(--ease) !important;
}
.main-menu li.dropdown:hover ul.dropdown-lists { transform: translateY(0) !important; }
.main-menu li.dropdown ul.dropdown-lists li {
  background: var(--navy) !important; border-color: rgba(255,255,255,.06) !important; z-index: 1;
}
.main-menu li.dropdown ul.dropdown-lists li a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .6px !important; text-transform: uppercase !important;
  padding: 13px 20px !important;
}
.main-menu li.dropdown ul.dropdown-lists li a::before {
  background: var(--blue) !important; border-radius: 0;
  position: absolute; left: 0; top: 0; height: 100%; width: 0%;
  z-index: -1; transition: width var(--t) var(--ease) !important;
}
.main-menu li.dropdown ul.dropdown-lists li a:hover::before { width: 100% !important; }

/* Mega dropdown */
.mega-dropdown-content {
  background: var(--navy) !important;
  border-top: 3px solid var(--blue) !important;
  border-radius: 0 0 var(--r-md) var(--r-md) !important;
  box-shadow: var(--s3) !important;
}
.mega-dropdown-content .service-category h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; letter-spacing: 2px !important;
  color: var(--blue) !important;
}
.mega-dropdown-content .service-category a { color: rgba(255,255,255,.65) !important; }
.mega-dropdown-content .service-category a::before { color: var(--blue) !important; }

/* ════════════════════════════
   HERO
   ════════════════════════════ */

.hero-area-overlay {
  background: linear-gradient(
    110deg,
    rgba(11,29,58,.94) 0%,
    rgba(11,29,58,.75) 55%,
    rgba(12,164,220,.20) 100%
  ) !important;
  opacity: 1 !important;
}
/* Body already offset 80px for fixed header; hero just needs visual breathing room */
.hero-txt { padding: 120px 140px 120px 0 !important; }

.hero-txt span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 4px !important; text-transform: uppercase !important;
  color: var(--blue) !important;
  display: inline-flex !important; align-items: center; gap: 10px;
  margin-bottom: 22px !important;
  background: transparent !important; border: none !important; padding: 0 !important;
  border-radius: 0;
}
.hero-txt span::before {
  content: ''; display: inline-block;
  width: 32px; height: 2px; background: var(--blue); flex-shrink: 0;
}

.hero-txt h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 68px !important; font-weight: 900 !important;
  letter-spacing: -.03em !important; line-height: 1.07 !important;
  color: #fff !important; max-width: 720px; text-transform: uppercase;
}

/* Dual CTA: primary (orange) + secondary (outline white) */
a.hero-boxed-btn {
  margin-top: 38px !important; display: inline-block !important;
  width: auto !important; height: auto !important; line-height: normal !important;
  padding: 15px 40px !important; border-radius: var(--r-sm) !important;
  background: var(--blue) !important; border: 2px solid var(--blue) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: 1.8px !important; text-transform: uppercase !important;
  text-decoration: none !important; box-shadow: var(--sg) !important;
  transition: background var(--t) var(--ease), border-color var(--t) var(--ease),
              transform var(--t) var(--ease), box-shadow var(--t) var(--ease) !important;
}
a.hero-boxed-btn::before, a.hero-boxed-btn::after { display: none !important; }
a.hero-boxed-btn:hover {
  background: var(--blue-dk) !important; border-color: var(--blue-dk) !important;
  color: #fff !important; transform: translateY(-3px) !important;
  box-shadow: 0 12px 40px rgba(12,164,220,.48) !important;
}

/* ════════════════════════════
   HERO FEATURE STRIP
   Clean white strip with icons
   ════════════════════════════ */

.intro-section {
  margin-top: 0 !important; position: relative; z-index: 100;
  background: #fff; box-shadow: 0 8px 32px rgba(11,29,58,.10);
}
.hero-features { padding: 0 !important; }

.single-hero-feature {
  border-radius: 0 !important;
  padding: 32px 28px !important;
  background: #fff !important;
  box-shadow: none !important;
  border: none !important;
  border-right: 1px solid var(--border) !important;
  border-bottom: 3px solid transparent !important;
  overflow: visible !important;
  transition: border-color var(--tl) var(--ease),
              background var(--tl) var(--ease) !important;
}
.single-hero-feature::after { display: none !important; }
.single-hero-feature:hover {
  border-bottom-color: var(--blue) !important;
  background: var(--off-white) !important;
  transform: none !important; box-shadow: none !important;
}

.hero-features i {
  font-size: 36px !important;
  color: var(--navy) !important;
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 72px; height: 72px;
  background: var(--off-white);
  border-radius: 50%;
  border: 2px solid var(--border);
  transition: background var(--t) var(--ease), color var(--t) var(--ease),
              border-color var(--t) var(--ease);
}
.single-hero-feature:hover .hero-features i {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
}
.hero-features h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  color: var(--heading) !important; margin-top: 16px !important;
  line-height: 1.4 !important; letter-spacing: -.01em;
}

/* ════════════════════════════
   HOME PAGE ENHANCEMENTS
   Scoped to default landing pages only
   ════════════════════════════ */

.home-default-modern {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(12,164,220,.08), transparent 32%),
    linear-gradient(180deg, #f6fbfe 0%, #ffffff 18%, #f7fbfe 55%, #ffffff 100%);
}

.home-default-modern .hero-area,
.home-default-modern .hero-bg-2 {
  min-height: clamp(620px, 82vh, 860px);
  position: relative;
  overflow: hidden;
}

.home-default-modern .hero-area::before,
.home-default-modern .hero-bg-2::before {
  content: '';
  position: absolute;
  inset: auto auto 10% -6%;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(12,164,220,.32) 0%, rgba(12,164,220,0) 72%);
  z-index: 1;
  pointer-events: none;
}

.home-default-modern .hero-area::after,
.home-default-modern .hero-bg-2::after {
  content: '';
  position: absolute;
  top: 12%;
  right: -5%;
  width: 280px;
  height: 280px;
  border-radius: 28% 72% 65% 35% / 34% 35% 65% 66%;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(12,164,220,.12));
  border: 1px solid rgba(255,255,255,.12);
  z-index: 1;
  pointer-events: none;
}

.home-default-modern .hero-area .container,
.home-default-modern .hero-bg-2 .container {
  position: relative;
  z-index: 2;
}

.home-default-modern .hero-txt {
  padding: 150px 0 172px 0 !important;
}

.home-default-modern .hero-txt .row {
  margin: 0 !important;
}

.home-default-modern .hero-txt .col-12 {
  max-width: 760px;
  padding: 38px 42px 42px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(8,20,40,.68), rgba(8,20,40,.34));
  box-shadow: 0 28px 70px rgba(3,10,22,.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}


.home-default-modern .intro-section {
  margin-top: -98px !important;
  padding-bottom: 20px;
  background: transparent !important;
  box-shadow: none !important;
}

.home-default-modern .hero-features {
  position: relative;
  z-index: 3;
}

.home-default-modern .hero-features .row {
  margin-left: -12px !important;
  margin-right: -12px !important;
}

.home-default-modern .hero-features [class*="col-"] {
  padding-left: 12px !important;
  padding-right: 12px !important;
  margin-bottom: 24px;
}

.home-default-modern .single-hero-feature {
  height: 100%;
  padding: 30px 26px !important;
  border: 1px solid rgba(208,235,247,.9) !important;
  border-right: 1px solid rgba(208,235,247,.9) !important;
  border-bottom: none !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 50px rgba(11,29,58,.10) !important;
  overflow: hidden !important;
  position: relative;
}

.home-default-modern .single-hero-feature::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--feature-accent, var(--blue));
  opacity: .92;
}

.home-default-modern .single-hero-feature:hover {
  background: #fff !important;
  transform: translateY(-8px) !important;
  box-shadow: 0 28px 58px rgba(11,29,58,.14) !important;
}

.home-default-modern .single-hero-feature:hover i {
  background: var(--feature-accent, var(--blue)) !important;
  border-color: var(--feature-accent, var(--blue)) !important;
}

.home-default-modern .hero-features i {
  width: 68px !important;
  height: 68px !important;
  font-size: 28px !important;
  background: #fff !important;
  border: 1px solid rgba(208,235,247,.95) !important;
  color: var(--feature-accent, var(--blue)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}

.home-default-modern .hero-features h3 {
  font-size: 15px !important;
  margin-top: 18px !important;
}

.home-default-modern .intro-section > .container > .row,
.home-default-modern .intro-section .container > .row {
  align-items: stretch;
}

.home-default-modern .intro-txt {
  height: 100%;
  padding: 54px 52px 56px !important;
  background: linear-gradient(160deg, #ffffff 0%, var(--off-white) 100%) !important;
  color: var(--heading) !important;
  border: 1px solid rgba(208,235,247,.95);
  border-radius: 30px;
  box-shadow: 0 24px 60px rgba(11,29,58,.10);
}

.home-default-modern .intro-txt h2 {
  max-width: 12ch;
  color: var(--heading) !important;
}

.home-default-modern .intro-txt a {
  margin-top: 10px;
  border-radius: 999px !important;
  background: var(--navy) !important;
  box-shadow: 0 18px 40px rgba(11,29,58,.16);
}

.home-default-modern .intro-bg {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 28px 70px rgba(11,29,58,.16);
}

.home-default-modern .intro-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,29,58,.20), rgba(11,29,58,.54));
}

.home-default-modern .video-play-button::before,
.home-default-modern .video-play-button::after {
  background: var(--blue) !important;
}

.home-default-modern .services-area,
.home-default-modern .service-categories,
.home-default-modern .approach-section,
.home-default-modern .statistics-section,
.home-default-modern .case-section,
.home-default-modern .testimonial-section,
.home-default-modern .team-section,
.home-default-modern .pricing-tables,
.home-default-modern .blog-section,
.home-default-modern .partner-section {
  padding-top: clamp(84px, 10vw, 118px) !important;
  padding-bottom: clamp(84px, 10vw, 118px) !important;
}

.home-default-modern .services-area,
.home-default-modern .service-categories,
.home-default-modern .testimonial-section,
.home-default-modern .blog-section,
.home-default-modern .pricing-tables,
.home-default-modern .partner-section {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(240,248,253,.92) 100%) !important;
}

.home-default-modern .approach-section {
  background: linear-gradient(180deg, #ffffff 0%, #f6fbfe 100%) !important;
}

.home-default-modern .approach-summary {
  position: sticky;
  top: 120px;
  padding-right: 72px !important;
}

.home-default-modern ul.approach-lists {
  padding: 16px 26px !important;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(208,235,247,.95);
  box-shadow: 0 22px 56px rgba(11,29,58,.08);
}

.home-default-modern .single-approach {
  margin-bottom: 0 !important;
  padding: 22px 0;
  border-bottom: 1px solid rgba(208,235,247,.85);
}

.home-default-modern .single-approach:last-child {
  border-bottom: none;
}

.home-default-modern .statistics-section {
  position: relative;
  overflow: hidden;
}

.home-default-modern .statistics-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(12,164,220,.18), transparent 22%),
    radial-gradient(circle at 85% 80%, rgba(255,255,255,.08), transparent 24%);
  z-index: 0;
}

.home-default-modern .statistics-container {
  position: relative;
  z-index: 1;
}

.home-default-modern .statistics-section .round {
  min-height: 255px;
  margin: 20px 8px 0 !important;
  padding-top: 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.home-default-modern .case-section,
.home-default-modern .cta-section {
  position: relative;
  overflow: hidden;
}

.home-default-modern .case-section::before,
.home-default-modern .cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,29,58,.92) 0%, rgba(12,164,220,.32) 100%);
  pointer-events: none;
}

.home-default-modern .case-section > .container,
.home-default-modern .case-section > .container-fluid,
.home-default-modern .cta-section > .container {
  position: relative;
  z-index: 1;
}

.home-default-modern .case-section .section-title,
.home-default-modern .team-section .section-title {
  color: rgba(255,255,255,.75) !important;
}

.home-default-modern .case-section .section-summary,
.home-default-modern .team-section .section-summary,
.home-default-modern .cta-section h3 {
  color: #fff !important;
}

.home-default-modern .case-carousel::before,
.home-default-modern .case-carousel::after {
  display: none !important;
}

.home-default-modern .single-case {
  height: 420px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.26);
}

.home-default-modern .single-case .outer-container {
  background: linear-gradient(180deg, rgba(11,29,58,.08) 0%, rgba(11,29,58,.88) 100%) !important;
}

.home-default-modern .single-case .inner-container {
  opacity: 1 !important;
  vertical-align: bottom !important;
  text-align: left !important;
  padding: 0 28px 28px !important;
}

.home-default-modern .single-case h4 {
  font-size: 20px !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
}

.home-default-modern .single-case p {
  color: var(--blue) !important;
  margin-bottom: 2px;
}

.home-default-modern .team-section {
  position: relative;
  overflow: hidden;
}

.home-default-modern .team-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,29,58,.94) 0%, rgba(12,164,220,.50) 100%);
}

.home-default-modern .team-content {
  position: relative;
  z-index: 1;
}

.home-default-modern .single-team-member {
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
}

.home-default-modern .single-team-member::before,
.home-default-modern .single-team-member::after {
  display: none !important;
}

.home-default-modern .team-img-wrapper img {
  transition: transform 650ms var(--ease);
}

.home-default-modern .single-team-member:hover .team-img-wrapper img {
  transform: scale(1.05);
}

.home-default-modern .social-accounts {
  background: linear-gradient(90deg, var(--navy), var(--blue)) !important;
  padding: 18px 0 !important;
}

.home-default-modern .member-info {
  margin-top: 0 !important;
  padding: 24px 24px 26px !important;
}

.home-default-modern .member-info .member-name {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
}

.home-default-modern .single-pricing-table {
  background: #fff !important;
  padding: 36px 30px !important;
  border-radius: 28px !important;
}

.home-default-modern .single-pricing-table span.title {
  display: inline-block;
  margin-bottom: 16px;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue) !important;
}

.home-default-modern .single-pricing-table .price h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(42px, 4vw, 56px) !important;
  font-weight: 900 !important;
  color: var(--heading) !important;
}

.home-default-modern .single-pricing-table .features {
  color: var(--text);
}

.home-default-modern .single-pricing-table a.pricing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  min-height: 52px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 800;
}

.home-default-modern .cta-section {
  padding: 0 !important;
  background-size: cover !important;
}

.home-default-modern .cta-content {
  padding: 42px 46px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  box-shadow: 0 22px 56px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.home-default-modern .contact-btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.home-default-modern .partner-section {
  padding-top: 58px !important;
}

.home-default-modern .partner-section .top-border {
  padding-top: 58px;
}

.home-default-modern .single-partner-item {
  height: 128px;
  border-radius: 24px;
  border: 1px solid rgba(208,235,247,.95);
  background: #fff;
  box-shadow: 0 16px 42px rgba(11,29,58,.07);
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
}

.home-default-modern .single-partner-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 52px rgba(11,29,58,.10);
}

.home-default-modern .partner-carousel img {
  max-height: 44px;
  width: auto !important;
  margin: 0 auto;
  opacity: .78;
  filter: grayscale(100%);
  transition: opacity var(--t) var(--ease), filter var(--t) var(--ease);
}

.home-default-modern .single-partner-item:hover img {
  opacity: 1;
  filter: grayscale(0%);
}

/* ════════════════════════════
   BREADCRUMB
   ════════════════════════════ */

.breadcrumb-area .breadcrumb-txt { padding: 80px 0 60px !important; }

.breadcrumb-txt span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 3.5px !important; text-transform: uppercase !important;
  color: var(--blue) !important;
  display: inline-flex !important; align-items: center; gap: 10px;
  margin-bottom: 14px !important;
  background: transparent !important; border: none !important; padding: 0 !important;
}
.breadcrumb-txt span::before {
  content: ''; display: inline-block; width: 28px; height: 2px; background: var(--blue);
}
.breadcrumb-txt h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 50px !important; font-weight: 900 !important;
  letter-spacing: -.025em !important; line-height: 1.1 !important;
  color: #fff !important; text-transform: uppercase;
}
ul.breadcumb { margin-top: 20px !important; }
ul.breadcumb li {
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: .6px; text-transform: uppercase;
}
ul.breadcumb li a { opacity: .65; transition: opacity var(--t), color var(--t) !important; }
ul.breadcumb li a:hover { opacity: 1; color: var(--blue) !important; }

/* ════════════════════════════
   BUTTONS
   ════════════════════════════ */

a.boxed-btn {
  border-radius: var(--r-sm) !important;
  background: var(--navy) !important; color: #fff !important;
  padding: 13px 30px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  border: 2px solid var(--navy) !important; box-shadow: none !important;
  transition: all var(--t) var(--ease) !important;
}
a.boxed-btn:hover {
  background: var(--blue) !important; border-color: var(--blue) !important;
  color: #fff !important; box-shadow: var(--sg) !important; transform: translateY(-2px) !important;
}

button[type="submit"], input[type="submit"] {
  border-radius: var(--r-sm) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  padding: 14px 38px !important;
  background: var(--navy) !important; border: 2px solid var(--navy) !important;
  box-shadow: none !important;
  transition: all var(--t) var(--ease) !important;
}
button[type="submit"]:hover, input[type="submit"]:hover {
  background: var(--blue) !important; border-color: var(--blue) !important;
  color: #fff !important; box-shadow: var(--sg) !important;
}

a.readmore-btn {
  border-radius: 0 !important; background: transparent !important;
  color: var(--blue) !important; border: none !important;
  border-bottom: 2px solid var(--blue) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important;
  padding: 3px 0 !important; width: auto !important;
  box-shadow: none !important; transition: color var(--t) var(--ease),
              border-color var(--t) var(--ease) !important;
}
a.readmore-btn::after { display: none !important; }
a.readmore-btn span   { margin: 0 !important; }
a.readmore-btn:hover  {
  color: var(--navy) !important; border-color: var(--navy) !important;
  transform: none !important; background: transparent !important;
}

a.contact-btn { border-radius: var(--r-sm) !important; background: var(--blue) !important; }
a.contact-btn::after { display: none !important; }
a.contact-btn span   { margin: 0 !important; }
a.contact-btn:hover  { background: var(--blue-dk) !important; }

/* ════════════════════════════
   INPUTS
   ════════════════════════════ */

input[type="color"], input[type="date"], input[type="datetime-local"],
input[type="email"], input[type="month"], input[type="number"],
input[type="search"], input[type="tel"], input[type="text"],
input[type="time"], input[type="url"], input[type="week"], select, textarea {
  font-family: 'Inter', sans-serif !important; font-size: 14px !important;
  border-radius: var(--r-sm) !important;
  border: 1.5px solid var(--border) !important;
  background: #fff !important; color: var(--heading) !important;
  transition: border-color var(--t) var(--ease), box-shadow var(--t) var(--ease) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px var(--blue-glow) !important; outline: none !important;
}
::-webkit-input-placeholder { color: #9ba3b3 !important; font-size: 14px !important; }
::placeholder               { color: #9ba3b3 !important; font-size: 14px !important; }

/* ════════════════════════════
   SERVICE CATEGORY CARDS
   ════════════════════════════ */

.service-categories .single-category {
  border-radius: var(--r-md) !important;
  box-shadow: var(--s1) !important; border: 1px solid var(--border) !important;
  background: #fff !important; padding: 36px 28px !important;
  position: relative; overflow: hidden;
  transition: transform var(--tl) var(--ease), box-shadow var(--tl) var(--ease) !important;
}
.service-categories .single-category::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 3px; background: var(--blue);
  transition: width var(--tl) var(--ease);
}
.service-categories .single-category:hover::after { width: 100%; }
.service-categories .single-category:hover {
  transform: translateY(-8px) !important; box-shadow: var(--s3) !important;
}
.single-category .text h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important; font-weight: 700 !important;
  color: var(--heading) !important; text-transform: none !important;
}
.single-category .text p  { font-size: 14px !important; color: var(--text) !important; }
.single-category .text a.readmore {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .5px; text-transform: uppercase;
  color: var(--blue) !important;
}

/* ════════════════════════════
   SERVICES
   ════════════════════════════ */

.services-area .services-item {
  border-radius: var(--r-md) !important; overflow: hidden;
  box-shadow: var(--s1) !important; border: 1px solid var(--border);
  transition: box-shadow var(--tl) var(--ease), transform var(--tl) var(--ease) !important;
  position: relative;
}
.services-area .services-item::before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 0; height: 3px; background: var(--blue);
  transition: width var(--tl) var(--ease); z-index: 2;
}
.services-area .services-item:hover::before { width: 100%; }
.services-area .services-item:hover {
  transform: translateY(-6px) !important; box-shadow: var(--s3) !important;
}
.services-area .services-item .services-content {
  border: none !important; padding: 28px !important; background: #fff;
}
.services-area .services-item .services-content .title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important; font-weight: 700 !important; color: var(--heading) !important;
}
.services-area .services-item .services-content p {
  color: var(--text) !important; font-size: 14px !important;
}
.services-area .services-item .services-content a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  color: var(--blue) !important; text-transform: uppercase; letter-spacing: .4px;
}
.services-area .services-item .services-content a i {
  background: rgba(12,164,220,.08) !important; color: var(--blue) !important;
  border-radius: 50% !important; transition: all var(--t) var(--ease) !important;
}
.services-area .services-item:hover .services-content a i {
  background: var(--blue) !important; color: #fff !important; box-shadow: var(--sg) !important;
}

/* ════════════════════════════
   APPROACH / ICON LISTS
   ════════════════════════════ */

.approach-icon-wrapper, .about-icon-wrapper {
  height: 68px !important; width: 68px !important; border: none !important;
  background: rgba(12,164,220,.08) !important; border-radius: 50% !important;
  transition: background var(--t) var(--ease), box-shadow var(--t) var(--ease) !important;
}
.approach-icon-wrapper i, .about-icon-wrapper i {
  line-height: 68px !important; font-size: 26px !important; color: var(--blue) !important;
}
.single-approach:hover .approach-icon-wrapper,
.single-reason:hover .about-icon-wrapper {
  background: var(--blue) !important; box-shadow: var(--sg) !important;
}
.single-approach:hover .approach-icon-wrapper i,
.single-reason:hover .about-icon-wrapper i { color: #fff !important; }
.approach-text { margin-left: 90px !important; }
.single-approach h4, .single-reason .reason-txt h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important; font-weight: 700 !important; color: var(--heading) !important;
}

/* ════════════════════════════
   STATISTICS — white cards
   on dark navy background
   ════════════════════════════ */

.statistic-overlay {
  background: var(--navy) !important; opacity: .93 !important;
}
.statistics-section .round {
  background: rgba(255,255,255,.05);
  border-radius: var(--r-md); overflow: hidden;
}
.statistics-section .round strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 56px !important; font-weight: 900 !important; color: #fff !important;
}
.statistics-section h5 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 2.5px !important; text-transform: uppercase !important;
  color: rgba(255,255,255,.55) !important; word-break: normal !important;
}
.statistics-section h5 i { color: var(--blue) !important; font-size: 18px !important; }

/* ════════════════════════════
   SIDEBAR SUBSCRIBE
   ════════════════════════════ */

.subscribe-section.subscribe-section--modern {
  position: relative;
  overflow: hidden;
  padding: 30px 28px 28px !important;
  border-radius: 22px !important;
  border: 1px solid var(--border) !important;
  background:
    radial-gradient(circle at top right, rgba(12,164,220,.16), transparent 34%),
    linear-gradient(165deg, #ffffff 0%, var(--off-white) 100%) !important;
  box-shadow: var(--s2) !important;
  color: var(--text) !important;
}

.subscribe-section.subscribe-section--modern::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--navy), var(--blue));
}

.subscribe-section.subscribe-section--modern span {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
}

.subscribe-section.subscribe-section--modern span::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--blue);
}

.subscribe-section.subscribe-section--modern h3 {
  margin: 0 0 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  color: var(--heading) !important;
}

.subscribe-section.subscribe-section--modern h3::after {
  display: none !important;
}

.subscribe-section.subscribe-section--modern > p {
  margin: 0 0 20px !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: #6b7280 !important;
}

.subscribe-section.subscribe-section--modern .subscribe-form {
  margin-top: 0 !important;
}

.subscribe-section.subscribe-section--modern .form-element {
  margin-bottom: 12px !important;
}

.subscribe-section.subscribe-section--modern .form-element:last-child {
  margin-bottom: 0 !important;
}

.subscribe-section.subscribe-section--modern .form-element input[type="email"] {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--heading) !important;
  font-size: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.subscribe-section.subscribe-section--modern .form-element input[type="email"]:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px var(--blue-glow) !important;
}

.subscribe-section.subscribe-section--modern .form-element input[type="submit"],
.subscribe-section.subscribe-section--modern .form-element button[type="submit"] {
  width: 100% !important;
  min-height: 52px !important;
  border: none !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  box-shadow: 0 16px 34px rgba(12,164,220,.22) !important;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease),
              filter var(--t) var(--ease) !important;
}

.subscribe-section.subscribe-section--modern .form-element input[type="submit"]:hover,
.subscribe-section.subscribe-section--modern .form-element button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.03);
  box-shadow: 0 20px 40px rgba(12,164,220,.28) !important;
}

.subscribe-section.subscribe-section--modern .err-email {
  margin: 0 0 10px !important;
  font-size: 12px !important;
}

/* ════════════════════════════
   CTA SECTION
   ════════════════════════════ */

.cta-overlay { background: var(--navy) !important; opacity: .90 !important; }
.cta-section h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 28px !important; font-weight: 800 !important;
  text-transform: uppercase; letter-spacing: -.01em;
}

/* ════════════════════════════
   TESTIMONIALS
   ════════════════════════════ */

.single-testimonial {
  border-radius: var(--r-md) !important;
  background: var(--off-white) !important;
  box-shadow: none !important; border: 1px solid var(--border) !important;
  padding: 34px 32px 30px !important;
  position: relative; overflow: hidden;
  transition: box-shadow var(--tl) var(--ease), transform var(--tl) var(--ease) !important;
}
.single-testimonial::before {
  content: '\f10d' !important; font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important; font-size: 72px !important;
  color: rgba(11,29,58,.05) !important;
  position: absolute !important; top: 16px !important; right: 22px !important;
  left: auto !important; bottom: auto !important;
  border: none !important; background: transparent !important;
  opacity: 1 !important; visibility: visible !important; transition: none !important;
}
.single-testimonial::after {
  content: '' !important; position: absolute !important;
  left: 0 !important; bottom: 0 !important; top: auto !important; right: auto !important;
  width: 0 !important; height: 3px !important;
  background: var(--blue) !important; border: none !important;
  opacity: 1 !important; visibility: visible !important;
  transition: width var(--tl) var(--ease) !important;
}
.single-testimonial:hover::after { width: 100% !important; }
.single-testimonial:hover {
  transform: translateY(-5px) !important; box-shadow: var(--s2) !important;
}
.single-testimonial p.comment {
  font-size: 14.5px !important; color: var(--text) !important; line-height: 1.75 !important;
}
.single-testimonial h6 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.2px !important; text-transform: uppercase !important;
  color: var(--blue) !important;
}
.single-testimonial p.rank { font-size: 12px !important; color: #94a3b8 !important; }

/* ════════════════════════════
   BLOG CARDS
   ════════════════════════════ */

.single-blog {
  border-radius: var(--r-md) !important; overflow: hidden;
  box-shadow: var(--s1) !important; border: 1px solid var(--border) !important;
  background: #fff !important; margin: 0 !important;
  transition: box-shadow var(--tl) var(--ease), transform var(--tl) var(--ease) !important;
}
.single-blog::before, .single-blog::after { display: none !important; }
.single-blog:hover { transform: translateY(-6px) !important; box-shadow: var(--s3) !important; }
.blog-img-wrapper img { border-radius: 0 !important; transition: transform 600ms var(--ease) !important; }
.single-blog:hover img { transform: scale(1.06) !important; }
.blog-txt {
  background: #fff !important; padding: 24px !important;
  border-top: none !important; position: relative;
}
.blog-txt::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 3px; background: var(--blue);
  transition: width var(--tl) var(--ease);
}
.single-blog:hover .blog-txt::after { width: 100%; }
.blog-txt .date {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 1px; text-transform: uppercase; color: #9ba3b3 !important;
}
.blog-txt .date span { color: var(--blue) !important; }
.blog-txt .blog-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important; font-weight: 700 !important;
  letter-spacing: -.01em; line-height: 1.3 !important; margin: 12px 0 8px !important;
}
.blog-txt .blog-title a  { color: var(--heading) !important; }
.blog-txt .blog-title a:hover { color: var(--blue) !important; }
.blog-txt .blog-summary { font-size: 14px !important; color: var(--text) !important; }

/* ════════════════════════════
   CAROUSEL CONTROLS
   ════════════════════════════ */

.owl-carousel.common-carousel .owl-nav button.owl-next,
.owl-carousel.common-carousel .owl-nav button.owl-prev {
  border-radius: 50% !important; width: 44px !important; height: 44px !important;
  background: #fff !important; border: 2px solid var(--border) !important;
  color: var(--navy) !important; box-shadow: var(--s1) !important;
  transition: all var(--t) var(--ease) !important;
}
.owl-carousel.common-carousel .owl-nav button:hover {
  background: var(--blue) !important; border-color: var(--blue) !important;
  color: #fff !important; box-shadow: var(--sg) !important;
}
.owl-theme .owl-dots .owl-dot span {
  border-radius: var(--r-pill) !important; background: #d0d5df !important;
  width: 8px !important; height: 8px !important; transition: all var(--t) var(--ease) !important;
}
.owl-theme .owl-dots .owl-dot.active span {
  background: var(--blue) !important; width: 24px !important;
}
.hero2-carousel.owl-theme .owl-dots .owl-dot span {
  background: rgba(255,255,255,.25) !important; border-radius: var(--r-pill) !important;
}
.hero2-carousel.owl-theme .owl-dots .owl-dot.active span {
  background: var(--blue) !important; width: 24px !important;
}

/* ════════════════════════════
   FOOTER
   ════════════════════════════ */

.footer-section {
  background: var(--navy) !important; color: rgba(255,255,255,.50) !important;
}
.top-footer-section {
  padding: 70px 0 50px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
.footer-section h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 2.5px !important; text-transform: uppercase !important;
  color: #fff !important; margin-bottom: 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue) !important; display: inline-block;
}
.footer-section .footer-txt {
  font-size: 13.5px !important; color: rgba(255,255,255,.40) !important;
  line-height: 1.8 !important; margin-top: 16px !important;
}
ul.footer-links li a {
  font-size: 13px !important; color: rgba(255,255,255,.40) !important;
  padding-left: 0 !important;
  transition: color var(--t) var(--ease), padding-left var(--t) var(--ease) !important;
}
ul.footer-links li a::after {
  content: none !important;
  display: none !important;
}
ul.footer-links li a:hover {
  color: var(--blue) !important; padding-left: 5px !important; transform: none !important;
}
.footer-newsletter input[type="email"] {
  background: rgba(255,255,255,.06) !important;
  border: 1.5px solid rgba(255,255,255,.10) !important;
  border-radius: var(--r-sm) var(--r-sm) 0 0 !important; color: #fff !important;
}
.footer-newsletter input[type="email"]:focus {
  border-color: var(--blue) !important; box-shadow: none !important;
}
.footer-newsletter input[type="email"]::placeholder { color: rgba(255,255,255,.28) !important; }
.footer-newsletter button[type="submit"],
.footer-newsletter input[type="submit"] {
  background: var(--blue) !important; border: none !important;
  border-radius: 0 0 var(--r-sm) var(--r-sm) !important; width: 100%;
  margin-top: 0 !important; font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  box-shadow: none !important; transition: background var(--t) var(--ease) !important;
}
.footer-newsletter button[type="submit"]:hover,
.footer-newsletter input[type="submit"]:hover {
  background: var(--blue-dk) !important; color: #fff !important; transform: none !important;
}
.footer-contact-info ul li i   { color: var(--blue) !important; margin-top: 3px; }
.footer-contact-info ul li span {
  font-size: 13px !important; color: rgba(255,255,255,.40) !important; line-height: 1.65 !important;
}
.copyright-section {
  padding: 20px 0 !important; border-top: 1px solid rgba(255,255,255,.06) !important;
}
.copyright-section, .copyright-section * {
  font-size: 12px !important; color: rgba(255,255,255,.28) !important; opacity: 1 !important;
}
.copyright-section a { color: var(--blue) !important; }

/* ════════════════════════════
   BACK TO TOP
   ════════════════════════════ */

.back-to-top {
  width: 46px !important; height: 46px !important; line-height: 46px !important;
  border-radius: var(--r-sm) !important;
  background: var(--blue) !important; border: none !important;
  box-shadow: var(--sg) !important; font-size: 14px !important;
  transition: background var(--t) var(--ease), transform var(--t) var(--ease),
              opacity var(--t) var(--ease) !important;
}
.back-to-top:hover {
  background: var(--blue-dk) !important; color: #fff !important; transform: translateY(-3px);
}

/* ════════════════════════════
   PRICING, CART, MISC
   ════════════════════════════ */

.single-pricing-table {
  border-radius: var(--r-md) !important; overflow: hidden;
  box-shadow: var(--s1) !important; border: 1px solid var(--border) !important;
  transition: box-shadow var(--tl) var(--ease), transform var(--tl) var(--ease) !important;
}
.single-pricing-table:hover {
  transform: translateY(-8px) !important; box-shadow: var(--s3) !important;
}
.cart-total-table {
  border-radius: var(--r-md) !important; border: 1px solid var(--border) !important;
  overflow: hidden;
}
.checkout-area .exisitng-customer, .checkout-area .coupon {
  border-radius: var(--r-md) !important; border: 1px solid var(--border) !important;
  background: var(--off-white) !important;
}
.checkout-area .exisitng-customer::before,
.checkout-area .coupon::before { background: var(--blue) !important; width: 3px !important; }
#cartIconWrapper { border-radius: var(--r-sm) !important; box-shadow: var(--s2) !important; }
#cartIcon .cart-length { background: var(--navy) !important; }
#cartIcon .cart-total  { background: var(--blue) !important; }
#preloader { background: var(--navy) !important; }

/* ════════════════════════════
   FOOTER SOCIAL LINKS
   ════════════════════════════ */

ul.footer-social-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 22px 0 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
}
ul.footer-social-links li { margin: 0 !important; }
ul.footer-social-links li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 14px !important;
  transition: background var(--t) var(--ease), border-color var(--t) var(--ease),
              color var(--t) var(--ease), transform var(--t) var(--ease) !important;
  text-decoration: none !important;
}
ul.footer-social-links li a:hover {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
}

/* ════════════════════════════
   FOOTER LOGO
   ════════════════════════════ */

.footer-logo-wrapper {
  margin-bottom: 16px !important;
}
.footer-logo-wrapper img {
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* ════════════════════════════
   PARTNER DIVIDER
   ════════════════════════════ */

.partner-section .top-border { border-top: 1px solid var(--border) !important; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — overrides for tablet & mobile
   These must live after all desktop rules so they win even
   over the !important rules above, and override responsive.css
   which can't beat !important without being later in the cascade.
   ═══════════════════════════════════════════════════════════════ */

/* ────────────────────────────
   Tablet / small desktop ≤ 991px
   ─────────────────────────── */
@media only screen and (max-width: 991px) {

  /* Smaller header (no support bar) = smaller offset */
  body { padding-top: 68px !important; }

  /* Logo */
  .logo-wrapper img {
    max-height: 44px !important;
    max-width: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .logo-wrapper {
    padding: 14px 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Header bar — hide support bar on mobile, keep nav clean */
  .header-navbar {
    padding: 0 !important;
    border: none !important;
  }
  .support-bar-area {
    display: none !important;
  }

  /* Hero — body already offset 80px; just breathing room */
  .hero-txt {
    padding: 80px 0 70px 0 !important;
  }
  .hero-txt span {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    margin-bottom: 16px !important;
  }
  .hero-txt h1 {
    font-size: 44px !important;
    letter-spacing: -.02em !important;
    max-width: 100% !important;
  }
  a.hero-boxed-btn {
    padding: 13px 28px !important;
    margin-top: 28px !important;
  }

  /* Section headings */
  .section-summary {
    font-size: 28px !important;
    margin-bottom: 28px !important;
  }

  /* Feature strip — hide on tablet */
  .intro-section {
    display: none !important;
  }

  /* Statistics numbers */
  .statistics-section .round strong {
    font-size: 42px !important;
  }

  /* Breadcrumb */
  .breadcrumb-area .breadcrumb-txt {
    padding: 60px 0 40px !important;
  }
  .breadcrumb-txt h1 {
    font-size: 38px !important;
  }

  /* Slicknav mobile menu — navy + orange theme */
  ul.slicknav_nav {
    background-color: var(--navy) !important;
    top: 82px !important;
    border-top: 3px solid var(--blue) !important;
    box-shadow: var(--s3) !important;
  }
  .sticky-navbar ul.slicknav_nav {
    top: 66px !important;
    border-top: 3px solid var(--blue) !important;
  }
  .slicknav_btn {
    border: 2px solid rgba(255,255,255,.45) !important;
    border-radius: var(--r-sm) !important;
    width: 42px !important;
    height: 42px !important;
    padding-left: 8px !important;
    padding-top: 9px !important;
    margin-top: 6px !important;
    background: transparent !important;
    transition: border-color var(--t) var(--ease), background var(--t) var(--ease) !important;
  }
  .slicknav_btn:hover {
    border-color: var(--blue) !important;
    background: rgba(12,164,220,.12) !important;
  }
  .slicknav_menu .slicknav_icon-bar {
    background: #fff !important;
    width: 22px !important;
    height: 2px !important;
    margin-bottom: 5px !important;
    display: block !important;
  }
  ul.slicknav_nav li {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  ul.slicknav_nav li a,
  .slicknav_nav .slicknav_row {
    color: rgba(255,255,255,.80) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    text-transform: uppercase !important;
    padding: 15px 20px !important;
    margin: 0 !important;
    transition: background var(--t) var(--ease), color var(--t) var(--ease) !important;
  }
  ul.slicknav_nav li a.boxed-btn {
    background: var(--blue) !important;
    color: #fff !important;
    text-align: center !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
  }
  ul.slicknav_nav li a.boxed-btn:hover {
    background: var(--blue-dk) !important;
  }
  .slicknav_nav a:hover,
  .slicknav_nav .slicknav_row:hover {
    background: var(--blue) !important;
    color: #fff !important;
    border-radius: 0 !important;
  }
  .slicknav_nav ul.dropdown-lists {
    background-color: var(--navy-mid) !important;
    border-left: 3px solid var(--blue) !important;
    margin: 0 0 0 20px !important;
    padding-left: 0 !important;
  }
  .slicknav_nav .slicknav_item .slicknav_arrow {
    color: rgba(255,255,255,.40) !important;
    font-size: 10px !important;
  }
  .slicknav_nav li.mega-dropdown {
    display: none !important;
  }
}

/* ────────────────────────────
   Mobile ≤ 767px
   ─────────────────────────── */
@media only screen and (max-width: 767px) {

  /* Logo */
  .logo-wrapper img {
    max-height: 40px !important;
    max-width: 150px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Hero */
  .hero-txt {
    padding: 70px 0 55px 0 !important;
  }
  .hero-txt span {
    font-size: 9px !important;
    letter-spacing: 2.5px !important;
    gap: 7px !important;
    margin-bottom: 14px !important;
  }
  .hero-txt span::before {
    width: 22px !important;
  }
  .hero-txt h1 {
    font-size: 36px !important;
    letter-spacing: -.015em !important;
  }
  a.hero-boxed-btn {
    display: inline-block !important;
    width: auto !important;
    max-width: 260px !important;
    padding: 13px 28px !important;
    font-size: 10px !important;
    margin-top: 22px !important;
  }

  /* Section headings */
  .section-summary {
    font-size: 24px !important;
    margin-bottom: 22px !important;
    letter-spacing: -.015em !important;
  }
  .section-title {
    font-size: 9px !important;
    letter-spacing: 2.5px !important;
  }
  .section-title::before {
    width: 20px !important;
  }

  /* Breadcrumb */
  .breadcrumb-area .breadcrumb-txt {
    padding: 50px 0 30px !important;
  }
  .breadcrumb-txt h1 {
    font-size: 28px !important;
    letter-spacing: -.01em !important;
  }
  .breadcrumb-txt span {
    font-size: 9px !important;
    letter-spacing: 2px !important;
  }

  /* Statistics */
  .statistics-section .round strong {
    font-size: 36px !important;
  }
  .statistics-section h5 {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
  }

  /* CTA */
  .cta-section h3 {
    font-size: 22px !important;
    text-align: center !important;
  }

  /* Approach */
  .approach-text {
    margin-left: 84px !important;
  }

  /* Service category cards — reduce inner padding */
  .service-categories .single-category {
    padding: 22px 18px !important;
    margin-bottom: 20px !important;
  }

  /* Testimonials — tighten layout */
  .single-testimonial {
    padding: 24px 20px 20px !important;
  }
  .single-testimonial::before {
    font-size: 52px !important;
    top: 10px !important;
    right: 14px !important;
  }

  /* Blog cards */
  .blog-txt {
    padding: 20px !important;
  }
  .blog-txt .blog-title {
    font-size: 16px !important;
    margin: 8px 0 6px !important;
  }
  .blog-txt .blog-summary {
    font-size: 13px !important;
  }

  /* Footer */
  .top-footer-section {
    padding: 44px 0 28px !important;
  }
  .footer-section h4 {
    margin-top: 28px !important;
    margin-bottom: 14px !important;
    font-size: 10px !important;
  }
  .footer-logo-wrapper {
    margin-bottom: 4px !important;
  }
  .footer-logo-wrapper img {
    max-height: 38px !important;
    width: auto !important;
  }
  ul.footer-links li a {
    font-size: 12px !important;
  }

  /* Slicknav top position for smaller header */
  ul.slicknav_nav {
    top: 74px !important;
  }
  .sticky-navbar ul.slicknav_nav {
    top: 60px !important;
  }
}

/* ────────────────────────────
   Small mobile ≤ 575px
   ─────────────────────────── */
@media only screen and (max-width: 575px) {

  /* Logo — keep readable, not tiny */
  .logo-wrapper img {
    max-height: 38px !important;
    max-width: 140px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .logo-wrapper {
    padding: 12px 0 !important;
  }

  /* Header */
  .header-navbar {
    padding: 0 !important;
  }
  .slicknav_btn {
    width: 38px !important;
    height: 38px !important;
    padding-left: 7px !important;
    padding-top: 8px !important;
    margin-top: 4px !important;
  }

  /* Hero */
  .hero-txt {
    padding: 60px 0 44px 0 !important;
  }
  .hero-txt h1 {
    font-size: 28px !important;
    letter-spacing: -.01em !important;
  }
  .hero-txt span {
    font-size: 8px !important;
    letter-spacing: 2px !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
  }
  .hero-txt span::before {
    width: 16px !important;
  }
  a.hero-boxed-btn {
    max-width: 220px !important;
    padding: 12px 20px !important;
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
    margin-top: 18px !important;
  }

  /* Sections */
  .section-summary {
    font-size: 20px !important;
    margin-bottom: 18px !important;
  }
  .section-title {
    font-size: 8px !important;
    letter-spacing: 2px !important;
  }

  /* Breadcrumb */
  .breadcrumb-area .breadcrumb-txt {
    padding: 90px 0 36px !important;
  }
  .breadcrumb-txt h1 {
    font-size: 22px !important;
  }

  /* Statistics */
  .statistics-section .round strong {
    font-size: 30px !important;
  }

  /* Approach icons */
  .approach-icon-wrapper, .about-icon-wrapper {
    height: 56px !important;
    width: 56px !important;
  }
  .approach-icon-wrapper i, .about-icon-wrapper i {
    line-height: 56px !important;
    font-size: 22px !important;
  }
  .approach-text {
    margin-left: 70px !important;
  }

  /* Hero icon features — keep hidden */
  .hero-features i {
    width: 58px !important;
    height: 58px !important;
    font-size: 26px !important;
  }

  /* Slicknav */
  ul.slicknav_nav {
    top: 64px !important;
  }
  .sticky-navbar ul.slicknav_nav {
    top: 54px !important;
  }
  ul.slicknav_nav li a,
  .slicknav_nav .slicknav_row {
    font-size: 10px !important;
    padding: 13px 16px !important;
  }

  /* Cards */
  .service-categories .single-category,
  .single-testimonial {
    padding: 20px 16px !important;
  }

  /* Footer tighten */
  .top-footer-section {
    padding: 36px 0 20px !important;
  }
  .footer-contact-info ul li span {
    font-size: 12px !important;
  }
  .copyright-section {
    padding: 14px 0 !important;
  }
  .copyright-section, .copyright-section * {
    font-size: 11px !important;
  }

  /* Back to top */
  .back-to-top {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    font-size: 12px !important;
  }
}

/* ────────────────────────────
   Home Page Responsive Tuning
   ─────────────────────────── */
@media only screen and (max-width: 991px) {
  .home-default-modern .hero-area,
  .home-default-modern .hero-bg-2 {
    min-height: auto;
  }

  .home-default-modern .hero-txt {
    padding: 96px 0 124px 0 !important;
  }

  .home-default-modern .hero-txt .col-12 {
    max-width: 100%;
    padding: 30px 26px 32px;
    border-radius: 24px;
  }

  .home-default-modern .intro-section {
    display: block !important;
    margin-top: -54px !important;
    padding-bottom: 0;
  }

  .home-default-modern .intro-txt,
  .home-default-modern .intro-bg {
    border-radius: 24px;
  }

  .home-default-modern .intro-txt {
    padding: 40px 34px 42px !important;
    margin-bottom: 24px;
  }

  .home-default-modern .intro-txt h2 {
    max-width: 100%;
  }

  .home-default-modern .hero-features [class*="col-"] {
    margin-bottom: 20px;
  }

  .home-default-modern .approach-summary {
    position: static;
    padding-right: 0 !important;
    margin-bottom: 28px;
  }

  .home-default-modern ul.approach-lists {
    padding: 12px 22px !important;
  }

  .home-default-modern .single-case {
    height: 360px;
  }

  .home-default-modern .single-case .inner-container {
    padding: 0 22px 22px !important;
  }

  .home-default-modern .cta-content {
    padding: 34px 28px;
  }

  .home-default-modern .contact-btn-wrapper {
    justify-content: flex-start;
    margin-top: 24px;
  }

  .home-default-modern .single-partner-item {
    height: 112px;
  }
}

@media only screen and (max-width: 767px) {
  .home-default-modern .hero-txt {
    padding: 84px 0 102px 0 !important;
  }

  .home-default-modern .hero-txt .col-12 {
    padding: 24px 20px 26px;
    border-radius: 20px;
  }

  .home-default-modern .hero-txt h1 {
    max-width: 100%;
  }

  .home-default-modern .intro-section {
    margin-top: -40px !important;
  }

  .home-default-modern .single-hero-feature {
    border-radius: 20px !important;
    padding: 24px 20px !important;
  }

  .home-default-modern .hero-features i {
    width: 58px !important;
    height: 58px !important;
    font-size: 24px !important;
  }

  .home-default-modern .services-area,
  .home-default-modern .service-categories,
  .home-default-modern .approach-section,
  .home-default-modern .statistics-section,
  .home-default-modern .case-section,
  .home-default-modern .testimonial-section,
  .home-default-modern .team-section,
  .home-default-modern .pricing-tables,
  .home-default-modern .blog-section,
  .home-default-modern .partner-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .home-default-modern .single-case {
    height: 320px;
    border-radius: 22px;
  }

  .home-default-modern .single-case .inner-container {
    padding: 0 18px 18px !important;
  }

  .home-default-modern .single-case h4 {
    font-size: 17px !important;
  }

  .home-default-modern .single-team-member,
  .home-default-modern .single-pricing-table,
  .home-default-modern .cta-content,
  .home-default-modern .single-partner-item {
    border-radius: 22px !important;
  }

  .home-default-modern .cta-content {
    padding: 28px 22px;
  }

  .home-default-modern .contact-btn-wrapper {
    justify-content: center;
  }

  .home-default-modern .single-partner-item {
    height: 104px;
  }
}

@media only screen and (max-width: 575px) {
  .home-default-modern .hero-txt {
    padding: 74px 0 88px 0 !important;
  }

  .home-default-modern .hero-txt .col-12 {
    padding: 20px 16px 22px;
    border-radius: 18px;
  }

  .home-default-modern .intro-section {
    margin-top: -26px !important;
  }

  .home-default-modern .intro-txt {
    padding: 30px 22px 32px !important;
  }

  .home-default-modern .hero-features [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px;
  }

  .home-default-modern .single-hero-feature {
    padding: 20px 16px !important;
  }

  .home-default-modern .single-hero-feature h3 {
    font-size: 14px !important;
  }

  .home-default-modern ul.approach-lists {
    padding: 8px 16px !important;
    border-radius: 20px;
  }

  .home-default-modern .single-approach {
    padding: 18px 0;
  }

  .home-default-modern .single-case {
    height: 280px;
    border-radius: 18px;
  }

  .home-default-modern .single-case .inner-container {
    padding: 0 16px 16px !important;
  }

  .home-default-modern .single-case h4 {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }
}
