/* ==========================================================================
   Energy Storage & Backup Power Scoped Styles (Page 1716)
   Strictly scoped to prevent leakage to other pages
   ========================================================================== */

/* 0. Hero Section (#hero) */
#hero {
  position: relative !important;
  overflow: hidden !important;
  background-color: #000000 !important;
  min-height: 92vh !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#hero .elementor-widget-container,
#hero .elementor-widget-html {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Background image and overlays container */
#hero .absolute.inset-0:first-child {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: 0 !important;
}

/* Background image */
#hero img[src*="es-hero.jpg"],
#hero .hero-bg-img img,
#hero .hero-bg-img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.5 !important;
  pointer-events: none !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Gradient Overlays */
#hero .absolute.inset-0>div.absolute.inset-0 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(105deg, rgba(0,0,0,0.95) 10%, rgba(6,8,12,0.85) 40%, rgba(6,8,12,0.4) 76%, rgba(6,8,12,0.8) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

#hero .absolute.inset-x-0.bottom-0.h-40 {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 10rem !important;
  background: linear-gradient(180deg, transparent, #06080C) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Ambient Radial Glows */
#hero .h-\[40rem\].w-\[40rem\] {
  position: absolute !important;
  right: -10rem !important;
  top: 33% !important;
  width: 40rem !important;
  height: 40rem !important;
  border-radius: 9999px !important;
  background-color: #F37121 !important;
  opacity: 0.20 !important;
  filter: blur(140px) !important;
  -webkit-filter: blur(140px) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#hero .h-\[30rem\].w-\[30rem\] {
  position: absolute !important;
  left: -5rem !important;
  bottom: 0 !important;
  width: 30rem !important;
  height: 30rem !important;
  border-radius: 9999px !important;
  background-color: #16315C !important;
  opacity: 0.15 !important;
  filter: blur(120px) !important;
  -webkit-filter: blur(120px) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#hero h1.font-heading,
#hero .font-heading {
  font-family: 'Bebas Neue', Oswald, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;
}

#hero .hero-orange-text {
  color: #f37121 !important;
  background: linear-gradient(to right, #fb923c, #ea580c) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  display: inline-block !important;
}

#hero a.hero-cta-btn,
#hero a[href*="contact"] {
  background: linear-gradient(180deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  border-radius: 9999px !important;
  padding: 1rem 2rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 30px -5px rgba(234, 88, 12, 0.4), 0 0 24px rgba(249, 115, 22, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
}

#hero a.hero-cta-btn:hover,
#hero a[href*="contact"]:hover {
  transform: translateY(-2px) !important;
}

#hero a.hero-cta-btn span,
#hero a[href*="contact"] span {
  color: #ffffff !important;
}

#hero a.hero-cta-btn svg,
#hero a[href*="contact"] svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* 1. What Changed / Market Pressures Section (#what-changed) */
#what-changed {
  position: relative !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
}

#what-changed .what-changed-grid-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: linear-gradient(rgba(22, 49, 92, 0.05) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(22, 49, 92, 0.05) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 40%, black 30%, transparent 100%) !important;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 40%, black 30%, transparent 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#what-changed h2.elementor-heading-title,
#what-changed h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #16315C !important;
}

#what-changed h2 .underline,
#what-changed h2 span.underline {
  text-decoration: underline !important;
  text-decoration-color: #F37121 !important;
  -webkit-text-decoration-color: #F37121 !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 6px !important;
}

#what-changed .pressures-list-wrap {
  margin-top: 3rem !important;
  border-top: 1px solid #e2e8f0 !important;
  width: 100% !important;
}

#what-changed .pressure-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.5rem !important;
  padding-top: 1.75rem !important;
  padding-bottom: 1.75rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  transition: background-color 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#what-changed .pressure-row:hover {
  background-color: rgba(248, 250, 252, 0.75) !important;
}

@media (min-width: 768px) {
  #what-changed .pressure-row {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    align-items: baseline !important;
  }

  #what-changed .pressure-num-col,
  #what-changed .md\:col-span-1 {
    grid-column: span 1 / span 1 !important;
  }

  #what-changed .pressure-title-col,
  #what-changed .md\:col-span-4 {
    grid-column: span 4 / span 4 !important;
  }

  #what-changed .pressure-desc-col,
  #what-changed .md\:col-span-7 {
    grid-column: span 7 / span 7 !important;
  }
}

#what-changed .pressure-num-col span,
#what-changed span[class*="tracking-widest"] {
  font-family: 'Oswald', monospace !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: #94a3b8 !important;
  display: inline-block !important;
  transition: color 0.15s ease !important;
}

#what-changed .pressure-row:hover .pressure-num-col span,
#what-changed .pressure-row:hover span[class*="tracking-widest"] {
  color: #F37121 !important;
}

#what-changed h3,
#what-changed h3.elementor-heading-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  color: #16315C !important;
  margin: 0 !important;
  padding: 0 !important;
}

#what-changed .pressure-desc-col p,
#what-changed .pressure-desc-col {
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.625 !important;
  color: #475569 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Why MES Section (#why-mes) */
#why-mes {
  position: relative !important;
  background: linear-gradient(180deg, #06080C 0%, #0A0E17 40%, #06080C 100%) !important;
  padding-top: 6rem !important;
  padding-bottom: 5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  #why-mes {
    padding-top: 8rem !important;
    padding-bottom: 5rem !important;
  }
}

#why-mes h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.25rem !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #why-mes h2 {
    font-size: 3rem !important;
  }
}

#why-mes .grid-cols-1.lg\:grid-cols-12 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3rem !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  #why-mes .grid-cols-1.lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 4rem !important;
  }
  #why-mes .lg\:col-span-5 {
    grid-column: span 5 / span 5 !important;
  }
  #why-mes .lg\:col-span-7 {
    grid-column: span 7 / span 7 !important;
  }
}

#why-mes .font-heading.text-lg {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;
  margin: 0 !important;
}

#why-mes .text-slate-300 {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.125rem !important;
  line-height: 1.625 !important;
  color: #cbd5e1 !important;
}

#why-mes .text-slate-400 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  color: #94a3b8 !important;
}

/* 2. Applications Section (#applications) */
#applications {
  position: relative !important;
  background-color: #000000 !important;
  padding-top: 6rem !important;
  padding-bottom: 8rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#applications .flex.items-center.gap-3,
#watch-data-centers .flex.items-center.gap-3 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: auto !important;
  margin-bottom: 0.5rem !important;
}

#applications .flex.items-center.gap-3 .elementor-widget,
#watch-data-centers .flex.items-center.gap-3 .elementor-widget {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

#applications .flex.items-center.gap-3 .h-1\.5,
#watch-data-centers .flex.items-center.gap-3 .h-1\.5 {
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 9999px !important;
  background-color: #F37121 !important;
}

#applications .flex.items-center.gap-3 .w-6,
#watch-data-centers .flex.items-center.gap-3 .w-6 {
  display: block !important;
  width: 24px !important;
  height: 1px !important;
  background-color: #F37121 !important;
}

#applications h2.elementor-heading-title,
#applications h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  font-size: 2.25rem !important;
  line-height: 1.15 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #applications h2.elementor-heading-title,
  #applications h2 {
    font-size: 3rem !important;
  }
}

#applications p.text-slate-400,
#applications .text-slate-400 {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.125rem !important;
  line-height: 1.625 !important;
  color: #94a3b8 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}

#applications .grid-cols-1.lg\:grid-cols-2 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  #applications .grid-cols-1.lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem !important;
  }
}

#applications .app-card-col {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

#applications .app-card-inner {
  position: relative !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  background-color: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

#applications .app-card-inner:hover {
  border-color: rgba(243, 113, 33, 0.5) !important;
  box-shadow: 0 25px 30px -5px rgba(243, 113, 33, 0.15), 0 10px 12px -6px rgba(0, 0, 0, 0.6) !important;
}

#applications .app-card-inner .relative.h-48 {
  position: relative !important;
  width: 100% !important;
  height: 12rem !important;
  overflow: hidden !important;
  background-color: #1e293b !important;
  flex-shrink: 0 !important;
}

@media (min-width: 640px) {
  #applications .app-card-inner .relative.h-48,
  #applications .app-card-inner .sm\:h-56 {
    height: 14rem !important;
  }
}

#applications .app-card-inner img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.8 !important;
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#applications .app-card-inner:hover img {
  transform: scale(1.05) !important;
  opacity: 1 !important;
}

#applications .app-card-inner .bg-gradient-to-t {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, #0f172a 0%, rgba(15, 23, 42, 0.4) 60%, transparent 100%) !important;
  pointer-events: none !important;
}

#applications .app-card-inner .absolute.bottom-4 {
  position: absolute !important;
  bottom: 1rem !important;
  left: 1.5rem !important;
  right: 1.5rem !important;
  z-index: 2 !important;
}

#applications .app-card-inner span.font-heading {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.15em !important;
  color: #fb923c !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

#applications .app-card-inner h3.font-heading {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

@media (min-width: 768px) {
  #applications .app-card-inner h3.font-heading {
    font-size: 1.5rem !important;
  }
}

#applications .app-card-inner .p-6 {
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  background-color: #0f172a !important;
}

#applications .app-card-inner p.text-slate-300 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
}

#applications .app-card-inner .border-t {
  margin-top: 1.5rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  justify-content: flex-end !important;
  flex: 1 1 0% !important;
}

#applications .app-card-inner .text-orange-500 {
  color: #f97316 !important;
  font-family: monospace, ui-monospace, sans-serif !important;
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin-bottom: 0.25rem !important;
  font-weight: 600 !important;
}

#applications .app-card-inner .text-slate-200 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  color: #e2e8f0 !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

#applications .app-card-inner .text-slate-400 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  color: #94a3b8 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

#applications .app-card-inner .text-slate-500 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  color: #64748b !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* 2b. Watch Data Centers Section (#watch-data-centers) */
#watch-data-centers {
  position: relative !important;
  overflow: hidden !important;
  background-color: #000000 !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  #watch-data-centers {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
}

/* Background image & gradient overlay container - take out of flex flow to fill entire section */
#watch-data-centers > .elementor-element:first-child,
#watch-data-centers > .elementor-widget-html:first-child,
#watch-data-centers .watch-bg-wrapper,
#watch-data-centers .elementor-element-f0d0ee5 {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#watch-data-centers > .elementor-element:first-child .elementor-widget-container,
#watch-data-centers .elementor-element-f0d0ee5 .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#watch-data-centers img[src*="ts-data-center.jpg"] {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.25 !important;
  mix-blend-mode: luminosity !important;
  -webkit-mix-blend-mode: luminosity !important;
  pointer-events: none !important;
  z-index: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#watch-data-centers .bg-gradient-to-r {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to right, #06080C 0%, rgba(6, 8, 12, 0.8) 50%, rgba(6, 8, 12, 0.3) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#watch-data-centers .relative.z-10 {
  position: relative !important;
  z-index: 10 !important;
}

#watch-data-centers .grid-cols-1.lg\:grid-cols-12 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2.5rem !important;
  align-items: center !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  #watch-data-centers .grid-cols-1.lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 4rem !important;
  }

  #watch-data-centers .lg\:col-span-5 {
    grid-column: span 5 / span 5 !important;
  }

  #watch-data-centers .lg\:col-span-7 {
    grid-column: span 7 / span 7 !important;
  }
}

#watch-data-centers h2.elementor-heading-title,
#watch-data-centers h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.25rem !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  letter-spacing: -0.01em !important;
}

@media (min-width: 768px) {
  #watch-data-centers h2.elementor-heading-title,
  #watch-data-centers h2 {
    font-size: 3rem !important;
  }
}

#watch-data-centers p.text-slate-400,
#watch-data-centers .text-slate-400 {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.125rem !important;
  line-height: 1.625 !important;
  color: #94a3b8 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}

#watch-data-centers .aspect-video {
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: 0 0 50px -12px rgba(243, 113, 33, 0.25) !important;
  border: 1px solid rgba(249, 115, 22, 0.3) !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
}

#watch-data-centers video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* 2c. Capability Limits Section (#capability-limits) */
#capability-limits,
.capability-limits-wrapper {
  background-color: #ffffff !important;
  color: #16315C !important;
  padding-top: 2rem !important;
  padding-bottom: 6rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  #capability-limits {
    padding-top: 2.5rem !important;
    padding-bottom: 8rem !important;
  }
}

#capability-limits h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.75rem !important;
  line-height: 1.05 !important;
  color: #16315C !important;
  letter-spacing: -0.02em !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #capability-limits h2 {
    font-size: 4.5rem !important;
  }
}

#capability-limits .cap-block-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  #capability-limits .cap-block-row {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 3rem !important;
  }
  #capability-limits .cap-image-card {
    grid-column: span 4 / span 4 !important;
    height: auto !important;
    min-height: 100% !important;
  }
  #capability-limits .lg\:col-span-8 {
    grid-column: span 8 / span 8 !important;
  }
}

#capability-limits .cap-image-card {
  position: relative !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  background-color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
  min-height: 320px !important;
}

#capability-limits .cap-image-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#capability-limits .cap-image-card:hover img {
  transform: scale(1.05) !important;
}

#capability-limits .cap-image-card .bg-gradient-to-t {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, #0f172a 0%, rgba(15, 23, 42, 0.4) 60%, transparent 100%) !important;
  pointer-events: none !important;
}

#capability-limits .cap-image-card h3 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
}

#capability-limits .font-heading.text-5xl {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-size: 3rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #16315C !important;
}

@media (min-width: 768px) {
  #capability-limits .font-heading.text-5xl {
    font-size: 3.75rem !important;
  }
}

/* 3. Quality Verification (#how-we-prove-it) */
#how-we-prove-it,
.how-we-prove-it-wrapper {
  background-color: #f8fafc !important;
  color: #16315C !important;
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  border-top: 1px solid #e2e8f0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  #how-we-prove-it {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}

#how-we-prove-it h2 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.25rem !important;
  line-height: 1.15 !important;
  color: #16315C !important;
  letter-spacing: -0.02em !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #how-we-prove-it h2 {
    font-size: 3rem !important;
  }
}

#how-we-prove-it .qv-accordion-item {
  border-radius: 1rem !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
  overflow: hidden !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

#how-we-prove-it .qv-accordion-item:hover {
  border-color: #cbd5e1 !important;
}

#how-we-prove-it .qv-accordion-btn {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.5rem !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  outline: none !important;
  transition: background-color 0.2s ease !important;
}

@media (min-width: 768px) {
  #how-we-prove-it .qv-accordion-btn {
    padding: 2rem !important;
  }
}

#how-we-prove-it .qv-accordion-btn:hover {
  background-color: rgba(248, 250, 252, 0.5) !important;
}

#how-we-prove-it .qv-accordion-btn h3 {
  font-family: 'Oswald', 'Bebas Neue', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #16315C !important;
  margin: 0 !important;
}

#how-we-prove-it .qv-icon-wrap {
  padding: 0.5rem !important;
  border-radius: 9999px !important;
  border: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}

#how-we-prove-it .qv-accordion-item.is-open .qv-icon-wrap {
  transform: rotate(180deg) !important;
  background-color: #0f172a !important;
  border-color: #0f172a !important;
  color: #ffffff !important;
}

#how-we-prove-it .qv-icon-wrap svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  display: block !important;
}

/* 4. Lead Times (#lead-times) */
#lead-times .no-scrollbar {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
#lead-times .no-scrollbar::-webkit-scrollbar {
  display: none !important;
}

#lead-times .min-w-\[1040px\] {
  position: relative !important;
  min-width: 1040px !important;
}

/* Horizontal Connector Line */
#lead-times .min-w-\[1040px\] > .bg-slate-200,
#lead-times .min-w-\[1040px\] > div:first-child {
  position: absolute !important;
  top: 1.25rem !important; /* 20px */
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background-color: #e2e8f0 !important;
  z-index: 1 !important;
}

/* Steps Row Container */
#lead-times .min-w-\[1040px\] > div:nth-child(2) {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 2rem !important; /* 32px */
  width: 100% !important;
  z-index: 2 !important;
}

/* Each Step Column - Zero out Elementor 20px gap to eliminate huge gap between lines */
#lead-times .min-w-\[1040px\] > div:nth-child(2) > .e-con,
#lead-times .w-28 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 7rem !important; /* 112px (matches Replit w-28) */
  min-width: 7rem !important;
  max-width: 7rem !important;
  flex: 0 0 7rem !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  padding-top: 3rem !important; /* 48px / pt-12 */
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  --padding-top: 3rem !important;
  --padding-block-start: 3rem !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  row-gap: 0 !important;
  --gap: 0px !important;
  overflow: visible !important;
}

/* Step Dot Widget */
#lead-times .min-w-\[1040px\] > div:nth-child(2) > .e-con > .elementor-widget-mesn-tag:first-child,
#lead-times .w-28 > .elementor-widget-mesn-tag:first-child {
  position: absolute !important;
  top: 14px !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 10 !important;
}
#lead-times .min-w-\[1040px\] > div:nth-child(2) > .e-con > .elementor-widget-mesn-tag:first-child .elementor-widget-container,
#lead-times .min-w-\[1040px\] > div:nth-child(2) > .e-con > .elementor-widget-mesn-tag:first-child span,
#lead-times .w-28 > .elementor-widget-mesn-tag:first-child span {
  position: static !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 9999px !important;
  box-sizing: border-box !important;
}

/* Circle Colors & Halo Rings */
#lead-times .bg-slate-300 {
  background-color: #cbd5e1 !important;
  box-shadow: 0 0 0 4px #ffffff !important;
}
#lead-times .bg-orange-500 {
  background-color: #f97316 !important;
  box-shadow: 0 0 0 4px #ffffff !important;
}

/* Step Number "01".."09" */
#lead-times .min-w-\[1040px\] > div:nth-child(2) > .e-con > .elementor-widget-mesn-tag:nth-child(2),
#lead-times .w-28 > .font-mono {
  margin: 0 !important;
  font-family: monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New" !important;
  font-size: 10px !important;
  line-height: 15px !important;
  color: #94a3b8 !important; /* text-slate-400 */
  display: block !important;
}

/* Big Value "3 to 5", "5", etc. */
#lead-times .font-heading.text-3xl {
  font-size: 1.875rem !important; /* 30px */
  line-height: 2.25rem !important; /* 36px */
  font-weight: 700 !important;
  margin-top: 0.5rem !important; /* 8px (matches Replit mt-2) */
  margin-bottom: 0 !important;
  white-space: nowrap !important;
}
#lead-times .font-heading.text-3xl.text-\[\#16315C\] {
  color: #16315c !important;
}
#lead-times .font-heading.text-3xl.text-orange-500 {
  color: #f97316 !important;
}

/* Unit "business days", "weeks", "days" - tight below the number */
#lead-times .text-xs.font-bold.uppercase {
  font-size: 0.75rem !important; /* 12px */
  line-height: 1rem !important; /* 16px */
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #64748b !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
}

/* Label "Quote turnaround", etc. */
#lead-times .text-xs.font-semibold.text-slate-800 {
  font-size: 0.75rem !important; /* 12px */
  line-height: 1rem !important; /* 16px */
  font-weight: 600 !important;
  color: #1e293b !important;
  margin-top: 0.5rem !important; /* 8px (matches Replit mt-2) */
  margin-bottom: 0 !important;
  overflow: visible !important;
}

/* Subtext "before tooling · no cost", etc. */
#lead-times .text-\[11px\].text-slate-500 {
  font-size: 11px !important;
  line-height: 1rem !important; /* 16px */
  color: #64748b !important;
  margin-top: 0.25rem !important; /* 4px (matches Replit mt-1) */
  margin-bottom: 0 !important;
  overflow: visible !important;
}

/* Mobile Responsive Timeline */
@media (max-width: 767px) {
  #lead-times .space-y-4 {
    padding-left: 0.75rem !important;
  }
  #lead-times .space-y-4 > div {
    position: relative !important;
    display: flex !important;
    gap: 1rem !important;
    border-left: 1px solid #e2e8f0 !important;
    padding-left: 1.25rem !important;
    margin-bottom: 1rem !important;
  }
  #lead-times .space-y-4 .rounded-full {
    margin-left: -27px !important;
    margin-top: 0.25rem !important;
    width: 0.75rem !important;
    height: 0.75rem !important;
    flex-shrink: 0 !important;
    border-radius: 9999px !important;
  }
}

/* 5. Components Tabs (#components) */
#components .component-tab-panel {
  display: none !important;
}
#components .component-tab-panel.mes-tab-active {
  display: block !important;
}
#components [data-component-tab].mes-tab-active {
  border-color: #f97316 !important;
  color: #16315c !important;
}

/* 6. Engineering Questions (#what-engineers-ask) */
#what-engineers-ask {
  background-color: #ffffff !important;
  background-image: none !important;
}
#what-engineers-ask h2 {
  color: #16315c !important;
}
#what-engineers-ask .text-slate-400,
#what-engineers-ask .text-slate-300 {
  color: #475569 !important;
}
#what-engineers-ask h3 {
  color: #16315c !important;
}

/* 7. FAQs (#faqs) - Ensure opened answers are fully visible */
#faqs .mes-2grid-faq-item--open .mes-2grid-faq-answer,
#faqs .mes-2grid-faq-answer:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  color: #475569 !important;
}
#faqs .mes-2grid-faq-answer p {
  color: #475569 !important;
  font-size: 0.875rem !important;
  line-height: 1.625 !important;
}
#faqs .mes-2grid-faq-answer[hidden] {
  display: none !important;
}

/* 8. Contact / CTA Section (#contact) */
#contact {
  background: linear-gradient(rgb(6, 8, 12) 0%, rgb(10, 14, 23) 40%, rgb(6, 8, 12) 100%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
/* Prevent any scroll-reveal wrapper inside contact from remaining hidden */
#contact [style*="opacity: 0"],
#contact .mes-scroll-reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
#contact h2 {
  color: #ffffff !important;
}
#contact p {
  color: #cbd5e1 !important;
}
#contact .elementor-element-5208212 {
  justify-content: center !important;
}
#contact a.elementor-element-7e44920,
#contact a[href*="contact"] {
  background: linear-gradient(rgb(249, 115, 22) 0%, rgb(234, 88, 12) 100%) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  box-shadow: rgba(234, 88, 12, 0.4) 0px 10px 30px -5px, rgba(249, 115, 22, 0.2) 0px 0px 24px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
}
#contact a[href*="contact"]:hover {
  transform: translateY(-2px) !important;
}
#contact a[href*="contact"] span,
#contact a[href*="contact"] svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* --- FIXES FOR PAGE 1716 SECTIONS --- */

/* Fix: "The Parts Behind Data Center Power" height issue */
#watch-data-centers .lg\:col-span-7 .aspect-video {
  aspect-ratio: auto !important;
  height: 100% !important;
  min-height: 450px !important;
}
@media (min-width: 1024px) {
  #watch-data-centers .lg\:col-span-7 .aspect-video {
    min-height: 600px !important;
  }
}

/* Fix: "Size, Tolerance and Volume Ranges" right side cards alignment */
/* Aligns the large numbers horizontally by pushing them down to match the 'up to' text on the right */
.cap-content-col .grid.sm\:grid-cols-2 {
  align-items: flex-end !important;
}
.cap-content-col .grid.sm\:grid-cols-2 > .flex.flex-col {
  height: 100% !important;
  justify-content: flex-end !important;
}
