/*
 * /hope/ only, loaded between custom.css and forms.css as on the live page:
 * 1. Gravity Forms "gravity-theme" CSS (basic.min.css + theme.min.css), reduced to the
 *    rules that can match the HOPE form (and the footer newsletter on that page).
 *    The form-icon font is not shipped, so .gform-icon rules are left out.
 * 2. The page's own inline <style> (hope-page.css), verbatim.
 */

/* ---- from gravityforms/assets/css/dist/basic.min.css ---- */
.gform_wrapper.gravity-theme .gform_validation_container,body .gform_wrapper.gravity-theme .gform_body .gform_fields .gfield.gform_validation_container,body .gform_wrapper.gravity-theme .gform_fields .gfield.gform_validation_container,body .gform_wrapper.gravity-theme .gform_validation_container{display:none!important;left:-9000px;position:absolute!important}
@media only screen and (max-width:641px){.gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]){line-height:2;min-height:32px}.gform_wrapper.gravity-theme textarea{line-height:1.5}}
.gform_wrapper.gravity-theme ::-ms-reveal{display:none}
.gform_wrapper.gravity-theme .gf_hidden,.gform_wrapper.gravity-theme .gform_hidden{display:none}
.gform_wrapper.gravity-theme .gfield textarea{width:100%}
.gform_wrapper.gravity-theme .gfield textarea.medium{height:192px}
.gform_wrapper.gravity-theme .gfield input,.gform_wrapper.gravity-theme .gfield select{max-width:100%}
.gform_wrapper.gravity-theme .gfield input.large,.gform_wrapper.gravity-theme .gfield select.large{width:100%}
.gform_wrapper.gravity-theme *{box-sizing:border-box}
.gform_wrapper.gravity-theme .gform_fields{display:grid;grid-column-gap:2%;-ms-grid-columns:(1fr 2%)[12];grid-row-gap:16px;grid-template-columns:repeat(12,1fr);width:100%}
.gform_wrapper.gravity-theme .gfield{grid-column:1/-1;min-width:0}
.gform_wrapper.gravity-theme .gfield.gfield--width-full{grid-column:span 12;-ms-grid-column-span:12}
@media (max-width:640px){.gform_wrapper.gravity-theme .gform_fields{grid-column-gap:0}.gform_wrapper.gravity-theme .gfield:not(.gfield--width-full){grid-column:1/-1}}
.gform_wrapper.gravity-theme .ginput_counter{color:#767676;font-size:.8em}

/* ---- from gravityforms/assets/css/dist/theme.min.css ---- */
.gform_wrapper.gravity-theme .gfield_label{display:block;font-size:16px;font-weight:700;margin-bottom:8px;padding:0}
.gform_wrapper.gravity-theme .gform-field-label .gform-field-label__text{display:inline;padding-inline-end:0.125em}
.gform_wrapper.gravity-theme .gform-field-label>.gfield_required{display:inline}
.gform_wrapper.gravity-theme .left_label .gform-field-label>.gfield_required:where([\:has\(.gfield_required_long\)]),.gform_wrapper.gravity-theme .right_label .gform-field-label>.gfield_required:where([\:has\(.gfield_required_long\)]){display:block}
@media (max-width:640px){.gform_wrapper.gravity-theme .left_label .gform-field-label>.gfield_required:where([\:has\(.gfield_required_long\)]),.gform_wrapper.gravity-theme .right_label .gform-field-label>.gfield_required:where([\:has\(.gfield_required_long\)]){display:inline}}
.gform_wrapper.gravity-theme .gform_validation_errors{background:#fff9f9;border-radius:5px;border:1.5px solid #c02b0a;box-shadow:0 1px 4px rgba(0,0,0,.11),0 0 4px rgba(18,25,97,.0405344);margin-block-end:8px;margin-block-start:8px;padding-block:16px;padding-inline-end:16px;padding-inline-start:48px;position:relative;width:100%}
.gform_wrapper.gravity-theme .gform_validation_errors:focus{outline:2px solid #c02b0a;outline-offset:2px}
.gform_wrapper.gravity-theme .gform_validation_errors>h2{color:#c02b0a;font-size:13.2px;font-weight:500;line-height:17.6px;margin-block-end:12px;margin-block-start:0;margin-inline:0}
.gform_wrapper.gravity-theme .gform_validation_errors>h2::before{display:none}
.gform_wrapper.gravity-theme .gform_validation_errors>h2.hide_summary{margin:0;padding:0}
.gform_wrapper.gravity-theme .gfield_required{color:#c02b0a;display:inline;font-size:13.008px}
.gform_wrapper.gravity-theme .gfield_required .gfield_required_custom,.gform_wrapper.gravity-theme .gfield_required .gfield_required_text{font-style:italic;font-weight:400}
.gform_wrapper.gravity-theme .validation_error{border-block-end:2px solid #c02b0a;border-block-start:2px solid #c02b0a;color:#c02b0a;font-size:1em;font-weight:700;margin-block-end:32px;padding:16px;text-align:center}
.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_item>.gfield label,.gform_wrapper.gravity-theme .gfield_error label,.gform_wrapper.gravity-theme .gfield_error legend,.gform_wrapper.gravity-theme .gfield_validation_message,.gform_wrapper.gravity-theme .validation_message,.gform_wrapper.gravity-theme [aria-invalid=true]+label,.gform_wrapper.gravity-theme label+[aria-invalid=true]{color:#c02b0a}
.gform_wrapper.gravity-theme .gfield_validation_message,.gform_wrapper.gravity-theme .validation_message{background:#fff9f9;border:1px solid #c02b0a;font-size:14.992px;margin-block-start:8px;padding:12.992px 24px}
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]{border:1px solid #c02b0a}
.gform_wrapper.gravity-theme button.button:disabled{opacity:.6}
.gform_wrapper.gravity-theme #field_submit,.gform_wrapper.gravity-theme .gfield--type-submit,.gform_wrapper.gravity-theme .gform_footer{display:flex}
.gform_wrapper.gravity-theme #field_submit button,.gform_wrapper.gravity-theme .gfield--type-submit button,.gform_wrapper.gravity-theme .gform_footer button{align-self:flex-end;position:relative}
.gform_wrapper.gravity-theme .description,.gform_wrapper.gravity-theme .gfield_description,.gform_wrapper.gravity-theme .gsection_description,.gform_wrapper.gravity-theme .instruction{font-family:inherit;font-size:15px;letter-spacing:normal;line-height:inherit;padding-top:13px;width:100%}
.gform_wrapper.gravity-theme .field_description_above .description,.gform_wrapper.gravity-theme .field_description_above .gfield_description,.gform_wrapper.gravity-theme .field_description_above .gsection_description,.gform_wrapper.gravity-theme .field_description_above .instruction{padding-bottom:16px}
.gform_wrapper.gravity-theme .field_sublabel_above .description,.gform_wrapper.gravity-theme .field_sublabel_above .gfield_description,.gform_wrapper.gravity-theme .field_sublabel_above .gsection_description{margin-top:9.008px}
.gform_wrapper.gravity-theme .gform_footer,.gform_wrapper.gravity-theme .gform_page_footer{margin:6px 0 0;padding:16px 0}
.gform_wrapper.gravity-theme .gform_footer button,.gform_wrapper.gravity-theme .gform_footer input,.gform_wrapper.gravity-theme .gform_page_footer button,.gform_wrapper.gravity-theme .gform_page_footer input{margin-bottom:8px}
.gform_wrapper.gravity-theme .gform_footer button.button:disabled,.gform_wrapper.gravity-theme .gform_footer input.button:disabled,.gform_wrapper.gravity-theme .gform_page_footer button.button:disabled,.gform_wrapper.gravity-theme .gform_page_footer input.button:disabled{opacity:.6}
.gform_wrapper.gravity-theme .gform_footer button+button,.gform_wrapper.gravity-theme .gform_footer button+input,.gform_wrapper.gravity-theme .gform_footer input+button,.gform_wrapper.gravity-theme .gform_footer input+input,.gform_wrapper.gravity-theme .gform_page_footer button+button,.gform_wrapper.gravity-theme .gform_page_footer button+input,.gform_wrapper.gravity-theme .gform_page_footer input+button,.gform_wrapper.gravity-theme .gform_page_footer input+input{margin-inline-start:8px}
.gform_wrapper.gravity-theme input[type=color],.gform_wrapper.gravity-theme input[type=date],.gform_wrapper.gravity-theme input[type=datetime-local],.gform_wrapper.gravity-theme input[type=datetime],.gform_wrapper.gravity-theme input[type=email],.gform_wrapper.gravity-theme input[type=month],.gform_wrapper.gravity-theme input[type=number],.gform_wrapper.gravity-theme input[type=password],.gform_wrapper.gravity-theme input[type=search],.gform_wrapper.gravity-theme input[type=tel],.gform_wrapper.gravity-theme input[type=text],.gform_wrapper.gravity-theme input[type=time],.gform_wrapper.gravity-theme input[type=url],.gform_wrapper.gravity-theme input[type=week],.gform_wrapper.gravity-theme select,.gform_wrapper.gravity-theme textarea{font-size:15px;margin-bottom:0;margin-top:0;padding:8px}
.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where([\:has\(.gfield-choice-input\:disabled\)]) .gfield-choice-image-wrapper{opacity:.5}
.gform_wrapper.gravity-theme .gform-loader{align-self:center;animation:gformLoader 1.1s infinite linear;block-size:8em;border-block-end:1.1em solid #000;border-block-start:1.1em solid #fff;border-inline-end:1.1em solid #fff;border-inline-start:1.1em solid #000;border-radius:50%;display:inline-block;font-size:2px;inline-size:8em;inset:0;margin:auto;position:absolute;transform:translateZ(0);vertical-align:middle}
@keyframes gformLoader{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

/* ---- hope-page (inline <style> on /hope/) ---- */
/* ═══════════════════════════════════════════════════
   SHARED VARIABLES & RESETS
   ═══════════════════════════════════════════════════ */
.hope-page {
  --navy-900: #0a1628;
  --navy-800: #0f2040;
  --navy-700: #152a4a;
  --navy-600: #1b3a5c;
  --accent-gold: #D4A843;
  --accent-gold-light: #E8C36A;
  --hw: #ffffff;
  --hw-95: rgba(255,255,255,0.95);
  --hw-90: rgba(255,255,255,0.9);
  --hw-70: rgba(255,255,255,0.7);
  --hw-50: rgba(255,255,255,0.5);
  --hw-30: rgba(255,255,255,0.3);
  --hw-20: rgba(255,255,255,0.2);
  --hw-10: rgba(255,255,255,0.1);
  --hw-05: rgba(255,255,255,0.05);
  --glow-gold: rgba(212,168,67,0.3);
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
  color: var(--hw);
}
.hope-page *, .hope-page *::before, .hope-page *::after {
  margin: 0; padding: 0; box-sizing: border-box;
}


/* ═══════════════════════════════════════════════════
   1. HERO BANNER
   ═══════════════════════════════════════════════════ */
.hope-hero {
  position: relative;
  background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 50%, var(--navy-800) 100%);
  padding: 100px 40px 90px;
  text-align: center;
  overflow: hidden;
}
.hope-hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 600px 400px at 20% 50%, rgba(212,168,67,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 500px 350px at 80% 30%, rgba(232,195,106,0.04) 0%, transparent 70%);
  pointer-events: none;
}
.hope-hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--hw-05) 1px, transparent 1px),
    linear-gradient(90deg, var(--hw-05) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.2;
  pointer-events: none;
}
.hope-hero__inner {
  position: relative; z-index: 2;
  max-width: 860px; margin: 0 auto;
}
.hope-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--hw-10); border: 1px solid var(--hw-20);
  border-radius: 100px; padding: 8px 20px;
  font-size: 14px; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 28px; backdrop-filter: blur(8px);
  opacity: 0; animation: hope-fadeUp 0.8s 0.2s ease forwards;
}
.hope-hero__badge .hope-dot {
  width: 6px; height: 6px; background: var(--accent-gold);
  border-radius: 50%; animation: hope-pulse 2s infinite;
}
@keyframes hope-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.6); }
}
.hope-hero__title {
  font-family: inherit;
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 600; line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--hw-95);
  margin-bottom: 0;
  opacity: 0; animation: hope-fadeUp 0.8s 0.35s ease forwards;
}
.hope-hero__title em {
  font-style: italic; color: var(--accent-gold);
}


/* ═══════════════════════════════════════════════════
   2. PROCESS BLOCK
   ═══════════════════════════════════════════════════ */
.hope-block {
  position: relative;
  background: linear-gradient(170deg, var(--navy-900) 0%, var(--navy-800) 100%);
  padding: 80px 40px 90px;
  overflow: hidden;
}
.hope-block::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--hw-05) 1px, transparent 1px),
    linear-gradient(90deg, var(--hw-05) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.25; pointer-events: none;
}
.hope-block::after {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 500px 350px at 15% 40%, rgba(212,168,67,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 400px 300px at 85% 60%, rgba(232,195,106,0.04) 0%, transparent 70%);
  pointer-events: none;
}
.hope-divider-top {
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--hw-20), transparent);
}

.hope-block__inner {
  position: relative; z-index: 2;
  max-width: 1100px; margin: 0 auto;
}
.hope-block__header { text-align: center; margin-bottom: 16px; }

.hope-block__label {
  font-size: 14px; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 12px; opacity: 0;
}
.hope-block__title {
  font-family: inherit;
  font-size: clamp(31px, 4vw, 46px); font-weight: 500;
  color: var(--hw-90); opacity: 0;
}

/* Shipping subtitle */
.hope-block__shipping {
  text-align: center;
  margin-bottom: 60px;
}
.hope-block__shipping-text {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 23px; font-weight: 500; color: var(--accent-gold);
  letter-spacing: 0.3px;
  opacity: 0;
}
.hope-block__shipping-text .hope-ship-icon {
  width: 20px; height: 20px; fill: none;
  stroke: var(--accent-gold); stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}

/* Steps row */
.hope-steps {
  display: flex; align-items: flex-start; justify-content: center;
}

/* Step */
.hope-step {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; flex: 0 0 230px; opacity: 0;
}
.hope-step__circle-wrap {
  position: relative; width: 130px; height: 130px; margin-bottom: 26px;
}
.hope-step__ring {
  position: absolute; inset: 0; border-radius: 50%;
  border: 1.5px solid var(--hw-30); transition: border-color 0.5s ease;
}
.hope-step:hover .hope-step__ring { border-color: var(--accent-gold); }

.hope-step__icon {
  position: absolute; inset: 8px;
  background: linear-gradient(145deg, #f0f0f0, #ffffff);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15), inset 0 -2px 6px rgba(0,0,0,0.04);
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s ease, background 0.4s ease;
}
.hope-step:hover .hope-step__icon {
  transform: translateY(-6px);
  background: linear-gradient(145deg, var(--accent-gold-light), var(--accent-gold));
  box-shadow: 0 16px 48px rgba(0,0,0,0.2), 0 0 40px var(--glow-gold);
}
.hope-step__icon svg {
  width: 46px; height: 46px; fill: none;
  stroke: var(--navy-900); stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
  transition: stroke 0.4s ease;
}
.hope-step:hover .hope-step__icon svg { stroke: var(--navy-900); }

.hope-step__num {
  font-size: 13px; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 8px; opacity: 0.8;
}
.hope-step__name {
  font-family: inherit; font-size: 24px;
  font-weight: 500; color: var(--hw-90); margin-bottom: 10px;
}
.hope-step__desc {
  font-size: 20px; line-height: 1.6; color: rgba(255,255,255,0.85); max-width: 230px;
}

/* Connectors */
.hope-conn {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 80px; height: 130px; opacity: 0;
}
.hope-conn__track { position: relative; width: 60px; height: 2px; }
.hope-conn__bg { position: absolute; inset: 0; background: var(--hw-20); border-radius: 1px; }
.hope-conn__fill {
  position: absolute; top: 0; left: 0; height: 100%; width: 0;
  background: linear-gradient(90deg, var(--accent-gold), var(--accent-gold-light));
  border-radius: 1px; transition: width 0.7s ease;
}
.hope-conn__fill.--active { width: 100%; }
.hope-conn__arrow {
  position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
  border: 5px solid transparent; border-left: 8px solid var(--hw-20);
  transition: border-left-color 0.7s ease;
}
.hope-conn__fill.--active ~ .hope-conn__arrow { border-left-color: var(--accent-gold-light); }
.hope-conn__dot {
  position: absolute; top: 50%; left: -4px; width: 8px; height: 8px;
  background: var(--accent-gold); border-radius: 50%;
  transform: translateY(-50%); opacity: 0;
  box-shadow: 0 0 12px var(--accent-gold);
}
.hope-conn__dot.--active { animation: hope-travel 2.5s 0.4s ease-in-out infinite; }

@keyframes hope-travel {
  0%   { left: -4px; opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { left: calc(100% - 4px); opacity: 0; }
}
@keyframes hope-fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
.--fade-in { animation: hope-fadeUp 0.7s ease forwards; }


/* ═══════════════════════════════════════════════════
   3. GRAVITY FORM SECTION
   ═══════════════════════════════════════════════════ */
.hope-form-section {
  position: relative;
  background: linear-gradient(175deg, var(--navy-800) 0%, var(--navy-900) 100%);
  padding: 90px 40px 100px;
  overflow: hidden;
}
.hope-form-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--hw-20), transparent);
}
.hope-form-section__inner {
  max-width: 700px; margin: 0 auto;
  position: relative; z-index: 2;
}
.hope-form-section__header { text-align: center; margin-bottom: 48px; }
.hope-form-section__label {
  font-size: 14px; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 14px;
}
.hope-form-section__title {
  font-family: inherit;
  font-size: clamp(29px, 3.5vw, 41px); font-weight: 500;
  color: var(--hw-90); margin-bottom: 16px;
}
.hope-form-section__subtitle {
  font-size: 22px; line-height: 1.6; color: var(--hw-50);
}
.hope-form-section__subtitle a {
  color: var(--accent-gold); text-decoration: none;
  border-bottom: 1px solid rgba(212,168,67,0.3);
  transition: border-color 0.3s ease;
}
.hope-form-section__subtitle a:hover { border-color: var(--accent-gold); }

.hope-form-section__card {
  background: var(--hw-05);
  border: 1px solid var(--hw-10);
  border-radius: 16px; padding: 48px 44px;
  backdrop-filter: blur(8px);
}

/* GF Overrides */
.hope-form-section .gform_wrapper .gfield_label,
.hope-form-section .gform_wrapper .gfield_label span {
  font-family: inherit !important;
  font-size: 18px !important; font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: var(--hw-70) !important; margin-bottom: 8px !important;
}
.hope-form-section .gform_wrapper .gfield_required { color: var(--accent-gold) !important; }

.hope-form-section .gform_wrapper input[type="text"],
.hope-form-section .gform_wrapper input[type="email"],
.hope-form-section .gform_wrapper input[type="tel"],
.hope-form-section .gform_wrapper input[type="url"],
.hope-form-section .gform_wrapper input[type="number"],
.hope-form-section .gform_wrapper textarea,
.hope-form-section .gform_wrapper select {
  font-family: inherit !important;
  font-size: 20px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid var(--hw-20) !important;
  border-radius: 8px !important; color: #fff !important;
  padding: 12px 16px !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  width: 100% !important;
}
.hope-form-section .gform_wrapper input:focus,
.hope-form-section .gform_wrapper textarea:focus,
.hope-form-section .gform_wrapper select:focus {
  outline: none !important;
  border-color: var(--accent-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,0.15) !important;
}
.hope-form-section .gform_wrapper input::placeholder,
.hope-form-section .gform_wrapper textarea::placeholder {
  color: var(--hw-30) !important;
}
.hope-form-section .gform_wrapper .gfield_checkbox label,
.hope-form-section .gform_wrapper .gfield_radio label {
  color: var(--hw-70) !important; font-family: inherit !important;
}
.hope-form-section .gform_wrapper .gfield_description,
.hope-form-section .gform_wrapper .ginput_container label {
  color: rgba(255,255,255,0.4) !important; font-size: 12px !important;
}
.hope-form-section .gform_wrapper .validation_message {
  color: #f87171 !important; font-size: 12px !important;
}
.hope-form-section .gform_wrapper input[type="submit"],
.hope-form-section .gform_wrapper button[type="submit"],
.hope-form-section .gform_wrapper .gform_button {
  font-family: inherit !important;
  font-size: 20px !important; font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light)) !important;
  color: var(--navy-900) !important; border: none !important;
  border-radius: 8px !important; padding: 14px 40px !important;
  cursor: pointer !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 20px rgba(212,168,67,0.25) !important;
  width: auto !important; display: inline-block !important;
}
.hope-form-section .gform_wrapper input[type="submit"]:hover,
.hope-form-section .gform_wrapper button[type="submit"]:hover,
.hope-form-section .gform_wrapper .gform_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(212,168,67,0.35) !important;
}
.hope-form-section .gform_wrapper input[type="submit"]:active,
.hope-form-section .gform_wrapper button[type="submit"]:active,
.hope-form-section .gform_wrapper .gform_button:active {
  transform: translateY(0) !important;
}
.hope-form-section .gform_wrapper .gform_footer,
.hope-form-section .gform_wrapper .gform_page_footer {
  text-align: center !important; padding-top: 12px !important; border: none !important;
}

/* Submit button loading spinner state */
.hope-form-section .gform_wrapper .gform_button.gform-button--is-loading,
.hope-form-section .gform_wrapper input[type="submit"].gform-button--is-loading {
  pointer-events: none !important;
  opacity: 0.7 !important;
}

/* Custom loading animation on the button */
@keyframes hope-btn-pulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(212,168,67,0.25); }
  50% { box-shadow: 0 4px 30px rgba(212,168,67,0.5); }
}

/* Hide the default GF spinner */
.hope-form-section .gform_ajax_spinner {
  display: none !important;
}

/* ── Success popup overlay ── */
.hope-popup-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(10,22,40,0.75);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.hope-popup-overlay.--visible {
  opacity: 1;
  pointer-events: all;
}

.hope-popup {
  background: linear-gradient(160deg, #152a4a, #0f2040);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 20px;
  padding: 48px 44px 40px;
  max-width: 440px; width: 90%;
  text-align: center;
  transform: translateY(20px) scale(0.95);
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow: 0 24px 80px rgba(0,0,0,0.4);
}
.hope-popup-overlay.--visible .hope-popup {
  transform: translateY(0) scale(1);
}


.hope-popup__title {
  font-size: 26px; font-weight: 600;
  color: rgba(255,255,255,0.95);
  margin-bottom: 10px;
}
.hope-popup__message {
  font-size: 22px; line-height: 1.6;
  color: rgba(255,255,255,0.6);
  margin-bottom: 28px;
}
.hope-popup__close {
  display: inline-block;
  font-family: inherit; font-size: 16px; font-weight: 600;
  letter-spacing: 0.5px;
  background: #ffffff;
  color: var(--navy-900); border: none;
  border-radius: 8px; padding: 14px 40px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  box-shadow: 0 4px 16px rgba(255,255,255,0.15);
}
.hope-popup__close:hover {
  transform: translateY(-2px);
  background: #f0f0f0;
  box-shadow: 0 8px 24px rgba(255,255,255,0.2);
}

/* Also style the inline GF confirmation if it renders */
.hope-form-section .gform_confirmation_message {
  font-family: inherit !important;
  font-size: 24px !important;
  line-height: 1.6 !important;
  color: var(--hw-90) !important;
  text-align: center !important;
  padding: 40px 24px !important;
}
.hope-form-section .gform_wrapper .gform_heading { display: none !important; }
.hope-form-section .gform_wrapper .gfield { margin-bottom: 20px !important; }
.hope-form-section .gform_wrapper .gsection {
  border-bottom: 1px solid var(--hw-10) !important;
  margin: 28px 0 20px !important; padding-bottom: 8px !important;
}
.hope-form-section .gform_wrapper .gsection_title {
  font-family: inherit !important;
  color: var(--hw-90) !important; font-size: 22px !important;
}


/* ═══════════════════════════════════════════════════
   4. CLINICAL USE CASES SECTION
   ═══════════════════════════════════════════════════ */
.hope-usecases {
  position: relative;
  background: var(--navy-900);
  padding: 90px 40px 80px;
  overflow: hidden;
}
.hope-usecases::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--hw-20), transparent);
}
.hope-usecases__inner {
  max-width: 920px; margin: 0 auto;
  position: relative; z-index: 2;
}
.hope-usecases__header { text-align: center; margin-bottom: 56px; }
.hope-usecases__label {
  font-size: 14px; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 14px;
}
.hope-usecases__title {
  font-family: inherit;
  font-size: clamp(29px, 3.5vw, 41px); font-weight: 500;
  color: var(--hw-90);
}

.hope-usecases__grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.hope-usecase {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--hw-10);
  transition: background 0.3s ease;
}
.hope-usecase:first-child {
  border-top: 1px solid var(--hw-10);
}
.hope-usecase:hover {
  background: var(--hw-05);
}
.hope-usecase__icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(212,168,67,0.2);
}
.hope-usecase__icon svg {
  width: 20px; height: 20px; fill: none;
  stroke: var(--navy-900); stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}
.hope-usecase__text {
  flex: 1; min-width: 0;
}
.hope-usecase__name {
  font-family: inherit;
  font-size: 23px; font-weight: 600;
  color: var(--hw-95); margin-bottom: 4px;
}
.hope-usecase__desc {
  font-size: 19px; line-height: 1.55; color: rgba(255,255,255,0.7);
}


/* ═══════════════════════════════════════════════════
   5. RESOURCES SECTION
   ═══════════════════════════════════════════════════ */
.hope-resources {
  position: relative;
  background: linear-gradient(175deg, var(--navy-800) 0%, var(--navy-900) 100%);
  padding: 70px 40px 90px;
  overflow: hidden;
}
.hope-resources::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--hw-10), transparent);
}
.hope-resources__inner {
  max-width: 800px; margin: 0 auto;
  position: relative; z-index: 2;
}
.hope-resources__header { text-align: center; margin-bottom: 40px; }
.hope-resources__label {
  font-size: 14px; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; color: var(--accent-gold);
  margin-bottom: 14px;
}
.hope-resources__title {
  font-family: inherit;
  font-size: clamp(26px, 3vw, 36px); font-weight: 500;
  color: var(--hw-90);
}
.hope-resources__list { list-style: none; }
.hope-resources__item {
  padding: 20px 0;
  border-bottom: 1px solid var(--hw-10);
}
.hope-resources__item:last-child { border-bottom: none; }
.hope-resources__item a {
  display: flex; align-items: flex-start; gap: 14px;
  text-decoration: none; color: var(--hw-70);
  font-size: 22px; line-height: 1.55;
  transition: color 0.3s ease;
}
.hope-resources__item a:hover { color: var(--hw-95); }
.hope-resources__item .hope-res-arrow {
  flex-shrink: 0; margin-top: 3px;
  width: 18px; height: 18px; fill: none;
  stroke: var(--accent-gold); stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
  transition: transform 0.3s ease;
}
.hope-resources__item a:hover .hope-res-arrow { transform: translateX(4px); }
.hope-resources__item-label {
  font-size: 15px; font-weight: 600; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--accent-gold);
  display: block; margin-bottom: 4px;
}


/* ═══════════════════════════════════════════════════
   6. PAGE CONTENT (WP editor fallback)
   ═══════════════════════════════════════════════════ */
.hope-page-content {
  background: var(--navy-900);
  padding: 40px;
}
.hope-page-content:empty { display: none; }


/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 760px) {
  .hope-hero { padding: 70px 24px 60px; }
  .hope-block { padding: 60px 24px 70px; }
  .hope-steps { flex-direction: column; align-items: center; }
  .hope-step { flex: 0 0 auto; }
  .hope-conn { height: 50px; flex: 0 0 50px; transform: rotate(90deg); }
  .hope-form-section { padding: 60px 20px 70px; }
  .hope-form-section__card { padding: 32px 24px; }
  .hope-usecases { padding: 60px 24px 50px; }
  .hope-resources { padding: 50px 24px 70px; }
}
@media (max-width: 600px) {
  .hope-form-section__card { padding: 28px 20px; }
}


/* D-55 list B (RC-02): from 761px the three steps and their connectors (850px) sit in one
   row, wider than the block below about 930px, so steps 1 and 3 were cut off at both
   edges. There the steps shrink to fit. */
@media (min-width: 761px) and (max-width: 929px) {
  .hope-step { flex: 0 1 230px; min-width: 0; }
}
