/* Get Started / Contact Us / Thank You pages */
.hero.form-hero .bg::after { background: linear-gradient(to right, rgba(0,0,0,.28), rgba(0,0,0,.02)); }
.hero.form-hero .content { max-width: 555px; }
.hero.form-hero p { margin-bottom: 0; }
.form-module .radios-error, .form-module .validation-summary-errors { padding-left: 40px; padding-right: 40px; }
.form-module .validation-summary-errors.validation-summary-valid { display: none; }
.form-module .submit { flex-direction: column; align-items: center; gap: 16px; }
.form-module .submit .cancel { display: none; }
.form-module .field-error:empty { display: none; }

/* thank-you */
.thanks .container { display: flex; gap: 40px; align-items: flex-start; }
.thanks .pic { flex: 1 0 0; position: relative; padding-top: 20px; min-width: 0; }
.thanks .pic img { width: 100%; height: auto; }
.thanks .pic .caption { position: absolute; left: calc(-1 * var(--pad) - 3px); bottom: 40px; width: 425px; max-width: calc(100% + var(--pad)); padding: 10px 40px; background: rgba(0,0,0,.6); border-radius: 0 var(--radius-s) var(--radius-s) 0; color: var(--white); font-size: 14px; font-weight: 500; }
.thanks .content { flex: 1 0 0; padding: var(--pad) 0; min-width: 0; }
.thanks .content h2 { margin-bottom: 20px; }
.thanks .content p { font-size: var(--t-md); margin-bottom: 20px; }
.thanks .content a { text-decoration: underline; text-underline-position: from-font; }

@media (max-width: 991px) {
    .thanks .container { flex-direction: column; gap: 0; }
    .thanks .pic { width: 100%; flex: none; }
    .thanks .content { width: 100%; flex: none; }
}
@media (max-width: 768px) {
    .hero.form-hero > .container { padding: 32px 20px 24px; }
    .hero.form-hero p { margin-bottom: 0; }
    .form-module .submit .cancel { display: inline; }
    .form-module .submit .btn { width: 100%; }
    .form-module .radios { flex-direction: column; gap: 12px; }
    .form-module .radios-error, .form-module .validation-summary-errors { padding-left: 0; padding-right: 0; }
    .thanks .container { padding: 0; }
    .thanks .pic { padding-top: 0; background: linear-gradient(180deg, var(--acqua-50), var(--white) 70%); }
    .thanks .pic img { width: 100%; }
    .thanks .pic .caption { position: static; width: 100%; max-width: none; border-radius: 0; text-align: center; padding: 10px 20px; }
    .thanks .content { padding: var(--sec-s) var(--pad) var(--sec-l); }
}

/* state/province field hidden for countries without one; keeps its slot so City does not stretch */
.form-module .field.invisible { visibility: hidden; }
@media (max-width: 991px) { .form-module .field.invisible { display: none; } } /* fields stack on tablet/mobile, so drop the empty slot */
