/* Scoped presentation for the existing Elementor Contact page. */
.elementor-788 {
    --zc-contact-gutter: clamp(20px, 4vw, 64px);
    color: var(--zc-color-text-primary, #111820);
    font-family: var(--zc-font-family-primary, Arial, sans-serif);
}

.elementor-788,
.elementor-788 *,
.elementor-788 *::before,
.elementor-788 *::after { box-sizing: border-box; }

.elementor-788 .zc-contact-hero {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
    background-color: var(--zc-color-brand-primary, #263746);
}

.elementor-788 .zc-contact-hero__inner {
    position: relative;
    isolation: isolate;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 460px;
    margin: 0 !important;
    padding: 72px max(var(--zc-contact-gutter), calc((100vw - 1240px) / 2 + var(--zc-contact-gutter))) !important;
    overflow: hidden;
    background-color: transparent;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    color: var(--zc-color-surface, #fff);
    text-align: left !important;
}

.elementor-788 .zc-contact-hero__inner > * {
    position: relative;
    z-index: 1;
    flex: none !important;
    min-width: 0;
}

.elementor-788 .zc-contact-hero__breadcrumb {
    width: auto !important;
    max-width: 100%;
    margin: 0 0 32px !important;
    color: rgb(255 255 255 / 88%) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
.elementor-788 .zc-contact-hero__breadcrumb p { margin: 0; color: inherit !important; font: inherit !important; }
.elementor-788 .zc-contact-hero__line,
.elementor-788 :where(.zc-contact-form__line, .zc-contact-aside__line) {
    width: 38px !important;
    max-width: 38px !important;
    margin: 0 0 24px !important;
}
.elementor-788 :where(.zc-contact-hero__line, .zc-contact-form__line, .zc-contact-aside__line) .elementor-divider { padding: 0 !important; }
.elementor-788 :where(.zc-contact-hero__line, .zc-contact-form__line, .zc-contact-aside__line) .elementor-divider-separator {
    display: block !important;
    width: 38px !important;
    border-color: var(--zc-color-brand-accent, #50a8e1) !important;
    border-top-width: 2px !important;
}

.elementor-788 .zc-contact-hero__eyebrow {
    width: auto !important;
    max-width: 100%;
    margin: 0 0 16px !important;
    color: var(--zc-color-surface, #fff) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: uppercase;
}

.elementor-788 .zc-contact-hero__title {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    margin: 0 0 20px !important;
    color: var(--zc-color-surface, #fff) !important;
    font-size: clamp(38px, 4vw, 54px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    text-align: left !important;
}

.elementor-788 .zc-contact-hero__lead {
    width: min(100%, 580px) !important;
    max-width: 580px !important;
    margin: 0 !important;
    color: rgb(255 255 255 / 92%) !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}
.elementor-788 .zc-contact-hero__lead p { margin: 0; color: inherit !important; font: inherit !important; }

.elementor-788 .zc-contact-main {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 88px 0 104px !important;
    background: var(--zc-color-surface, #fff);
}

.elementor-788 .zc-contact-main__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 50px !important;
    width: 100% !important;
    max-width: 1180px !important;
    min-width: 0;
    margin-inline: auto !important;
    padding-inline: clamp(20px, 3vw, 30px) !important;
}

.elementor-788 :where(.zc-contact-form, .zc-contact-aside) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-788 :where(.zc-contact-form__eyebrow, .zc-contact-aside__eyebrow),
.elementor-788 .zc-contact-product__eyebrow {
    width: 100% !important;
    margin: 0 0 16px !important;
    color: var(--zc-color-brand-primary, #263746) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: uppercase;
}

.elementor-788 :where(.zc-contact-form__title, .zc-contact-aside__title) {
    width: 100% !important;
    margin: 0 0 20px !important;
    color: var(--zc-color-brand-primary, #263746) !important;
    font-size: clamp(30px, 2.8vw, 38px) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
}

.elementor-788 :where(.zc-contact-form__intro, .zc-contact-aside__text) {
    width: 100% !important;
    margin: 0 0 32px !important;
    color: var(--zc-color-text-secondary, #4b5a66) !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}
.elementor-788 :where(.zc-contact-form__intro, .zc-contact-aside__text) p { margin: 0; color: inherit !important; font: inherit !important; }

.elementor-788 .zc-contact-form .elementor-widget-form { width: 100% !important; min-width: 0; }
.elementor-788 .zc-contact-form .elementor-form-fields-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 20px;
    margin: 0 !important;
}
.elementor-788 .zc-contact-form .elementor-field-group {
    display: flex;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.elementor-788 .zc-contact-form :where(.elementor-field-group-subject, .elementor-field-group-message, .e-form__buttons) { grid-column: 1 / -1; }
.elementor-788 .zc-contact-form .elementor-field-type-hidden { display: none !important; }
.elementor-788 .zc-contact-form .elementor-field-label {
    display: block;
    width: 100%;
    margin: 0 0 8px !important;
    color: var(--zc-color-brand-primary, #263746) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}
.elementor-788 .zc-contact-form :where(input.elementor-field, textarea.elementor-field) {
    width: 100% !important;
    min-height: 52px;
    padding: 13px 16px !important;
    border: 1px solid var(--zc-color-border, #71808c) !important;
    border-radius: 4px !important;
    background: var(--zc-color-surface, #fff) !important;
    color: var(--zc-color-text-primary, #111820) !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
}
.elementor-788 .zc-contact-form textarea.elementor-field { min-height: 72px; resize: vertical; }
.elementor-788 .zc-contact-form #form-field-message { min-height: 160px; }
.elementor-788 .zc-contact-form :where(input.elementor-field, textarea.elementor-field):focus-visible {
    outline: 3px solid var(--zc-color-focus, #005fcc) !important;
    outline-offset: 2px;
    border-color: var(--zc-color-brand-primary, #263746) !important;
}
.elementor-788 .zc-contact-form .elementor-field-group.e-form__buttons { align-items: flex-start; }
.elementor-788 .zc-contact-form .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 52px;
    padding: 14px 30px !important;
    border: 1px solid var(--zc-color-brand-primary, #263746) !important;
    border-radius: 4px !important;
    background: var(--zc-color-brand-primary, #263746) !important;
    color: var(--zc-color-surface, #fff) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    cursor: pointer;
}
.elementor-788 .zc-contact-form .elementor-button:hover { background: var(--zc-color-text-primary, #111820) !important; }
.elementor-788 .zc-contact-form .elementor-button:focus-visible { outline: 3px solid var(--zc-color-focus, #005fcc); outline-offset: 3px; }
.elementor-788 .zc-contact-form :where(.elementor-error, .elementor-message-danger) { color: var(--zc-color-error, #b42318) !important; }
.elementor-788 .zc-contact-form .elementor-message-success { color: var(--zc-color-success, #267447) !important; }

.elementor-788 .zc-contact-aside,
.elementor-788 .zc-contact-product {
    min-width: 0;
    padding: 32px !important;
    border: 1px solid rgb(38 55 70 / 16%);
    border-radius: 4px;
    background: var(--zc-color-surface-subtle, #f4f6f7);
    box-shadow: 0 8px 24px rgb(38 55 70 / 7%);
}
.elementor-788 .zc-contact-aside {
    padding: 36px !important;
    box-shadow: var(--zc-shadow-sm, 0 1px 2px rgb(38 55 70 / 8%));
}
.elementor-788 .zc-contact-aside .zc-contact-aside__text { margin-bottom: 24px !important; }
.elementor-788 .zc-contact-aside__title { font-size: clamp(26px, 2.3vw, 32px) !important; }
.elementor-788 :where(.zc-contact-aside__item, .zc-contact-aside__item-title, .zc-contact-aside__item-text) {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 18px 0 !important;
    border-top: 1px solid rgb(38 55 70 / 16%);
}
.elementor-788 .zc-contact-aside :where(.elementor-widget-heading, .elementor-widget-text-editor) { width: 100% !important; margin: 0 !important; }
.elementor-788 .zc-contact-aside :where(.zc-contact-aside__item, .zc-contact-aside__item-title, .zc-contact-aside__item-text) .elementor-heading-title {
    margin: 0 0 6px !important;
    color: var(--zc-color-brand-primary, #263746) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}
.elementor-788 .zc-contact-aside :where(.zc-contact-aside__item, .zc-contact-aside__item-title, .zc-contact-aside__item-text) p {
    margin: 0 !important;
    color: var(--zc-color-text-secondary, #4b5a66) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}
.elementor-788 .zc-contact-aside__where-link,
.elementor-788 .zc-contact-product a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--zc-color-brand-primary, #263746);
    font-size: 15px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.elementor-788 :where(.zc-contact-aside__where-link, .zc-contact-product a):focus-visible { outline: 3px solid var(--zc-color-focus, #005fcc); outline-offset: 3px; }

.zc-contact-has-product .elementor-788 .zc-contact-aside { display: none !important; }
.elementor-788 .zc-contact-product__line { display: block; width: 38px; height: 2px; margin-bottom: 24px; background: var(--zc-color-brand-accent, #50a8e1); }
.elementor-788 .zc-contact-product h2 { margin: 0 0 12px; color: var(--zc-color-brand-primary, #263746); font-size: 30px; line-height: 1.2; }
.elementor-788 .zc-contact-product :where(.zc-contact-product__category, p:not(.zc-contact-product__eyebrow)) { margin: 0 0 20px; color: var(--zc-color-text-secondary, #4b5a66); font-size: 16px; line-height: 1.5; }
.elementor-788 .zc-contact-product .zc-contact-product__category { color: var(--zc-color-brand-secondary, #6389aa); font-weight: 600; }

@media (max-width: 1023px) {
    .elementor-788 .zc-contact-main__inner { grid-template-columns: minmax(0, 1fr) !important; gap: 64px !important; }
    .elementor-788 .zc-contact-aside,
    .elementor-788 .zc-contact-product { width: 100%; }
}

@media (max-width: 767px) {
    .elementor-788 .zc-contact-hero__inner { min-height: 430px; padding-block: 56px !important; }
    .elementor-788 .zc-contact-hero__title { font-size: clamp(36px, 9vw, 44px) !important; }
    .elementor-788 .zc-contact-hero__lead { font-size: 16px !important; }
    .elementor-788 .zc-contact-main { padding-block: 64px 72px !important; }
    .elementor-788 .zc-contact-main__inner { gap: 48px !important; }
    .elementor-788 .zc-contact-form .elementor-form-fields-wrapper { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .elementor-788 .zc-contact-form .elementor-button { width: 100% !important; }
    .elementor-788 .zc-contact-aside,
    .elementor-788 .zc-contact-product { padding: 24px !important; }
}
