/* UDEL services use the main Elementor pages' responsive rem scale on desktop. */
#udel-main {
    --udel-service-accent: #e59b44;
    --udel-service-gutter: max(18px, 3.5rem);
    --udel-service-title: max(32px, 6.8rem);
    --udel-service-lead: max(20px, 2.5rem);
    --udel-service-copy: max(18px, 2.3rem);
    --udel-service-subtitle: max(25px, 3.2rem);
    --udel-service-card-title: max(20px, 2.4rem);
    --udel-service-small: max(17px, 1.9rem);
    --udel-service-gap: max(16px, 2.25rem);
    --udel-service-section-space: max(25px, 4rem);
    --udel-service-card-pad: max(14px, 2rem);
    --udel-service-card-image: max(70px, 10.5rem);
    --udel-service-card-height: max(112px, 13rem);
    --udel-service-flip-height: max(245px, 25rem);
    --udel-service-hero-padding: max(42px, 10.25rem);
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) {
    box-sizing: border-box;
    display: grid;
    align-items: center;
    min-height: clamp(66rem, calc(100svh - 7.2rem), 92rem);
    padding: var(--udel-service-hero-padding) var(--udel-service-gutter) !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container {
    min-height: 0 !important;
    width: 100%;
    max-width: 140rem !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap {
    padding: 0 !important;
    margin: 0 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    row-gap: var(--udel-service-gap);
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element {
    margin: 0 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap > :is(.elementor-inner-section, .kons) {
    margin-top: max(10px, 2.2rem) !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-heading-title:is(h1, p) {
    margin: 0 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) h1.elementor-heading-title {
    font-size: var(--udel-service-title) !important;
    line-height: 1.04 !important;
    overflow-wrap: anywhere;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) p.elementor-heading-title {
    max-width: 72ch;
    font-size: var(--udel-service-lead) !important;
    line-height: 1.25 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section > .elementor-container,
#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section > .elementor-container > .elementor-row > .elementor-inner-column > .elementor-column-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section > .elementor-container > .elementor-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--udel-service-gap);
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-column {
    width: 100% !important;
    min-width: 0;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-icon-box-wrapper {
    display: flex !important;
    align-items: flex-start;
    text-align: left;
    gap: max(8px, 1rem);
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-icon-box-icon {
    flex: 0 0 auto;
    margin: 2px 0 0 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section .elementor-heading-title,
#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section .elementor-icon-box-title {
    margin: 0 !important;
    font-size: var(--udel-service-small) !important;
    line-height: 1.24 !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .kons .elementor-button {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: min(100%, max(260px, 34.7rem));
    min-height: max(48px, 5.3rem);
    border: 1px solid var(--udel-service-accent) !important;
    border-radius: 2px !important;
    padding: max(12px, 1.2rem) max(18px, 2.4rem) !important;
    background: rgb(21 20 25 / 62%) !important;
    color: #fff !important;
    font-size: var(--udel-service-small) !important;
    line-height: 1.2 !important;
    white-space: normal;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .kons .elementor-button:is(:hover, :focus-visible) {
    color: #151419 !important;
    background: var(--udel-service-accent) !important;
}

#udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .kons .elementor-button .elementor-button-text {
    color: inherit !important;
    font-size: inherit !important;
    white-space: normal !important;
}

/* Carry the scale through the original body widgets. */
#udel-main .elementor-section-wrap > .elementor-top-section:not(:first-child):not(.mid__button) .elementor-widget-text-editor :is(p, li) {
    font-size: var(--udel-service-copy) !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
}

#udel-main .elementor-section-wrap > .elementor-top-section:not(:first-child) .elementor-widget-heading .elementor-heading-title:is(h2, h3) {
    font-size: var(--udel-service-subtitle) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    #udel-main {
        --udel-service-gutter: clamp(16px, 4.6vw, 28px);
        --udel-service-title: clamp(29px, 8.45vw, 42px);
        --udel-service-lead: 20px;
        --udel-service-copy: 18px;
        --udel-service-subtitle: clamp(24px, 6.2vw, 30px);
        --udel-service-card-title: clamp(19px, 5.1vw, 23px);
        --udel-service-small: 17px;
        --udel-service-gap: clamp(14px, 4vw, 24px);
        --udel-service-section-space: clamp(28px, 7vw, 44px);
        --udel-service-card-pad: clamp(14px, 4vw, 22px);
        --udel-service-card-image: clamp(62px, 19vw, 90px);
        --udel-service-card-height: 112px;
        --udel-service-flip-height: clamp(225px, 65vw, 280px);
        --udel-service-hero-padding: clamp(40px, 11vw, 60px);
    }

    #udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) {
        min-height: 0;
        background-size: cover;
    }

    #udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) .elementor-inner-section > .elementor-container > .elementor-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    #udel-main .elementor-top-section:is([data-id="64e5a4d"], [data-id="7a19024d"]) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap > :is(.elementor-inner-section, .kons) {
        margin-top: 0 !important;
    }
}

/* Illustrated problem cards share their grid and sizing across the service detail pages. */
#udel-main .elementor-top-section:has(.elementor-widget-image-box) {
    padding-block: var(--udel-service-section-space) !important;
}
#udel-main .elementor-top-section:has(.elementor-widget-image-box) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget-heading {
    margin-block: 0 var(--udel-service-gap) !important;
}
#udel-main .elementor-inner-section:has(.elementor-widget-image-box) > .elementor-container > .elementor-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--udel-service-gap);
}
#udel-main .elementor-inner-column:has(.elementor-widget-image-box) {
    width: auto !important;
    min-width: 0;
}
#udel-main .elementor-inner-column:has(.elementor-widget-image-box) > .elementor-column-wrap {
    padding: 0 !important;
    margin: 0 !important;
}
#udel-main .elementor-inner-column:has(.elementor-widget-image-box) > .elementor-column-wrap > .elementor-widget-wrap {
    display: grid;
    grid-auto-rows: 1fr;
    gap: var(--udel-service-gap);
}
#udel-main .elementor-widget-image-box {
    display: grid;
    min-width: 0;
    min-height: var(--udel-service-card-height);
    height: auto !important;
    margin: 0 !important;
}
#udel-main .elementor-widget-image-box > .elementor-widget-container {
    box-sizing: border-box;
    display: grid;
    align-items: center;
    height: auto !important;
    padding: var(--udel-service-card-pad) !important;
}
#udel-main .elementor-widget-image-box .elementor-image-box-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--udel-service-card-image);
    align-items: center;
    gap: var(--udel-service-card-pad);
    text-align: left;
}
#udel-main .elementor-widget-image-box .elementor-image-box-content {
    grid-area: 1 / 1;
    min-width: 0;
}
#udel-main .elementor-widget-image-box .elementor-image-box-title {
    margin: 0 !important;
    font-size: var(--udel-service-card-title) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
}
#udel-main .elementor-widget-image-box .elementor-image-box-img {
    grid-area: 1 / 2;
    width: 100% !important;
    margin: 0 !important;
}
#udel-main .elementor-widget-image-box .elementor-image-box-img img {
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

/* The overview uses the same outer container as the grid on the home page. */
#udel-main .elementor-top-section[data-id="3780769a"] {
    padding-block: var(--udel-service-section-space) !important;
}
#udel-main .elementor-top-section[data-id="3780769a"] > .elementor-container {
    width: min(calc(100% - 2 * var(--udel-service-gutter)), 140rem);
    margin-inline: auto;
}
#udel-main [data-id="14453aa7"] > .elementor-column-wrap {
    padding: 0 !important;
}
#udel-main [data-id="14453aa7"] > .elementor-column-wrap > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--udel-service-gap);
}
#udel-main [data-id="12189d43"] { grid-column: 1 / -1; }
#udel-main [data-id="14453aa7"] :is([data-id="62c6f495"], [data-id="160497fe"], [data-id="2c8945e0"]),
#udel-main [data-id="14453aa7"] :is([data-id="62c6f495"], [data-id="160497fe"], [data-id="2c8945e0"]) > .elementor-container,
#udel-main [data-id="14453aa7"] :is([data-id="62c6f495"], [data-id="160497fe"], [data-id="2c8945e0"]) > .elementor-container > .elementor-row {
    display: contents;
}
#udel-main [data-id="14453aa7"] .elementor-inner-column.elementor-col-33 {
    width: auto !important;
    min-width: 0;
}
#udel-main [data-id="14453aa7"] .elementor-inner-column.elementor-col-33 > .elementor-column-wrap {
    padding: 0 !important;
    margin: 0 !important;
}
#udel-main [data-id="14453aa7"] .elementor-flip-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    height: auto !important;
    min-height: var(--udel-service-flip-height);
}
#udel-main [data-id="14453aa7"] .elementor-flip-box__layer {
    position: relative !important;
    grid-area: 1 / 1;
}
#udel-main [data-id="14453aa7"] .elementor-flip-box__layer__inner {
    box-sizing: border-box;
    padding: var(--udel-service-card-pad) !important;
    overflow-wrap: anywhere;
}
#udel-main [data-id="14453aa7"] .elementor-flip-box__layer__title {
    font-size: var(--udel-service-subtitle) !important;
    line-height: 1.15;
}
#udel-main [data-id="14453aa7"] .elementor-flip-box__layer__description {
    font-size: var(--udel-service-copy) !important;
    line-height: 1.3;
}

/* Long package descriptions stay two to a row until there is room for all four. */
#udel-main [data-id="bc71c5b"] > .elementor-container {
    max-width: none !important;
}
#udel-main [data-id="bc71c5b"] > .elementor-container > .elementor-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--udel-service-gap);
}
#udel-main [data-id="bc71c5b"] > .elementor-container > .elementor-row > .elementor-inner-column {
    width: auto !important;
    min-width: 0;
}
#udel-main [data-id="bc71c5b"] .elementor-heading-title {
    font-size: var(--udel-service-card-title) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
}

/* Keep the call to action in flow below the package and price text. */
#udel-main [data-id="bc71c5b"] .elementor-inner-column > .elementor-column-wrap,
#udel-main [data-id="bc71c5b"] .elementor-inner-column > .elementor-column-wrap > .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
#udel-main [data-id="bc71c5b"] .elementor-heading-title br:last-of-type {
    display: none;
}
#udel-main [data-id="bc71c5b"] .elementor-heading-title span {
    display: block;
    margin-top: 0.45em;
    font-size: var(--udel-service-small) !important;
    line-height: 1.25;
}
#udel-main [data-id="bc71c5b"] .elementor-widget-button {
    position: static !important;
    margin-top: auto !important;
}
#udel-main [data-id="bc71c5b"] .elementor-widget-button .elementor-button {
    min-height: 44px;
    padding: max(12px, 1.2rem) max(12px, 1.3rem) !important;
    font-size: var(--udel-service-small) !important;
    white-space: normal;
}
#udel-main [data-id="bc71c5b"] .elementor-widget-button .elementor-button-text {
    font-size: inherit !important;
}

/* The native content on the valuation page follows the same service scale. */
#udel-main .udel-intent-block {
    font-size: var(--udel-service-copy);
    padding-block: var(--udel-service-section-space);
}
#udel-main .udel-intent-block .udel-intent-inner {
    width: min(100%, 132rem);
    padding-inline: var(--udel-service-gutter);
}
#udel-main .udel-intent-block h2 { font-size: max(var(--udel-service-subtitle), 4.55rem); }
#udel-main .udel-intent-block h3 { font-size: var(--udel-service-card-title); }
#udel-main .udel-intent-grid { gap: var(--udel-service-gap); }
#udel-main .udel-intent-card { padding: var(--udel-service-card-pad); }
#udel-main #valuation-methods .udel-valuation-method-layout {
    gap: var(--udel-service-gap);
}
#udel-main #valuation-methods .udel-valuation-example {
    padding: var(--udel-service-card-pad);
}
#udel-main #valuation-methods .udel-valuation-formula {
    font-size: var(--udel-service-card-title);
}

@media (max-width: 1279px) {
    #udel-main [data-id="bc71c5b"] > .elementor-container > .elementor-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 1024px) {
    #udel-main [data-id="14453aa7"] > .elementor-column-wrap > .elementor-widget-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 820px) {
    #udel-main #valuation-methods .udel-valuation-method-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 767px) {
    #udel-main .udel-intent-block h2 { font-size: var(--udel-service-subtitle); }
}
@media (max-width: 700px) {
    #udel-main .elementor-top-section:has(.elementor-widget-image-box) {
        padding-inline: 0 !important;
    }
    #udel-main .elementor-top-section:has(.elementor-widget-image-box) > .elementor-container {
        width: calc(100% - 2 * var(--udel-service-gutter));
        margin-inline: auto;
    }
    #udel-main .elementor-top-section:has(.elementor-widget-image-box) > .elementor-container > .elementor-row > .elementor-top-column > .elementor-column-wrap {
        padding-inline: 0 !important;
    }
    #udel-main .elementor-inner-section:has(.elementor-widget-image-box) > .elementor-container > .elementor-row,
    #udel-main [data-id="14453aa7"] > .elementor-column-wrap > .elementor-widget-wrap,
    #udel-main [data-id="bc71c5b"] > .elementor-container > .elementor-row {
        grid-template-columns: minmax(0, 1fr);
    }
    #udel-main .elementor-inner-column:has(.elementor-widget-image-box) > .elementor-column-wrap > .elementor-widget-wrap {
        grid-auto-rows: auto;
    }
}
