/* Homepage balance v2
   Makes the headline less dominant against the 3D tower and keeps the visual premium. */

.home-main {
  width: min(1240px, calc(100% - 48px));
}

.home-hero {
  grid-template-columns: minmax(0, 0.72fr) minmax(520px, 1.28fr) !important;
  min-height: 675px !important;
  gap: clamp(34px, 5vw, 64px) !important;
}

.home-page .xgr-title {
  font-size: clamp(2.95rem, 5.05vw, 5.05rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.067em !important;
}

.home-hero__copy {
  max-width: 550px;
}

.home-lead {
  max-width: 500px !important;
  margin-top: 24px !important;
  font-size: clamp(0.98rem, 1.2vw, 1.08rem) !important;
}

/* Homepage hero visual balance */
.home-page .home-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: clamp(34px, 5vw, 76px);
  padding-left: clamp(12px, 2vw, 28px);
}


.home-hero__visual .xgr-visual-img {
  width: min(830px, 124%) !important;
  max-width: none !important;
  transform: translateX(2%) translateY(4px);
  filter:
    drop-shadow(0 38px 70px rgba(6, 36, 28, 0.18))
    drop-shadow(0 0 54px rgba(119, 223, 82, 0.30)) !important;
}

.home-hero::after {
  opacity: 0.18 !important;
  right: -5% !important;
  top: 6% !important;
  width: min(660px, 52vw) !important;
}

@media (max-width: 1100px) {
  .home-hero {
    grid-template-columns: 1fr !important;
  }

  .home-hero__copy {
    max-width: 720px;
  }

  .home-hero__visual {
    min-height: 540px !important;
  }

  .home-hero__visual .xgr-visual-img {
    width: min(760px, 100%) !important;
    max-width: 100% !important;
    transform: none;
  }
}

@media (max-width: 720px) {
  .home-main {
    width: min(100% - 24px, 620px);
  }

  .home-page .xgr-title {
    font-size: clamp(2.7rem, 13vw, 4.35rem) !important;
  }

  .home-hero__visual {
    min-height: 360px !important;
  }
}
