:root {
    /* Global */
    --hsf-global__font-family: 'Aeonik Pro';
    /* --hsf-global__font-size: 16px; */
    --hsf-global__color: var(--white);

    /* Row */
    --hsf-row__horizontal-spacing: 20px;
    --hsf-row__vertical-spacing: 25px;
    --hsf-module__vertical-spacing: 0px;

    /* Background */
    --hsf-background__padding: 0px;

    /* Field Input */
    --hsf-field-label-requiredindicator__color: var(--white);
    --hsf-field-input__color: var(--white);
    --hsf-field-input__background-color: transparent;
    --hsf-field-input__border-color: var(--white-20);

    /* Error Alert */
    --hsf-erroralert__color: var(--red);

    /* Info Alert */
    --hsf-infoalert__font-size: 16px;
    --hsf-infoalert__color: var(--white);
}

.contact-form {
    position: relative;
    display: flex;
    min-height: 800px;
    margin: 100px 0px 0px;
    margin-inline: calc((100% - 100vw) / 2);
    padding: 90px 0;
    color: var(--white);
    background: radial-gradient(32% 103% at 19% 69%, #125C7C 0%, var(--blue-dark) 100%);
    overflow: hidden;
}

.contact-form .container {
    width: 100%;
}

.contact-form .contact-form__wrapper {
    position: relative;
    display: grid;
    grid-template-areas:
        'person header'
        'person body';
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: max-content 1fr;
    gap: 30px 40px;
    height: 100%;
}

/* Contact Form - Person */

.contact-form .contact-form__person {
    grid-area: person;
}

.contact-form .contact-form__person-image {
    position: absolute;
    bottom: -90px;
    left: -40px;
    display: flex;
    width: calc(50% + 20px);
    height: calc(100% + 180px);
}

.contact-form .contact-form__person-image img {
    margin-top: auto;
    width: 100%;
    object-fit: contain;
    object-position: bottom;
}

.contact-form .contact-form__person-info {
    position: absolute;
    left: 31%;
    bottom: 145px;
    display: flex;
    flex-direction: column;
    max-width: calc(18% - 20px);
}

.contact-form .contact-form__person-positions {
    color: var(--blue-light);
}

/* Contact Form - Header */

.contact-form .contact-form__header {
    grid-area: header;
}

.contact-form .contact-form__description {
    margin-top: 30px;
    color: var(--blue-light);
}

.contact-form .contact-form__description a {
    color: var(--white);
}

/* Contact Form - Body */

.contact-form .contact-form__body {
    grid-area: body;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] {
    position: relative;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] label {
    position: absolute;
    top: 22px;
    left: 0px;
    transition: var(--transition);
    pointer-events: none;
    z-index: 1;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] label .hsfc-FieldLabel__RequiredIndicator {
    margin-left: 4px;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input {
    height: 52px;
    padding-top: 18px;
    border-bottom-width: 1px;
    outline: none !important;
    background-color: transparent !important;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:not(:-webkit-autofill) {
    box-shadow: none !important;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input::placeholder {
    color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:disabled {
    color: var(--white-20);
    border-bottom-color: var(--white-20);
}

/**
 * Safari/iOS autofill paints yellow and often ignores background-color /
 * CSS variables in box-shadow. Force a solid cover via keyframes + hex inset.
 */
@keyframes contact-form-autofill-bg {
    from {
        -webkit-text-fill-color: #ffffff;
        caret-color: #ffffff;
        color: #ffffff;
        background-color: #082C5A;
        background-image: none;
        -webkit-box-shadow: inset 0 0 0 1000px #082C5A;
        box-shadow: inset 0 0 0 1000px #082C5A;
    }
    to {
        -webkit-text-fill-color: #ffffff;
        caret-color: #ffffff;
        color: #ffffff;
        background-color: #082C5A;
        background-image: none;
        -webkit-box-shadow: inset 0 0 0 1000px #082C5A;
        box-shadow: inset 0 0 0 1000px #082C5A;
    }
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:-webkit-autofill,
.contact-form .contact-form__body [data-hsfc-id$='Field'] input:-webkit-autofill:hover,
.contact-form .contact-form__body [data-hsfc-id$='Field'] input:-webkit-autofill:focus,
.contact-form .contact-form__body [data-hsfc-id$='Field'] input:-webkit-autofill:active,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:-webkit-autofill,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:-webkit-autofill:hover,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:-webkit-autofill:focus,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:-webkit-autofill:active,
.contact-form .contact-form__body [data-hsfc-id$='Field'] input:autofill,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:autofill {
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
    color: #ffffff !important;
    border-bottom-color: rgba(255, 255, 255, 0.2) !important;
    background-color: #082C5A !important;
    background-image: linear-gradient(#082C5A, #082C5A) !important;
    -webkit-box-shadow: inset 0 0 0 1000px #082C5A !important;
    box-shadow: inset 0 0 0 1000px #082C5A !important;
    animation: contact-form-autofill-bg 0.001s forwards;
    transition: background-color 99999s ease-out 0s !important;
}

/* Textarea Field */
.contact-form .contact-form__body [data-hsfc-id='TextareaField'] {
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField'] textarea {
    display: flex;
    height: 52px;
    min-height: 52px;
    max-height: 130px;
    padding: 25px 7px 5px 0px;
    border-bottom-width: 1px;
    transition: height 0s ease, width .3s ease, border-color .3s ease;
    outline: none !important;
    background-color: transparent !important;
    resize: none;
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField'] textarea:not(:-webkit-autofill) {
    box-shadow: none !important;
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField'] textarea::-webkit-scrollbar {
    width: 4px;
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField'] textarea::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--blue-light);
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField'] textarea::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: var(--blue);
}

.contact-form .contact-form__body [data-hsfc-id='TextareaField']:has(.button-attach-files) textarea {
    width: calc(100% - 160px);
}

/* Phone Field */
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] label {
    top: 0;
    font-size: 14px;
    color: var(--blue-light);
    --hsf-field-label-requiredindicator__color: var(--blue-light);
}

.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret {
    flex-shrink: 0;
    margin-top: 18px;
    padding-right: 8px;
    border-right: none;
    border-bottom-width: 1px;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret__Caret {
    border: none;
    width: 12px;
    height: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M0 2.07031L5.9043 7.62305L5.99707 7.7168L6 7.71387L6.00293 7.7168L6.09668 7.62305L12 2.07031L12 0L6 5.40723L0 0L0 2.07031Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Dropdown Options */
.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions {
    min-height: 100% !important;
    background-color: var(--blue-80);
    backdrop-filter: blur(5px);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions input[role='searchbox'] {
    padding: 0 15px;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List {
    padding: 15px;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List::-webkit-scrollbar {
    width: 4px;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--blue-light);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: var(--blue);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List li {
    display: flex;
    gap: 5px;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List li + li {
    margin-top: 15px;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List li img {
    margin: 4px 0 0 0 !important;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-DropdownOptions__List li:hover {
    filter: brightness(75%);
}

/* File Field */
.contact-form .contact-form__body [data-hsfc-id='Row']:has([data-hsfc-id='FileField']) {
    display: none;
}

.contact-form .contact-form__body [data-hsfc-id='Row']:has([data-hsfc-id='FileField']).active {
    display: grid;
    --hsf-row__vertical-spacing: 45px;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] input {
    display: none;
    opacity: 0;
    visibility: hidden;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file {
    position: relative;
    display: flex;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    background-color: var(--white);
    mask-image: var(--document);
    mask-size: auto;
    mask-position: center;
    mask-repeat: no-repeat;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file-name {
    flex-grow: 1;
    align-self: center;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file.invalid::before {
    background-color: var(--red);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file.invalid .attached-file-name {
    color: var(--red);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file-remove {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-color: var(--blue-light);
    mask-image: var(--delete);
    mask-size: 9px;
    mask-position: center;
    mask-repeat: no-repeat;
    cursor: pointer;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-file-remove:hover {
    background-color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info {
    display: flex;
    align-items: flex-start;
    margin-top: -18px;
    margin-bottom: 18px;
    color: var(--blue-light);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    background-color: var(--blue-light);
    mask-image: var(--info);
    mask-size: auto;
    mask-position: center;
    mask-repeat: no-repeat;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: center;
    min-width: 0;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info span.files-limit {
    display: none;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info span.files-limit.active {
    display: block;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] [data-hsfc-id='InfoAlert'] {
    position: absolute;
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.43em;
    letter-spacing: 0.01em;
}

/* Rejected by our validation — do not show HubSpot upload status. */
.contact-form .contact-form__body [data-hsfc-id='FileField']:has(.attached-files-info.has-error) [data-hsfc-id='InfoAlert'],
.contact-form .contact-form__body [data-hsfc-id='FileField']:has(.attached-files-info.has-error) .hsfc-InfoAlert {
    display: none !important;
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] [data-hsfc-id='ErrorAlert'] {
    margin-top: 10px;
}

.contact-form .contact-form__body .button-attach-files {
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translateX(0);
    opacity: 1;
}

.contact-form .contact-form__body .button-attach-files.button.button-link:not(:hover) {
    color: var(--white);
}

.contact-form .contact-form__body .button-attach-files::before {
    border-color: var(--white-20);
}

.contact-form .contact-form__body .button-attach-files::after {
    content: '';
    position: relative;
    left: initial;
    width: 24px;
    height: 24px;
    background-color: var(--white);
    mask-image: url("data:image/svg+xml,%3Csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Crect%20x='0.5'%20y='0.5'%20width='23'%20height='23'%20rx='11.5'%20stroke='white'/%3E%3Cpath%20d='M11%2011V7L13%207V11L17%2011V13L13%2013V17L11%2017V13L7%2013V11L11%2011Z'%20fill='white'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    transition: var(--transition);
    opacity: 1;
    transform: none;
}

.contact-form .contact-form__body .button-attach-files.hidden {
    opacity: 0;
    transform: translateX(50%);
}

.contact-form .contact-form__body .button-attach-files.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.contact-form .contact-form__body .button-attach-files.is-invalid {
    color: var(--red);
}

.contact-form .contact-form__body .button-attach-files.is-invalid::after {
    background-color: var(--red);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .contact-form__attach-error {
    position: static;
    display: none;
    margin: 0;
    font-size: 14px;
    line-height: 1.43em;
    letter-spacing: 0.01em;
    color: var(--red);
}

.contact-form .contact-form__body [data-hsfc-id='FileField'] .attached-files-info.has-error .contact-form__attach-error {
    display: block;
}

/* Data Privacy Field */
.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] > [data-hsfc-id='Row'] {
    margin-bottom: 0;
}

.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] > [data-hsfc-id='Row']:nth-child(1),
.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] > [data-hsfc-id='Row']:nth-child(3) {
    display: none;
}

.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] label {
    position: relative;
    top: initial;
    left: initial;
    align-items: flex-start;
    gap: 15px;
    pointer-events: all;
    cursor: pointer;
}

.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] label span {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.43em;
    letter-spacing: 0.01em;
    color: var(--blue-light);
    transition: var(--transition);
}

/* Checkbox Field */
.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] label::before {
    content: '';
    position: relative;
    top: 3px;
    display: inline-flex;
    flex-grow: 0;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    border: 1px solid var(--blue-light);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: var(--transition);
}

.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] label:hover::before {
    border-color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] label:has(input[type='checkbox']:checked)::before {
    border-color: var(--white);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3e%3cpath d='M17.2559 4.41107C17.5814 4.73651 17.5814 5.26414 17.2559 5.58958L8.08926 14.7562C7.76382 15.0817 7.23618 15.0817 6.91074 14.7562L2.74408 10.5896C2.41864 10.2641 2.41864 9.73651 2.74408 9.41107C3.06951 9.08563 3.59715 9.08563 3.92259 9.41107L7.5 12.9885L16.0774 4.41107C16.4028 4.08563 16.9305 4.08563 17.2559 4.41107Z' /%3e%3c/svg%3e");
}

.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] input {
    display: none;
}

.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] [data-hsfc-id='ErrorAlert'] {
    margin-top: 4px;
}

/* Form - Hover and focus effects */

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:hover,
.contact-form .contact-form__body [data-hsfc-id$='Field'] input:focus,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:hover,
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea:focus,
.contact-form .contact-form__body [data-hsfc-id$='Field'].filled input,
.contact-form .contact-form__body [data-hsfc-id$='Field'].filled textarea,
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret:hover,
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret:hover + input,
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret:has(+ input:hover),
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret:has(+ input:focus),
.contact-form .contact-form__body [data-hsfc-id='PhoneField'].filled .hsfc-PhoneInput__FlagAndCaret {
    border-bottom-color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:hover::-webkit-input-placeholder {
    color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input:hover:-moz-placeholder {
    color: var(--white);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] label:has(+ input:focus),
.contact-form .contact-form__body [data-hsfc-id$='Field'] label:has(+ textarea:focus),
.contact-form .contact-form__body [data-hsfc-id$='Field'].filled label {
    top: 0;
    font-size: 14px;
    color: var(--blue-light);
    --hsf-field-label-requiredindicator__color: var(--blue-light);
}

.contact-form .contact-form__body [data-hsfc-id='DataPrivacyField'] label:hover span,
.contact-form .contact-form__body [data-hsfc-id='CheckboxField'] label:has(input[type='checkbox']:checked) span {
    color: var(--white);
}

.contact-form .contact-form__body .button-attach-files:hover,
.contact-form .contact-form__body .button-attach-files:focus {
    color: var(--red);
}

.contact-form .contact-form__body .button-attach-files:hover::after,
.contact-form .contact-form__body .button-attach-files:focus::after {
    background-color: var(--red);
}

/* Form - Errors */
.contact-form .contact-form__body [data-hsfc-id$='Field'] .hsfc-ErrorAlert,
.contact-form .contact-form__body [data-hsfc-id$='Field'] .contact-form__field-error {
    position: absolute;
    font-size: 14px;
    line-height: 1.43em;
    letter-spacing: 0.01em;
}

/* One error at a time: hide HubSpot alert while our validation message is shown */
.contact-form .contact-form__body [data-hsfc-id$='Field']:has(.contact-form__field-error) .hsfc-ErrorAlert:not(.contact-form__field-error) {
    display: none !important;
}

.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .contact-form__field-error {
    position: static;
    margin-top: 6px;
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] label:has(+ input[aria-invalid="true"]),
.contact-form .contact-form__body [data-hsfc-id$='Field'] label:has(+ textarea[aria-invalid="true"]) {
    color: var(--red);
    --hsf-field-label-requiredindicator__color: var(--red);
}

.contact-form .contact-form__body [data-hsfc-id$='Field'] input[aria-invalid="true"],
.contact-form .contact-form__body [data-hsfc-id$='Field'] textarea[aria-invalid="true"],
.contact-form .contact-form__body [data-hsfc-id='PhoneField'] .hsfc-PhoneInput__FlagAndCaret:has(+ input[aria-invalid="true"]) {
    border-color: var(--red);
}

/* Form - Button */
.contact-form .contact-form__body .hsfc-NavigationRow {
    margin-top: calc(var(--hsf-row__vertical-spacing) + 15px);
}

.contact-form .contact-form__body .hsfc-NavigationRow__Alerts {
    display: none;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit'] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 100px;
    height: 50px;
    padding: 0 30px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.563em;
    text-decoration: none;
    color: var(--white);
    background-color: transparent;
    border-radius: 100px;
    transition: var(--transition);
    transform: none !important;
    z-index: 1;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--red);
    border-radius: 100px;
    transition: var(--transition);
    z-index: -1;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']::after {
    content: '';
    position: absolute;
    left: 20px;
    width: 8px;
    height: 8px;
    background-color: var(--white);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transform: translateY(6px) rotate(0deg);
    opacity: 0;
    transition: var(--transition);
}

/* Hover */
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:hover::before {
    transform: scale(0.96);
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:hover::after {
    transform: translateY(-9px) rotate(-180deg);
    opacity: 1;
}

/* Focus (active) */
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:focus::before {
    transform: scale(0.92);
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:focus::after {
    transform: translateY(-9px) rotate(180deg);
    opacity: 1;
}

/* Focus (using TAB) */
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:focus-visible::before {
    box-shadow: 0 0 0 2px var(--white), 0 0 12px 0 #FF6AA1;
    transform: none;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:focus-visible::after {
    content: none;
}

/* Disabled */
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:disabled,
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit'].disabled,
.contact-form.is-file-processing .contact-form__body .hsfc-NavigationRow button[type='submit'],
.contact-form .contact-form__body form.is-file-processing .hsfc-NavigationRow button[type='submit'] {
    color: var(--blue-20) !important;
    cursor: default;
    pointer-events: none;
    user-select: none;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:disabled::before,
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit'].disabled::before,
.contact-form.is-file-processing .contact-form__body .hsfc-NavigationRow button[type='submit']::before,
.contact-form .contact-form__body form.is-file-processing .hsfc-NavigationRow button[type='submit']::before {
    background-color: var(--grey) !important;
}

.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit']:disabled::after,
.contact-form .contact-form__body .hsfc-NavigationRow button[type='submit'].disabled::after,
.contact-form.is-file-processing .contact-form__body .hsfc-NavigationRow button[type='submit']::after,
.contact-form .contact-form__body form.is-file-processing .hsfc-NavigationRow button[type='submit']::after {
    content: none;
}

/* Contact Form - No person */
.contact-form.contact-form--no-person {
    background: radial-gradient(48% 85% at 50% 50%, #125C7C 0%, var(--blue-dark) 100%);
}

.contact-form.contact-form--no-person .container {
    max-width: 670px;
}

.contact-form.contact-form--no-person .contact-form__wrapper {
    display: flex;
    flex-direction: column;
}

.contact-form.contact-form--no-person .contact-form__image {
    position: absolute;
    top: -246px;
    right: 116px;
    display: flex;
    width: 780px;
    pointer-events: none;
    user-select: none;
}

.contact-form.contact-form--no-person .contact-form__description {
    margin-left: calc(50% + 10px);
}

.contact-form .contact-form__ai-label{
    display: none;
    width: 75px;
    position: absolute;
    z-index: 10;
    color: var(--blue-light);
    pointer-events: none;
}

@media (max-width: 1440px) {
    .contact-form .contact-form__person-image {
        left: calc(50% + 40px);
        width: 692px;
        transform: translateX(-100%);
    }
}

@media (max-width: 1023px) {
    .contact-form {
        margin: 60px 0px 0px;
        padding-block: 50px;
        min-height: 700px;
        background: radial-gradient(58% 45% at 66% 15%, #0D476C 0%, var(--blue-dark) 100%);
    }

    .contact-form .contact-form__wrapper {
        grid-template-areas:
            'header person'
            'body body';
        grid-template-columns: 1fr 288px;
    }

    .contact-form .contact-form__person {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /*
     * Added only for the AI label positioning.
     * Existing image dimensions are preserved.
     */
    .contact-form .contact-form__person-image-wrapper {
        position: relative;
        width: 138px;
        height: 138px;
        flex-shrink: 0;
    }

    .contact-form .contact-form__person-image {
        position: relative;
        bottom: initial;
        left: initial;
        flex-shrink: 0;
        width: 138px;
        height: 138px;
        border-radius: 50%;
        background: linear-gradient(180deg, #09305D 0%, #125879 100%);
        transform: none;
        overflow: hidden;
    }

    .contact-form .contact-form__ai-label {
        display: block;
        top: 0;
        right: 0;
        transform: translate(30px, 0px);
    }

    .contact-form .contact-form__person-info {
        position: relative;
        left: initial;
        bottom: initial;
        align-items: center;
        max-width: 100%;
        margin-top: 15px;
    }

    .contact-form .contact-form__person-positions {
        text-align: center;
    }

    /* Contact Form - No person */
    .contact-form.contact-form--no-person {
        background: radial-gradient(61% 50% at 50% 50%, #125C7C 0%, var(--blue-dark) 100%);
    }

    .contact-form.contact-form--no-person .container {
        max-width: 100%;
    }

    .contact-form.contact-form--no-person .contact-form__image {
        top: -340px;
        right: -240px;
    }

    .contact-form.contact-form--no-person .contact-form__description {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .contact-form {
        margin: 40px 0px 0px;
        padding-block: 40px;
        background: radial-gradient(124% 36% at 20% 6%, #0D476C 0%, var(--blue-dark) 100%);
    }

    .contact-form .contact-form__wrapper {
        grid-template-areas:
            'person'
            'header'
            'body';
        grid-template-columns: 1fr;
        grid-template-rows: max-content;
        gap: 0px;
    }

    .contact-form .contact-form__person {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        margin-top: 0;
    }

    .contact-form .contact-form__person-image-wrapper {
        position: relative;
        width: 88px;
        height: 88px;
        flex-shrink: 0;
    }

    .contact-form .contact-form__person-image {
        width: 88px;
        height: 88px;
    }

    .contact-form .contact-form__ai-label {
        display: block;
        left: 0;
        bottom: 0;
        transform: translate(-25px, 60px);
        text-align: center;
    }

    .contact-form .contact-form__person-info {
        align-items: flex-start;
        margin-top: 0;
    }

    .contact-form .contact-form__person-positions {
        text-align: left;
    }

    .contact-form .contact-form__header {
        margin-top: 50px;
    }

    .contact-form .contact-form__description br {
        display: none;
    }

    .contact-form .contact-form__body {
        margin-top: 24px;
    }

    /* Contact Form - No person */
    .contact-form.contact-form--no-person {
        background: radial-gradient(128% 50% at 54% 50%, #125C7C 0%, var(--blue-dark) 100%);
    }

    .contact-form.contact-form--no-person .contact-form__image {
        display: none;
    }

    .contact-form.contact-form--no-person .contact-form__header {
        margin-top: 0px;
    }
}

@media (max-width: 600px) {

    :root {
        --hsf-row__horizontal-spacing: 25px;
    }

    .contact-form .contact-form__body .hsfc-Row {
        grid-template-columns: 1fr;
    }

    .contact-form .contact-form__body .hsfc-NavigationRow__Buttons {
        justify-content: center;
    }
}

@media (max-width: 500px) {

    .contact-form .contact-form__body [data-hsfc-id='TextareaField']:has(.button-attach-files) textarea {
        width: 100%;
    }

    .contact-form .contact-form__body .button-attach-files {
        position: relative;
        justify-content: center;
        width: 100%;
        margin-top: 15px;
        transform: translateX(0) !important;
    }
}