/* Original styles control presentation. The original logo retains its original
 * responsive dimensions. Live lazy loading can temporarily show a broken logo;
 * the static release serves that same asset immediately from the local origin. */

/* NL-08/09: Keep the original card columns, shadows, icons and wording. Elementor
 * stretches a short card to its longest neighbour; content-sized wrappers remove
 * that empty area without a fixed height or hidden/trimmed copy. */
:is(.elementor-page-69, .elementor-page-173, .elementor-page-439, .elementor-page-130)
:is(.elementor-element-3ac3ff3, .elementor-element-fa28e62,
    .elementor-element-13f5a6b, .elementor-element-b7fab09,
    .elementor-element-7ae8d07, .elementor-element-b25e1fc,
    .elementor-element-12304b4, .elementor-element-b9d1d6e,
    .elementor-element-b96da7e, .elementor-element-5a13c21)
> .elementor-widget-wrap {
    align-self: flex-start;
    align-content: flex-start;
    height: auto;
    min-height: 0;
    padding: 1.5em !important;
}

:is(.elementor-page-69, .elementor-page-173, .elementor-page-439, .elementor-page-130)
.elementor-inner-column .elementor-widget-text-editor {
    text-align: left !important;
    overflow-wrap: break-word;
}

:is(.elementor-page-69, .elementor-page-173, .elementor-page-439, .elementor-page-130)
.elementor-inner-column .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

/* NL-10: The original About banner retains its image and overlay; display a
 * single image at every viewport instead of repeating the source bitmap. */
.elementor-page-161 .elementor-element.elementor-element-2c5c192 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* NL-15: Keep the purple square motif, with a reserved area above each title.
 * Explicit IDs restrict this correction to the original decorative widgets. */
.elementor-page :is(.elementor-element-488ef71a, .elementor-element-67eda465,
                   .elementor-element-64b038ad, .elementor-element-e012bb1) {
    --spacer-size: 32px !important;
    --container-widget-width: 32px !important;
    width: 32px !important;
    max-width: 32px !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    pointer-events: none;
}

.elementor-page :is(.elementor-element-488ef71a, .elementor-element-67eda465,
                   .elementor-element-64b038ad, .elementor-element-e012bb1)
> .elementor-widget-container {
    margin: 0 !important;
}

.elementor-page :is(.elementor-element-700c792b, .elementor-element-2feeb3b4,
                   .elementor-element-3ad3e75d, .elementor-element-2909fa54)
> .elementor-widget-container {
    padding-top: 44px !important;
}

/* NL-13: A blank spacer follows the form/details columns; the section itself
 * already provides the same 3em breathing room above and below the content. */
.elementor-page-140 .elementor-element.elementor-element-23cddd59 {
    display: none;
}

/* NL-16: Use the existing 3em tablet rhythm for the About content sections and
 * remove the asymmetric image-column bottom padding, including on phones. */
.elementor-page-161 :is(.elementor-element-2bbd174b, .elementor-element-7768f45f,
                       .elementor-element-6ceea23, .elementor-element-a91de38) {
    padding: 3em 1em !important;
}

.elementor-page-161 :is(.elementor-element-4cddd150, .elementor-element-48cc8b89)
> .elementor-element-populated {
    padding: 1em !important;
}

@media (max-width: 767px) {
    /* A collapsed submenu still contributes scroll width at 320px if its
     * labels cannot wrap inside the narrow header column. Keep long labels
     * readable when opened instead of hiding page overflow. */
    header .hfe-dropdown .hfe-menu-item,
    header .hfe-dropdown .hfe-sub-menu-item {
        white-space: normal;
        overflow-wrap: anywhere;
    }
    /* Long card titles and email addresses must wrap rather than widen a phone. */
    .elementor-page .elementor-widget-heading .elementor-heading-title,
    .elementor-page .elementor-icon-box-description {
        overflow-wrap: break-word;
    }

    .elementor-page-161 :is(.elementor-element-2bbd174b, .elementor-element-7768f45f,
                           .elementor-element-6ceea23, .elementor-element-a91de38) {
        padding: 2em 1em !important;
    }
}
