/* =========================================================
   ABOUT PAGE FINAL FIX
   Fix fixed-header overlap and restore About sitemap / hero visuals.
   ========================================================= */

/* Keep the About hero safely below the fixed header */
body .about-page-hero,
body .page-hero.about-page-hero {
  padding-top: 190px !important;
  padding-bottom: 96px !important;
  min-height: 92vh !important;
  display: flex !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 15% 22%, rgba(19,183,165,.20), transparent 32%),
    radial-gradient(circle at 80% 14%, rgba(8,120,164,.22), transparent 34%),
    linear-gradient(180deg, #f8fdff 0%, #eef9fb 100%) !important;
  overflow: hidden !important;
}

body .page-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .96fr) minmax(340px, 1.04fr) !important;
  gap: 38px !important;
  align-items: center !important;
  width: min(1240px, 100%) !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

body .page-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  padding-top: 8px !important;
}

body .page-hero-copy .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  position: relative !important;
  z-index: 3 !important;
}

body .page-hero-copy h1 {
  margin: 0 0 22px !important;
  max-width: 760px !important;
  color: #16323f !important;
  font-size: clamp(48px, 6.2vw, 92px) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  font-weight: 900 !important;
}

body .page-hero-copy p {
  max-width: 720px !important;
  margin: 0 0 28px !important;
  color: #637986 !important;
  font-size: clamp(16px, 1.4vw, 20px) !important;
  line-height: 1.75 !important;
}

body .page-hero-visual {
  min-height: 500px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: clamp(28px, 5vw, 52px) !important;
  border-radius: 52px !important;
  color: #fff !important;
  background:
    linear-gradient(145deg, rgba(8,120,164,.96), rgba(19,183,165,.88)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.24), transparent 30%) !important;
  box-shadow:
    0 52px 140px rgba(8,61,82,.28),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  overflow: hidden !important;
  position: relative !important;
}

body .about-symbol {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-bottom: auto !important;
}

body .about-symbol span {
  display: grid !important;
  place-items: center !important;
  width: clamp(76px, 10vw, 118px) !important;
  height: clamp(76px, 10vw, 118px) !important;
  border-radius: 32px !important;
  background: rgba(255,255,255,.18) !important;
  backdrop-filter: blur(12px) !important;
  color: #fff !important;
  font-size: clamp(32px, 5vw, 62px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

body .about-symbol-copy {
  position: relative !important;
  z-index: 2 !important;
}

body .about-symbol-copy strong {
  display: block !important;
  margin-bottom: 10px !important;
  color: #fff !important;
  font-size: 30px !important;
  letter-spacing: -.04em !important;
}

body .about-symbol-copy p {
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  line-height: 1.7 !important;
}

/* Restore About CTL sitemap block as a structured map instead of inline text */
body .about-map-section {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
  background: #ffffff !important;
}

body .about-menu-map {
  position: relative !important;
  display: block !important;
  width: min(720px, 100%) !important;
  margin: 0 auto !important;
  padding: 28px 28px 28px 82px !important;
  border: 1px solid rgba(8,120,164,.10) !important;
  border-radius: 42px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,252,254,.90)),
    radial-gradient(circle at 90% 10%, rgba(19,183,165,.16), transparent 28%) !important;
  box-shadow:
    0 36px 100px rgba(13,86,117,.13),
    inset 0 1px 0 rgba(255,255,255,.90) !important;
  overflow: hidden !important;
}

body .about-menu-map .map-line {
  position: absolute !important;
  left: 46px !important;
  top: 56px !important;
  bottom: 50px !important;
  width: 2px !important;
  background: linear-gradient(180deg, #0878a4, rgba(19,183,165,.2)) !important;
}

body .about-menu-map .map-root,
body .about-menu-map .map-item {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 52px !important;
  margin: 0 0 12px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(8,120,164,.07) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(13,86,117,.07) !important;
  color: #16323f !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

body .about-menu-map .map-root {
  width: fit-content !important;
  min-width: 210px !important;
  margin-left: -34px !important;
  color: #321c1c !important;
  background: linear-gradient(135deg, #ffb4b4, #ffd0c8) !important;
}

body .about-menu-map .map-root::before {
  content: "" !important;
  position: absolute !important;
  left: -34px !important;
  top: 50% !important;
  width: 34px !important;
  height: 2px !important;
  background: #0878a4 !important;
}

body .about-menu-map .map-item span {
  position: absolute !important;
  left: -33px !important;
  width: 33px !important;
  height: 2px !important;
  background: rgba(8,120,164,.42) !important;
}

body .about-menu-map .map-root:hover,
body .about-menu-map .map-item:hover {
  transform: translateX(10px) scale(1.012) !important;
  box-shadow: 0 16px 42px rgba(13,86,117,.13) !important;
}

@media (max-width: 980px) {
  body .about-page-hero,
  body .page-hero.about-page-hero {
    padding-top: 170px !important;
  }

  body .page-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body .page-hero-visual {
    min-height: 420px !important;
  }
}

@media (max-width: 760px) {
  body .about-page-hero,
  body .page-hero.about-page-hero {
    padding: 150px 18px 72px !important;
  }

  body .page-hero-copy h1 {
    font-size: 50px !important;
  }

  body .about-menu-map {
    padding: 22px 18px 22px 58px !important;
  }

  body .about-menu-map .map-line {
    left: 33px !important;
  }

  body .about-menu-map .map-root {
    min-width: auto !important;
    margin-left: -20px !important;
  }

  body .about-menu-map .map-root::before {
    left: -24px !important;
    width: 24px !important;
  }

  body .about-menu-map .map-item span {
    left: -24px !important;
    width: 24px !important;
  }
}
