/* ==========================================================================
   Nurture Swasthya - Exact Reference Design Theme (Pixel-Perfect Match)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600&family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
  --ns-font-body: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  --ns-font-heading: 'Playfair Display', 'Outfit', serif;
  
  --ns-teal-dark: #063b36;
  --ns-teal-deep: #064e47;
  --ns-teal-main: #0d6b62;
  --ns-teal-light: #e6f2f0;
  --ns-teal-bg: #f0f7f6;
  --ns-teal-border: #cbe3df;
  
  --ns-gold: #f59e0b;
  --ns-dark: #142825;
  --ns-gray-muted: #4e6360;
  --ns-white: #ffffff;
  
  --ns-shadow-sm: 0 4px 14px rgba(13, 107, 98, 0.05);
  --ns-shadow-md: 0 10px 28px rgba(13, 107, 98, 0.1);
  --ns-shadow-lg: 0 20px 45px rgba(13, 107, 98, 0.16);
  
  --ns-radius-sm: 8px;
  --ns-radius-md: 16px;
  --ns-radius-lg: 24px;
  --ns-radius-pill: 999px;
  
  --mediplace-base: var(--ns-teal-main) !important;
  --mediplace-black: var(--ns-dark) !important;
}

/* Base Body Reset */
html, body {
  font-family: var(--ns-font-body) !important;
  background-color: #f7faf9 !important;
  color: var(--ns-dark) !important;
  line-height: 1.65 !important;
  font-size: 16px !important;
  overflow-x: hidden !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ns-font-heading) !important;
  color: var(--ns-dark) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

p {
  color: var(--ns-gray-muted) !important;
  font-size: 16px !important;
}

/* Neutralize old watermarks & float icons */
.shape1, .shape2, .shape3, .shape4, 
.services-three__count,
.services-three__shape-1, .services-three__shape-2, 
.services-three__shape-3, .services-three__shape-4, .services-three__shape-5,
.appointment-two__shape-1, .appointment-two__shape-2, 
.appointment-two__shape-3, .appointment-two__shape-4,
.site-footer-three__shape-bg, .banner-two__bg, .banner-two__bg-shape,
.custom-cursor__cursor, .custom-cursor__cursor-two,
.main-menu-three__cart-search-call-and-nav-sidebar-icon,
.scroll-to-top,
.banner-two__progress,
.banner-two__patient-recovers,
.hero-doctor-badge,
.hero-doctor-experience-badge {
  display: none !important;
}

/* ==========================================================================
   Top Announcement Bar (Dark Teal)
   ========================================================================== */
.page-wrapper {
  position: relative !important;
  overflow: visible !important;
  overflow-x: clip !important;
}

/* Top Announcement Bar & Sticky Header */
.ns-header {
  background: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
}

.ns-topbar {
  background: var(--ns-teal-dark) !important;
  color: #ffffff !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.ns-topbar-left span,
.ns-topbar-right a {
  color: #e2f0ee !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.ns-topbar-right a:hover {
  color: #ffffff !important;
}

.text-teal-light {
  color: #2dd4bf !important;
}

/* ==========================================================================
   Main Navbar
   ========================================================================== */
.ns-navbar {
  padding: 12px 0 !important;
  background: #ffffff !important;
  position: relative !important;
  border-bottom: 1px solid var(--ns-teal-border) !important;
}

.ns-logo img {
  height: 58px !important;
  width: auto !important;
  object-fit: contain !important;
}

.ns-brand-name {
  font-family: var(--ns-font-body) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: var(--ns-teal-dark) !important;
  line-height: 1.1 !important;
}

.ns-brand-tagline {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ns-teal-main) !important;
  letter-spacing: 0.5px !important;
}

.main-menu__list {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.main-menu__list > li {
  position: relative !important;
  padding: 6px 0 !important;
}

.main-menu__list > li > a {
  font-family: var(--ns-font-body) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--ns-dark) !important;
  padding: 8px 14px !important;
  border-radius: var(--ns-radius-pill) !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  text-decoration: none !important;
}

.main-menu__list > li.active > a,
.main-menu__list > li:hover > a {
  color: var(--ns-teal-main) !important;
  background: var(--ns-teal-light) !important;
}

/* STRICT HIDING OF ALL DROPDOWNS BY DEFAULT */
.main-menu__list ul {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #ffffff !important;
  min-width: 250px !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border-radius: var(--ns-radius-md) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid var(--ns-teal-border) !important;
  z-index: 99999 !important;
}

.main-menu__list > li.dropdown:hover > ul {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.main-menu__list li ul li a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ns-dark) !important;
  padding: 10px 20px !important;
  display: block !important;
  text-decoration: none !important;
}

.main-menu__list li ul li:hover > a {
  background: var(--ns-teal-light) !important;
  color: var(--ns-teal-main) !important;
}

/* Navbar Right Buttons & Social */
.ns-navbar-social a {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--ns-teal-light) !important;
  color: var(--ns-teal-main) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  border: 1px solid var(--ns-teal-border) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.ns-navbar-social a:hover {
  background: var(--ns-teal-main) !important;
  color: #ffffff !important;
}

.btn-nav-cta {
  background: var(--ns-teal-deep) !important;
  color: #ffffff !important;
  border-radius: var(--ns-radius-pill) !important;
  padding: 10px 22px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 18px rgba(13, 107, 98, 0.25) !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.btn-nav-cta:hover {
  background: var(--ns-teal-dark) !important;
  color: #ffffff !important;
}

/* ==========================================================================
   Hero Banner Section (Compact Layout - Prevents Any Bottom Cutting)
   ========================================================================== */
.banner-two {
  background: radial-gradient(circle at 75% 40%, #e2f2ef 0%, #f0f7f6 45%, #ffffff 90%) !important;
  padding: 30px 0 40px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Background Plus Icons & Dot Grid from Mockup */
.hero-bg-decorations {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.hero-plus-icon {
  position: absolute !important;
  color: #61b8ad !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  opacity: 0.55 !important;
}

.icon-plus-1 {
  top: 100px !important;
  left: 47% !important;
}

.icon-plus-2 {
  top: 145px !important;
  left: 50% !important;
}

.hero-dot-grid {
  position: absolute !important;
  top: 165px !important;
  left: 45% !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 7px !important;
  opacity: 0.3 !important;
}

.hero-dot-grid span {
  width: 4.5px !important;
  height: 4.5px !important;
  border-radius: 50% !important;
  background: #0d6b62 !important;
}

.banner-two__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
  position: relative !important;
  z-index: 2 !important;
}

.banner-two__content {
  max-width: 580px !important;
}

.hero-category-subtitle {
  font-family: var(--ns-font-body) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--ns-teal-main) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

.hero-reference-title {
  font-family: var(--ns-font-heading) !important;
  font-size: 44px !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  color: var(--ns-dark) !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.02em !important;
}

.text-teal-gradient {
  color: var(--ns-teal-main) !important;
  display: inline-block !important;
}

.hero-reference-desc {
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  color: var(--ns-gray-muted) !important;
  margin-bottom: 18px !important;
}

.text-teal-bold {
  color: var(--ns-teal-main) !important;
  font-weight: 700 !important;
}

/* 4 Feature Pills Grid (Strict Single Line) */
.hero-feature-grid {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.hero-feature-pill {
  background: #ffffff !important;
  border-radius: var(--ns-radius-pill) !important;
  padding: 5px 10px !important;
  border: 1px solid var(--ns-teal-border) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.feat-icon {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: var(--ns-teal-light) !important;
  color: var(--ns-teal-main) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11.5px !important;
  flex-shrink: 0 !important;
}

.feat-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.15 !important;
}

.feat-text strong {
  font-size: 12px !important;
  color: var(--ns-dark) !important;
}

.feat-text span {
  font-size: 10px !important;
  color: var(--ns-gray-muted) !important;
}

/* Buttons */
.btn-teal-primary {
  background: linear-gradient(135deg, #0d6b62 0%, #064e47 100%) !important;
  color: #ffffff !important;
  border-radius: var(--ns-radius-pill) !important;
  padding: 11px 26px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 22px rgba(13, 107, 98, 0.25) !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
}

.btn-teal-primary:hover {
  background: var(--ns-teal-dark) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.btn-teal-secondary {
  background: #ffffff !important;
  color: var(--ns-teal-main) !important;
  border: 2px solid var(--ns-teal-main) !important;
  border-radius: var(--ns-radius-pill) !important;
  padding: 10px 22px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
}

.btn-teal-secondary:hover {
  background: var(--ns-teal-light) !important;
  color: var(--ns-teal-dark) !important;
}

/* Right Doctor Showcase & Organic Circular Blob Frame (Redesigned & Polished) */
.banner-two__img-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-right: 70px !important;
}

.hero-organic-teal-blob {
  background: radial-gradient(circle at 50% 40%, #ffffff 0%, #b8ded8 65%, #9fd1c8 100%) !important;
  border-radius: 50% !important;
  width: 410px !important;
  height: 410px !important;
  border: 10px solid #ffffff !important;
  box-shadow: 0 0 0 16px rgba(195, 235, 229, 0.65), 0 20px 45px rgba(13, 107, 98, 0.14) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  flex-shrink: 0 !important;
}

.hero-organic-teal-blob::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: radial-gradient(circle at 50% 30%, transparent 45%, rgba(13, 107, 98, 0.12) 100%) !important;
  pointer-events: none !important;
}

.hero-doctor-portrait {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  filter: contrast(1.05) brightness(1.03) !important;
}

/* Right Side Stat Card (Premium Redesigned Card) */
.hero-reference-stat-card {
  position: absolute !important;
  right: -30px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 22px 20px !important;
  box-shadow: 0 15px 35px rgba(13, 107, 98, 0.12), 0 5px 15px rgba(0, 0, 0, 0.04) !important;
  width: 215px !important;
  border: 1px solid #dcece9 !important;
  z-index: 5 !important;
}

.stat-card-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

.stat-icon-badge {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: var(--ns-teal-main) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  box-shadow: 0 4px 12px rgba(13, 107, 98, 0.2) !important;
}

.stat-info strong {
  display: block !important;
  font-size: 15.5px !important;
  color: var(--ns-dark) !important;
  line-height: 1.15 !important;
}

.stat-rating-val {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--ns-dark) !important;
}

.stat-rating-lbl {
  font-size: 11.5px !important;
  color: var(--ns-gray-muted) !important;
  margin-top: 1px !important;
  display: block !important;
}

.stat-info span {
  font-size: 11.5px !important;
  color: var(--ns-gray-muted) !important;
}

.stars-gold-row {
  color: var(--ns-gold) !important;
  font-size: 11px !important;
  margin-top: 3px !important;
  display: flex !important;
  gap: 3px !important;
}

.stat-card-divider {
  height: 1px !important;
  background: #edf5f4 !important;
  margin: 14px 0 !important;
}

/* Plant Decorative Asset from Screenshot (Positioned Higher Up) */
.hero-plant-asset {
  position: absolute !important;
  right: -55px !important;
  bottom: 40px !important;
  z-index: 6 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   Specialty Banner Row (5 Dark Teal Feature Columns)
   ========================================================================== */
.specialty-banner-row {
  background: var(--ns-teal-dark) !important;
  border-radius: 18px !important;
  padding: 18px 24px !important;
  color: #ffffff !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 14px !important;
  box-shadow: 0 12px 30px rgba(6, 59, 54, 0.2) !important;
  margin-top: 25px !important;
}

.specialty-col {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-right: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.specialty-col:last-child {
  border-right: none !important;
}

.spec-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

.spec-info strong {
  display: block !important;
  font-size: 13px !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
}

.spec-info span {
  font-size: 11px !important;
  color: #bce5e1 !important;
  line-height: 1.25 !important;
  display: block !important;
}

/* ==========================================================================
   Light Trust Banner Row (4 Off-White Feature Columns)
   ========================================================================== */
.light-trust-row {
  background: #f2f8f7 !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  border: 1px solid var(--ns-teal-border) !important;
  margin-top: 16px !important;
}

.light-trust-col {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding-right: 12px !important;
  border-right: 1px solid var(--ns-teal-border) !important;
}

.light-trust-col:last-child {
  border-right: none !important;
}

.light-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--ns-teal-main) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  box-shadow: 0 4px 12px rgba(13, 107, 98, 0.08) !important;
  flex-shrink: 0 !important;
}

.light-info strong {
  display: block !important;
  font-size: 13.5px !important;
  color: var(--ns-dark) !important;
  line-height: 1.25 !important;
}

.light-info span {
  font-size: 11.5px !important;
  color: var(--ns-gray-muted) !important;
  line-height: 1.3 !important;
  display: block !important;
}

/* Homepage Appointment Form Section */
.ns-appointment-section {
  background: radial-gradient(circle at 10% 20%, #f0f7f6 0%, #ffffff 80%) !important;
  padding: 60px 0 !important;
}

.ns-form-card {
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 35px 30px !important;
  box-shadow: 0 20px 45px rgba(13, 107, 98, 0.1) !important;
  border: 1px solid #dcece9 !important;
}

.ns-form-card .form-control,
.ns-form-card .form-select {
  border-radius: 12px !important;
  padding: 12px 16px !important;
  border: 1.5px solid #dcece9 !important;
  font-size: 14.5px !important;
  color: var(--ns-dark) !important;
  transition: all 0.25s ease !important;
}

.ns-form-card .form-control:focus,
.ns-form-card .form-select:focus {
  border-color: var(--ns-teal-main) !important;
  box-shadow: 0 0 0 4px rgba(13, 107, 98, 0.12) !important;
  outline: none !important;
}

.ns-form-card label {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--ns-dark) !important;
  margin-bottom: 6px !important;
}

/* Service Details & Treatment Pages Gap Fix */
.service-details {
  padding: 40px 0 50px 0 !important;
  margin-bottom: 0 !important;
}

.service-details__left,
.service-details__sidebar,
.service-details__services-box,
.service-details__get-started,
.service-details__get-started-btn-box,
.service-details__sidebar-single {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.service-details__get-started {
  margin-top: 25px !important;
}

.service-details__get-started-btn-box {
  margin-top: 20px !important;
}

.service-details__text-2 {
  margin-bottom: 15px !important;
}

/* Subpage Header Banner (Grand Spacious Height for ALL Pages) */
.page-header {
  position: relative !important;
  padding: 95px 0 !important;
  min-height: auto !important;
  height: auto !important;
  background-image: url('../images/backgrounds/page-header-bg.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.page-header__bg {
  display: none !important;
}

.page-header__inner {
  padding: 0 !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-header::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg, rgba(13, 107, 98, 0.92) 0%, rgba(6, 59, 54, 0.94) 100%) !important;
  z-index: 1 !important;
}

.page-header .container {
  position: relative !important;
  z-index: 2 !important;
}

.page-header h1,
.page-header h2,
.page-header h3,
.page-header__inner h1,
.page-header__inner h2,
.page-header__inner h3 {
  color: #ffffff !important;
  font-family: var(--ns-font-heading) !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

.thm-breadcrumb__inner,
.thm-breadcrumb,
.thm-breadcrumb list-unstyled {
  margin: 0 !important;
  padding: 0 !important;
}

.thm-breadcrumb,
.thm-breadcrumb li,
.thm-breadcrumb li a {
  color: #c5ebe6 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
}

.thm-breadcrumb li a:hover {
  color: #ffffff !important;
}

.thm-breadcrumb li.active,
.thm-breadcrumb li:last-child {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Team Details & Page Header Spacing */Adjustment */
.team-details {
  padding: 30px 0 40px 0 !important;
}

.team-details__top {
  margin-bottom: 15px !important;
  padding-bottom: 0 !important;
}

.team-details__client-box {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.service-details__points-list,
.team-details__client-text-1 {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

.team-details__bottom {
  margin-top: 15px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e2f0ee !important;
}

/* Footer Top Gap & Layout */
.ns-testimonials-section {
  padding: 60px 0 70px 0 !important;
  position: relative !important;
  z-index: 2 !important;
  background: #ffffff !important;
}

.ns-cta-section {
  position: relative !important;
  z-index: 5 !important;
  padding: 65px 0 !important;
  margin-top: 0 !important;
  background: linear-gradient(135deg, #0d6b62 0%, #063b36 100%) !important;
}

.ns-cta-section p {
  color: #e2f0ee !important;
  opacity: 0.95 !important;
}

.site-footer-three {
  margin-top: 0 !important;
  background: #063b36 !important;
  position: relative !important;
  z-index: 10 !important;
}

.site-footer-three__top {
  background: #063b36 !important;
  padding: 40px 0 30px 0 !important;
  padding-top: 40px !important;
  padding-bottom: 30px !important;
  margin-top: 0 !important;
}

.site-footer-three__top-inner {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.site-footer-three__shape-bg {
  display: none !important;
}

.site-footer-three__bottom,
.site-footer-three__bottom-outer,
.site-footer-three__bottom-inner {
  background: #042925 !important;
  border: none !important;
  margin: 0 !important;
  padding: 16px 0 !important;
  width: 100% !important;
}

/* Comprehensive Mobile & Tablet Responsive UI Fixes */
@media (max-width: 991px) {
  /* Topbar Hide on Mobile to Prevent Layout Overlap */
  .ns-topbar,
  .topbar-one,
  .topbar-one__inner,
  .topbar-one__left,
  .topbar-one__right {
    display: none !important;
  }

  /* Navbar Container Alignment */
  .ns-navbar {
    padding: 8px 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2f0ee !important;
  }

  .ns-navbar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }

  /* Logo Size & Brand Text on Mobile */
  .ns-logo img {
    max-height: 38px !important;
    width: auto !important;
  }

  .ns-logo-text {
    display: block !important;
  }

  .ns-brand-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0d6b62 !important;
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
  }

  .ns-brand-tagline {
    font-size: 9.5px !important;
    color: #666666 !important;
    display: block !important;
    line-height: 1 !important;
  }

  /* Desktop Menu Hide on Mobile (Scoped strictly to navbar) */
  .ns-navbar .main-menu__list {
    display: none !important;
  }

  /* Hamburger Toggler Icon Button */
  .mobile-nav__toggler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0d6b62 !important;
    font-size: 20px !important;
    padding: 8px 12px !important;
    background: #e2f0ee !important;
    border-radius: 6px !important;
    text-decoration: none !important;
  }

  /* Subpage Banner Compact Height on Mobile */
  .page-header {
    padding: 30px 0 !important;
  }

  .page-header h1,
  .page-header h2,
  .page-header h3,
  .page-header__inner h1,
  .page-header__inner h2,
  .page-header__inner h3 {
    font-size: 22px !important;
    margin-bottom: 4px !important;
  }

  /* Hero Banner & Layout Columns Stacking */
  .banner-two__inner {
    flex-direction: column !important;
    text-align: center !important;
  }

  .hero-reference-title {
    font-size: 30px !important;
  }

  .specialty-banner-row,
  .light-trust-row {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }

  .service-details__left,
  .service-details__sidebar {
    margin-bottom: 25px !important;
  }
}

@media (max-width: 575px) {
  .hero-reference-title {
    font-size: 26px !important;
  }

  .ns-btn-primary,
  .ns-btn-secondary,
  .thm-btn {
    padding: 10px 18px !important;
    font-size: 13px !important;
  }
}

/* Mobile Navigation Drawer Expanded Visibility & Styling */
.mobile-nav__wrapper.expanded {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0%) !important;
  display: block !important;
  z-index: 999999 !important;
}

.mobile-nav__container .main-menu__list,
.mobile-nav__content .main-menu__list {
  display: block !important;
}

.mobile-nav__container ul,
.mobile-nav__content ul {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mobile-nav__container li,
.mobile-nav__content li {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

.mobile-nav__container a,
.mobile-nav__content a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  text-decoration: none !important;
}

.mobile-nav__container .dropdown > a::after,
.mobile-nav__content .dropdown > a::after {
  content: "\f107" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  margin-left: 8px !important;
}
