/**
 * Replace Webflow gradient text-fill headings with solid brand navy.
 * White on the same deep blue blocks used for the landing hero and footer.
 */

/* Prevent horizontal scroll from full-bleed 100vw sections and carousels. */
html {
  overflow-x: clip;
}

/* Reserve space for browser chrome (Safari overlay tabs, notches). Pair with viewport-fit=cover on viewport meta. */
body {
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}

.section-heading,
.section-heading.benefits,
.section-heading.benefits.manufacturing,
.section-heading.bs,
.section-heading.bs.manufacturing,
.section-heading.expo25,
.hero-heading,
.hero-heading.contact,
.hero-heading.manufacturing,
.hero-heading.process,
.heading,
.text-block,
.lp-hero-heading,
.lp-hero-heading.smaller-heading,
.lp-hero-heading.center,
.product-heading.product-ame-heading,
.product-heading.product-ame-heading.manufacturing {
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: var(--text-colour) !important;
  color: var(--text-colour) !important;
}

.lp-hero-section .section-heading,
.lp-hero-section .hero-heading,
.lp-hero-section .heading,
.lp-hero-section .text-block,
.lp-hero-section .lp-hero-heading,
.lp-hero-section .lp-hero-heading.smaller-heading,
.lp-hero-section .lp-hero-heading.center,
.footer-section .section-heading,
.footer-section .hero-heading,
.footer-section .heading,
.footer-section .text-block,
.final-cta .section-heading,
.final-cta .hero-heading,
.final-cta .heading,
.final-cta .text-block,
.industries-section .section-heading,
.industries-section .hero-heading,
.industries-section .heading {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

/* Dark band: subheads use standard `.section-subheading` type scale; override Webflow navy for contrast */
.industries-section .section-subheading {
  color: rgba(255, 255, 255, 0.88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

/* Footer: same base + line texture as landing `.lp-hero-section` (flat --text-colour reads darker alone) */
.footer-section {
  position: relative;
  isolation: isolate;
  background-color: var(--text-colour) !important;
}

.footer-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background-image: url("../images/linebg.svg");
  background-position: 50% 0%;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  opacity: 0.32;
}

.footer-section > * {
  position: relative;
  z-index: 1;
}

.footer-logo-cell .image-7 {
  max-width: 195px;
  height: auto;
}

.section.product .product-heading.product-ame-heading,
.section.product .product-heading.product-ame-heading.manufacturing {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

.your-cctv-our-ai-mobile-text {
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

/* Section rhythm: tight gap between title and subhead; space before content unchanged */
.section-heading {
  margin-bottom: clamp(4px, 0.6vw, 8px) !important;
  padding-bottom: 0 !important;
}

.section-subheading {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: clamp(22px, 3.5vw, 44px) !important;
}

/* About Us — story / mission copy reads better left-aligned (Webflow forces headings/subheads centre site-wide) */
body.body-6 .section.about-us-text .section-heading,
body.body-6 .section.about-us-text .section-subheading,
body.body-6 .section.mobile .about-us-text-stack .section-heading,
body.body-6 .section.mobile .about-us-text-stack .section-subheading {
  text-align: left !important;
}

/* Roomier vertical padding for standard content sections (not full-bleed product strips) */
.section:not(.product) {
  padding-top: clamp(64px, 8vw, 96px) !important;
  padding-bottom: clamp(36px, 6vw, 64px) !important;
}

.partners-stack.technology .section-subheading {
  padding-bottom: clamp(28px, 4.5vw, 52px) !important;
}

/* Final CTA — card + dots (Health & Safety / landing); overrides Webflow full-bleed #00053e block */
.final-cta-wrapper {
  padding: clamp(56px, 7vw, 96px) 0;
}

.final-cta-wrapper > .container {
  padding-bottom: clamp(12px, 2vw, 20px) !important;
}

.final-cta {
  background-color: var(--text-colour) !important;
  background-image: none !important;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 100px) clamp(32px, 5vw, 72px) !important;
  margin: clamp(8px, 1.5vw, 16px) auto clamp(12px, 2vw, 24px);
  max-width: 1600px;
  box-shadow: 0 20px 50px rgba(56, 182, 255, 0.22), 0 8px 28px rgba(0, 35, 70, 0.3);
}

.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url("data:image/svg+xml,%3Csvg width='800' height='400' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%2338b6ff' stop-opacity='.08'/%3E%3Cstop offset='100%25' stop-color='%2338b6ff' stop-opacity='.03'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 200 Q200 120 400 200 T800 200' fill='none' stroke='url(%23g)' stroke-width='1.5'/%3E%3Cpath d='M0 160 Q200 80 400 160 T800 160' fill='none' stroke='url(%23g)' stroke-width='1'/%3E%3Cpath d='M0 240 Q200 160 400 240 T800 240' fill='none' stroke='url(%23g)' stroke-width='1'/%3E%3Cpath d='M0 280 Q200 200 400 280 T800 280' fill='none' stroke='url(%23g)' stroke-width='.8'/%3E%3Cpath d='M0 120 Q200 40 400 120 T800 120' fill='none' stroke='url(%23g)' stroke-width='.8'/%3E%3C/svg%3E")
    center / cover no-repeat;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

.final-cta .mp-cta-dots {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  min-height: 80px;
}

.final-cta .mp-cta-dots canvas {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.final-cta > *:not(.mp-cta-dots) {
  position: relative;
  z-index: 2;
}

/* Typography + layout */
.final-cta .cta-stack {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  max-width: none !important;
  width: 100% !important;
  margin: 0 auto;
  text-align: center;
  gap: clamp(28px, 4vw, 44px);
}

.final-cta .cta-cell {
  display: flex !important;
  justify-content: center;
  width: 100%;
  align-items: center;
}

.final-cta .cta-heading {
  font-family: Montserrat, sans-serif !important;
  font-size: clamp(26px, 4vw, 32px) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  background-image: none !important;
}

.final-cta .cta-text {
  font-family: Montserrat, sans-serif !important;
  font-size: 22px !important;
  line-height: 35px !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  color: rgba(255, 255, 255, 0.9) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}

/* Case Studies nav / triggers temporarily disabled */
a.nav-link[href="/hw-case-study"],
a.nav-link.case-studies.w-nav-link,
.nav-menu .nav-link.case-studies,
.nav-menu.dark .nav-link.case-studies {
  display: none !important;
}
