/*
 * Global Gravity Forms presentation for every Valtrion-family page.
 * Supports both the legacy `gravity-theme` wrapper and Gravity Forms 2.9+
 * Foundation/Orbital markup. Form definitions and operational data remain
 * plugin-owned; the theme owns the visual contract.
 */
.gform_wrapper.gform-theme,
.gform_wrapper.gravity-theme {
  --gf-local-border: var(--color-border-control-inverse, rgb(255 255 255 / .34));
  --gf-local-border-strong: var(--color-border-control-inverse-strong, rgb(255 255 255 / .72));
  --gf-local-field: rgb(255 255 255 / .055);
  --gf-local-error: #ffb4ab;
  --gf-color-primary: var(--color-accent, #88e5bb) !important;
  --gf-color-primary-rgb: 136, 229, 187 !important;
  --gf-color-primary-contrast: var(--color-forest-950, #061712) !important;
  --gf-color-in-ctrl: #f4f7f2 !important;
  --gf-color-out-ctrl-dark: #f4f7f2 !important;
  --gf-color-out-ctrl-light: rgb(255 255 255 / .14) !important;
  --gf-ctrl-bg-color: transparent !important;
  --gf-ctrl-border-color: rgb(255 255 255 / .34) !important;
  --gf-ctrl-label-color-primary: #f4f7f2 !important;
  --gf-ctrl-label-color-secondary: rgb(244 247 242 / .7) !important;
  color: var(--vt-paper, #f4f7f2) !important;
  font-family: var(--font-family-body, Arial, sans-serif) !important;
}

.gform_wrapper.gform-theme .gform_heading,
.gform_wrapper.gravity-theme .gform_heading { margin: 0 !important; }

.gform_wrapper.gform-theme .gform_required_legend,
.gform_wrapper.gravity-theme .gform_required_legend { display: none !important; }

.gform_wrapper.gform-theme .gform_required_legend,
.gform_wrapper.gravity-theme .gform_required_legend,
.gform_wrapper.gform-theme .gf_progressbar_title,
.gform_wrapper.gravity-theme .gf_progressbar_title {
  margin: 0 0 .625rem !important;
  color: rgb(244 247 242 / .62) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.gform_wrapper.gform-theme .gf_progressbar_wrapper,
.gform_wrapper.gravity-theme .gf_progressbar_wrapper { margin-bottom: 2rem !important; }

.gform_wrapper.gform-theme .gf_progressbar,
.gform_wrapper.gravity-theme .gf_progressbar {
  height: 2px !important;
  border-radius: 0 !important;
  background: rgb(255 255 255 / .14) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.gform_wrapper.gform-theme .gf_progressbar_percentage,
.gform_wrapper.gravity-theme .gf_progressbar_percentage {
  height: 100% !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #2e6b58, #88e5bb) !important;
  box-shadow: 0 0 18px rgb(136 229 187 / .28) !important;
}

.gform_wrapper.gform-theme .gf_progressbar_percentage span,
.gform_wrapper.gravity-theme .gf_progressbar_percentage span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.gform_wrapper.gform-theme .gform_fields,
.gform_wrapper.gravity-theme .gform_fields { gap: 1.125rem !important; }

.gform_wrapper.gform-theme .gsection,
.gform_wrapper.gravity-theme .gsection {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgb(255 255 255 / .17) !important;
}

.gform_wrapper.gform-theme .gsection_title,
.gform_wrapper.gravity-theme .gsection_title {
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  color: #fff !important;
  font: 400 clamp(1.6rem, 3vw, 2rem)/1.05 var(--font-family-display, Georgia, serif) !important;
  letter-spacing: -.01em !important;
}

.gform_wrapper.gform-theme .gfield_label,
.gform_wrapper.gform-theme .gform-field-label,
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gform-field-label {
  margin-bottom: .55rem !important;
  color: rgb(244 247 242 / .82) !important;
  font-family: var(--font-family-body, Arial, sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.gform_wrapper.gform-theme .gform-field-label--type-sub,
.gform_wrapper.gravity-theme .gform-field-label--type-sub {
  margin-top: .5rem !important;
  color: rgb(244 247 242 / .58) !important;
  font-size: .66rem !important;
  font-weight: 500 !important;
}

.gform_wrapper.gform-theme .gfield_required,
.gform_wrapper.gravity-theme .gfield_required { color: var(--vt-mint, #88e5bb) !important; }

.gform_wrapper.gform-theme input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.gform_wrapper.gform-theme select,
.gform_wrapper.gform-theme textarea,
.gform_wrapper.gravity-theme input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
  min-height: 52px !important;
  padding: .9rem 1rem !important;
  border: 1px solid var(--gf-local-border) !important;
  border-radius: 0 !important;
  color: var(--vt-paper, #f4f7f2) !important;
  background: var(--gf-local-field) !important;
  box-shadow: none !important;
  font-family: var(--font-family-body, Arial, sans-serif) !important;
  transition: border-color var(--duration-base, 360ms) var(--ease-out, ease), background-color var(--duration-base, 360ms) var(--ease-out, ease), box-shadow var(--duration-base, 360ms) var(--ease-out, ease) !important;
}

.gform_wrapper.gform-theme textarea,
.gform_wrapper.gravity-theme textarea { min-height: 150px !important; resize: vertical !important; }

.gform_wrapper.gform-theme input::placeholder,
.gform_wrapper.gform-theme textarea::placeholder,
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder { color: rgb(244 247 242 / .48) !important; opacity: 1 !important; }

.gform_wrapper.gform-theme input:focus,
.gform_wrapper.gform-theme select:focus,
.gform_wrapper.gform-theme textarea:focus,
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
  border-color: var(--gf-local-border-strong) !important;
  outline: 2px solid transparent !important;
  background: rgb(255 255 255 / .085) !important;
  box-shadow: 0 0 0 3px rgb(136 229 187 / .17), 0 0 28px rgb(136 229 187 / .09) !important;
}

.gform_wrapper.gform-theme .gfield-choice-input,
.gform_wrapper.gravity-theme .gfield-choice-input { accent-color: var(--vt-mint, #88e5bb) !important; }

/*
 * The production strategy form marks its visual checkbox cards with
 * `gf-tiles`, `tiles-2`, and `tiles-3`. Gravity Forms owns that markup; the
 * theme turns it into an accessible, responsive card grid.
 */
.gform_wrapper.gform-theme .gf-tiles > .gfield_label,
.gform_wrapper.gravity-theme .gf-tiles > .gfield_label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 1.25rem !important;
  color: #fff !important;
  font: 400 clamp(1.5rem, 2.6vw, 1.9rem)/1.08 var(--font-family-display, Georgia, serif) !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}

.gform_wrapper.gform-theme .gf-tiles .ginput_container_checkbox,
.gform_wrapper.gravity-theme .gf-tiles .ginput_container_checkbox { width: 100% !important; }

.gform_wrapper.gform-theme .gf-tiles .gfield_checkbox,
.gform_wrapper.gravity-theme .gf-tiles .gfield_checkbox {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: .875rem !important;
}

.gform_wrapper.gform-theme .gf-tiles.tiles-2 .gfield_checkbox,
.gform_wrapper.gravity-theme .gf-tiles.tiles-2 .gfield_checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.gform_wrapper.gform-theme .gf-tiles .gchoice,
.gform_wrapper.gravity-theme .gf-tiles .gchoice {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  min-width: 0 !important;
}

.gform_wrapper.gform-theme .gf-tiles .gfield-choice-input,
.gform_wrapper.gravity-theme .gf-tiles .gfield-choice-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline,
.gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline {
  position: relative !important;
  display: flex !important;
  height: 100% !important;
  min-height: 8.5rem !important;
  margin: 0 !important;
  padding: 1.1rem 1.1rem 1.1rem 3.25rem !important;
  border: 1px solid var(--tile-border, rgb(255 255 255 / .22)) !important;
  color: rgb(244 247 242 / .9) !important;
  background: rgb(5 17 13 / .18) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .025) !important;
  flex-direction: column !important;
  gap: .75rem !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  font-family: var(--font-family-body, Arial, sans-serif) !important;
  font-size: clamp(.82rem, 1.2vw, .94rem) !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: border-color var(--fx-hover-duration, 520ms) var(--fx-hover-ease, var(--ease-out, ease)), background-color var(--fx-hover-duration, 520ms) var(--fx-hover-ease, var(--ease-out, ease)), box-shadow var(--fx-hover-duration, 520ms) var(--fx-hover-ease, var(--ease-out, ease)) !important;
}

.gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline:has(> .tile-icon),
.gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline:has(> .tile-icon) {
  height: 9.5rem !important;
  min-height: 9.5rem !important;
  padding: 1rem 1rem 1.05rem !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-align: center !important;
}

.gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline::before,
.gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline::before {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 1.24rem !important;
  left: 1.52rem !important;
  width: .36rem !important;
  height: .68rem !important;
  border-right: 2px solid transparent !important;
  border-bottom: 2px solid transparent !important;
  opacity: 0 !important;
  transform: rotate(45deg) !important;
  transform-origin: center !important;
  transition: border-color var(--duration-base, 360ms) var(--ease-out, ease), opacity var(--duration-base, 360ms) var(--ease-out, ease) !important;
}

.gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline::after,
.gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline::after {
  content: "" !important;
  position: absolute !important;
  top: 1rem !important;
  right: auto !important;
  left: 1rem !important;
  display: grid !important;
  width: 1.45rem !important;
  height: 1.45rem !important;
  place-items: center !important;
  border: 1px solid rgb(244 247 242 / .42) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transition: background-color var(--duration-base, 360ms) var(--ease-out, ease), border-color var(--duration-base, 360ms) var(--ease-out, ease), box-shadow var(--duration-base, 360ms) var(--ease-out, ease) !important;
}

.gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline br,
.gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline br { display: none !important; }

.gform_wrapper.gform-theme .gf-tiles .choice-desc,
.gform_wrapper.gravity-theme .gf-tiles .choice-desc {
  display: block !important;
  color: rgb(244 247 242 / .62) !important;
  font-size: .74rem !important;
  font-weight: 450 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
}

.gform_wrapper.gform-theme .gf-tiles .tile-icon,
.gform_wrapper.gravity-theme .gf-tiles .tile-icon {
  position: absolute !important;
  top: 1rem !important;
  left: 50% !important;
  width: 4.25rem !important;
  height: 4.25rem !important;
  max-width: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  transform: translateX(-50%) !important;
}

@media (hover: hover) and (pointer: fine) {
  .gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline:hover,
  .gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline:hover {
    border-color: var(--tile-border-hover, rgb(255 255 255 / .68)) !important;
    background: rgb(2 12 9 / .34) !important;
    box-shadow: var(--tile-ring-hover, 0 0 0 1px rgb(255 255 255 / .12)), var(--tile-glow-hover, 0 22px 70px -28px rgb(255 255 255 / .34)) !important;
  }
}

.gform_wrapper.gform-theme .gf-tiles .gfield-choice-input:focus-visible + .gform-field-label,
.gform_wrapper.gravity-theme .gf-tiles .gfield-choice-input:focus-visible + .gform-field-label {
  border-color: #fff !important;
  outline: 3px solid rgb(136 229 187 / .35) !important;
  outline-offset: 3px !important;
}

.gform_wrapper.gform-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label,
.gform_wrapper.gravity-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label {
  border-color: var(--vt-mint, #88e5bb) !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgb(46 107 88 / .52), rgb(136 229 187 / .1)) !important;
  box-shadow: inset 0 0 0 1px rgb(136 229 187 / .24), 0 0 30px rgb(136 229 187 / .12) !important;
}

.gform_wrapper.gform-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label::before,
.gform_wrapper.gravity-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label::before {
  border-color: var(--vt-ink, #061712) !important;
  opacity: 1 !important;
}

.gform_wrapper.gform-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label::after,
.gform_wrapper.gravity-theme .gf-tiles .gfield-choice-input:checked + .gform-field-label::after {
  border-color: var(--vt-mint, #88e5bb) !important;
  background: var(--vt-mint, #88e5bb) !important;
  box-shadow: 0 0 18px rgb(136 229 187 / .28) !important;
}

.valtrion-recaptcha-notice {
  margin: 1rem 0 0;
  color: rgb(244 247 242 / .5);
  font-size: .7rem;
  line-height: 1.5;
  text-align: center;
}

.valtrion-recaptcha-notice a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .14em;
}

body.home .grecaptcha-badge { visibility: hidden !important; }

.gform_wrapper.gform-theme .gform_page_footer,
.gform_wrapper.gform-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer,
.gform_wrapper.gravity-theme .gform_footer { display: flex !important; gap: .75rem !important; margin-top: 2rem !important; padding: 0 !important; }

.gform_wrapper.gform-theme .gform_button,
.gform_wrapper.gform-theme .gform_next_button,
.gform_wrapper.gform-theme .gform_previous_button,
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme .gform_next_button,
.gform_wrapper.gravity-theme .gform_previous_button {
  flex: 1 1 0 !important;
  min-height: 56px !important;
  padding: .95rem 1.5rem !important;
  border: 1px solid rgb(255 255 255 / .58) !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: linear-gradient(110deg, #173e33 0%, #2e6b58 45%, #fff 56%, #fff 100%) !important;
  background-size: 220% 100% !important;
  background-position: 0 0 !important;
  box-shadow: none !important;
  font-family: var(--font-family-body, Arial, sans-serif) !important;
  font-size: var(--type-action, .72rem) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: color var(--duration-base, 360ms) var(--ease-out, ease), background-position var(--duration-hover, 520ms) var(--ease-out, ease), border-color var(--duration-base, 360ms) var(--ease-out, ease), box-shadow var(--duration-hover, 520ms) var(--ease-out, ease) !important;
}

.gform_wrapper.gform-theme .gform_button:hover,
.gform_wrapper.gform-theme .gform_button:focus-visible,
.gform_wrapper.gform-theme .gform_next_button:hover,
.gform_wrapper.gform-theme .gform_next_button:focus-visible,
.gform_wrapper.gform-theme .gform_previous_button:hover,
.gform_wrapper.gform-theme .gform_previous_button:focus-visible,
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_button:focus-visible,
.gform_wrapper.gravity-theme .gform_next_button:hover,
.gform_wrapper.gravity-theme .gform_next_button:focus-visible,
.gform_wrapper.gravity-theme .gform_previous_button:hover,
.gform_wrapper.gravity-theme .gform_previous_button:focus-visible {
  border-color: #fff !important;
  color: var(--vt-ink, #061712) !important;
  background-position: 100% 0 !important;
  box-shadow: var(--shadow-button-hover, 0 0 34px rgb(255 255 255 / .2)) !important;
}

.gform_wrapper.gform-theme .gfield_error [aria-invalid="true"],
.gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] { border-color: var(--gf-local-error) !important; }

.gform_wrapper.gform-theme .validation_message,
.gform_wrapper.gform-theme .gfield_validation_message,
.gform_wrapper.gform-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .gform_validation_errors {
  border-color: var(--gf-local-error) !important;
  color: var(--gf-local-error) !important;
  background: rgb(255 180 171 / .08) !important;
}

.gform_confirmation_wrapper {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--vt-border, rgb(255 255 255 / .32));
  color: var(--vt-paper, #f4f7f2);
  background: rgb(255 255 255 / .04);
}

@media (max-width: 640px) {
  .gform_wrapper.gform-theme .gf-tiles .gfield_checkbox,
  .gform_wrapper.gform-theme .gf-tiles.tiles-2 .gfield_checkbox,
  .gform_wrapper.gravity-theme .gf-tiles .gfield_checkbox,
  .gform_wrapper.gravity-theme .gf-tiles.tiles-2 .gfield_checkbox { grid-template-columns: 1fr !important; }

  .gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline,
  .gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline {
    min-height: 0 !important;
    padding: 1rem 1rem 1rem 3.1rem !important;
  }

  .gform_wrapper.gform-theme .gf-tiles .gform-field-label--type-inline:has(> .tile-icon),
  .gform_wrapper.gravity-theme .gf-tiles .gform-field-label--type-inline:has(> .tile-icon) {
    height: 9.5rem !important;
    min-height: 9.5rem !important;
    padding: 1rem 1rem 1.05rem !important;
  }

  .gform_wrapper.gform-theme .gform_page_footer,
  .gform_wrapper.gform-theme .gform_footer,
  .gform_wrapper.gravity-theme .gform_page_footer,
  .gform_wrapper.gravity-theme .gform_footer { flex-direction: column !important; }

  .gform_wrapper.gform-theme .gform_button,
  .gform_wrapper.gform-theme .gform_next_button,
  .gform_wrapper.gform-theme .gform_previous_button,
  .gform_wrapper.gravity-theme .gform_button,
  .gform_wrapper.gravity-theme .gform_next_button,
  .gform_wrapper.gravity-theme .gform_previous_button { width: 100% !important; }
}
