/* ====================================================================
   ANYONE HOME — CONTACT US / FULL-PAGE CINEMATIC V2
   Page-specific only. Replaces the previous ah-contact-cine (V1) CSS.
   Original Divi content / Marketo form / footer remain intact.
   ==================================================================== */
.ah-contact-v2 {
  --ahc-navy: #06162d;
  --ahc-navy-2: #0a2940;
  --ahc-lime: #87cf36;
  --ahc-blue: #087da5;
  --ahc-white: #fff;
  --ahc-scroll: 0px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.ah-contact-v2 *,
.ah-contact-v2 *::before,
.ah-contact-v2 *::after {
  box-sizing: border-box;
}

/* 01 / HERO: oversized editorial headline + layered physical laptop */
.ah-contact-v2__hero.et_pb_section {
  padding: clamp(135px, 12vw, 205px) 0 clamp(110px, 9.5vw, 160px) !important;
  min-height: 790px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(
      ellipse 46% 69% at 80% 51%,
      rgba(0, 172, 184, 0.3),
      transparent 78%
    ),
    radial-gradient(
      ellipse 51% 49% at 4% 104%,
      rgba(17, 101, 147, 0.25),
      transparent 84%
    ),
    linear-gradient(108deg, #051329 6%, #071d35 54%, #06415b 100%) !important;
  box-shadow: none !important;
}
.ah-contact-v2__hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -11% -18% 0 36%;
  pointer-events: none;
  opacity: 0.17;
  background: url("https://anyonedevelop.wpenginepowered.com/wp-content/uploads/2025/05/home-lease-better-bg.svg")
    center / cover no-repeat;
  mix-blend-mode: screen;
  transform: translate3d(0, var(--ahc-scroll), 0);
}
.ah-contact-v2__hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.8;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 145px,
      rgba(171, 223, 245, 0.033) 146px 147px
    ),
    linear-gradient(to top, rgba(5, 15, 35, 0.84), transparent 21%);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 3%,
    #000 22%,
    #000 88%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 3%,
    #000 22%,
    #000 88%,
    transparent 100%
  );
}
.ah-contact-v2__hero-row.et_pb_row {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(30px, 5.2vw, 100px);
  align-items: center;
  width: min(88%, 1510px) !important;
  max-width: 1510px !important;
  padding: 0 !important;
  margin: 0 auto !important;
}
.ah-contact-v2__hero-row > .et_pb_column {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
}
.ah-contact-v2__hero-copy.et_pb_module {
  padding: 0 !important;
  margin: 0 !important;
}
.ah-contact-v2__hero-copy h1.h1-hero-dark {
  margin: 0 0 clamp(22px, 2.5vw, 38px) !important;
  padding: 0 !important;
  font-size: clamp(15px, 1.12vw, 19px) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.23em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
.ah-contact-v2__hero-copy h1 *,
.ah-contact-v2__hero-copy h1 {
  color: var(--ahc-lime) !important;
}
div.ah-contact-v2__hero-row .ah-contact-v2__hero-copy h2.h2-hero-subhead {
  position: relative;
  max-width: 790px;
  margin: 0 !important;
  padding: 0 0 40px !important;
  font-size: clamp(58px, 5.2vw, 84px);
  line-height: 1.055em !important;
  letter-spacing: -0.059em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  text-wrap: balance;
}

.ah-contact-v2__hero-visual-col {
  position: relative;
  z-index: 1;
  min-height: clamp(390px, 39vw, 645px);
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}
.ah-contact-v2__stage-module.et_pb_module {
  position: absolute;
  z-index: 0;
  inset: -12% -24% -10% -22%;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}
.ah-contact-v2__stage {
  position: absolute;
  inset: 0;
  overflow: visible;
  transform-style: preserve-3d;
}
.ah-contact-v2__stage-glow {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(46, 204, 190, 0.31),
    rgba(15, 109, 138, 0.15) 41%,
    transparent 69%
  );
  filter: blur(12px);
}
.ah-contact-v2__orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  border: 1px solid rgba(153, 231, 217, 0.19);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-16deg);
}
.ah-contact-v2__orbit-a {
  width: 79%;
}
.ah-contact-v2__orbit-b {
  width: 106%;
  border-color: rgba(135, 207, 54, 0.15);
}
.ah-contact-v2__orbit-c {
  width: 132%;
  border-color: rgba(220, 248, 248, 0.08);
}
.ah-contact-v2__orbit-b::before,
.ah-contact-v2__orbit-a::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border: 3px solid #a7e25c;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(135, 207, 54, 0.32);
}
.ah-contact-v2__orbit-b::before {
  top: 13%;
  right: 14%;
}
.ah-contact-v2__orbit-a::after {
  bottom: 12%;
  left: 16%;
}
.ah-contact-v2__stage-dash {
  position: absolute;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(135, 207, 54, 0.5),
    transparent
  );
  transform: rotate(-29deg);
  opacity: 0.65;
}
.ah-contact-v2__stage-dash-a {
  width: 50%;
  top: 19%;
  right: -2%;
}
.ah-contact-v2__stage-dash-b {
  width: 42%;
  bottom: 22%;
  left: -11%;
}
.ah-contact-v2__spark {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #9be84a;
  box-shadow: 0 0 14px #9be84a;
  animation: ahc-spark 4s ease-in-out infinite alternate;
}
.ah-contact-v2__spark-a {
  left: 6%;
  top: 23%;
}
.ah-contact-v2__spark-b {
  right: 3%;
  bottom: 33%;
  animation-delay: -1.7s;
}
.ah-contact-v2__spark-c {
  top: 7%;
  right: 30%;
  animation-delay: -2.6s;
}
@keyframes ahc-spark {
  from {
    opacity: 0.28;
    transform: scale(0.65);
  }
  to {
    opacity: 1;
    transform: scale(1.2);
  }
}
.ah-contact-v2__laptop.et_pb_module {
  position: relative;
  z-index: 2;
  width: 116%;
  max-width: 870px;
  margin: -7% -12% -11% -4% !important;
  padding: 0 !important;
  transform-origin: center center;
  filter: drop-shadow(0 46px 54px rgba(0, 6, 22, 0.52));
}
.ah-contact-v2__laptop .et_pb_image_wrap,
.ah-contact-v2__laptop img {
  display: block;
  width: 100%;
  height: auto;
}

/* 02 / CONTACT: light editorial scene, real side-by-side Divi columns */
.ah-contact-v2__connect.et_pb_section {
  padding: clamp(110px, 10vw, 170px) 0 clamp(115px, 11vw, 180px) !important;
  background:
    radial-gradient(
      ellipse 46% 66% at 94% 20%,
      rgba(157, 220, 212, 0.37),
      transparent 80%
    ),
    radial-gradient(
      ellipse 33% 57% at 7% 86%,
      rgba(198, 228, 237, 0.46),
      transparent 84%
    ),
    linear-gradient(135deg, #f7fbfc 0%, #eaf5f6 100%) !important;
}
.ah-contact-v2__connect::before {
  content: "";
  position: absolute;
  inset: -18% -10% -22% 24%;
  z-index: -1;
  border-radius: 50%;
  border: 1px solid rgba(7, 111, 156, 0.075);
  box-shadow:
    0 0 0 155px rgba(7, 111, 156, 0.018),
    0 0 0 310px rgba(7, 111, 156, 0.012);
  pointer-events: none;
}
.ah-contact-v2__connect::after {
  content: "";
  position: absolute;
  width: 38%;
  height: 1px;
  bottom: 0;
  left: 31%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(7, 111, 156, 0.21),
    transparent
  );
}
.ah-contact-v2__connect-row.et_pb_row {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  align-items: center;
  gap: clamp(50px, 8vw, 145px);
  width: min(88%, 1450px) !important;
  max-width: 1450px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.ah-contact-v2__connect-row > .et_pb_column {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  min-width: 0;
  margin: 0 !important;
}
.ah-contact-v2__connect-copy.et_pb_module {
  margin: 0 !important;
  padding: 0 !important;
}
.ah-contact-v2__connect-copy .padding-container {
  margin: 0 !important;
  padding: 0 !important;
}
div div.ah-contact-v2__hero-row .ah-contact-v2__connect-copy h2.h2-white {
  max-width: 740px;
  margin: 0 0 clamp(28px, 2.6vw, 44px) !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: clamp(58px, 5.2vw, 84px) !important;
  font-weight: 800 !important;
  line-height: 1.045em !important;
  letter-spacing: -0.058em !important;
  text-transform: uppercase !important;
  text-wrap: balance;
}
.ah-contact-v2__connect-copy h2,
.ah-contact-v2__connect-copy h2 > span {
  color: #0b2845 !important;
}
.ah-contact-v2__connect-copy h2 .green {
  color: #77be2c !important;
}
.ah-contact-v2__connect-copy .ah-paragraph {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 625px;
  color: #4c687b !important;
  text-align: left !important;
  font:
    400 clamp(17px, 1.15vw, 20px)/1.9 "Roboto",
    "Arial",
    "sans-serif";
}
.ah-contact-v2__connect-copy .ah-paragraph span {
  color: #4c687b !important;
}
.ah-contact-v2__connect-copy .ah-paragraph:last-child {
  margin-bottom: 0 !important;
}
.ah-contact-v2__form-col {
  position: relative;
}
.ah-contact-v2__form-col::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -22px 24px 22px -24px;
  border-radius: 30px;
  border: 1px solid rgba(8, 125, 165, 0.18);
  pointer-events: none;
}
.ah-contact-v2__form.et_pb_module {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  min-height: 350px;
  background: rgba(255, 255, 255, 0.985) !important;
  padding: clamp(35px, 3.45vw, 60px) !important;
  border: 1px solid #d5e8ed;
  border-top: 5px solid var(--ahc-lime);
  border-radius: 22px;
  box-shadow:
    0 35px 75px rgba(14, 56, 86, 0.14),
    0 6px 20px rgba(14, 56, 86, 0.06);
  overflow: visible;
}
.ah-contact-v2__form::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 20% -40px;
  height: 56px;
  background: rgba(12, 133, 153, 0.24);
  filter: blur(45px);
  border-radius: 50%;
  pointer-events: none;
}
.ah-contact-v2__form h3 {
  margin: 0 0 25px !important;
  text-align: left !important;
  text-transform: uppercase !important;
  color: #0a2845 !important;
  font-size: clamp(23px, 2vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.2em !important;
  letter-spacing: -0.037em !important;
}
.ah-contact-v2__form #mktoForm_5696 {
  width: 100% !important;
  max-width: 100%;
  padding: 0 !important;
  color: #30495a !important;
}
.ah-contact-v2__form #mktoForm_5696 .mktoFormRow {
  margin-bottom: 8px;
}
.ah-contact-v2__form #mktoForm_5696 .mktoLabel {
  color: #243e51 !important;
}
.ah-contact-v2__form #mktoForm_5696 .mktoRadioList label {
  line-height: 1.6 !important;
  color: #405b6c !important;
}
.ah-contact-v2__form #mktoForm_5696 input[type="radio"] {
  accent-color: #79c62e;
}
.ah-contact-v2__form #mktoForm_5696 .mktoButtonRow {
  display: block;
  text-align: center;
}
.ah-contact-v2__form #mktoForm_5696 .mktoButton {
  border: 0 !important;
  border-radius: 8px !important;
  background: #87cf36 !important;
  color: #09233a !important;
  padding: 13px 30px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition:
    background 0.2s ease,
    transform 0.2s ease !important;
}
.ah-contact-v2__form #mktoForm_5696 .mktoButton:hover {
  background: #9ae548 !important;
  transform: translateY(-2px);
}
.ah-contact-v2__form #mktoForm_5696 input:focus-visible,
.ah-contact-v2__form #mktoForm_5696 button:focus-visible {
  outline: 2px solid #087da5;
  outline-offset: 3px;
}

/* 03 / ADDRESSES: glass cards on a closing dark stage */
.ah-contact-v2__addresses.et_pb_section {
  padding: clamp(95px, 8vw, 145px) 0 clamp(105px, 8vw, 145px) !important;
  background:
    radial-gradient(
      ellipse 49% 102% at 105% 50%,
      rgba(0, 130, 160, 0.21),
      transparent 80%
    ),
    radial-gradient(
      ellipse 38% 74% at -10% 0%,
      rgba(23, 85, 142, 0.22),
      transparent 76%
    ),
    linear-gradient(119deg, #06162d 0%, #0b2941 67%, #071d32 100%) !important;
}
.ah-contact-v2__addresses::before {
  content: "";
  position: absolute;
  pointer-events: none;
  width: min(75vw, 900px);
  aspect-ratio: 1;
  right: -25%;
  top: -95%;
  border-radius: 50%;
  border: 1px solid rgba(135, 207, 54, 0.12);
  box-shadow:
    0 0 0 105px rgba(135, 207, 54, 0.019),
    0 0 0 240px rgba(135, 207, 54, 0.012);
}
.ah-contact-v2__addresses::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.08;
  background: url("https://anyonedevelop.wpenginepowered.com/wp-content/uploads/2025/05/home-lease-better-bg.svg")
    center / cover no-repeat;
}
.ah-contact-v2__address-row.et_pb_row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 32px);
  align-items: stretch;
  width: min(88%, 1420px) !important;
  max-width: 1420px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.ah-contact-v2__address-row > .ah-contact-v2__address-col {
  position: relative;
  z-index: 1;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  min-height: 310px;
  padding: clamp(30px, 3vw, 49px) !important;
  background: linear-gradient(
    145deg,
    rgba(26, 55, 82, 0.88),
    rgba(12, 37, 61, 0.87)
  );
  border: 1px solid rgba(160, 211, 230, 0.16);
  border-radius: 20px;
  box-shadow: 0 22px 55px rgba(0, 8, 20, 0.14);
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    background 0.35s ease;
  overflow: hidden;
}
.ah-contact-v2__address-col::before {
  content: "";
  display: block;
  width: 58px;
  height: 58px;
  margin: 0 0 42px;
  border-radius: 17px;
  border: 1px solid rgba(135, 207, 54, 0.27);
  background:
    radial-gradient(
      circle at 51% 42%,
      rgba(135, 207, 54, 0.33) 0 5px,
      transparent 6px
    ),
    radial-gradient(
      circle at center,
      rgba(135, 207, 54, 0.11),
      rgba(135, 207, 54, 0.035)
    );
  box-shadow: inset 0 0 0 1px rgba(135, 207, 54, 0.04);
}
.ah-contact-v2__address-col::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #87cf36 0%, #087da5 50%, transparent 90%);
  opacity: 0.72;
}
.ah-contact-v2__address-col--2 {
  top: 31px;
}
.ah-contact-v2__address-col--3 {
  top: 15px;
}
.ah-contact-v2__address-row > .ah-contact-v2__address-col:hover {
  transform: translateY(-7px);
  border-color: rgba(135, 207, 54, 0.49);
}
.ah-contact-v2__address-copy.et_pb_module {
  margin: 0 !important;
  padding: 0 !important;
}
.ah-contact-v2__address-copy p {
  margin: 0 !important;
  color: #bed1df !important;
  font-size: clamp(15px, 1.02vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.72em !important;
  overflow-wrap: anywhere;
}
.ah-contact-v2__address-copy strong {
  color: #fff !important;
  display: inline-block;
  margin: 0 0 17px;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.035em;
  font-weight: 800 !important;
}
.ah-contact-v2__address-col--3 .ah-contact-v2__address-copy strong {
  display: block;
}

/* Device-specific composition */
@media (max-width: 1100px) {
  .ah-contact-v2__hero-copy h2.h2-hero-subhead {
    font-size: clamp(50px, 5.8vw, 76px) !important;
  }
  .ah-contact-v2__connect-row.et_pb_row {
    gap: 54px;
  }
  .ah-contact-v2__connect-copy h2.h2-white {
    font-size: clamp(48px, 5.6vw, 74px) !important;
  }
}
@media (max-width: 980px) {
  .ah-contact-v2__hero.et_pb_section {
    min-height: 0;
    padding: 150px 0 80px !important;
  }
  .ah-contact-v2__hero-row.et_pb_row,
  .ah-contact-v2__connect-row.et_pb_row {
    grid-template-columns: 1fr;
    gap: 42px;
    width: min(88%, 710px) !important;
  }
  .ah-contact-v2__hero-copy h2.h2-hero-subhead {
    max-width: 690px;
    font-size: clamp(51px, 8.5vw, 79px) !important;
  }
  .ah-contact-v2__hero-visual-col {
    min-height: 400px;
  }
  .ah-contact-v2__laptop.et_pb_module {
    width: 104%;
    margin: -4% -2% -14% -2% !important;
  }
  .ah-contact-v2__stage-module.et_pb_module {
    inset: -10% -12%;
  }
  .ah-contact-v2__connect.et_pb_section {
    padding: 110px 0 115px !important;
  }
  .ah-contact-v2__connect-copy h2.h2-white {
    font-size: clamp(51px, 8.2vw, 78px) !important;
  }
  .ah-contact-v2__form-col::before {
    inset: -15px 18px 15px -18px;
  }
  .ah-contact-v2__address-row.et_pb_row {
    width: min(88%, 760px) !important;
    grid-template-columns: 1fr;
  }
  .ah-contact-v2__address-row > .ah-contact-v2__address-col {
    min-height: 0;
    padding: 30px 37px !important;
    top: auto !important;
  }
  .ah-contact-v2__address-col::before {
    width: 43px;
    height: 43px;
    margin-bottom: 20px;
  }
}
@media (max-width: 600px) {
  .ah-contact-v2__hero.et_pb_section {
    padding: 125px 0 72px !important;
  }
  .ah-contact-v2__hero-row.et_pb_row,
  .ah-contact-v2__connect-row.et_pb_row {
    width: 88% !important;
  }
  .ah-contact-v2__hero-copy h1.h1-hero-dark {
    font-size: 12px !important;
    letter-spacing: 0.19em !important;
  }
  .ah-contact-v2__hero-copy h2.h2-hero-subhead {
    font-size: clamp(43px, 12vw, 65px) !important;
    letter-spacing: -0.06em !important;
    padding-bottom: 26px !important;
  }
  .ah-contact-v2__hero-copy h2::after {
    width: 75px;
    height: 4px;
  }
  .ah-contact-v2__hero-visual-col {
    min-height: 280px;
  }
  .ah-contact-v2__laptop.et_pb_module {
    width: 110%;
    margin: 0 -5% -15% !important;
  }
  .ah-contact-v2__connect.et_pb_section {
    padding: 90px 0 95px !important;
  }
  .ah-contact-v2__connect-copy h2.h2-white {
    font-size: clamp(42px, 10.5vw, 62px) !important;
  }
  .ah-contact-v2__connect-copy .ah-paragraph {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
  .ah-contact-v2__form.et_pb_module {
    padding: 29px 20px !important;
    border-radius: 15px;
  }
  .ah-contact-v2__form-col::before {
    inset: -10px 12px 10px -12px;
  }
  .ah-contact-v2__form h3 {
    font-size: 22px !important;
  }
  .ah-contact-v2__addresses.et_pb_section {
    padding: 80px 0 90px !important;
  }
  .ah-contact-v2__address-row > .ah-contact-v2__address-col {
    padding: 28px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ah-contact-v2__spark {
    animation: none !important;
  }
  .ah-contact-v2__address-col,
  .ah-contact-v2__form .mktoButton {
    transition: none !important;
  }
}
