.first-screen-section {
  min-height: calc(
    100svh
    - var(--site-header-height)
    - var(--wp-admin--admin-bar--height, 0px)
  );
}

.split-hero {
  position: relative;
  overflow: hidden;
}

/* Right-side full bleed background - desktop/tablet */
.split-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 0 50%;
  background: var(--gcid-ffcqjxsvo7);
  z-index: 0;
}

/* Shared row/content layering */
.split-hero .et_pb_row {
  position: relative !important;
  z-index: 5 !important;
}

.split-hero .hero-right {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Desktop */
@media (min-width: 981px) {
  .split-hero .et_pb_column:first-child {
    position: relative;
    z-index: 6;
  }

  .split-hero .hero-right {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;

    width: auto !important;
    margin: 0 !important;

    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent !important;

    overflow: hidden;
    z-index: 5;
  }

  .split-hero .hero-right > * {
    position: relative;
    z-index: 10;

    max-width: 540px;
    margin-left: auto !important;
  }
}

/* Tablet - keep true 50/50 split */
@media (min-width: 768px) and (max-width: 980px) {
  .split-hero::before {
    display: block;
    inset: 0 0 0 50%;
  }

  .split-hero .et_pb_column:first-child {
    position: relative;
    z-index: 6;
  }

  .split-hero .hero-right {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;

    width: auto !important;
    max-width: none !important;
    margin: 0 !important;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 56px 0 56px 40px !important;

    background: transparent !important;
    overflow: hidden;
    z-index: 5;
  }

  .split-hero .hero-right > * {
    position: relative;
    z-index: 10;

    max-width: 360px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Phone - stacked layout */
@media (max-width: 767px) {
  .split-hero::before {
    display: none;
  }

  .split-hero .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;

    position: relative !important;
    z-index: 5 !important;
  }

  .split-hero .hero-right {
    position: relative !important;
    inset: auto !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;

    padding: 48px 24px !important;

    background: var(--gcid-ffcqjxsvo7);
    overflow: hidden;
  }

  .split-hero .hero-right > * {
    position: relative;
    z-index: 10;

    max-width: 340px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}