.elementor-location-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1000;
    width: 100%;
}

.rank1-alutech-foundation #header.site-header,
.rank1-alutech-foundation .et-footers-wrapper,
.rank1-alutech-foundation .footer.footer-bottom,
.rank1-alutech-foundation .copyrights-wrapper {
    display: none;
}

.rank1-manual-header,
.rank1-manual-footer {
    width: 100%;
}

.rank1-manual-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 10000;
}

body.admin-bar .rank1-manual-header {
    top: 32px;
}

.rank1-manual-footer {
    position: relative;
    z-index: 2;
}

.rank1-header-shell,
.rank1-footer-conversion,
.rank1-footer-main {
    --alutech-primary: var(--e-global-color-primary, #19527b);
    --alutech-navy: var(--e-global-color-secondary, #082745);
    --alutech-text: var(--e-global-color-text, #49667e);
    --alutech-accent: var(--e-global-color-accent, #9fc2d7);
    --alutech-ink: #0b2741;
    --alutech-pale: #eef3f6;
    --alutech-line: #d2dee7;
    font-family: var(--e-global-typography-text-font-family, Inter), Arial, sans-serif;
}

.rank1-header-shell {
    width: 100%;
    color: #fff;
    transition: background-color .25s ease, box-shadow .25s ease;
}

.rank1-header-topbar {
    min-height: 50px;
    background: linear-gradient(90deg, #061e35 0%, #0e4269 52%, #072b49 100%);
    border-bottom: 2px solid #759bb4;
    box-shadow: 0 8px 28px rgba(2, 18, 32, .18);
}

.rank1-header-topbar-inner {
    min-height: 50px;
    padding-inline: 24px;
}

.rank1-header-utility-widget,
.rank1-header-utility-widget > .elementor-widget-container,
.rank1-header-utility {
    width: 100%;
}

.rank1-header-utility,
.rank1-utility-benefits,
.rank1-utility-contact {
    display: flex;
    align-items: center;
}

.rank1-header-utility {
    justify-content: space-between;
    gap: 20px;
    min-height: 48px;
}

.rank1-utility-benefits,
.rank1-utility-contact {
    gap: 0;
    white-space: nowrap;
}

.rank1-utility-benefits span,
.rank1-utility-contact a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin: 0;
    padding-inline: 14px;
    color: #e9f2f7;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
}

.rank1-utility-benefits span:first-child,
.rank1-utility-contact a:first-child {
    padding-left: 0;
}

.rank1-utility-benefits span + span,
.rank1-utility-contact a + a {
    border-left: 1px solid rgba(255, 255, 255, .14);
}

.rank1-header-utility svg {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    margin-right: 8px;
    fill: none;
    stroke: #9fc2d7;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.rank1-utility-contact a {
    color: #fff;
    font-weight: 700;
    transition: color .2s ease, background-color .2s ease;
}

.rank1-manual-header .rank1-header-utility .rank1-utility-contact a,
.rank1-manual-header .rank1-header-utility .rank1-utility-contact a strong {
    color: #fff;
}

.rank1-utility-contact a:hover,
.rank1-utility-contact a:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .09);
}

.rank1-utility-contact .rank1-utility-configurator {
    min-height: 34px;
    margin-left: 10px;
    padding-inline: 14px;
    border: 1px solid rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .08);
}

.rank1-header-benefits .elementor-icon-list-items,
.rank1-header-contacts .elementor-icon-list-items,
.rank1-footer-direct-contact .elementor-icon-list-items,
.rank1-footer-legal-links .elementor-icon-list-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 25px;
}

.rank1-header-benefits .elementor-icon-list-item,
.rank1-header-contacts .elementor-icon-list-item {
    margin: 0;
    color: #e8f1f6;
    font-size: 13px;
    line-height: 1.25;
}

.rank1-header-benefits .elementor-icon-list-icon,
.rank1-header-contacts .elementor-icon-list-icon {
    color: var(--alutech-accent);
    font-size: 13px;
}

.rank1-header-contacts a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.rank1-header-contacts a:hover,
.rank1-header-contacts a:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.rank1-header-main {
    min-height: 104px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    background: linear-gradient(180deg, rgba(4, 25, 43, .76), rgba(4, 25, 43, .38) 68%, rgba(4, 25, 43, .08));
    text-shadow: 0 1px 18px rgba(0, 0, 0, .18);
    transition: min-height .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.rank1-header-main-inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    min-height: 104px;
    width: 100%;
    padding-inline: 24px;
}

.rank1-header-logo-stack {
    position: relative;
    flex: 0 0 246px;
    width: 246px;
    min-height: 62px;
}

.rank1-header-logo-stack .elementor-widget-image {
    position: absolute;
    inset: 50% auto auto 0;
    width: 246px;
    margin: 0;
    transform: translateY(-50%);
    transition: opacity .2s ease;
}

.rank1-header-logo-stack img {
    display: block;
    width: 246px;
    height: auto;
}

.rank1-logo-dark {
    opacity: 0;
}

.rank1-header-desktop-nav {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
}

.rank1-header-desktop-nav > .elementor-widget-container,
.rank1-header-desktop-nav .etheme-elementor-nav-menu--main {
    width: 100%;
}

.rank1-header-desktop-nav .etheme-elementor-nav-menu,
.rank1-header-desktop-nav .menu {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: flex-end;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
    gap: 2px;
}

.rank1-header-desktop-nav .etheme-elementor-nav-menu > li,
.rank1-header-desktop-nav .menu > li {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    margin: 0;
}

.rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a,
.rank1-header-desktop-nav .menu > li > a {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 104px;
    padding-inline: 12px;
    color: #fff;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.25;
}

.rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a::after,
.rank1-header-desktop-nav .menu > li > a::after {
    position: absolute;
    right: 12px;
    bottom: 21px;
    left: 12px;
    height: 2px;
    background: var(--alutech-accent);
    content: '';
    opacity: 0;
    transform: scaleX(.35);
    transition: opacity .2s ease, transform .2s ease;
}

.rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a:hover::after,
.rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a:focus-visible::after,
.rank1-header-desktop-nav .etheme-elementor-nav-menu > .current-menu-item > a::after,
.rank1-header-desktop-nav .menu > li > a:hover::after,
.rank1-header-desktop-nav .menu > li > a:focus-visible::after,
.rank1-header-desktop-nav .menu > .current-menu-item > a::after {
    opacity: 1;
    transform: scaleX(1);
}

.rank1-header-cta {
    flex: 0 0 auto;
    min-width: 184px;
}

.rank1-header-cta .elementor-button {
    min-height: 56px;
    padding: 18px 22px;
    border: 1px solid rgba(255, 255, 255, .42);
    background: linear-gradient(135deg, #21638f, #0b3458);
    box-shadow: 0 12px 30px rgba(3, 23, 40, .22);
    color: #fff;
    font-size: 15.5px;
    font-weight: 750;
    white-space: nowrap;
}

.rank1-header-cta .elementor-button:hover,
.rank1-header-cta .elementor-button:focus-visible {
    background: #fff;
    color: var(--alutech-navy);
}

.rank1-header-mobile-nav {
    display: none;
}

.rank1-header-shell.elementor-sticky--effects,
.elementor-sticky--effects .rank1-header-shell,
.rank1-header-shell.is-scrolled {
    position: fixed;
    inset: 0 0 auto;
    z-index: 10000;
    color: var(--alutech-ink);
    background: #fff;
    box-shadow: 0 15px 45px rgba(6, 35, 57, .13);
    text-shadow: none;
}

body.admin-bar .rank1-header-shell.elementor-sticky--effects,
body.admin-bar .elementor-sticky--effects .rank1-header-shell,
body.admin-bar .rank1-header-shell.is-scrolled {
    top: 32px;
}

.rank1-header-shell.elementor-sticky--effects .rank1-header-topbar,
.elementor-sticky--effects .rank1-header-shell .rank1-header-topbar,
.rank1-header-shell.is-scrolled .rank1-header-topbar {
    display: none;
}

.rank1-header-shell.elementor-sticky--effects .rank1-header-main,
.elementor-sticky--effects .rank1-header-shell .rank1-header-main,
.rank1-header-shell.is-scrolled .rank1-header-main {
    min-height: 82px;
    border-color: var(--alutech-line);
    background: #fff;
}

.rank1-header-shell.elementor-sticky--effects .rank1-header-main-inner,
.elementor-sticky--effects .rank1-header-shell .rank1-header-main-inner,
.rank1-header-shell.is-scrolled .rank1-header-main-inner {
    min-height: 82px;
}

.rank1-header-shell.elementor-sticky--effects .rank1-logo-light,
.elementor-sticky--effects .rank1-header-shell .rank1-logo-light,
.rank1-header-shell.is-scrolled .rank1-logo-light {
    opacity: 0;
}

.rank1-header-shell.elementor-sticky--effects .rank1-logo-dark,
.elementor-sticky--effects .rank1-header-shell .rank1-logo-dark,
.rank1-header-shell.is-scrolled .rank1-logo-dark {
    opacity: 1;
}

.rank1-header-shell.elementor-sticky--effects .rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a,
.rank1-header-shell.elementor-sticky--effects .rank1-header-desktop-nav .menu > li > a,
.elementor-sticky--effects .rank1-header-shell .rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a,
.elementor-sticky--effects .rank1-header-shell .rank1-header-desktop-nav .menu > li > a,
.rank1-header-shell.is-scrolled .rank1-header-desktop-nav .etheme-elementor-nav-menu > li > a,
.rank1-header-shell.is-scrolled .rank1-header-desktop-nav .menu > li > a {
    min-height: 82px;
    color: var(--alutech-ink);
}

.rank1-header-shell.elementor-sticky--effects .rank1-header-cta .elementor-button,
.elementor-sticky--effects .rank1-header-shell .rank1-header-cta .elementor-button,
.rank1-header-shell.is-scrolled .rank1-header-cta .elementor-button {
    border-color: var(--alutech-primary);
    background: var(--alutech-primary);
}

.rank1-header-shell .menu-static-block.nav-sublist-dropdown {
    border-top: 3px solid var(--alutech-primary);
    box-shadow: 0 28px 75px rgba(4, 31, 53, .2);
}

/* XStore legt um gestreckte Mega-Menüs eine eigene weiße Dropdown-Fläche.
 * Die sichtbare Karte bringt ihren Hintergrund selbst mit; die äußere Hülle
 * muss deshalb transparent bleiben, damit der Hero links und rechts sichtbar
 * bleibt. Normale Dropdown-Menüs werden von dieser Regel nicht verändert. */
body .elementor-location-header .rank1-header-shell .item-design-mega-menu > .nav-sublist-dropdown.etheme-elementor-nav-menu--dropdown-mega,
body .rank1-manual-header .rank1-header-shell .item-design-mega-menu > .nav-sublist-dropdown.etheme-elementor-nav-menu--dropdown-mega {
    --et-sublist-background: transparent;
    --et-sublist-border-color: transparent;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.rank1-footer-conversion {
    padding: 96px 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 8%, rgba(159, 194, 215, .24), transparent 28%),
        linear-gradient(125deg, #0b365b 0%, #061e36 72%);
    color: #fff;
}

.rank1-manual-footer {
    background: #061a2d;
    color: #bcd0dd;
}

body .rank1-manual-footer .elementor-heading-title {
    color: #fff;
}

.rank1-manual-footer > .elementor > .e-con:first-child,
.rank1-manual-footer > .elementor > .elementor-element:first-child {
    background:
        radial-gradient(circle at 86% 8%, rgba(159, 194, 215, .24), transparent 28%),
        linear-gradient(125deg, #0b365b 0%, #061e36 72%);
}

.rank1-footer-conversion-inner > .e-con {
    flex: 1 1 0;
}

body .rank1-manual-footer .rank1-footer-kicker .elementor-heading-title {
    color: var(--alutech-accent);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body .rank1-manual-footer .rank1-footer-title .elementor-heading-title {
    margin-top: 10px;
    color: #fff;
    font-size: clamp(40px, 4.2vw, 62px);
    font-weight: 750;
    line-height: 1.04;
    letter-spacing: -.025em;
}

body .rank1-manual-footer .rank1-footer-copy,
body .rank1-manual-footer .rank1-footer-copy p {
    max-width: 580px;
    margin-top: 20px;
    color: #c6d8e4;
    font-size: 17px;
    line-height: 1.72;
}

.rank1-footer-direct-contact {
    margin-top: 28px;
}

.rank1-footer-direct-contact .elementor-icon-list-item {
    margin: 0;
}

.rank1-footer-direct-contact a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.rank1-manual-footer .rank1-footer-direct-contact .elementor-icon-list-text {
    color: #fff;
}

.rank1-footer-direct-contact a:hover,
.rank1-footer-direct-contact a:focus-visible {
    border-color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .08);
}

.rank1-footer-form-column {
    padding: 38px;
    border-left: 5px solid var(--alutech-accent);
    background: #f4f8fa;
    box-shadow: 0 28px 75px rgba(0, 13, 25, .25);
    color: var(--alutech-ink);
}

.rank1-form-card-kicker .elementor-heading-title {
    margin: 0 0 10px;
}

.rank1-form-card-title .elementor-heading-title {
    margin: 0;
}

.rank1-form-card-copy,
.rank1-form-card-copy p {
    margin: 12px 0 0;
}

.rank1-footer-form {
    margin-top: 26px;
}

.rank1-footer-form .rank1-gform textarea {
    min-height: 112px;
}

.rank1-footer-form .rank1-gform .gform_drop_area,
.rank1-footer-form .rank1-gform .gform-theme-field-control .gform_drop_area {
    min-height: 92px;
    padding: 18px;
}

.rank1-footer-form-column .gform_wrapper .gfield_label,
.rank1-footer-form-column .gform_wrapper legend {
    color: var(--alutech-ink);
    font-size: 15px;
    font-weight: 700;
}

.rank1-footer-form-column .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
.rank1-footer-form-column .gform_wrapper textarea,
.rank1-footer-form-column .gform_wrapper select {
    min-height: 52px;
    border: 1px solid #b8cad8;
    border-radius: 0;
    background: #fff;
    color: var(--alutech-ink);
    font-size: 16px;
}

.rank1-footer-form-column .gform_wrapper textarea {
    min-height: 122px;
}

.rank1-footer-form-column .gform_wrapper .gform_button {
    min-height: 56px;
    padding: 15px 25px;
    border: 1px solid var(--alutech-primary);
    border-radius: 0;
    background: var(--alutech-primary);
    color: #fff;
    font-weight: 750;
}

.rank1-footer-form-column .gform_wrapper .gform_button:hover,
.rank1-footer-form-column .gform_wrapper .gform_button:focus-visible {
    border-color: var(--alutech-navy);
    background: var(--alutech-navy);
}

.rank1-alutech-form-fallback {
    display: grid;
    gap: 15px;
}

.rank1-alutech-form-fallback > strong {
    color: var(--alutech-ink);
    font-size: 24px;
}

.rank1-alutech-form-fallback > p {
    margin: 0;
    color: var(--alutech-text);
    font-size: 16px;
    line-height: 1.65;
}

.rank1-alutech-form-fallback > div {
    display: grid;
    gap: 8px;
}

.rank1-alutech-form-fallback > div a {
    color: var(--alutech-navy);
    font-size: 17px;
    font-weight: 700;
}

.rank1-form-fallback-button {
    display: inline-flex;
    justify-content: center;
    min-height: 54px;
    margin-top: 5px;
    padding: 16px 22px;
    background: var(--alutech-primary);
    color: #fff;
    font-weight: 750;
}

.rank1-footer-main {
    padding: 76px 24px 0;
    background: #061a2d;
    color: #bcd0dd;
}

.rank1-footer-columns > .e-con {
    flex: 1 1 0;
}

.rank1-footer-columns > .rank1-footer-company {
    flex-grow: 1.35;
}

.rank1-footer-logo {
    max-width: 225px;
}

.rank1-footer-company-copy {
    max-width: 330px;
    margin-top: 20px;
    color: #c0d2de;
    font-size: 16px;
    line-height: 1.7;
}

body .rank1-manual-footer .rank1-footer-column-title .elementor-heading-title {
    margin: 0 0 15px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.rank1-footer-links .elementor-icon-list-item,
.rank1-footer-contact-links .elementor-icon-list-item {
    margin: 0;
    padding: 7px 0;
}

.rank1-footer-links a,
.rank1-footer-contact-links a {
    color: #c5d5df;
    font-size: 15.5px;
    line-height: 1.5;
}

.rank1-footer-links a:hover,
.rank1-footer-links a:focus-visible,
.rank1-footer-contact-links a:hover,
.rank1-footer-contact-links a:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.rank1-footer-contact-links .elementor-icon-list-icon {
    color: var(--alutech-accent);
}

.rank1-footer-legal {
    min-height: 78px;
    margin-top: 52px;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.rank1-footer-copyright p {
    margin: 0;
    color: #afc3d0;
    font-size: 14px;
}

.rank1-footer-legal-links .elementor-icon-list-item {
    margin: 0;
}

.rank1-footer-legal-links a {
    color: #afc3d0;
    font-size: 14px;
}

.rank1-footer-legal-links a:hover,
.rank1-footer-legal-links a:focus-visible {
    color: #fff;
}

body > .footer,
body > footer.footer,
.footer.footer-bottom,
.copyrights-wrapper {
    display: none;
}

@media (max-width: 1279px) {
    .rank1-header-main-inner,
    .rank1-header-topbar-inner {
        padding-inline: 20px;
    }

    .rank1-header-desktop-nav,
    .rank1-header-cta {
        display: none;
    }

    .rank1-utility-benefits [data-utility-optional],
    .rank1-utility-contact [data-utility-portal] {
        display: none;
    }

    .rank1-header-mobile-nav {
        display: block;
        margin-left: auto;
    }

    .rank1-header-mobile-nav .elementor-button {
        min-width: 52px;
        min-height: 48px;
        border: 1px solid rgba(255, 255, 255, .5);
        background: rgba(4, 30, 52, .32);
        color: #fff;
    }

    .rank1-header-shell.elementor-sticky--effects .rank1-header-mobile-nav .elementor-button,
    .elementor-sticky--effects .rank1-header-shell .rank1-header-mobile-nav .elementor-button,
    .rank1-header-shell.is-scrolled .rank1-header-mobile-nav .elementor-button {
        border-color: var(--alutech-line);
        background: var(--alutech-pale);
        color: var(--alutech-navy);
    }

    .rank1-footer-columns {
        flex-wrap: wrap;
    }

    .rank1-footer-columns > .e-con {
        flex: 1 1 calc(50% - 30px);
    }
}

@media (max-width: 900px) {
    .rank1-utility-benefits span:nth-child(n+2),
    .rank1-utility-contact [data-utility-email] {
        display: none;
    }

    .rank1-footer-conversion-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .rank1-footer-conversion-inner > .e-con {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .rank1-header-topbar,
    .rank1-header-topbar-inner {
        min-height: 42px;
    }

    .rank1-header-topbar-inner {
        justify-content: center;
        padding-inline: 15px;
    }

    .rank1-header-utility {
        min-height: 40px;
    }

    .rank1-utility-benefits {
        display: none;
    }

    .rank1-utility-contact {
        justify-content: space-between;
        width: 100%;
    }

    .rank1-utility-contact a {
        min-height: 40px;
        padding-inline: 9px;
        font-size: 13px;
    }

    .rank1-utility-contact .rank1-utility-configurator {
        min-height: 32px;
        margin-left: 8px;
        border-left: 1px solid rgba(255, 255, 255, .38);
    }

    .rank1-utility-contact [data-utility-email],
    .rank1-utility-contact [data-utility-portal] {
        display: none;
    }

    .rank1-header-main,
    .rank1-header-main-inner {
        min-height: 78px;
    }

    .rank1-header-logo-stack,
    .rank1-header-logo-stack .elementor-widget-image,
    .rank1-header-logo-stack img {
        width: 174px;
    }

    .rank1-header-logo-stack {
        flex-basis: 174px;
    }

    body.admin-bar .rank1-manual-header,
    body.admin-bar .rank1-header-shell.elementor-sticky--effects,
    body.admin-bar .elementor-sticky--effects .rank1-header-shell,
    body.admin-bar .rank1-header-shell.is-scrolled {
        top: 46px;
    }

    .rank1-footer-conversion {
        padding: 62px 20px;
    }

    .rank1-footer-form-column {
        padding: 27px 22px;
    }

    .rank1-footer-direct-contact .elementor-icon-list-items {
        align-items: stretch;
        flex-direction: column;
    }

    .rank1-footer-direct-contact a {
        width: 100%;
    }

    .rank1-footer-main {
        padding: 52px 20px 0;
    }

    .rank1-footer-columns {
        flex-direction: column;
    }

    .rank1-footer-columns > .e-con {
        width: 100%;
    }

    .rank1-footer-legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-top: 38px;
    }

    .rank1-footer-legal-links .elementor-icon-list-items {
        gap: 8px 16px;
    }
}

/* Einheitliche Gravity-Forms-Oberfläche für Footer, Kontakt, Projekt und Karriere. */
.rank1-footer-form-column .gform_wrapper,
.rank1-embedded-form-section .gform_wrapper,
.rank1-live-inquiry-form .gform_wrapper {
    margin: 0;
    color: #0b2741;
    font-family: Inter, Arial, sans-serif;
}

.rank1-gform .gform_fields,
.rank1-gform .gform_page_fields .gform_fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px 18px;
}

.rank1-gform .gfield {
    grid-column: 1 / -1;
    margin: 0;
}

.rank1-gform .rank1-field-half {
    grid-column: span 6;
}

.rank1-gform .rank1-field-full {
    grid-column: 1 / -1;
}

.rank1-gform .gfield_label,
.rank1-gform .gform-field-label,
.rank1-gform legend.gfield_label {
    display: block;
    margin: 0 0 9px;
    color: #0b2741;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.35;
}

.rank1-gform .gfield_required {
    color: #19527b;
    font-size: 12px;
    font-weight: 700;
}

.rank1-gform input[type="text"],
.rank1-gform input[type="email"],
.rank1-gform input[type="tel"],
.rank1-gform input[type="number"],
.rank1-gform input[type="date"],
.rank1-gform select,
.rank1-gform textarea {
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #afc3d0;
    border-radius: 0;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(8, 39, 69, .035);
    color: #0b2741;
    font-size: 16px;
    line-height: 1.45;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.rank1-gform textarea {
    min-height: 138px;
    resize: vertical;
}

.rank1-gform input:focus,
.rank1-gform select:focus,
.rank1-gform textarea:focus {
    border-color: #19527b;
    box-shadow: 0 0 0 3px rgba(25, 82, 123, .13);
    outline: 0;
}

.rank1-gform .gfield_description,
.rank1-gform .ginput_container_fileupload + .gfield_description {
    margin-top: 8px;
    color: #58758a;
    font-size: 13.5px;
    line-height: 1.55;
}

.rank1-gform .gfield_radio,
.rank1-gform .gfield_checkbox {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
}

.rank1-gform .gfield_radio > .gchoice,
.rank1-gform .gfield_checkbox > .gchoice {
    position: relative;
    margin: 0;
}

.rank1-gform .gfield_radio label,
.rank1-gform .gfield_checkbox label {
    color: #274b64;
    font-size: 15px;
    line-height: 1.45;
}

.rank1-gform .rank1-choice-cards .gfield_radio label {
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 12px 14px 12px 42px;
    border: 1px solid #c4d4de;
    background: #f7fafc;
    cursor: pointer;
}

.rank1-gform .rank1-choice-cards .gfield_radio input {
    position: absolute;
    z-index: 1;
    top: 16px;
    left: 14px;
}

.rank1-gform .rank1-choice-cards .gfield_radio input:checked + label {
    border-color: #19527b;
    background: #e5eef4;
    color: #0b2741;
    box-shadow: inset 4px 0 0 #19527b;
}

.rank1-gform .gform_drop_area,
.rank1-gform .gform-theme-field-control .gform_drop_area {
    min-height: 118px;
    padding: 25px;
    border: 1px dashed #7f9db1;
    border-radius: 0;
    background: #eef4f7;
    color: #405f75;
}

.rank1-gform .gform_drop_instructions {
    font-size: 14px;
}

.rank1-gform .gform_button_select_files {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #19527b;
    border-radius: 0;
    background: #fff;
    color: #19527b;
    font-size: 14px;
    font-weight: 700;
}

.rank1-gform .rank1-field-consent {
    margin-top: 3px;
    padding-top: 20px;
    border-top: 1px solid #cfdae2;
}

.rank1-gform .rank1-field-consent .ginput_container_consent {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    align-items: start;
}

.rank1-gform .rank1-field-consent input {
    width: 19px;
    height: 19px;
    margin-top: 2px;
}

.rank1-gform .gform_footer,
.rank1-gform .gform_page_footer {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    border: 0;
}

.rank1-gform .gform_button,
.rank1-gform .gform_next_button,
.rank1-gform .gform_previous_button {
    min-height: 58px;
    margin: 0;
    padding: 16px 25px;
    border: 1px solid #19527b;
    border-radius: 0;
    background: #19527b;
    box-shadow: 0 12px 28px rgba(7, 39, 65, .15);
    color: #fff;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.2;
}

.rank1-gform .gform_previous_button {
    background: #fff;
    box-shadow: none;
    color: #19527b;
}

.rank1-gform .gform_button:hover,
.rank1-gform .gform_button:focus-visible,
.rank1-gform .gform_next_button:hover,
.rank1-gform .gform_next_button:focus-visible {
    border-color: #082745;
    background: #082745;
    color: #fff;
}

.rank1-gform .gform_previous_button:hover,
.rank1-gform .gform_previous_button:focus-visible {
    border-color: #082745;
    background: #e9f0f4;
    color: #082745;
}

.rank1-gform .gf_page_steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 0 0 34px;
    border-bottom: 1px solid #c8d7e0;
}

.rank1-gform .gf_step {
    position: relative;
    min-height: 62px;
    margin: 0;
    padding: 11px 16px 13px 0;
    color: #6b8496;
    opacity: 1;
}

.rank1-gform .gf_step::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: transparent;
    content: '';
}

.rank1-gform .gf_step_active {
    color: #0b2741;
}

.rank1-gform .gf_step_active::after {
    background: #19527b;
}

.rank1-gform .gf_step_number {
    color: #397397;
    font-size: 12px;
    font-weight: 800;
}

.rank1-gform .gf_step_label {
    display: block;
    margin-top: 3px;
    font-size: 14px;
    font-weight: 700;
}

.rank1-gform .gform_validation_errors,
.rank1-gform .gfield_validation_message {
    border-radius: 0;
    font-size: 14px;
}

.rank1-form-confirmation {
    padding: 28px;
    border-left: 5px solid #19527b;
    background: #eef4f7;
}

.rank1-form-confirmation strong {
    display: block;
    color: #0b2741;
    font-size: 23px;
}

.rank1-form-confirmation p {
    margin: 12px 0 0;
    color: #49667e;
    font-size: 16px;
    line-height: 1.65;
}

.rank1-embedded-form-section {
    border-top: 1px solid #b8cedc;
    border-bottom: 1px solid #b8cedc;
}

.rank1-form-section-inner > .e-con {
    flex: 1 1 0;
    min-width: 0;
}

.rank1-form-section-copy-column {
    position: sticky;
    top: 120px;
}

.rank1-form-section-copy .eyebrow {
    margin-bottom: 15px;
}

.rank1-form-section-copy h2 {
    max-width: 570px;
    color: #0b2741;
    font-size: clamp(42px, 4.7vw, 64px);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.rank1-form-section-copy > p {
    max-width: 590px;
    margin-top: 23px;
    color: #405f75;
    font-size: 18px;
    line-height: 1.75;
}

.rank1-form-direct {
    display: grid;
    gap: 0;
    max-width: 520px;
    margin-top: 34px;
    border-top: 1px solid #aebfca;
}

.rank1-form-direct a {
    display: grid;
    gap: 3px;
    padding: 16px 0;
    border-bottom: 1px solid #aebfca;
    color: #0b2741;
}

.rank1-form-direct small {
    color: #5e788b;
    font-size: 12px;
}

.rank1-form-direct strong {
    font-size: 20px;
}

.rank1-form-section-form-column {
    padding: 42px;
    border-left: 5px solid #19527b;
    background: #fff;
    box-shadow: 0 26px 70px rgba(7, 37, 61, .12);
}

@media (max-width: 1050px) {
    .rank1-form-section-inner {
        align-items: stretch;
        flex-direction: column;
    }

    .rank1-form-section-copy-column {
        position: static;
    }
}

@media (max-width: 767px) {
    .rank1-gform .gform_fields,
    .rank1-gform .gform_page_fields .gform_fields {
        gap: 19px;
    }

    .rank1-gform .rank1-field-half,
    .rank1-gform .rank1-field-full {
        grid-column: 1 / -1;
    }

    .rank1-gform .gfield_radio,
    .rank1-gform .gfield_checkbox {
        grid-template-columns: 1fr;
    }

    .rank1-gform .gf_page_steps {
        gap: 10px;
    }

    .rank1-gform .gf_step {
        min-height: 52px;
        padding-right: 5px;
    }

    .rank1-gform .gf_step_label {
        font-size: 12px;
    }

    .rank1-form-section-inner {
        padding: 68px 20px;
    }

    .rank1-form-section-form-column {
        padding: 27px 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rank1-header-shell,
    .rank1-header-main,
    .rank1-header-logo-stack .elementor-widget-image,
    .rank1-header-desktop-nav a::after {
        transition: none;
    }
}

/* 2.7: live-geprüfte Header-, Footer- und Formular-Korrekturen. */
body .rank1-manual-header .rank1-header-shell.elementor-sticky--effects .rank1-header-main,
body .rank1-manual-header .elementor-sticky--effects .rank1-header-shell .rank1-header-main,
body .rank1-manual-header .rank1-header-shell.is-scrolled .rank1-header-main {
    background: #fff;
}

.rank1-footer-conversion-inner > .e-con-inner {
    display: flex;
    align-items: flex-start;
    gap: clamp(40px, 6vw, 92px);
}

.rank1-footer-conversion-inner > .e-con-inner > .e-con {
    flex: 1 1 0;
    height: auto;
    min-width: 0;
    align-self: flex-start;
}

body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px 18px;
}

body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields > li.gfield {
    float: none;
    clear: none;
    grid-column: 1 / -1;
    width: auto;
    max-width: none;
    padding: 0;
}

body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields > li.rank1-field-half {
    grid-column: span 6;
}

body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields > li.rank1-field-full {
    grid-column: 1 / -1;
}

body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform .gform_footer,
body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform .gform_page_footer {
    margin: 26px 0 0;
    padding: 0;
}

@media (min-width: 1280px) and (max-width: 1450px) {
    .rank1-utility-contact [data-utility-portal] {
        display: none;
    }
}

@media (max-width: 900px) {
    .rank1-footer-conversion-inner > .e-con-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .rank1-footer-conversion-inner > .e-con-inner > .e-con {
        width: 100%;
    }
}

@media (max-width: 767px) {
    body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields > li.rank1-field-half,
    body .gform_wrapper.gform_legacy_markup_wrapper form.rank1-gform ul.gform_fields > li.rank1-field-full {
        grid-column: 1 / -1;
    }
}

/* 2.8: Elementor-4-Container, Footer-Raster und modernes Gravity-Forms-Markup. */
.rank1-header-topbar,
.rank1-header-topbar-inner {
    min-height: 50px;
}

.rank1-header-topbar-inner > .e-con-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
}

.rank1-footer-conversion {
    padding-block: 82px;
}

body .rank1-manual-footer .rank1-footer-title .elementor-heading-title {
    font-size: clamp(39px, 3.8vw, 54px);
    font-weight: 700;
    line-height: 1.07;
    letter-spacing: -.03em;
}

.rank1-footer-conversion-inner > .e-con-inner {
    align-items: flex-start;
    gap: clamp(42px, 5.2vw, 78px);
}

.rank1-footer-form-column {
    padding: 34px 36px 36px;
}

.rank1-footer-main {
    padding-top: 68px;
}

.rank1-footer-columns > .e-con-inner {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
    min-width: 0;
}

.rank1-footer-columns > .e-con-inner > .e-con {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
}

.rank1-footer-columns > .e-con-inner > .rank1-footer-company {
    flex-grow: 1.35;
}

.rank1-footer-legal > .e-con-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    width: 100%;
    min-width: 0;
}

.rank1-footer-copyright,
.rank1-footer-legal-links {
    flex: 0 1 auto;
    width: auto;
}

.rank1-footer-legal-links {
    margin-left: auto;
}

.rank1-footer-legal-links .elementor-icon-list-items {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.rank1-footer-legal-links .elementor-icon-list-item {
    align-items: center;
    min-height: 24px;
    padding: 0;
    line-height: 1.4;
}

.rank1-footer-legal-links .elementor-icon-list-text,
.rank1-footer-legal-links a {
    line-height: 1.4;
}

body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields,
body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 19px 18px;
}

body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields > .gfield,
body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields > .gfield {
    float: none;
    clear: none;
    grid-column: 1 / -1;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
}

body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields > .gfield.rank1-field-half,
body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields > .gfield.rank1-field-half {
    grid-column: span 6;
}

body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields > .gfield.rank1-field-full,
body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields > .gfield.rank1-field-full {
    grid-column: 1 / -1;
}

body .gform_wrapper.gform-theme--foundation form.rank1-gform {
    --gf-ctrl-bg-color: #fff;
    --gf-ctrl-border-color: #afc3d0;
    --gf-ctrl-color: #0b2741;
    --gf-ctrl-label-color-primary: #0b2741;
    --gf-ctrl-label-color-secondary: #58758a;
}

body .gform_wrapper form.rank1-gform .gfield_label,
body .gform_wrapper form.rank1-gform .gform-field-label,
body .gform_wrapper form.rank1-gform legend.gfield_label {
    margin-bottom: 8px;
    color: #0b2741;
    font-family: Inter, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}

body .gform_wrapper form.rank1-gform input[type="text"],
body .gform_wrapper form.rank1-gform input[type="email"],
body .gform_wrapper form.rank1-gform input[type="tel"],
body .gform_wrapper form.rank1-gform input[type="number"],
body .gform_wrapper form.rank1-gform input[type="date"],
body .gform_wrapper form.rank1-gform select,
body .gform_wrapper form.rank1-gform textarea {
    min-height: 54px;
    padding: 13px 15px;
    border-color: #afc3d0;
    border-radius: 0;
    background-color: #fff;
    color: #0b2741;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
}

body .gform_wrapper form.rank1-gform textarea,
.rank1-footer-form .rank1-gform textarea,
.rank1-footer-form-column .gform_wrapper textarea {
    min-height: 116px;
}

body .gform_wrapper form.rank1-gform .gform_drop_area,
body .gform_wrapper form.rank1-gform .gform-theme-field-control .gform_drop_area {
    min-height: 88px;
    padding: 17px 20px;
}

body .gform_wrapper form.rank1-gform .gfield_description {
    margin-top: 7px;
    color: #58758a;
    font-size: 13px;
    line-height: 1.5;
}

body .gform_wrapper form.rank1-gform .rank1-field-consent {
    padding-top: 16px;
}

body .gform_wrapper form.rank1-gform .gform_footer,
body .gform_wrapper form.rank1-gform .gform_page_footer {
    margin-top: 24px;
}

body .gform_wrapper form.rank1-gform .gform_button,
body .gform_wrapper form.rank1-gform .gform_next_button,
body .gform_wrapper form.rank1-gform .gform_previous_button {
    --et_btn-bg-color: #19527b;
    --et_btn-br-color: #19527b;
    --et_btn-color: #fff;
    --et_btn-bg-color-hover: #082745;
    --et_btn-br-color-hover: #082745;
    --et_btn-color-hover: #fff;
    min-height: 56px;
    border-color: var(--et_btn-br-color);
    background-color: var(--et_btn-bg-color);
    color: var(--et_btn-color);
    font-size: 15px;
    font-weight: 700;
}

@media (max-width: 1279px) {
    .rank1-footer-columns > .e-con-inner {
        flex-wrap: wrap;
        gap: 42px 34px;
    }

    .rank1-footer-columns > .e-con-inner > .e-con {
        flex: 1 1 calc(50% - 34px);
    }

    .rank1-footer-columns > .e-con-inner > .rank1-footer-company {
        flex-basis: 100%;
    }
}

@media (max-width: 900px) {
    .rank1-footer-conversion {
        padding-block: 68px;
    }
}

@media (max-width: 767px) {
    .rank1-header-topbar,
    .rank1-header-topbar-inner {
        min-height: 42px;
    }

    .rank1-footer-conversion {
        padding-block: 58px;
    }

    .rank1-footer-form-column {
        padding: 27px 21px;
    }

    .rank1-footer-columns > .e-con-inner {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 34px;
    }

    .rank1-footer-columns > .e-con-inner > .e-con,
    .rank1-footer-columns > .e-con-inner > .rank1-footer-company {
        flex: 1 1 auto;
        width: 100%;
    }

    .rank1-footer-legal > .e-con-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .rank1-footer-legal-links {
        margin-left: 0;
    }

    .rank1-footer-legal-links .elementor-icon-list-items {
        justify-content: flex-start;
        gap: 10px 18px;
    }

    body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields > .gfield.rank1-field-half,
    body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields > .gfield.rank1-field-half,
    body .gform_wrapper.gform-theme--foundation form.rank1-gform .gform_fields > .gfield.rank1-field-full,
    body .gform_wrapper.gform-theme--framework form.rank1-gform .gform_fields > .gfield.rank1-field-full {
        grid-column: 1 / -1;
    }
}

/* Konfliktauflösung für Sticky-Header, Kontraste und Gravity Forms erfolgt
 * ohne Notfallprioritäten in quality-assurance.css. */
