/* =========================================================
   APPLICATION ENGINEERING
   ========================================================= */

.application-engineering-page {
    background: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.appeng-hero {
    position: relative;
    background-image:
        linear-gradient(
            90deg,
            rgba(7,31,55,.94) 0%,
            rgba(7,31,55,.84) 40%,
            rgba(7,31,55,.38) 68%,
            rgba(7,31,55,.08) 100%
        ),
        url('../img/services/application/dutech-appeng.webp');
    background-size: cover;
    background-position: center;
}

.appeng-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.appeng-hero-actions {
    /* Layout controlled by dutech-hero-actions. */
}

.appeng-hero-actions i {
    margin-left: 8px;
}


/* =========================================================
   SHARED PAGE ELEMENTS
   ========================================================= */

.appeng-section {
    padding: var(--dutech-section-space) 0;
}

.appeng-section-eyebrow {
    margin-bottom: 12px;
    color: #27aae2;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.appeng-section h2 {
    color: var(--dutech-heading);
}

.appeng-section-lead {
    margin: 0 0 25px;
    color: #4f5d72;
    font-size: 17px;
    line-height: 1.72;
}

.appeng-icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    margin-bottom: 17px;
    border-radius: 10px;
    background: #e9f7fd;
    color: #27aae2;
    font-size: 24px;
}

.appeng-value-card,
.appeng-capability-card,
.appeng-detail-card,
.appeng-platform-card,
.appeng-outcome-card {
    border: 1px solid #e1e9f2;
    border-radius: 12px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.appeng-value-card:hover,
.appeng-capability-card:hover,
.appeng-detail-card:hover,
.appeng-platform-card:hover,
.appeng-outcome-card:hover {
    transform: translateY(-3px);
    border-color: #d4e5f0;
    box-shadow: 0 13px 30px rgba(26,58,97,.08);
}


/* =========================================================
   MODERN APPLICATION IMPERATIVE
   ========================================================= */

.appeng-imperative {
    background: #ffffff;
}

.appeng-imperative-grid > div {
    display: flex;
    margin-bottom: 24px;
}

.appeng-value-card {
    width: 100%;
    min-height: 190px;
    padding: 25px 24px;
    background: #f7f9fc;
}

.appeng-value-card h3 {
    margin: 0 0 9px;
    color: var(--dutech-heading);
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
}

.appeng-value-card p {
    margin: 0;
    color: #687588;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   CORE CAPABILITIES
   ========================================================= */

.appeng-capabilities {
    background: #f7f9fc;
    scroll-margin-top: 100px;
}

.appeng-capability-grid > div {
    display: flex;
    margin-bottom: 24px;
}

.appeng-capability-card {
    width: 100%;
    min-height: 210px;
    padding: 29px 27px;
    background: #ffffff;
}

.appeng-capability-card h3 {
    margin: 0 0 10px;
    color: var(--dutech-heading);
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.appeng-capability-card p {
    margin: 0;
    color: #687588;
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   SPLIT SECTIONS
   ========================================================= */

.appeng-split-row {
    display: flex;
    align-items: center;
}

.appeng-modernization {
    background: #ffffff;
}

.appeng-platforms {
    background: #eef7fb;
}

.appeng-ai {
    background: #ffffff;
}

.appeng-ecosystem {
    background: #f7f9fc;
}

.appeng-modernization h2,
.appeng-platforms h2,
.appeng-ai h2,
.appeng-ecosystem h2 {
    margin: 0 0 18px;
    color: var(--dutech-heading);
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
}

.appeng-feature-image,
.appeng-platform-image {
    overflow: hidden;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e1e9f2;
    box-shadow: 0 10px 28px rgba(26,58,97,.06);
}

.appeng-feature-image img,
.appeng-platform-image img {
    display: block;
    width: 100%;
    height: auto;
}

.appeng-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.appeng-check-list li {
    position: relative;
    margin-bottom: 13px;
    padding-left: 28px;
    color: #536176;
    font-size: 15px;
    line-height: 1.55;
}

.appeng-check-list li:last-child {
    margin-bottom: 0;
}

.appeng-check-list li i {
    position: absolute;
    left: 0;
    top: 4px;
    color: #27aae2;
    font-size: 14px;
}


/* =========================================================
   ENTERPRISE PLATFORMS
   ========================================================= */

.appeng-platform-image {
    margin-top: 26px;
}

.appeng-platform-card-grid > div {
    display: flex;
    margin-bottom: 22px;
}

.appeng-platform-card {
    width: 100%;
    min-height: 185px;
    padding: 26px 25px;
    background: #ffffff;
}

.appeng-platform-label {
    margin-bottom: 11px;
    color: #27aae2;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.25px;
}

.appeng-platform-card h3 {
    margin: 0 0 10px;
    color: var(--dutech-heading);
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.appeng-platform-card p {
    margin: 0;
    color: #687588;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FULL-LIFECYCLE ENGINEERING
   ========================================================= */

.appeng-lifecycle {
    background: #ffffff;
}

.appeng-lifecycle-grid > div {
    display: flex;
    margin-bottom: 24px;
}

.appeng-detail-card {
    width: 100%;
    min-height: 205px;
    padding: 27px 26px;
    background: #f7f9fc;
}

.appeng-detail-card h3 {
    margin: 0 0 10px;
    color: var(--dutech-heading);
    font-size: 19px;
    line-height: 1.38;
    font-weight: 700;
}

.appeng-detail-card p {
    margin: 0;
    color: #687588;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   ENGINEERING APPROACH
   ========================================================= */

.appeng-approach {
    background: #eef7fb;
}

.appeng-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 14px;
}

.appeng-process-grid::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 33px;
    height: 2px;
    background: #cbdfea;
}

.appeng-process-step {
    position: relative;
    z-index: 1;
    min-height: 205px;
    padding: 0 12px 20px;
    text-align: center;
}

.appeng-process-number {
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #27aae2;
    color: #29398b;
    font-size: 17px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(26,58,97,.06);
}

.appeng-process-step h3 {
    margin: 0 0 8px;
    color: var(--dutech-heading);
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
}

.appeng-process-step p {
    margin: 0;
    color: #687588;
    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   BUSINESS OUTCOMES
   ========================================================= */

.appeng-outcomes {
    background: #ffffff;
}

.appeng-outcome-grid > div {
    display: flex;
    margin-bottom: 24px;
}

.appeng-outcome-card {
    width: 100%;
    min-height: 210px;
    padding: 24px 20px;
    background: #f7f9fc;
}

.appeng-outcome-card h3 {
    margin: 0 0 8px;
    color: var(--dutech-heading);
    font-size: 17px;
    line-height: 1.38;
    font-weight: 700;
}

.appeng-outcome-card p {
    margin: 0;
    color: #687588;
    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   RELATED SERVICES
   ========================================================= */

.appeng-related {
    background: #f5f8fc;
}

.appeng-related .dutech-section-title {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 36px !important;
}

.appeng-related-grid > div {
    display: flex;
    margin-bottom: 24px;
}

.appeng-related-card {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e9f2;
    border-radius: 12px;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.appeng-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(26,58,97,.08);
    text-decoration: none !important;
}

.appeng-related-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eef4f8;
}

.appeng-related-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.appeng-related-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 22px 24px;
}

.appeng-related-copy h3 {
    margin: 0 0 9px;
    color: #252b33;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
}

.appeng-related-copy p {
    margin: 0 0 18px;
    color: #68778b;
    font-size: 14px;
    line-height: 1.65;
}

.appeng-related-copy span {
    margin-top: auto;
    color: #27aae2;
    font-size: 13px;
    font-weight: 700;
}

.appeng-related-copy span i {
    margin-left: 7px;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.appeng-final-cta {
    padding: 66px 0;
    background: #eef7fb;
}

.appeng-final-cta h2 {
    margin: 0 0 14px;
    color: var(--dutech-heading);
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
}

.appeng-final-cta p {
    max-width: 760px;
    margin: 0 auto 27px;
    color: #5d6b7e;
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .appeng-section {
        padding: var(--dutech-section-space-tablet) 0;
    }

    .appeng-split-row {
        display: block;
    }

    .appeng-modernization h2,
    .appeng-platforms h2,
    .appeng-ai h2,
    .appeng-ecosystem h2 {
        font-size: 34px;
    }

    .appeng-feature-image {
        margin-top: 36px;
    }

    .appeng-platform-card-grid {
        margin-top: 36px;
    }

    .appeng-process-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 24px 16px;
    }

    .appeng-process-grid::before {
        display: none;
    }

    .appeng-process-step {
        min-height: 180px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .appeng-hero {
        background-position: 64% center;
    }

    .appeng-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(7,31,55,.70);
    }



    .appeng-section {
        padding: var(--dutech-section-space-mobile) 0;
    }

    .appeng-modernization h2,
    .appeng-platforms h2,
    .appeng-ai h2,
    .appeng-ecosystem h2 {
        font-size: 29px;
    }

    .appeng-section-lead {
        font-size: 15px;
    }

    .appeng-value-card,
    .appeng-capability-card,
    .appeng-detail-card,
    .appeng-platform-card,
    .appeng-outcome-card {
        min-height: 0;
    }

    .appeng-process-grid {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .appeng-process-step {
        min-height: 0;
        padding-bottom: 24px;
    }

    .appeng-final-cta {
        padding: var(--dutech-section-space-mobile) 0;
    }

    .appeng-final-cta h2 {
        font-size: 29px;
    }

}

/* =========================================================
   APPLICATION ENGINEERING - DETAIL POLISH
   ========================================================= */

.appeng-inline-divider {
    width: 92px;
    height: 3px;
    margin: 0 0 25px;
    background: #27aae2;
}

.appeng-capability-card {
    display: flex;
    flex-direction: column;
}

.appeng-capability-card p {
    margin-bottom: 20px;
}

.appeng-capability-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: auto;
    color: #27aae2 !important;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none !important;
}

.appeng-capability-link i {
    margin-left: 7px;
    transition: transform .2s ease;
}

.appeng-capability-link:hover {
    color: #29398b !important;
    text-decoration: none !important;
}

.appeng-capability-link:hover i {
    transform: translateX(4px);
}

#application-modernization,
#enterprise-platforms,
#digital-product-engineering,
#web-mobile-engineering,
#api-integration-engineering,
#architecture-quality-performance {
    scroll-margin-top: 100px;
}

