        :root {

            --menu-height: 90px;

            --dark: #1e293b;
            --dark-2: #0f172a;

            --orange: #ef783b;
            --orange-light: #fff4ee;

            --text: #334155;
            --muted: #64748b;

            --bg: #f8fafc;
            --white: #ffffff;

            --border: #e2e8f0;

        }


        * {

            box-sizing: border-box;

            margin: 0;
            padding: 0;

        }


        html {

            scroll-behavior: smooth;

        }


        body {

            font-family:
                Inter,
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                Arial,
                sans-serif;

            background: var(--bg);

            color: var(--text);

            line-height: 1.7;

        }


        img {

            /*display: block; */

            max-width: 100%;

        }


        a {

            color: inherit;

            text-decoration: none;

        }


        /* =====================================================
           PAGE
        ===================================================== */

        .appc-page {

            margin-top: var(--menu-height);

            padding:
                65px 20px 90px;

        }


        .appc-container {

            width: 100%;

            max-width: 1100px;

            margin: 0 auto;

        }


        /* =====================================================
           HEADER
        ===================================================== */

        .appc-header {

            margin-bottom: 45px;

        }


        .appc-label {

            display: flex;

            align-items: center;

            gap: 10px;

            margin-bottom: 15px;

            color: var(--orange);

            font-size: 10px;

            font-weight: 800;

            letter-spacing: 2px;

            text-transform: uppercase;

        }


        .appc-label::before {

            content: "";

            width: 30px;

            height: 2px;

            background: var(--orange);

        }


        .appc-header h1 {

            max-width: 900px;

            color: var(--dark-2);

            font-size:
                clamp(36px, 5vw, 58px);

            line-height: 1.08;

            font-weight: 400;

            letter-spacing: -2.5px;

        }


        .appc-header h1 strong {

            font-weight: 800;

        }


        /* =====================================================
           INTRODUCTION + IMAGE
        ===================================================== */

        .appc-intro-grid {

            display: grid;

            grid-template-columns:
                1.1fr .9fr;

            gap: 55px;

            align-items: center;

            margin-bottom: 70px;

        }


        .appc-intro-text {

            padding: 35px;

            background: var(--white);

            border-left:
                4px solid var(--orange);

            box-shadow:
                0 10px 35px
                rgba(15, 23, 42, .05);

        }


        .appc-intro-text p {

            color: var(--text);

            font-size: 15px;

            line-height: 1.85;

        }


        .appc-intro-text strong {

            color: var(--dark-2);

            font-weight: 750;

        }


        /* =====================================================
           IMAGE
        ===================================================== */

        .appc-image {

            position: relative;

            overflow: hidden;

            background: var(--dark);

            box-shadow:
                0 18px 45px
                rgba(15, 23, 42, .12);

        }


        .appc-image img {

            width: 100%;

            /*aspect-ratio: 4 / 3;*/
            object-fit: contain;
            opacity: 0.75;
            filter: grayscale(100%);

            object-fit: cover;

            transition:
                transform .5s ease;

        }


       /* .appc-image:hover img {

            transform: scale(1.03);

        }*/


        .appc-image-caption {

            position: absolute;

            left: 0;
            bottom: 0;

            width: 100%;

            padding:
                12px 18px;

            background:
                linear-gradient(
                    transparent,
                    rgba(15, 23, 42, .85)
                );

            color: white;

            font-size: 10px;

            font-weight: 700;

            letter-spacing: 1px;

            text-transform: uppercase;

        }


        /* =====================================================
           SECTION
        ===================================================== */

        .appc-section {

            margin-bottom: 65px;

            padding: 40px;

            background: var(--white);

            border:
                1px solid var(--border);

        }


        .appc-section-header {

            margin-bottom: 30px;

        }


        .appc-section-label {

            display: block;

            margin-bottom: 10px;

            color: var(--orange);

            font-size: 10px;

            font-weight: 800;

            letter-spacing: 2px;

        }


        .appc-section h2 {

            color: var(--dark-2);

            font-size:
                clamp(27px, 4vw, 39px);

            line-height: 1.15;

            font-weight: 750;

            letter-spacing: -1.5px;

        }


        .appc-section-intro {

            max-width: 850px;

            margin-top: 18px;

            color: var(--muted);

            font-size: 14px;

            line-height: 1.75;

        }

        /* =====================================================
           MATRICES RAID (badges)
        ===================================================== */

        .appc-raid-grid {

            display: grid;

            grid-template-columns:
                repeat(4, 1fr);

            gap: 16px;

            margin-top: 30px;

        }


        .appc-raid-card {

            padding:
                22px 20px;

            background:
                var(--orange-light);

            border-left:
                3px solid var(--orange);

        }


        .appc-raid-card span {

            display: block;

            margin-bottom: 6px;

            color: var(--orange);

            font-size: 10px;

            font-weight: 800;

            letter-spacing: 1px;

            text-transform: uppercase;

        }


        .appc-raid-card strong {

            color: var(--dark-2);

            font-size: 20px;

            font-weight: 800;

        }

        /* =====================================================
           LISTES
        ===================================================== */

        .appc-list-grid {

            display: grid;

            grid-template-columns:
                repeat(2, 1fr);

            gap: 0 45px;

            margin-top: 30px;

        }


        .appc-list {

            list-style: none;

        }


        .appc-list li {

            position: relative;

            padding:
                15px 10px 15px 38px;

            border-bottom:
                1px solid var(--border);

            color: var(--text);

            font-size: 14px;

            line-height: 1.6;

        }


        .appc-list li::before {

            content: "✓";

            position: absolute;

            left: 0;
            top: 15px;

            width: 23px;
            height: 23px;

            display: flex;

            align-items: center;

            justify-content: center;

            border-radius: 50%;

            background:
                var(--orange-light);

            color:
                var(--orange);

            font-size: 11px;

            font-weight: 900;

        }


        /* =====================================================
           BLOC APPCDATA
        ===================================================== */

        .appc-service {

            position: relative;

            margin-bottom: 65px;

            padding: 45px;

            background: var(--dark);

            color: white;

            overflow: hidden;

        }


        .appc-service::after {

            content: "";

            position: absolute;

            right: -100px;
            top: -140px;

            width: 350px;
            height: 350px;

            border:
                1px solid
                rgba(255,255,255,.07);

            border-radius: 50%;

        }


        .appc-service-content {

            position: relative;

            z-index: 2;

        }


        .appc-service h2 {

            max-width: 930px;

            margin-bottom: 18px;

            color: white;

            font-size:
                clamp(28px, 4vw, 42px);

            line-height: 1.15;

            font-weight: 400;

            letter-spacing: -1.5px;

        }


        .appc-service h2 strong {

            font-weight: 800;

        }


        .appc-service-intro {

            max-width: 850px;

            margin-bottom: 35px;

            color:
                rgba(255,255,255,.60);

            font-size: 14px;

            line-height: 1.8;

        }


        .appc-service .appc-list li {

            color:
                rgba(255,255,255,.85);

            border-bottom:
                1px solid
                rgba(255,255,255,.10);

        }


        .appc-service .appc-list li::before {

            background:
                rgba(239,120,59,.15);

            color:
                var(--orange);

        }


        /* =====================================================
           BLOCS SUPPORTS
        ===================================================== */

        .appc-supports {

            display: grid;

            grid-template-columns:
                repeat(3, 1fr);

            gap: 16px;

            margin-top: 35px;

        }


        .appc-support {

            padding: 25px;

            border:
                1px solid
                rgba(255,255,255,.10);

            background:
                rgba(255,255,255,.035);

            transition:
                .25s ease;

        }


        .appc-support:hover {

            transform:
                translateY(-4px);

            border-color:
                rgba(239,120,59,.45);

        }


        .appc-support-number {

            display: block;

            margin-bottom: 18px;

            color: var(--orange);

            font-size: 10px;

            font-weight: 800;

        }


        .appc-support h3 {

            margin-bottom: 8px;

            color: white;

            font-size: 17px;

        }


        .appc-support p {

            color:
                rgba(255,255,255,.48);

            font-size: 12px;

            line-height: 1.6;

        }


        /* =====================================================
           NOTE
        ===================================================== */

        .appc-note {

            display: flex;

            align-items: flex-start;

            gap: 15px;

            padding:
                20px 22px;

            background:
                var(--orange-light);

            border:
                1px solid
                rgba(239,120,59,.15);

        }


        .appc-note-icon {

            flex-shrink: 0;

            color:
                var(--orange);

            font-size: 18px;

            font-weight: 900;

        }


        .appc-note p {

            color:
                var(--dark-2);

            font-size: 13px;

            line-height: 1.6;

        }


        /* =====================================================
           BOUTON
        ===================================================== */

        .appc-button {

            display: inline-flex;

            align-items: center;

            gap: 12px;

            margin-top: 30px;

            padding:
                14px 22px;

            background:
                var(--orange);

            color: white;

            font-size: 11px;

            font-weight: 800;

            transition:
                .25s ease;

        }


        .appc-button:hover {

            transform:
                translateY(-3px);

            box-shadow:
                0 12px 25px
                rgba(239,120,59,.25);

        }


        /* =====================================================
           TABLET
        ===================================================== */

        @media (max-width: 900px) {

            .appc-intro-grid {

                grid-template-columns:
                    1fr;

                gap: 25px;

            }


            .appc-image {

                order: -1;

            }


            .appc-supports {

                grid-template-columns:
                    1fr 1fr;

            }

        }


        /* =====================================================
           MOBILE
        ===================================================== */

        @media (max-width: 650px) {

            .appc-page {

                margin-top: 90px;

                padding:
                    45px 16px 65px;

            }


            .appc-header {

                margin-bottom: 30px;

            }


            .appc-header h1 {

                font-size: 36px;

                letter-spacing: -1.5px;

            }


            .appc-intro-grid {

                margin-bottom: 45px;

            }


            .appc-intro-text {

                padding:
                    24px 20px;

            }


            .appc-intro-text p {

                font-size: 14px;

                line-height: 1.75;

            }


            .appc-image img {

                aspect-ratio: 16 / 10;

            }


            .appc-section {

                padding:
                    25px 20px;

                margin-bottom: 35px;

            }


            .appc-section h2 {

                font-size: 28px;

            }


            .appc-section-intro {

                font-size: 14px;

            }


            .appc-list-grid {

                grid-template-columns:
                    1fr;

                gap: 0;

            }


            .appc-list li {

                font-size: 13px;

                padding-left: 38px;

            }


            .appc-service {

                padding:
                    30px 20px;

                margin-bottom: 35px;

            }


            .appc-service h2 {

                font-size: 29px;

            }


            .appc-service-intro {

                font-size: 13px;

            }


            .appc-supports {

                grid-template-columns:
                    1fr;

                gap: 10px;

            }


            .appc-support {

                padding:
                    22px;

            }


            .appc-button {

                width: 100%;

                justify-content: center;

            }


            .appc-note {

                padding:
                    18px;

            }

        }
