body.home #page-container {
  padding-top: 0 !important;
}

body.home .et-l--header {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: transparent !important;
}

body.home .et-l--header .et_pb_section,
body.home .et-l--header .ftc-header-3-area {
  background: transparent !important;
}

.main-navigation.has-header-3 .navbar-nav li.dropdown > a {
  padding-right: 18px !important;
}

.main-navigation.has-header-3 .navbar-nav li.dropdown > a::before {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  margin-top: -5px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  font-family: inherit !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transition: transform 250ms ease, color 250ms ease !important;
}

.main-navigation.has-header-3 .navbar-nav li.dropdown:hover > a::before {
  transform: rotate(225deg) translate(-2px, -2px) !important;
}

.etd-hero-section {
  position: relative !important;
  overflow: hidden !important;
  min-height: 1650px !important;
  padding-top: 290px !important;
  padding-bottom: 235px !important;
  margin-top: 0 !important;
  background: #000000 !important;
  background-image: none !important;
  isolation: isolate;
}

.etd-hero-section::before,
.etd-hero-section::after {
  display: none !important;
}

.etd-hero-section .et_pb_row {
  position: relative !important;
  z-index: 10 !important;
}

.etd-hero-section .et_pb_code,
.etd-hero-section .et_pb_code_inner {
  position: static !important;
}

.etd-hero-section .et_pb_row .etd-hero-bg-wrap,
.etd-hero-section .et_pb_row .etd-side-lines {
  display: none !important;
}

.etd-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
  background: #000000;
}

.etd-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 6;
  background:
    radial-gradient(circle at 50% 72%, rgba(237, 213, 128, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.34), rgba(1, 2, 8, 0.62) 46%, rgba(0, 0, 0, 0.74));
}

.etd-hero-cube {
  position: absolute;
  inset: 0;
  z-index: 3;
  background-image: none;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 1;
  transform: scale(1.08);
  will-change: transform;
}

.etd-hero-earth-wrap {
  position: absolute;
  left: 50%;
  /* scroll circle top 850 + height 160 + required gap 230 = 1240 */
  top: 1240px;
  bottom: auto;
  z-index: 8;
  width: 150%;
  height: auto;
  max-width: none;
  transform: translateX(-50%) translateY(0);
  transform-origin: 50% 50%;
  opacity: 0.98;
  overflow: visible;
  mix-blend-mode: normal;
  filter: sepia(0.12) saturate(0.98) brightness(1.22) contrast(1.04);
  will-change: transform;
}

.etd-hero-earth-wrap::after {
  display: none !important;
}

.etd-hero-earth {
  position: absolute;
  top: 145px;
  left: 50%;
  display: block;
  width: 100%;
  max-width: none !important;
  height: auto;
  transform: translateX(-50%) rotate(200deg) scale(1.08);
  transform-origin: 50% 50%;
  will-change: transform;
}

.etd-hero-shadow-1,
.etd-hero-shadow-2 {
  position: absolute;
  left: 50%;
  z-index: 7;
  width: 100%;
  max-width: none;
  transform: translateX(-50%);
  pointer-events: none;
}

.etd-hero-shadow-1 {
  top: auto;
  bottom: 12%;
  opacity: 0.46;
  mix-blend-mode: multiply;
}

.etd-hero-shadow-2 {
  top: auto;
  bottom: 0;
  opacity: 0.42;
}

.etd-hero-shadow-1 img,
.etd-hero-shadow-2 img {
  display: block;
  width: 100%;
  max-width: none !important;
  height: auto;
}

.etd-hero-bottom-glow {
  position: absolute;
  left: 50%;
  top: auto;
  bottom: -10%;
  z-index: 7;
  width: 88%;
  height: 48%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(237, 213, 128, 0.18), rgba(90, 64, 18, 0.14) 38%, transparent 72%);
  filter: blur(10px);
  opacity: 0.72;
}

.etd-scroll-down-wrap {
  position: absolute;
  left: 50%;
  top: 850px;
  z-index: 11;
  width: 160px;
  height: 160px;
  display: inline-block;
  padding: 30px;
  pointer-events: auto;
  will-change: transform;
}

.etd-scroll-down-text {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none !important;
  animation: etdScrollRotate 10s infinite linear;
  filter: brightness(0) invert(1);
}

.etd-scroll-down-btn {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(237, 213, 128, 0.42);
  border-radius: 50%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 25%, #edd580, #b58a27 48%, #51360b 100%);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 0 30px rgba(237, 213, 128, 0.2), inset 0 0 22px rgba(0, 0, 0, 0.3);
}

.etd-scroll-down-btn:hover {
  animation: etdWobbleVertical 1s ease-in-out;
}

.etd-scroll-down-btn svg {
  display: block;
  width: 36px;
  height: 36px;
}

@keyframes etdScrollRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes etdArrowBounce {
  0%, 100% {
    transform: translateY(-3px);
  }
  50% {
    transform: translateY(5px);
  }
}

@keyframes etdWobbleVertical {
  16.65% {
    transform: translateY(8px);
  }
  33.3% {
    transform: translateY(-6px);
  }
  49.95% {
    transform: translateY(4px);
  }
  66.6% {
    transform: translateY(-2px);
  }
  83.25% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}

.etd-hero-lines {
  position: absolute;
  top: 0;
  z-index: 9;
  width: 928px;
  height: 1440px;
  opacity: 1;
  will-change: transform;
  overflow: visible;
}

.etd-hero-lines.left {
  left: 0;
}

.etd-hero-lines.right {
  right: 0;
}

.etd-hero-lines svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none !important;
  overflow: visible;
}

.etd-hero-lines path {
  stroke: #edd580 !important;
  transform-box: fill-box;
  transform-origin: left center;
  will-change: transform;
  animation: etdHeroLineGlow 3.4s ease-in-out infinite;
  filter: drop-shadow(0 0 5px rgba(237, 213, 128, 0.36));
}

@keyframes etdHeroLineGlow {
  0%, 100% {
    opacity: 0.58;
    stroke: #9f751f;
  }
  50% {
    opacity: 1;
    stroke: #edd580;
  }
}

@media (max-width: 991px) {
  /* content-driven height (no fixed min-height), like original */
  .etd-hero-section {
    min-height: auto !important;
    padding-top: 200px !important;
    padding-bottom: 300px !important;
  }

  /* side lines: large + overlapping so they converge into the funnel (like reference) */
  .etd-hero-lines {
    width: 620px;
    height: 1180px;
    top: 0;
    opacity: 0.7;
  }

  .etd-hero-lines.left {
    left: 0;
  }

  .etd-hero-lines.right {
    right: 0;
  }

  /* earth bottom-anchored, % based (top must be reset, else desktop top:1240px wins) */
  .etd-hero-earth-wrap {
    top: auto !important;
    bottom: 0 !important;
    width: 170% !important;
  }

  /* earth image: drop the desktop 145px top offset, anchor to wrap bottom */
  .etd-hero-earth {
    top: auto !important;
    bottom: -8% !important;
  }

  /* shrink the desktop-only gap (Divi sets margin-top:800px on the subtitle) */
  .etd-hero-section .et_pb_text_3 {
    margin-top: 360px !important;
  }
  /* consultation text: desktop pushes it 750px right – reset for mobile */
  .etd-hero-section .et_pb_text_4 {
    margin-left: 0 !important;
    margin-top: 50px !important;
  }

  /* scroll button sits in the gap between the description and the subtitle */
  .etd-scroll-down-wrap {
    top: 760px !important;
    bottom: auto !important;
  }
}

@media (max-width: 767px) {
  .etd-hero-section {
    min-height: auto !important;
    padding-top: 150px !important;
    padding-bottom: 280px !important;
  }

  /* side lines: large + overlapping so they converge into the funnel (like reference) */
  /* pulled up (negative top) so the fan starts from the very top like the reference */
  .etd-hero-lines {
    width: 940px;
    height: 1950px;
    top: -360px;
    opacity: 0.6;
  }

  .etd-hero-lines.left {
    left: 0;
  }

  .etd-hero-lines.right {
    right: 0;
  }

  .etd-hero-earth-wrap {
    top: auto !important;
    bottom: 0 !important;
    width: 200% !important;
  }

  .etd-hero-earth {
    top: auto !important;
    bottom: 0 !important;
  }

  /* shrink the desktop-only gap (Divi sets margin-top:800px on the subtitle) */
  .etd-hero-section .et_pb_text_3 {
    margin-top: 280px !important;
  }
  /* consultation text: desktop pushes it 750px right – reset for mobile */
  .etd-hero-section .et_pb_text_4 {
    margin-left: 0 !important;
    margin-top: 40px !important;
  }

  /* scroll button: JS sets `top` relative to the description; size bumped up */
  .etd-scroll-down-wrap {
    top: 1090px;
    bottom: auto !important;
    width: 150px;
    height: 150px;
  }

  .etd-scroll-down-btn {
    width: 100%;
    height: 100%;
  }

  .etd-scroll-down-btn svg {
    width: 40px;
    height: 40px;
  }

}
