.twp-hero-block {
  position: relative;
  overflow: hidden;
  min-height: var(--twp-hero-height, 823px);
  background: #00134f;
  color: #fff;
  z-index: 0;
}

.twp-hero-block.has-skyline {
  background-image: var(--twp-hero-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.twp-hero-block__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 19, 79, 0.6) 0%, rgba(0, 19, 79, 0.6) 100%),
    linear-gradient(90deg, rgba(0, 19, 79, 0.72) 0%, rgba(0, 19, 79, 0.56) 48%, rgba(0, 19, 79, 0.45) 100%);
}

.twp-hero-block__inner {
  position: relative;
  z-index: 1;
  max-width: min(1280px, 100%);
  margin: 0 auto;
  min-height: inherit;
  padding: clamp(110px, 12vw, 180px) clamp(20px, 7vw, 64px) clamp(20px, 4vw, 64px) clamp(20px, 4vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 424px);
  grid-template-areas: "left right";
  gap: clamp(20px, 3vw, 36px) clamp(20px, 4vw, 48px);
  align-items: center;
}

.twp-hero-block__left {
  grid-area: left;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.twp-hero-block h1.twp-hero-block__title {
  margin: 0;
  max-width: 100%;
  width: 100%;
  color: var(--Text-alternate, #fff);
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(34px, 4.2vw, 56px) !important;
  font-style: normal;
  font-weight: 700 !important;
  text-transform: none;
  line-height: 120% !important;
  letter-spacing: 0;
}

.twp-hero-block__title-prefix,
.twp-hero-block__title-accent {
  display: inline;
}

.twp-hero-block__description {
  margin: 30px 0 0;
  width: var(--container-widget-width, 86%);
  max-width: 86%;
  --container-widget-width: 86%;
  --container-widget-flex-grow: 0;
  color: var(--Text-alternate, #fff);
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(18px, 1.9vw, 24px);
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.twp-hero-block__form-wrap {
  margin-top: 34px;
  max-width: min(610px, 100%);
}

.twp-hero-block__form-wrap .gform_wrapper {
  margin: 0;
}

.twp-hero-block__form-wrap .gform-body,
.twp-hero-block__form-wrap .gform_footer,
.twp-hero-block__form-wrap .gform_page_footer,
.twp-hero-block__form-wrap .gform_fields {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.twp-hero-block__form-wrap .gform_fields {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 340px);
  gap: 12px;
  align-items: stretch;
}

.twp-hero-block__form-wrap .gform-theme--foundation .gform_fields {
  row-gap: 15px !important;
}

.twp-hero-block__form-wrap .gform_footer,
.twp-hero-block__form-wrap .gform_page_footer {
  display: block !important;
  margin-top: 6px !important;
  width: 100% !important;
  padding: 0 !important;
}

.twp-hero-block__form-wrap .gfield,
.twp-hero-block__form-wrap .ginput_container,
.twp-hero-block__form-wrap .gform-field-label {
  margin: 0 !important;
  padding: 0 !important;
}

.twp-hero-block__form-wrap .gfield {
  margin: 0 !important;
  min-width: 0;
}

.twp-hero-block__form-wrap .gfield_visibility_hidden,
.twp-hero-block__form-wrap .gform_hidden,
.twp-hero-block__form-wrap .gform_validation_container {
  display: none !important;
}

.twp-hero-block__form-wrap .gfield select {
  width: 100% !important;
}

.twp-hero-block__form-wrap .ginput_container_select,
.twp-hero-block__form-wrap .ginput_container_email,
.twp-hero-block__form-wrap .ginput_container_text {
  width: 100% !important;
}

.twp-hero-block__form-wrap .Select input[type="text"],
.twp-hero-block__form-wrap .select2-search__field,
.twp-hero-block__form-wrap .choices__input {
  height: auto !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  background: transparent !important;
}

/* If enhanced select is present, hide native select clone to prevent duplicate dropdown rendering. */
.twp-hero-block__form-wrap .gfield--type-select:has(.Select) select,
.twp-hero-block__form-wrap .gfield--type-select:has(.select2) select,
.twp-hero-block__form-wrap .gfield--type-select:has(.choices) select,
.twp-hero-block__form-wrap .gfield--type-select select.select2-hidden-accessible,
.twp-hero-block__form-wrap .gfield--type-select select[aria-hidden="true"] {
  display: none !important;
}

.twp-hero-block__form-wrap .select2-search--dropdown {
  display: none !important;
}

/* Suppress enhancer helper text inputs that appear as a duplicate field under Role. */
.twp-hero-block__form-wrap .gfield--type-select input[type="text"] {
  display: none !important;
}

.twp-hero-block__form-wrap .gfield:has(select) input[type="text"] {
  display: none !important;
}

.twp-hero-block__form-wrap .gfield--type-select .ginput_container input[type="text"],
.twp-hero-block__form-wrap .gfield:has(select) .ginput_container input[type="text"] {
  display: none !important;
}.twp-hero-block__form-wrap input[type="submit"],
.twp-hero-block__form-wrap button[type="submit"],
.twp-hero-block__form-wrap .gform_button.button,
.twp-hero-block__form-wrap .gform_next_button.button,
.twp-hero-block__form-wrap .gform_previous_button.button {
  margin: 0 !important;
  width: 100% !important;
}

.twp-hero-block__right {
  grid-area: right;
  width: min(100%, 424px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  align-items: flex-start;
  padding-bottom: 2px;
}

.twp-hero-block__logo-wrap {
  width: min(100%, 424px);
}

.twp-hero-block__logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  max-height: 92px;
  object-position: left center;
  filter: brightness(0) invert(1);
}

.twp-hero-block__badges {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: top;
  gap: 18px;
}

.twp-hero-block__badge-item {
  padding: 0;
  border: 0;
  background: transparent;
}

.twp-hero-block__badge-label {
  display: none;
}

.twp-hero-block__badge-render {
  overflow: hidden;
  line-height: 0;
}

.twp-hero-block__badge-render .twp-badge {
  margin: 0;
}

.twp-hero-block__badge-img {
  display: block;
  height: auto;
  max-width: 100%;
}

.twp-hero-block__badge-item:first-child .twp-badge__box {
  width: 92px !important;
}

.twp-hero-block__badge-item:first-child .twp-hero-block__badge-img {
  width: 92px !important;
}

.twp-hero-block__badge-item:last-child .twp-badge__box {
  width: 286px !important;
}

.twp-hero-block__badge-item:last-child .twp-hero-block__badge-img {
  width: 286px !important;
}

.twp-hero-block-notice {
  border: 1px dashed #b32d2e;
  color: #b32d2e;
  padding: 12px;
  background: #fff;
}

@media (max-width: 1024px) and (min-width: 641px) {
  .twp-hero-block {
    min-height: 600px;
  }
}

@media (max-width: 1024px) {
  .twp-hero-block__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    grid-template-areas: "left right";
    gap: 34px;
    padding: 36px;
    align-items: center;
  }

  .twp-hero-block__right {
    align-items: flex-start;
    padding-bottom: 0;
  }

  .twp-hero-block__logo-wrap {
    width: 100%;
    max-width: 424px;
  }

  .twp-hero-block__badges {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap: 14px;
    align-items: stretch;
  }

  .twp-hero-block__badge-item:first-child {
    min-width: 0;
  }

  .twp-hero-block__badge-item:last-child {
    min-width: 0;
  }

  .twp-hero-block__badge-item {
    display: flex;
  }

  .twp-hero-block__badge-render,
  .twp-hero-block__badge-render .twp-badge {
    width: 100%;
  }

  .twp-hero-block__badge-item:first-child .twp-badge__box,
  .twp-hero-block__badge-item:first-child .twp-hero-block__badge-img,
  .twp-hero-block__badge-item:last-child .twp-badge__box,
  .twp-hero-block__badge-item:last-child .twp-hero-block__badge-img {
    max-width: 100%;
  }

  .twp-hero-block__badge-item:first-child .twp-badge__box,
  .twp-hero-block__badge-item:first-child .twp-hero-block__badge-img {
    width: 92px !important;
  }

  .twp-hero-block__badge-item:last-child .twp-badge__box,
  .twp-hero-block__badge-item:last-child .twp-hero-block__badge-img {
    width: 286px !important;
  }

  .twp-hero-block__title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.05rem, 5.2vw, 3.1rem);
  }

  .twp-hero-block__description {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  }

}

@media (max-width: 640px) {
  .twp-hero-block__inner {
    grid-template-columns: 1fr;
    grid-template-areas:
      "left"
      "right";
    padding: 112px 16px 26px;
    align-items: start;
  }

  .twp-hero-block__right {
    align-items: center;
  }

  .twp-hero-block__logo-wrap {
    margin-inline: auto;
  }

  .twp-hero-block__logo {
    object-position: center center;
  }

  .twp-hero-block__title {
    font-size: clamp(2rem, 10vw, 3.4rem);
  }

  .twp-hero-block__description {
    margin-top: 18px;
    max-width: 100%;
  }

  .twp-hero-block__form-wrap .gform_fields {
    grid-template-columns: 1fr;
  }

  .twp-hero-block__badges {
    margin-inline: auto;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    gap: 12px;
  }

  .twp-hero-block__badge-item:first-child .twp-badge__box {
    width: 62px !important;
  }

  .twp-hero-block__badge-item:first-child .twp-hero-block__badge-img {
    width: 62px !important;
  }

  .twp-hero-block__badge-item:last-child .twp-badge__box {
    width: 195px !important;
  }

  .twp-hero-block__badge-item:last-child .twp-hero-block__badge-img {
    width: 195px !important;
  }
}

body.twp-nominate-hero-page .entry-header .entry-title,
body.twp-nominate-hero-page h1.entry-title {
  display: none !important;
}

header.site-header,
#masthead,
.elementor-location-header,
body .elementor-sticky--active {
  position: relative;
  z-index: 30;
}

/* Keep block selectable in editor: route clicks to block wrapper, not preview children. */
.editor-styles-wrapper .wp-block-twp-hero,
.editor-styles-wrapper .wp-block[data-type="twp/hero"] {
  cursor: pointer;
}

.editor-styles-wrapper .wp-block-twp-hero .twp-hero-block,
.editor-styles-wrapper .wp-block[data-type="twp/hero"] .twp-hero-block,
.editor-styles-wrapper .wp-block-twp-hero .twp-hero-block *,
.editor-styles-wrapper .wp-block[data-type="twp/hero"] .twp-hero-block * {
  pointer-events: none !important;
}
