﻿/* =========================================================
   .NET WEB DEPLOYMENT SERVICES — MODERN LOGO-ALIGNED THEME
   Scoped to .cwa-page so it can coexist with site CSS.
   Palette follows the supplied .NET Expert logo:
   cyan / aqua technology accents + charcoal typography.
   ========================================================= */

.cwa-page {
    --cwa-ink: #303638;
    --cwa-heading: #2f3638;
    --cwa-primary: #159fca;
    --cwa-primary-dark: #087aa1;
    --cwa-accent: #22c9df;
    --cwa-cyan-soft: #e9fafd;
    --cwa-text: #58676d;
    --cwa-muted: #819096;
    --cwa-border: #dce7ea;
    --cwa-soft: #f5fafb;
    --cwa-white: #ffffff;
    --cwa-green: #2e8b70;
    --cwa-orange: #bd7a32;
    --cwa-red: #bb5b56;
    --cwa-purple: #6d68a7;
    --cwa-radius: 20px;
    --cwa-shadow: 0 18px 48px rgba(38, 54, 58, .075);
    --cwa-shadow-hover: 0 22px 48px rgba(38, 54, 58, .13);
    --cwa-ease: cubic-bezier(.22, 1, .36, 1);
    color: var(--cwa-text);
}

    .cwa-page p:last-child,
    .cwa-page ul:last-child,
    .cwa-page ol:last-child {
        margin-bottom: 0;
    }

    /* ---------------------------------------------------------
   Layout
   --------------------------------------------------------- */
    /* ---------------------------------------------------------
   Hero
   --------------------------------------------------------- */

    .cwa-page .cwa-header {
        position: relative;
        overflow: hidden;
        padding: 38px 42px 30px;
        background: radial-gradient(circle at 88% 0%, rgba(34, 201, 223, .16), transparent 31%), linear-gradient(135deg, #ffffff 0%, #f5fafb 100%);
    }

        .cwa-page .cwa-header::before {
            content: "";
            position: absolute;
            top: 0;
            left: 42px;
            width: 86px;
            height: 4px;
            border-radius: 0 0 6px 6px;
            background: linear-gradient(90deg, var(--cwa-primary), var(--cwa-accent));
        }

    .cwa-page .cwa-text {
        max-width: 900px;
        margin: 0 0 14px;
        color: #5d7077;
        font-size: 17px;
        line-height: 1.82;
        animation: cwaTextIn .7s .12s var(--cwa-ease) both;
    }

    .cwa-page .cwa-hero {
        position: relative;
        margin: 0 42px 8px;
        overflow: hidden;
        border: 1px solid var(--cwa-border);
        border-radius: 18px;
        background: #f1f7f8;
        box-shadow: 0 12px 30px rgba(38,54,58,.06);
    }

        .cwa-page .cwa-hero::after {
            content: "";
            position: absolute;
            inset: auto 0 0;
            height: 35%;
            background: linear-gradient(180deg, transparent, rgba(47,54,56,.10));
            pointer-events: none;
        }

        .cwa-page .cwa-hero img {
            display: block;
            width: 100%;
            transition: transform .7s var(--cwa-ease), filter .7s ease;
        }

        .cwa-page .cwa-hero:hover img {
            transform: scale(1.025);
            filter: saturate(1.05);
        }

    .cwa-page .cwa-eyebrow {
        display: inline-flex;
        align-items: center;
        margin: 0 0 18px;
        padding: 6px 12px;
        border: 1px solid #c9eaf0;
        border-radius: 999px;
        background: rgba(255, 255, 255, .82);
        color: var(--cwa-primary-dark);
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .15em;
        line-height: 1.2;
        box-shadow: 0 5px 15px rgba(21, 159, 202, .06);
    }

    /* ---------------------------------------------------------
   Common sections
   --------------------------------------------------------- */

    .cwa-page .cwa-section {
        position: relative;
        padding: 40px 42px;
        border-top: 1px solid rgba(210, 224, 228, .78);
        transition: box-shadow .35s ease;
    }

        .cwa-page .cwa-section::before {
            content: "";
            position: absolute;
            top: 0;
            left: 42px;
            width: 58px;
            height: 3px;
            border-radius: 0 0 5px 5px;
            background: var(--cwa-primary);
        }

    .cwa-page .cwa-section-title {
        position: relative;
        margin: 0 0 25px;
        color: var(--cwa-heading);
        font-size: clamp(27px, 2.4vw, 35px);
        font-weight: 740;
        line-height: 1.2;
        letter-spacing: -.028em;
    }

        .cwa-page .cwa-section-title::after {
            content: "";
            display: block;
            width: 42px;
            height: 3px;
            margin-top: 12px;
            border-radius: 3px;
            background: var(--cwa-accent);
            transform-origin: left center;
            transition: width .35s var(--cwa-ease);
        }

    .cwa-page .cwa-section:hover .cwa-section-title::after {
        width: 64px;
    }

    .cwa-page .cwa-section p {
        margin-top: 0;
        margin-bottom: 14px;
    }

    .cwa-page .cwa-section h3 {
        margin: 0 0 9px;
        color: var(--cwa-heading);
        font-size: 20px;
        line-height: 1.35;
    }

    .cwa-page .cwa-section ul,
    .cwa-page .cwa-section ol {
        margin: 0 0 18px;
        padding-left: 22px;
    }

    .cwa-page .cwa-section li {
        margin-bottom: 7px;
    }

    .cwa-page .cwa-section ul li::marker,
    .cwa-page .cwa-section ol li::marker {
        color: var(--cwa-primary);
    }

    .cwa-page .cwa-section ol li::marker {
        font-weight: 750;
    }

    /* ---------------------------------------------------------
   Content cards
   --------------------------------------------------------- */

    .cwa-page .cwa-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .cwa-page .cwa-card {
        position: relative;
        padding: 20px 20px 18px;
        border: 1px solid var(--cwa-border);
        border-radius: 16px;
        background: rgba(255,255,255,.84);
        box-shadow: 0 8px 24px rgba(38,54,58,.04);
        transition: transform .3s var(--cwa-ease), box-shadow .3s ease, border-color .3s ease;
    }

        .cwa-page .cwa-card::before {
            content: "";
            display: block;
            width: 30px;
            height: 3px;
            margin-bottom: 14px;
            border-radius: 4px;
            background: var(--cwa-primary);
        }

        .cwa-page .cwa-card:hover {
            transform: translateY(-5px);
            border-color: #c4e2e8;
            box-shadow: var(--cwa-shadow-hover);
        }

    /* ---------------------------------------------------------
   Section identities
   --------------------------------------------------------- */

    .cwa-page #custom-development-definition {
        background: linear-gradient(135deg, #eefbfd 0%, #ffffff 80%);
    }

        .cwa-page #custom-development-definition::before {
            background: var(--cwa-accent);
        }

    .cwa-page #custom-development-value {
        background: #ffffff;
    }

        .cwa-page #custom-development-value .cwa-card:nth-child(odd) {
            background: linear-gradient(145deg, #ffffff, #f6fbfc);
        }

        .cwa-page #custom-development-value .cwa-card:nth-child(even) {
            background: linear-gradient(145deg, #f4fafb, #ffffff);
        }

    .cwa-page #custom-development-technologies {
        color: #dcecef;
        background: linear-gradient(135deg, #30383a 0%, #263638 55%, #12566b 100%);
    }

        .cwa-page #custom-development-technologies::before,
        .cwa-page #custom-development-technologies .cwa-section-title::after {
            background: var(--cwa-accent);
        }

        .cwa-page #custom-development-technologies .cwa-section-title,
        .cwa-page #custom-development-technologies h3 {
            color: #ffffff;
        }

        .cwa-page #custom-development-technologies p {
            color: #c8dadd;
        }

        .cwa-page #custom-development-technologies > ul {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin: 22px 0 0;
            padding: 0;
            list-style: none;
        }

            .cwa-page #custom-development-technologies > ul li {
                margin: 0;
                padding: 13px 15px;
                border: 1px solid rgba(255,255,255,.14);
                border-radius: 12px;
                background: rgba(255,255,255,.065);
                color: #eefbfc;
                transition: transform .25s var(--cwa-ease), background-color .25s ease, border-color .25s ease;
            }

                .cwa-page #custom-development-technologies > ul li:hover {
                    transform: translateY(-3px);
                    border-color: rgba(34,201,223,.48);
                    background: rgba(34,201,223,.10);
                }

    /* ---------------------------------------------------------
   Technologies
   --------------------------------------------------------- */

    .cwa-page #custom-development-technologies {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, #10282f 0%, #12343d 52%, #0d242b 100%);
        color: #eefbfc;
    }

        .cwa-page #custom-development-technologies::before {
            background: var(--cwa-primary);
        }

        .cwa-page #custom-development-technologies::after {
            content: "";
            position: absolute;
            width: 280px;
            height: 280px;
            right: -100px;
            top: -130px;
            border-radius: 50%;
            background: rgba(34, 201, 223, .10);
            pointer-events: none;
        }

        .cwa-page #custom-development-technologies .cwa-section-title {
            color: #ffffff;
        }

        .cwa-page #custom-development-technologies > p {
            position: relative;
            z-index: 1;
            color: #c7e1e5;
        }

    .cwa-page .cwa-tech-grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        margin-top: 26px;
        align-items: stretch;
        grid-auto-rows: 1fr;
    }

    .cwa-page .cwa-tech-group {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 205px;
        height: 100%;
        padding: 22px;
        border: 1px solid rgba(96, 226, 239, .18);
        border-radius: 16px;
        background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(34,201,223,.035));
        box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 14px 30px rgba(0,0,0,.14);
        backdrop-filter: blur(6px);
        transition: transform .3s var(--cwa-ease), border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
    }

        .cwa-page .cwa-tech-group:hover {
            transform: translateY(-5px);
            border-color: rgba(34,201,223,.48);
            background: rgba(255,255,255,.075);
            box-shadow: 0 18px 38px rgba(0,0,0,.18);
        }

        .cwa-page .cwa-tech-group h3 {
            display: flex;
            align-items: center;
            min-height: 24px;
            margin: 0 0 14px;
            color: #ffffff;
            font-size: 1.05rem;
            font-weight: 750;
        }

    .cwa-page .cwa-tech-items {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        flex: 1;
    }

        .cwa-page .cwa-tech-items span {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 8px 10px;
            border: 1px solid rgba(34,201,223,.22);
            border-radius: 10px;
            background: rgba(34,201,223,.07);
            color: #e8fbfd;
            font-size: 1.2rem;
            font-weight: 650;
            line-height: 1.25;
            text-align: center;
            transition: transform .25s ease, background-color .25s ease, border-color .25s ease;
        }

            .cwa-page .cwa-tech-items span:hover {
                transform: translateY(-2px);
                border-color: rgba(34,201,223,.58);
                background: rgba(34,201,223,.15);
            }

    .cwa-page .cwa-tech-item {
        width: 100%;
        min-height: 43px;
        padding: 9px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border: 1px solid rgba(91, 220, 234, .20);
        border-radius: 10px;
        background: rgba(7, 27, 33, .52);
        color: #e5f8fa;
        font-size: .86rem;
        font-weight: 650;
        letter-spacing: .01em;
        box-sizing: border-box;
        transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
    }

        .cwa-page .cwa-tech-item:hover {
            transform: translateY(-2px);
            border-color: rgba(69, 220, 237, .62);
            background: rgba(34, 201, 223, .12);
            box-shadow: 0 7px 18px rgba(0,0,0,.14);
        }

    .cwa-page .cwa-tech-item--featured {
        border-color: rgba(65, 221, 237, .48);
        background: linear-gradient(135deg, rgba(34,201,223,.17), rgba(34,201,223,.07));
        color: #ffffff;
        font-size: .92rem;
        font-weight: 750;
    }

    .cwa-page .cwa-tech-note {
        position: relative;
        z-index: 1;
        margin: 22px 0 0;
        padding: 13px 16px;
        border-left: 3px solid #39d1e4;
        border-radius: 0 10px 10px 0;
        background: rgba(5, 22, 27, .40);
        color: #c7e1e5;
        font-size: .9rem;
    }

    .cwa-page #custom-development-domain-ssl {
        background: linear-gradient(135deg, #f2faf7 0%, #ffffff 80%);
    }

        .cwa-page #custom-development-domain-ssl::before,
        .cwa-page #custom-development-domain-ssl .cwa-section-title::after {
            background: var(--cwa-green);
        }

        .cwa-page #custom-development-domain-ssl li::marker {
            color: var(--cwa-green);
        }

    .cwa-page #custom-development-webdeploy {
        background: linear-gradient(135deg, #f2f7f8 0%, #edf4f5 100%);
    }

        .cwa-page #custom-development-webdeploy::before,
        .cwa-page #custom-development-webdeploy .cwa-section-title::after {
            background: #537177;
        }

    .cwa-page #custom-development-cicd {
        background: linear-gradient(135deg, #f6f6fb 0%, #f0f7f9 100%);
    }

        .cwa-page #custom-development-cicd::before,
        .cwa-page #custom-development-cicd .cwa-section-title::after {
            background: var(--cwa-purple);
        }

    .cwa-page #custom-development-migration {
        background: linear-gradient(135deg, #fffaf3 0%, #ffffff 82%);
    }

        .cwa-page #custom-development-migration::before,
        .cwa-page #custom-development-migration .cwa-section-title::after {
            background: var(--cwa-orange);
        }

        .cwa-page #custom-development-migration li::marker {
            color: var(--cwa-orange);
        }

    .cwa-page #custom-development-troubleshooting {
        background: linear-gradient(135deg, #fff8f7 0%, #ffffff 82%);
    }

        .cwa-page #custom-development-troubleshooting::before,
        .cwa-page #custom-development-troubleshooting .cwa-section-title::after {
            background: var(--cwa-red);
        }

        .cwa-page #custom-development-troubleshooting li::marker {
            color: var(--cwa-red);
        }

    .cwa-page #custom-development-importance {
        background: linear-gradient(135deg, #edf9fc 0%, #f7fbfc 100%);
    }

        .cwa-page #custom-development-importance .cwa-card {
            background: rgba(255,255,255,.78);
            border-color: #d2e8ec;
        }

    /* ---------------------------------------------------------
   Process
   --------------------------------------------------------- */

    .cwa-page #custom-development-process {
        background: linear-gradient(180deg, #edf8fb 0%, #f7fafb 100%);
    }

    .cwa-page .cwa-process {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .cwa-page .cwa-step {
        position: relative;
        min-height: 150px;
        padding: 21px 20px 19px 70px;
        border: 1px solid #d3e6ea;
        border-radius: 16px;
        background: rgba(255,255,255,.88);
        box-shadow: 0 7px 22px rgba(21,159,202,.045);
        transition: transform .3s var(--cwa-ease), box-shadow .3s ease, border-color .3s ease;
    }

        .cwa-page .cwa-step:hover {
            transform: translateY(-5px);
            border-color: #a9d5de;
            box-shadow: 0 16px 34px rgba(21,159,202,.11);
        }

    .cwa-page .cwa-step-no {
        position: absolute;
        top: 22px;
        left: 20px;
        display: grid;
        width: 42px;
        height: 42px;
        place-items: center;
        border-radius: 12px;
        background: linear-gradient(135deg, #087aa1, #22c9df);
        color: #ffffff;
        font-size: 14px;
        font-weight: 850;
        box-shadow: 0 8px 18px rgba(21,159,202,.22);
        transition: transform .3s var(--cwa-ease), box-shadow .3s ease;
    }

    .cwa-page .cwa-step:hover .cwa-step-no {
        transform: scale(1.08) rotate(-3deg);
        box-shadow: 0 11px 24px rgba(21,159,202,.27);
    }

    .cwa-page .cwa-step p {
        margin: 0;
    }

        .cwa-page .cwa-step p + p {
            margin-top: 7px;
        }

    /* ---------------------------------------------------------
   Scope / Benefits / Pricing
   --------------------------------------------------------- */

    .cwa-page #custom-development-solutions {
        background: #ffffff;
    }

        .cwa-page #custom-development-solutions::before {
            background: var(--cwa-primary);
        }

        .cwa-page #custom-development-solutions > ul {
            columns: 2;
            column-gap: 34px;
        }

            .cwa-page #custom-development-solutions > ul li {
                break-inside: avoid;
            }

    .cwa-page #cwa-benefits {
        background: linear-gradient(135deg, #f2fafc 0%, #e9f6f9 100%);
    }

    .cwa-page .cwa-benefits {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .cwa-page .cwa-benefit {
        position: relative;
        min-height: 155px;
        padding: 20px 20px 18px 68px;
        border: 1px solid #d1e4e8;
        border-radius: 16px;
        background: rgba(255,255,255,.86);
        transition: transform .3s var(--cwa-ease), box-shadow .3s ease, border-color .3s ease;
    }

        .cwa-page .cwa-benefit:hover {
            transform: translateY(-5px);
            border-color: #b0d9e0;
            box-shadow: var(--cwa-shadow-hover);
        }

    .cwa-page .cwa-benefit-no {
        position: absolute;
        top: 22px;
        left: 21px;
        display: grid;
        width: 36px;
        height: 36px;
        place-items: center;
        border-radius: 10px;
        background: linear-gradient(145deg, #e1f7fa, #d1eef2);
        color: var(--cwa-primary-dark);
        font-size: 12px;
        font-weight: 850;
    }

    .cwa-page .cwa-benefit h3 {
        margin-bottom: 7px;
        font-size: 19px;
    }

    .cwa-page .cwa-benefit p {
        margin: 0;
    }

    .cwa-page #custom-development-pricing {
        background: linear-gradient(135deg, #eaf8fc 0%, #f7fbfc 100%);
    }

        .cwa-page #custom-development-pricing .cwa-section-title {
            margin-bottom: 10px;
        }

        .cwa-page #custom-development-pricing .cwa-grid {
            grid-template-columns: 1fr;
        }

        .cwa-page #custom-development-pricing .cwa-card {
            overflow: hidden;
            border-color: #b9dfe7;
            background: linear-gradient(135deg, #ffffff 0%, #f4fcfd 100%);
            box-shadow: 0 14px 34px rgba(21,159,202,.10);
        }

            .cwa-page #custom-development-pricing .cwa-card::after {
                content: "";
                position: absolute;
                width: 150px;
                height: 150px;
                right: -75px;
                bottom: -85px;
                border-radius: 50%;
                background: rgba(34,201,223,.10);
            }

        .cwa-page #custom-development-pricing h3 {
            color: var(--cwa-primary-dark);
            font-size: 35px;
        }

    /* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

    /* ---------------------------------------------------------
   Final CTA + conclusion
   --------------------------------------------------------- */

    .cwa-page #custom-development-contact.cwa-cta {
        position: relative;
        overflow: hidden;
        padding-top: 46px;
        padding-bottom: 46px;
        background: radial-gradient(circle at 92% 15%, rgba(34,201,223,.24), transparent 25%), linear-gradient(135deg, #eaf9fc 0%, #f8fcfd 100%);
    }

        .cwa-page #custom-development-contact.cwa-cta::after {
            content: "";
            position: absolute;
            width: 230px;
            height: 230px;
            right: -95px;
            bottom: -125px;
            border: 1px solid rgba(21,159,202,.18);
            border-radius: 50%;
            box-shadow: 0 0 0 28px rgba(21,159,202,.035), 0 0 0 56px rgba(21,159,202,.025);
            pointer-events: none;
            transition: transform .55s var(--cwa-ease);
        }

        .cwa-page #custom-development-contact.cwa-cta:hover::after {
            transform: scale(1.12);
        }

        .cwa-page #custom-development-contact.cwa-cta p:last-child {
            position: relative;
            z-index: 1;
        }

        .cwa-page #custom-development-contact.cwa-cta a {
            font-weight: 750;
            text-decoration-thickness: 1px;
            text-underline-offset: 3px;
        }

    .cwa-page #custom-development-conclusion.custom-development-closing {
        background: #ffffff;
    }

    /* ---------------------------------------------------------
   Sticky service sidebar — Web Deployment pattern
   --------------------------------------------------------- */
    /* Hire card */
    .cwa-page .cwa-hire {
        position: relative;
        z-index: 1;
        overflow: hidden;
        border-radius: 22px 22px 0 0;
        border-bottom: 1px solid #d7e8eb;
        background: #ffffff;
    }

        .cwa-page .cwa-hire::before {
            content: "";
            position: absolute;
            z-index: 5;
            top: 0;
            left: -55%;
            width: 32%;
            height: 115px;
            pointer-events: none;
            opacity: 0;
            transform: skewX(-20deg);
            background: linear-gradient( 90deg, transparent 0%, rgba(255,255,255,.04) 18%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.05) 82%, transparent 100% );
        }

    .cwa-page .cwa-sidebar:hover .cwa-hire::before {
        opacity: 1;
        animation: customDevelopmentHireShine .85s var(--cwa-ease) forwards;
    }

    .cwa-page .cwa-hire-top {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: 19px 22px 21px;
        background: radial-gradient(circle at 86% 8%, rgba(34,201,223,.20), transparent 32%), linear-gradient(135deg, #30383a 0%, #145f73 52%, #159fca 100%);
        color: #ffffff;
    }

        .cwa-page .cwa-hire-top::before {
            content: "";
            position: absolute;
            z-index: 2;
            top: 0;
            left: 22px;
            width: 64px;
            height: 4px;
            border-radius: 0 0 6px 6px;
            background: #22c9df;
        }

        .cwa-page .cwa-hire-top::after {
            content: "";
            position: absolute;
            z-index: 0;
            width: 180px;
            height: 180px;
            right: -72px;
            bottom: -115px;
            border: 1px solid rgba(255,255,255,.13);
            border-radius: 50%;
            box-shadow: 0 0 0 22px rgba(255,255,255,.025), 0 0 0 44px rgba(34,201,223,.035);
            pointer-events: none;
        }

    .cwa-page .cwa-label {
        position: relative;
        z-index: 3;
        display: block;
        margin: 0 0 6px;
        color: rgba(255,255,255,.94);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
    }

    .cwa-page .cwa-price-row {
        position: relative;
        z-index: 3;
        display: flex;
        align-items: flex-end;
        gap: 12px;
    }

    .cwa-page .cwa-price {
        color: #ffffff;
        font-size: 44px;
        font-weight: 850;
        line-height: .9;
        letter-spacing: -.05em;
    }

    .cwa-page .cwa-unit {
        padding-bottom: 5px;
        color: rgba(255,255,255,.92);
        font-size: 10px;
        font-weight: 850;
        line-height: 1.2;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .cwa-page .cwa-hire-benefits {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        background: radial-gradient(circle at 100% 0%, rgba(34,201,223,.09), transparent 35%), #ffffff;
    }

    .cwa-page .cwa-hire-benefit {
        position: relative;
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 11px 6px;
        text-align: center;
    }

        .cwa-page .cwa-hire-benefit + .cwa-hire-benefit::before {
            content: "";
            position: absolute;
            top: 20%;
            bottom: 20%;
            left: 0;
            width: 1px;
            background: #dce7ea;
        }

    .cwa-page .cwa-hire-icon {
        display: grid;
        width: 32px;
        height: 32px;
        place-items: center;
        border: 1px solid #ccebf0;
        border-radius: 10px;
        background: #e9fafd;
        color: #087aa1;
        font-size: 14px;
        font-weight: 850;
        line-height: 1;
        transition: transform .25s var(--cwa-ease), border-color .25s ease, box-shadow .25s ease;
    }

    .cwa-page .cwa-hire-benefit:hover .cwa-hire-icon {
        transform: translateY(-2px);
        border-color: #a9dce5;
        box-shadow: 0 7px 16px rgba(21,159,202,.10);
    }

    .cwa-page .cwa-hire-benefit > span {
        color: #39484d;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.35;
    }

    /* Service summary */
    .cwa-page .cwa-side-section {
        padding: 18px 20px 20px;
        border-bottom: 1px solid #e7eff1;
        background: #fff;
    }

        .cwa-page .cwa-side-section h2 {
            margin: 0 0 9px;
            padding-left: 0;
            color: var(--cwa-heading);
            font-size: 17px;
            font-weight: 800;
            line-height: 1.35;
        }

    .cwa-page .cwa-side-details h3 {
        position: relative;
        margin: 0 0 9px;
        padding-left: 13px;
        color: var(--cwa-heading);
        font-size: 12px;
        font-weight: 800;
        line-height: 1.35;
    }

    .cwa-page .cwa-side-section p {
        margin: 0;
        color: var(--cwa-text);
        font-size: 13px;
        line-height: 1.58;
    }

    /* Sidebar details */
    .cwa-page .cwa-side-details {
        display: grid;
        gap: 0;
        padding: 0 20px 20px;
        background: #fff;
    }

        .cwa-page .cwa-side-details section {
            padding: 16px 0;
            border-bottom: 1px solid #e7eff1;
        }

        .cwa-page .cwa-side-details h3 {
            font-weight: 700;
        }

        .cwa-page .cwa-side-details p {
            margin: 0;
            color: var(--cwa-text);
            font-size: 13px;
            line-height: 1.58;
        }

        .cwa-page .cwa-side-details a {
            display: flex;
            align-items: center;
            gap: 9px;
            margin: 5px 0;
            color: var(--cwa-primary-dark);
            font-size: 13px;
            line-height: 1.5;
            text-decoration: none;
            transition: color .2s ease, padding-left .25s var(--cwa-ease);
        }

            .cwa-page .cwa-side-details a:hover {
                padding-left: 4px;
                color: var(--cwa-primary);
            }

@keyframes customDevelopmentHireShine {
    from {
        left: -55%;
    }

    to {
        left: 125%;
    }
}

.cwa-page .cwa-sidebar {
    position: sticky;
    top: 105px;
    align-self: start;
    overflow: hidden;
    border: 1px solid #d7e6e9;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(38,54,58,.09);
    transition: transform .3s var(--cwa-ease), border-color .3s ease, box-shadow .3s ease;
}

    .cwa-page .cwa-sidebar:hover {
        transform: translateY(-3px);
        border-color: #b9dfe6;
        box-shadow: 0 24px 58px rgba(38,54,58,.13);
    }

.cwa-page .cwa-side-details section:last-child {
    border-bottom: 0;
}

.cwa-page .cwa-side-details h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25em;
    width: 4px;
    height: 1em;
    border-radius: 999px;
    background: var(--cwa-primary);
}

.cwa-page .cwa-side-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 2px;
}

    .cwa-page .cwa-side-skills span {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        padding: 6px 10px;
        border: 1px solid #d7e8eb;
        border-radius: 9px;
        background: #f5fafb;
        color: var(--cwa-heading);
        font-size: 11px;
        font-weight: 700;
        line-height: 1.3;
        white-space: nowrap;
        transition: transform .22s var(--cwa-ease), border-color .22s ease, background-color .22s ease, color .22s ease, box-shadow .22s ease;
    }

        .cwa-page .cwa-side-skills span::before {
            content: "";
            flex: 0 0 6px;
            width: 6px;
            height: 6px;
            margin-right: 7px;
            border-radius: 50%;
            background: var(--cwa-primary);
        }

        .cwa-page .cwa-side-skills span:hover {
            transform: translateY(-2px);
            border-color: #acd9e2;
            background: #eefafd;
            color: var(--cwa-primary-dark);
            box-shadow: 0 7px 16px rgba(17,143,184,.10);
        }

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 960px) {
    .cwa-page .cwa-sidebar {
        position: static;
        top: auto;
    }

    .cwa-page .cwa-tech-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .cwa-page .cwa-tech-grid {
        grid-template-columns: 1fr;
    }

    .cwa-page .cwa-tech-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cwa-page .cwa-section {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .cwa-page .cwa-grid,
    .cwa-page .cwa-process,
    .cwa-page .cwa-benefits {
        grid-template-columns: 1fr;
    }

    .cwa-page #custom-development-technologies > ul {
        grid-template-columns: 1fr;
    }

    .cwa-page #custom-development-solutions > ul {
        columns: 1;
    }

    .cwa-page .cwa-faq-item .accordion-button {
        padding: 16px;
        font-size: 1rem;
    }

    .cwa-page .cwa-faq-item .accordion-body {
        padding: 0 16px 17px;
    }
}

@media (max-width: 480px) {
    .cwa-page .cwa-tech-items {
        grid-template-columns: 1fr;
    }

    .cwa-page .cwa-tech-item {
        min-width: 0;
        white-space: normal;
    }

    .cwa-page .page-main,
    .cwa-page .cwa-title {
        font-size: 34px;
        line-height: 1.1;
    }

    .cwa-page .cwa-text {
        font-size: 16px;
        line-height: 1.75;
    }

    .cwa-page .cwa-section {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .cwa-page .cwa-section-title {
        font-size: 24px;
    }

    .cwa-page .cwa-card,
    .cwa-page .cwa-step,
    .cwa-page .cwa-benefit {
        padding: 18px;
    }

    .cwa-page .cwa-step,
    .cwa-page .cwa-benefit {
        padding-left: 64px;
    }

    .cwa-page .cwa-side-section,
    .cwa-page .cwa-side-details,
    .cwa-page .cwa-sidebar__social {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cwa-page .cwa-hire {
        border-radius: 18px 18px 0 0;
    }

    .cwa-page .cwa-hire-top {
        padding: 18px 17px 20px;
    }

        .cwa-page .cwa-hire-top::before {
            left: 17px;
        }

    .cwa-page .cwa-price {
        font-size: 40px;
    }

    .cwa-page .cwa-hire-benefit {
        padding: 10px 4px;
    }

        .cwa-page .cwa-hire-benefit > span {
            font-size: 10px;
        }

    .cwa-page .cwa-side-section,
    .cwa-page .cwa-side-details {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ---------------------------------------------------------
   Motion accessibility
   --------------------------------------------------------- */

@keyframes cwaFadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cwaTitleIn {
    from {
        opacity: 0;
        transform: translateY(22px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes cwaTextIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 420px) {
}

@media (prefers-reduced-motion: reduce) {
    .cwa-page *,
    .cwa-page *::before,
    .cwa-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .cwa-page .cwa-sidebar:hover .cwa-hire::before {
        animation: none !important;
        opacity: 0;
    }
}

/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

.cwa-page #cwa-faq {
    background: linear-gradient(135deg, #f7fbfc, #ffffff);
}

.cwa-page .cwa-faq__accordion {
    margin-top: 10px;
}

.cwa-page .cwa-faq-item {
    overflow: hidden;
    margin-bottom: 10px;
    border: 1px solid var(--cwa-border) !important;
    border-radius: 12px !important;
    background: #ffffff;
    transition: border-color .25s ease, box-shadow .25s ease;
}

    .cwa-page .cwa-faq-item:hover {
        border-color: #bfdde3 !important;
        box-shadow: 0 8px 24px rgba(21, 159, 202, .08);
    }

    .cwa-page .cwa-faq-item .accordion-header {
        margin: 0;
    }

    .cwa-page .cwa-faq-item .accordion-button {
        padding: 18px 20px;
        color: var(--cwa-heading);
        background: #ffffff;
        font-size: 16px;
        line-height: 1.45;
        font-weight: 700;
        box-shadow: none;
    }

        .cwa-page
        .cwa-faq-item
        .accordion-button:not(.collapsed) {
            color: var(--cwa-primary-dark);
            background: #eefafd;
            box-shadow: none;
        }

        .cwa-page
        .cwa-faq-item
        .accordion-button:focus {
            border-color: transparent;
            box-shadow: none;
        }

        .cwa-page
        .cwa-faq-item
        .accordion-button::after {
            background-size: 1rem;
        }

    .cwa-page
    .cwa-faq-item
    .accordion-body {
        padding: 0 20px 20px;
        color: var(--cwa-text);
        line-height: 1.75;
    }

/* Custom Web App page semantic section aliases.
   Visual system remains identical to Web Deployment. */
.cwa-page #custom-development-value,
.cwa-page #custom-development-solutions,
.cwa-page #custom-development-why-us {
    background: #ffffff;
}

.cwa-page #custom-development-process {
    background: linear-gradient(180deg, #edf8fb 0%, #f7fafb 100%);
}

.cwa-page #cwa-benefits {
    background: linear-gradient(135deg, #f2fafc 0%, #e9f6f9 100%);
}

.cwa-page #custom-development-technologies {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #10282f 0%, #12343d 52%, #0d242b 100%);
    color: #eefbfc;
}

    .cwa-page #custom-development-technologies .cwa-section-title {
        color: #ffffff;
    }

    .cwa-page #custom-development-technologies > p {
        position: relative;
        z-index: 1;
        color: #c7e1e5;
    }

/* Current Custom Web App HTML compatibility */
.cwa-page .cwa-faq {
    width: 100%;
    margin: 0;
}

/* =========================================================
   WEB DEVELOPMENT-STYLE INTERSECTION OBSERVER ANIMATION
   ========================================================= */

.cwa-page .cwa-card,
.cwa-page .cwa-step,
.cwa-page .cwa-benefit,
.cwa-page .cwa-tech-group {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .55s var(--cwa-ease), transform .55s var(--cwa-ease), box-shadow .3s ease, border-color .3s ease;
    transition-delay: var(--animation-delay, 0ms);
}

    .cwa-page .cwa-card.is-visible,
    .cwa-page .cwa-step.is-visible,
    .cwa-page .cwa-benefit.is-visible,
    .cwa-page .cwa-tech-group.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

        /* Preserve the existing hover lift after an element becomes visible. */
        .cwa-page .cwa-card.is-visible:hover,
        .cwa-page .cwa-step.is-visible:hover,
        .cwa-page .cwa-benefit.is-visible:hover,
        .cwa-page .cwa-tech-group.is-visible:hover {
            transform: translateY(-5px);
        }

@media (prefers-reduced-motion: reduce) {
    .cwa-page .cwa-card,
    .cwa-page .cwa-step,
    .cwa-page .cwa-benefit,
    .cwa-page .cwa-tech-group {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
