    * {
        box-sizing: border-box;
        padding: 0;
        margin: 0;
    }

    :root {
        --primary-color: #D98033;
        --secondary-color: #333;
    }

    body {
        font-family: "Montserrat", sans-serif;
        /* background-color: #f4f4f4; */
        font-size: 0.9em;
        overflow-x: hidden;
    }

    .f_monserrat {
        font-family: "Montserrat", sans-serif;
    }

    input {
        font-family: "Montserrat", sans-serif;

    }

    .f_inter {
        font-family: "Inter", sans-serif;
    }

    .header_acdm {
        background-color: #fff;
        color: #333;
        padding: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1em;
    }

    ul {
        list-style: none;
        align-items: center;
        display: flex;
        gap: 3em;
        font-weight: 500;
        text-transform: uppercase;
        font-size: 0.95em;
    }

    a {
        text-decoration: none;
        color: #333;
    }

    button {
        font-family: "Montserrat", sans-serif;
    }

    li {
        color: #333;
        transition: color 0.3s ease;
    }

    li:hover a {
        color: #D98033;
    }

    .uppercase {
        text-transform: uppercase;

    }

    .btn_primary {
        background-color: #D98033;
        text-transform: uppercase;
        color: white;
        border: none;
        padding: 1.1em 1.5em;
        cursor: pointer;
        border-radius: 5px;
    }

    .btn_secondary {
        background-color: #336035;
        text-transform: uppercase;
        color: white;
        border: none;
        padding: 1.1em 1.5em;
        cursor: pointer;
        border-radius: 5px;
    }

    .btn_list {
        background-color: #c9c9c96e;
        text-transform: uppercase;
        color: black;
        border: none;
        padding: 1.1em;
        cursor: pointer;
        border-radius: 5px;
        transition: 0.1s;
    }



    .btn_list:hover {
        background-color: #c9c9c9af;
    }

    .logo {
        width: 16em;
        height: 16em;
        max-width: max-content;
        max-height: max-content;
        object-fit: contain;
    }

    .space_x_3 {
        display: flex;
        gap: 1em;
        align-items: center;
    }

    .space_x_1 {
        display: flex;
        gap: 1em;
        align-items: center;
    }

    .flex {
        display: flex;
    }

    .hidden {
        display: none;
    }

    .br_white {
        border-right: 1.5px solid white;
    }

    @media (min-width: 1000px) {
        .min-md-hidden {
            display: none;
        }

    }

    @media (max-width: 1000px) {
        .max-md-hidden {
            display: none;
        }

        .max-md-width-full {
            width: 100% !important;
        }

        .br_white {
            border: none !important;
        }

        .grid_x_4,
        .grid_x_3 {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: space-between !important;
        }
    }


    @media (max-width: 535px) {
        .max-sm-hidden {
            display: none;
        }

        .sm_justify_start {
            justify-content: start !important;
        }

        .sm_mt_2 {
            margin-top: 0.5em;
        }

        .overlay_img {
            height: 100% !important;
        }

        .w_50 {
            width: 90% !important;
        }
    }

    .relative {
        position: relative;
    }

    .text_center {
        text-align: center;
    }

    .overlay_img {
        width: 100%;
        background: url("../images/tr.png") no-repeat center bottom;
        background-size: cover;
        height: 85vh;
        aspect-ratio: 4/5;
    }

    .flex_col_3 {
        display: flex;
        flex-direction: column;
        gap: 2em;

        justify-content: center;
    }

    .overlay_div {
        /* background: rgba(0, 0, 0, 0.445); */
        height: 100%;
        color: white;
        padding: 2em;
    }

    .desc_1 {
        width: 50%;
        font-size: 2.5em;
        font-weight: 600;
    }

    .desc_2 {
        width: 50%;
        font-size: 1.2em;
        line-height: 1.5em;
        font-weight: 400;
    }

    .flex_row_2 {
        display: flex;
        gap: 1em;
        align-items: center;
    }

    .flex_wrap {
        flex-wrap: wrap;
    }

    .grid_x_3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2em;
    }

    .align_start {
        align-items: start;
    }

    .align_center {
        align-items: center;
    }

    .grid_x_4 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2em;
    }

    .bg_secondary {
        background: #092216;
    }

    .p_2 {
        padding: 2em;
    }

    .justify_start {
        justify-content: start;
        align-items: start;
    }

    .text_white {
        color: white;
    }

    .bt_1_white {
        border-top: 1px solid rgba(255, 255, 255, 0.418);
    }

    .justify_between {
        justify-content: space-between;
    }

    .gap_1 {
        gap: 1em;
    }

    .gap_05 {
        gap: 0.5em;
    }

    .center_align {
        align-items: center;
    }

    .font_normal {
        font-weight: 500;
    }

    .grid_2 {
        display: grid;
        grid-template-columns: auto 2fr;
        align-items: center;
        gap: 1em;
    }



/* mobile */
   .mobile_nav_dropdown {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        background: white;
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
        min-width: 200px;
        z-index: 1000;
        opacity: 0;
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .mobile_nav_dropdown ul{
        display: flex;
        flex-direction: column;
        align-items: start;
        padding: 1em;
        gap: 1em;
    }
    .mobile_nav_dropdown ul li{
        padding: 1em;
    }

    .mobile_nav_dropdown.open {
        opacity: 1;
        transform: translateY(0);
    }

    .dropdown_overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 999;
    }

    .dropdown_overlay.active {
        display: block;
    }


 .overlayImg {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0.07;
                pointer-events: none;
            }

/* section 2  */
      .icon_sect1 {
            width: 5em;
            height: 5em;
            background: #1c552625;
            border-radius: 0.8em;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0.5em;
        }

        .flex_col_2 {
            display: flex;
            flex-direction: column;
            gap: 1.2em;
        }

        .font_semi {
            font-weight: 600;
        }

        .my_4 {
            margin: 3em 0;
            margin-bottom: 4em;
        }

        .bg_2_i {
            background: #d980332c;
        }

        .bg_3_i {
            background: #0549811f;
        }



/* csetion 4 */
        @media screen and (max-width: 930px) {
            .grid_2_about {
                display: flex !important;
                flex-wrap: wrap;
            }
        }

        .grid_2_about {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr;
        }

        .w_full {
            width: 100%;

        }

        .img_about {
            width: 100%;
            height: 30em;
            background: red;
            object-fit: cover;
            border-radius: 1.5em;
        }

        .gap_3 {
            gap: 4em;
        }

        .w_max {
            width: max-content;
        }

        .absolute_img_o {
            position: absolute;
            bottom: 0;
            right: 0;
            margin: -1em;
            padding: 2em;
            padding-right: 6em;
            width: 27em;
            border-radius: 1em;
            height: 10em;
            line-height: 2em;
        }

/* section 4 */

        /* ─── SECTION WRAPPER ─────────────────────────────────────── */
        .about-section {

            /* subtle texture overlay via pseudo-element */
            position: relative;
            overflow: hidden;
            padding: 60px 64px;
        }

        /* dark leaf/pattern overlay */


        /* ─── GRID LAYOUT ─────────────────────────────────────────── */
        .about-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 64px;
            align-items: center;
            margin: 0 auto;
        }

        /* ─── LEFT COLUMN – TEXT ─────────────────────────────────── */
        .about-text {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .about-eyebrow {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: #d4d4d4;
        }



        .about-body {
            font-size: 15px;
            font-weight: 400;
            line-height: 1.65;
            color: #c8d6ca;
            max-width: 420px;
        }


        /* ─── RIGHT COLUMN – CAROUSEL ────────────────────────────── */
        .carousel-wrapper {
            position: relative;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            width: 100%;
        }

        .carousel {
            position: relative;
            border-radius: 16px;
            /* overflow: hidden; */
            aspect-ratio: 2 / 2;
            background: #111;

            width: 35em;
        }

        /* slides */
        .carousel-track {
            display: flex;
            flex-direction: row;
            /* gap: 1em; */
            width: 100%;
            height: 100%;
            transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .carousel-slide {
            min-width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 1em;
            display: block;
        }



        /* arrow buttons */
        .carousel-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.18);
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 10;
            transition: background 0.2s;
            backdrop-filter: blur(6px);
        }

        .carousel-btn:hover {
            background: rgba(255, 255, 255, 0.32);
        }

        .carousel-btn svg {
            width: 18px;
            height: 18px;
            stroke: #fff;
            fill: none;
            stroke-width: 2.2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .carousel-btn.prev {
            left: 14px;
        }

        .carousel-btn.next {
            right: 14px;
        }

        /* sparkle accent (bottom-right corner decoration) */
        .carousel::after {
            content: '✦';
            position: absolute;
            bottom: 14px;
            right: 14px;
            font-size: 22px;
            color: rgba(255, 255, 255, 0.75);
            pointer-events: none;
            text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
        }

        /* ─── DOTS ──────────────────────────────────────────────── */
        .carousel-dots {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 18px;
        }

        .dot {
            width: 13px;
            height: 13px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, 0.55);
            background: transparent;
            cursor: pointer;
            transition: background 0.25s, border-color 0.25s;
            padding: 0;
        }

        .dot.active {
            background-color: #d4731a;
            border-color: #d4731a;
        }

        /* ─── RESPONSIVE ─────────────────────────────────────────── */
        @media (max-width: 900px) {
            .about-section {
                padding: 48px 40px;
            }

            .about-grid {
                grid-template-columns: 1fr !important;
                gap: 40px;
            }

            /* text first, then carousel on mobile */
            .about-text {
                order: 1;
            }

            .carousel-wrapper {
                order: 2;
            }

            .about-heading {
                font-size: clamp(24px, 6vw, 36px);
            }
        }

        @media (max-width: 560px) {
            .about-section {
                padding: 36px 20px;
            }

            .about-grid {
                gap: 32px;
            }
        }

/* section 5  */
       /* ═══════════════════════════════════════════
     SECTION WRAPPER
  ═══════════════════════════════════════════ */
        .ms-section {
            /* background-color: #0d0d0d; */
            padding: 64px 0 72px;
            overflow: hidden;
        }

        /* ═══════════════════════════════════════════
     HEADER – centré
  ═══════════════════════════════════════════ */
        .ms-header {
            text-align: center;
            padding: 0 24px;
            margin-bottom: 64px;
        }

        .ms-eyebrow {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            /* color: #888; */
            margin-bottom: 18px;
        }

        .ms-heading {
            font-size: clamp(28px, 4.5vw, 56px);
            font-weight: 800;
            line-height: 1.12;
            /* color: #ffffff; */
            max-width: 760px;
            margin: 0 auto;
        }

        /* ═══════════════════════════════════════════
     CAROUSEL VIEWPORT
  ═══════════════════════════════════════════ */
        .ms-viewport {
            position: relative;
            width: 100%;
            overflow: hidden;
            padding-top: 56px;
        }

        /* ─── TRACK ─── */
        .ms-track {
            display: flex;
            align-items: flex-end;
            gap: 24px;
            transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
            padding-bottom: 8px;
            width: max-content;
            will-change: transform;
        }

        /* ═══════════════════════════════════════════
     CARD
  ═══════════════════════════════════════════ */
        .ms-card {
            flex-shrink: 0;
            position: relative;
            /* background: #222222; */
            border-radius: 20px;
            padding: 80px 28px 36px;
            text-align: center;
            transition:
                width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.45s ease,
                transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: pointer;
            width: 260px;
            opacity: 0.65;
        }

        /* card active */
        .ms-card.ms-active {
            width: 300px;
            opacity: 1;
            /* background: #2a2a2a; */
            border: 1px solid #c9c9c9;
            /* box-shadow: 0 8px 48px rgba(0, 0, 0, 0.55); */
        }

        /* ─── ICÔNE CIRCULAIRE ─── */
        .ms-icon-wrap {
            position: absolute;
            top: -48px;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 50%;
            background: #ffffff;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: width 0.45s, height 0.45s, top 0.45s;
            width: 80px;
            height: 80px;
            border: 3px solid #d4731a;
        }

        .ms-card.ms-active .ms-icon-wrap {
            width: 96px;
            height: 96px;
            top: -40px;
            border-width: 4px;
        }

        /* .ms-icon-wrap svg {
            transition: width 0.45s, height 0.45s;
            width: 42px;
            height: 42px;
        }

        .ms-card.ms-active .ms-icon-wrap svg {
            width: 52px;
            height: 52px;
        } */

        /* ─── TEXTES ─── */
        .ms-card-title {
            font-size: 1.1em;
            font-weight: 600;
            text-transform: uppercase;

            line-height: 1.5;
            margin-bottom: 16px;
            transition: color 0.3s;
        }

        .ms-card.ms-active .ms-card-title {
            /* color: #ffffff; */
        }

        /* .ms-card-desc {
            font-size: 13.5px;
            font-weight: 400;
            line-height: 1.6;
            color: #888;
            transition: color 0.3s;
        }

        .ms-card.ms-active .ms-card-desc {
            color: #aaa;
        } */

        /* ═══════════════════════════════════════════
     DOTS / NAV
  ═══════════════════════════════════════════ */
        .ms-dots {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-top: 48px;
        }

        .ms-dot {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: none;
            background: #ffffff;

            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.25s;
            padding: 0;
        }

        .ms-dot.ms-dot-active {
            background: #ffffff;
        }

        .ms-dot svg {
            width: 30px;
            height: 30px;
            stroke: #000000;
            fill: none;
            stroke-width: 2.2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .ms-dot.ms-dot-active svg {
            stroke: #fff;
        }

        /* ═══════════════════════════════════════════
     RESPONSIVE
  ═══════════════════════════════════════════ */
        @media (max-width: 768px) {
            .ms-section {
                padding: 48px 0 56px;
            }

            .ms-header {
                margin-bottom: 48px;
            }

            .ms-card {
                width: 220px;
                padding: 72px 20px 28px;
            }

            .ms-card.ms-active {
                width: 250px;
            }
        }

        @media (max-width: 480px) {
            .ms-card {
                width: 200px;
            }

            .ms-card.ms-active {
                width: 230px;
            }
        }



/* sect 6 */
            .overlayImg {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0.07;
                pointer-events: none;
            }

            .h_60 {
                height: 60vh;
            }

            .font_xs {
                font-size: medium;
            }

            .label_input {
                background: white;
                border-radius: 0.5em;
                padding: 1.2em 1em;

            }

            .label_input input {
                height: 100%;
                border: none;
                width: 80%;
            }

            .label_input input:focus {
                border: none;
                outline: none;
            }

            .label_input button {
                height: 100%;
                border: none;

            }

            .flex_col_1 {
                display: flex;
                flex-direction: column;
            }

            .justify_center {
                justify-content: center;
            }

            .items_center {
                align-items: center;
            }

            .w_full {
                width: 100%;
            }

            .w_50 {
                width: 50%;
            }

            .btn_send {
                background: #45973f;
                height: 100%;
                padding: 0.8em 1em;
                border-radius: 0.5em;
                position: absolute;
                top: 50%;
                right: 0;
                transform: translateY(-50%);
            }

            .mb_2 {
                margin-bottom: 0.5em;
            }

            .h_full {
                height: 100%;
            }


/*  section last  */

            .bg_white {
                background: white;
            }

            @media (max-width: 735px) {
                .grid_x_3_auto {
                    grid-template-columns: 1fr !important;
                    gap: 1.5em !important;
                }

                .justify_end {
                    justify-content: start !important;
                }
            }

            .grid_x_3_auto {
                display: grid;
                grid-template-columns: auto 1fr 1fr;
                gap: 1em;
            }

            .justify_end {
                justify-content: end;
            }

            .circle_i {
                /* background: red; */
                width: 6em;
                height: 6em;
                border-radius: 50%;
                display: flex;
                flex-direction: row;
                justify-content: center;
                border: 1px solid rgb(150, 150, 150);
                align-items: center;
            }

            .i_leaf {
                display: flex;
                flex-direction: row;
                justify-content: start;
                align-items: end;
                margin-bottom: -0.5em;
            }

            .text_gray {
                color: #092216;
                margin-bottom: 0.6em;
            }

            .p_1 {
                padding: 1.5em 1em;
            }


/* historique */

        :root {
            --c-green-dark: #1c4a2e;
            --c-green-mid: #2d6a44;
            --c-green-light: #e8f0eb;
            --c-orange: #d4731a;
            --c-orange-dark: #b85e10;
            --c-cream: #f5f0e8;
            --c-white: #ffffff;
            --c-black: #0d0d0d;
            --c-gray-700: #444;
            --c-gray-500: #777;
            --c-gray-300: #ccc;
            --c-gray-100: #f4f4f4;
            --c-border: #e0dbd3;
            --radius-sm: 6px;
            --radius-md: 12px;
            --radius-lg: 20px;
            --shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);
            --shadow-md: 0 4px 20px rgba(0, 0, 0, .12);
            --max-w: 1200px;
            --px: clamp(20px, 5vw, 80px)
        }


      

        img {
            display: block;
            max-width: 100%
        }

        a {
            text-decoration: none;
            color: inherit
        }

        ul {
            list-style: none
        }

        button,
        input,
        select,
        textarea {
            font-family: inherit
        }

        /* ══════════════════════════════════════════
   PAGE HISTORIQUES
══════════════════════════════════════════ */
        .hi-breadcrumb {
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 14px var(--px);
            font-size: 12.5px;
            color: var(--c-gray-500)
        }

        .hi-breadcrumb span {
            color: var(--c-gray-300);
            margin: 0 6px
        }

        .hi-intro {
            padding: 32px 0 24px;
            background: var(--c-white)
        }

        .hi-intro__inner {
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 0 var(--px)
        }

        .hi-intro__inner h1 {
            font-size: clamp(28px, 4vw, 48px);
            font-weight: 900;
            margin-bottom: 12px
        }

        .hi-intro__inner p {
            font-size: 15px;
            color: var(--c-gray-700);
            max-width: 560px
        }

        .hi-filters {
            padding: 16px 0 28px;
            background: var(--c-white)
        }

        .hi-filters__inner {
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 0 var(--px);
            display: flex;
            align-items: center;
            gap: 14px;
            flex-wrap: wrap
        }

        .hi-search {
            flex: 1;
            min-width: 180px;
            position: relative
        }

        .hi-search input {
            width: 100%;
            padding: 10px 14px 10px 38px;
            border: 1px solid var(--c-border);
            border-radius: var(--radius-sm);
            font-size: 14px;
            outline: none;
            transition: border-color .2s
        }

        .hi-search input:focus {
            border-color: var(--c-green-dark)
        }

        .hi-search__ic {
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            width: 16px;
            height: 16px;
            stroke: var(--c-gray-500);
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round
        }

        .hi-select {
            padding: 10px 34px 10px 13px;
            border: 1px solid var(--c-border);
            border-radius: var(--radius-sm);
            font-size: 13px;
            outline: none;
            appearance: none;
            background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 9px center/15px;
            cursor: pointer
        }

        .hi-tabs {
            display: flex;
            gap: 4px
        }

        .hi-tab {
            padding: 8px 16px;
            border-radius: 100px;
            font-size: 13px;
            font-weight: 500;
            border: none;
            background: none;
            cursor: pointer;
            color: var(--c-gray-700);
            transition: all .2s
        }

        .hi-tab.active {
            background: var(--c-green-dark);
            color: #fff;
            font-weight: 700
        }

        .hi-tab:hover:not(.active) {
            background: var(--c-gray-100)
        }

        .hi-articles {
            padding: 0 0 56px
        }

        .hi-articles__inner {
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 0 var(--px)
        }

        .hi-featured {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0;
            align-items: stretch;
            margin-bottom: 48px;
            border: 1px solid var(--c-border);
            border-radius: var(--radius-lg);
            overflow: hidden
        }

        .hi-featured__img {
            aspect-ratio: 4/3;
            background: var(--c-green-light);
            overflow: hidden
        }

        .hi-featured__img img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .hi-featured__body {
            padding: 36px 36px 36px 32px;
            display: flex;
            flex-direction: column;
            justify-content: center
        }

        .hi-tags {
            display: flex;
            gap: 8px;
            margin-bottom: 16px;
            flex-wrap: wrap
        }

        .hi-tag {
            font-size: 11px;
            font-weight: 700;
            padding: 4px 10px;
            border-radius: 100px
        }

        .hi-tag--actu {
            background: var(--c-orange);
            color: #fff
        }

        .hi-tag--date {
            background: var(--c-green-light);
            color: var(--c-green-dark)
        }

        .hi-featured__body h2 {
            font-size: clamp(17px, 2vw, 25px);
            font-weight: 800;
            line-height: 1.25;
            margin-bottom: 12px
        }

        .hi-featured__body p {
            font-size: 14px;
            color: var(--c-gray-700);
            margin-bottom: 22px;
            line-height: 1.65
        }

        .hi-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            margin-bottom: 0
        }

        .hi-card {
            border: 1px solid var(--c-border);
            border-radius: var(--radius-md);
            overflow: hidden;
            cursor: pointer;
            transition: box-shadow .25s, transform .25s
        }

        .hi-card:hover {
            box-shadow: var(--shadow-md);
            transform: translateY(-3px)
        }

        .hi-card__img {
            aspect-ratio: 16/9;
            background: var(--c-green-light);
            position: relative;
            overflow: hidden
        }

        .hi-card__img img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .hi-card__badge {
            position: absolute;
            bottom: 8px;
            left: 8px;
            background: rgba(0, 0, 0, .65);
            color: #fff;
            border-radius: var(--radius-sm);
            padding: 4px 8px;
            font-size: 11px;
            font-weight: 700;
            line-height: 1
        }

        .hi-card__badge span {
            display: block;
            font-size: 9px;
            font-weight: 500
        }

        .hi-card__body {
            padding: 16px 18px 20px
        }

        .hi-card__body h3 {
            font-size: 15px;
            font-weight: 700;
            line-height: 1.35;
            margin-bottom: 8px
        }

        .hi-card__body p {
            font-size: 13px;
            color: var(--c-gray-500);
            line-height: 1.55;
            margin-bottom: 12px
        }

        .hi-card__lnk {
            font-size: 12.5px;
            font-weight: 700;
            color: var(--c-green-dark);
            text-decoration: underline;
            cursor: pointer;
            background: none;
            border: none
        }

        .hi-pagination {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin: 40px 0 0
        }

        .hi-pg {
            width: 36px;
            height: 36px;
            border-radius: var(--radius-sm);
            border: 1px solid var(--c-border);
            background: var(--c-white);
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            transition: all .2s
        }

        .hi-pg.active {
            background: var(--c-green-dark);
            color: #fff;
            border-color: var(--c-green-dark)
        }

        .hi-pg:hover:not(.active) {
            background: var(--c-gray-100)
        }

        .hi-newsletter {
            background: var(--c-cream);
            padding: 56px 0
        }

        .hi-newsletter__inner {
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 0 var(--px);
            text-align: center
        }

        .hi-newsletter__inner h3 {
            font-size: 24px;
            font-weight: 800;
            margin-bottom: 8px
        }

        .hi-newsletter__inner p {
            font-size: 14px;
            color: var(--c-gray-500);
            margin-bottom: 24px
        }

        .hi-nl-form {
            display: flex;
            max-width: 400px;
            margin: 0 auto
        }

        .hi-nl-form input {
            flex: 1;
            padding: 12px 16px;
            border: 1px solid var(--c-border);
            border-right: none;
            border-radius: var(--radius-sm) 0 0 var(--radius-sm);
            font-size: 14px;
            outline: none
        }

        .hi-nl-form button {
            background: var(--c-orange);
            color: #fff;
            font-size: 13px;
            font-weight: 700;
            padding: 12px 24px;
            border: none;
            border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
            cursor: pointer;
            transition: background .2s
        }

        .hi-nl-form button:hover {
            background: var(--c-orange-dark)
        }



        /* ══════════════ CTA BANNER ══════════════ */
        .acdm-cta-banner {
            background: var(--c-green-mid);
            padding: 48px var(--px)
        }

        .acdm-cta-banner__inner {
            max-width: var(--max-w);
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 32px;
            flex-wrap: wrap
        }

        .acdm-cta-banner__left {
            display: flex;
            align-items: center;
            gap: 20px
        }

        .acdm-cta-banner__icon {
            width: 64px;
            height: 64px;
            background: rgba(255, 255, 255, .15);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0
        }

        .acdm-cta-banner__icon svg {
            width: 36px;
            height: 36px
        }

        .acdm-cta-banner__text h3 {
            font-size: 20px;
            font-weight: 800;
            color: #fff;
            margin-bottom: 6px
        }

        .acdm-cta-banner__text p {
            font-size: 13.5px;
            color: rgba(255, 255, 255, .75);
            max-width: 420px
        }

        .acdm-cta-banner__btns {
            display: flex;
            gap: 12px;
            flex-wrap: wrap
        }

        .btn-ow {
            background: transparent;
            border: 2px solid #fff;
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 11px 22px;
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: background .2s;
            letter-spacing: .08em;
            text-transform: uppercase
        }

        .btn-ow:hover {
            background: rgba(255, 255, 255, .1)
        }

        .btn-or {
            background: var(--c-orange);
            border: 2px solid var(--c-orange);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 11px 22px;
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: background .2s;
            letter-spacing: .08em;
            text-transform: uppercase
        }

        .btn-or:hover {
            background: var(--c-orange-dark)
        }

        .btn-gd {
            background: var(--c-green-dark);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 11px 22px;
            border-radius: var(--radius-sm);
            cursor: pointer;
            border: 2px solid var(--c-green-dark);
            transition: background .2s;
            letter-spacing: .08em;
            text-transform: uppercase
        }

        .btn-gd:hover {
            background: #163d25
        }

        .btn-gsm {
            background: var(--c-green-dark);
            color: #fff;
            font-size: 13px;
            font-weight: 700;
            padding: 10px 20px;
            border-radius: var(--radius-sm);
            border: none;
            cursor: pointer;
            transition: background .2s
        }

        .btn-gsm:hover {
            background: #163d25
        }

        /* ══════════════ HERO ══════════════ */
        .acdm-hero {
            position: relative;
            min-height: 340px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden
        }

        .acdm-hero--tall {
            min-height: 420px
        }

        .acdm-hero__bg {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            filter: brightness(.45)
        }

        .acdm-hero__ov {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(28, 74, 46, .4), rgba(0, 0, 0, .6))
        }

        .acdm-hero__ct {
            position: relative;
            z-index: 2;
            text-align: center;
            padding: 80px var(--px);
            max-width: 800px
        }

        .acdm-hero__ct h1 {
            font-size: clamp(32px, 5vw, 64px);
            font-weight: 900;
            color: #fff;
            line-height: 1.08;
            margin-bottom: 16px
        }

        .acdm-hero__ct p {
            font-size: clamp(14px, 1.8vw, 18px);
            color: rgba(255, 255, 255, .85);
            max-width: 540px;
            margin: 0 auto
        }

        .acdm-hero__ct--left {
            text-align: left
        }

        .acdm-hero__ct--left h1 {
            font-size: clamp(28px, 4.5vw, 56px)
        }

        .acdm-hero__ct--left p {
            margin: 0
        }

        /* ══════════════ SECTION TITLE ══════════════ */
        .acdm-stitle {
            text-align: center;
            margin-bottom: 48px
        }

        .acdm-stitle h2 {
            font-size: clamp(22px, 3.2vw, 38px);
            font-weight: 800;
            color: var(--c-black);
            margin-bottom: 10px
        }

        .acdm-stitle p {
            font-size: 15px;
            color: var(--c-gray-500);
            max-width: 560px;
            margin: 0 auto
        }



        /* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
        @media(max-width:900px) {
            .acdm-nav__links {
                display: none
            }

            .acdm-nav__cta {
                display: none
            }

            .acdm-nav__burger {
                display: flex
            }

            .acdm-footer__grid {
                grid-template-columns: 1fr 1fr;
                gap: 32px
            }

            .ap-histoire__grid {
                grid-template-columns: 1fr;
                gap: 32px
            }

            .ap-valeurs__grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .ap-equipe__grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .hi-featured {
                grid-template-columns: 1fr
            }

            .hi-featured__body {
                padding: 24px
            }

            .hi-grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .na-stats__inner {
                grid-template-columns: repeat(2, 1fr)
            }

            .na-projets__grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .na-impact__grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .don-body__inner {
                grid-template-columns: 1fr
            }

            .don-pg {
                grid-template-columns: repeat(2, 1fr)
            }

            .acdm-cta-banner__inner {
                flex-direction: column;
                text-align: center
            }

            .acdm-cta-banner__left {
                flex-direction: column;
                text-align: center
            }

            .acdm-cta-banner__btns {
                justify-content: center
            }
        }

        @media(max-width:600px) {
            .acdm-footer__grid {
                grid-template-columns: 1fr;
                gap: 28px
            }

            .ap-valeurs__grid {
                grid-template-columns: 1fr
            }

            .ap-equipe__grid {
                grid-template-columns: 1fr
            }

            .hi-grid {
                grid-template-columns: 1fr
            }

            .na-stats__inner {
                grid-template-columns: repeat(2, 1fr);
                gap: 16px
            }

            .na-projets__grid {
                grid-template-columns: 1fr
            }

            .na-impact__grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .don-pg {
                grid-template-columns: 1fr
            }

            .don-tg {
                grid-template-columns: 1fr
            }

            .don-row {
                grid-template-columns: 1fr
            }

            .hi-filters__inner {
                flex-direction: column;
                align-items: stretch
            }

            .hi-search {
                min-width: unset
            }
        }


/*  don  */

  /* ═══════════════════════════════════════════════════
   ACDM — Design System
   Palette: vert #1c4a2e · orange #d4731a · crème #f5f0e8
═══════════════════════════════════════════════════ */
  :root {
    --c-green-dark: #1c4a2e;
    --c-green-mid: #2d6a44;
    --c-green-light: #e8f0eb;
    --c-orange: #d4731a;
    --c-orange-dark: #b85e10;
    --c-cream: #f5f0e8;
    --c-white: #ffffff;
    --c-black: #0d0d0d;
    --c-gray-700: #444;
    --c-gray-500: #777;
    --c-gray-300: #ccc;
    --c-gray-100: #f4f4f4;
    --c-border: #e0dbd3;
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, .12);
    --max-w: 1200px;
    --px: clamp(20px, 5vw, 80px)
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
  }

  html {
    scroll-behavior: smooth
  }


  img {
    display: block;
    max-width: 100%
  }

  a {
    text-decoration: none;
    color: inherit
  }

  ul {
    list-style: none
  }

  button,
  input,
  select,
  textarea {
    font-family: inherit
  }



  /* ══════════════ CTA BANNER ══════════════ */
  .acdm-cta-banner {
    background: var(--c-green-mid);
    padding: 48px var(--px)
  }

  .acdm-cta-banner__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
  }

  .acdm-cta-banner__left {
    display: flex;
    align-items: center;
    gap: 20px
  }

  .acdm-cta-banner__icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, .15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
  }

  .acdm-cta-banner__icon svg {
    width: 36px;
    height: 36px
  }

  .acdm-cta-banner__text h3 {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px
  }

  .acdm-cta-banner__text p {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .75);
    max-width: 420px
  }

  .acdm-cta-banner__btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
  }

  .btn-ow {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-ow:hover {
    background: rgba(255, 255, 255, .1)
  }

  .btn-or {
    background: var(--c-orange);
    border: 2px solid var(--c-orange);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-or:hover {
    background: var(--c-orange-dark)
  }

  .btn-gd {
    background: var(--c-green-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    border: 2px solid var(--c-green-dark);
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-gd:hover {
    background: #163d25
  }

  .btn-gsm {
    background: var(--c-green-dark);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    transition: background .2s
  }

  .btn-gsm:hover {
    background: #163d25
  }

  /* ══════════════ HERO ══════════════ */
  .acdm-hero {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
  }

  .acdm-hero--tall {
    min-height: 420px
  }

  .acdm-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(.45)
  }

  .acdm-hero__ov {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(28, 74, 46, .4), rgba(0, 0, 0, .6))
  }

  .acdm-hero__ct {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 80px var(--px);
    max-width: 800px
  }

  .acdm-hero__ct h1 {
    font-size: clamp(32px, 5vw, 64px);
    font-weight: 900;
    color: #fff;
    line-height: 1.08;
    margin-bottom: 16px
  }

  .acdm-hero__ct p {
    font-size: clamp(14px, 1.8vw, 18px);
    color: rgba(255, 255, 255, .85);
    max-width: 540px;
    margin: 0 auto
  }

  .acdm-hero__ct--left {
    text-align: left
  }

  .acdm-hero__ct--left h1 {
    font-size: clamp(28px, 4.5vw, 56px)
  }

  .acdm-hero__ct--left p {
    margin: 0
  }

  /* ══════════════ SECTION TITLE ══════════════ */
  .acdm-stitle {
    text-align: center;
    margin-bottom: 48px
  }

  .acdm-stitle h2 {
    font-size: clamp(22px, 3.2vw, 38px);
    font-weight: 800;
    color: var(--c-black);
    margin-bottom: 10px
  }

  .acdm-stitle p {
    font-size: 15px;
    color: var(--c-gray-500);
    max-width: 560px;
    margin: 0 auto
  }

  /* ══════════════════════════════════════════
   PAGE FAIRE UN DON
══════════════════════════════════════════ */
  .don-body {
    padding: 64px 0;
    background: var(--c-cream)
  }

  .don-body__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px);
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 32px;
    align-items: start
  }

  .don-fcard {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 36px 32px
  }

  .don-fg {
    margin-bottom: 22px
  }

  .don-lbl {
    font-size: 13px;
    font-weight: 700;
    color: var(--c-black);
    margin-bottom: 10px;
    display: block
  }

  .don-amts {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
  }

  .don-ab {
    padding: 9px 18px;
    border-radius: var(--radius-sm);
    border: 2px solid var(--c-border);
    background: var(--c-white);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s
  }

  .don-ab.active {
    background: var(--c-orange);
    border-color: var(--c-orange);
    color: #fff
  }

  .don-ab:hover:not(.active) {
    border-color: var(--c-orange);
    color: var(--c-orange)
  }

  .don-ai {
    padding: 9px 14px;
    border: 2px solid var(--c-border);
    border-radius: var(--radius-sm);
    font-size: 13px;
    width: 90px;
    outline: none
  }

  .don-ai:focus {
    border-color: var(--c-green-dark)
  }

  .don-radios {
    display: flex;
    gap: 20px
  }

  .don-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer
  }

  .don-radio input {
    accent-color: var(--c-green-dark);
    width: 16px;
    height: 16px
  }

  .don-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
  }

  .don-inp {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
    outline: none;
    transition: border-color .2s;
    background: var(--c-white)
  }

  .don-inp:focus {
    border-color: var(--c-green-dark)
  }

  .don-inp::placeholder {
    color: var(--c-gray-300)
  }

  .don-sub {
    width: 100%;
    background: var(--c-orange);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 16px;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: background .2s;
    margin-top: 8px
  }

  .don-sub:hover {
    background: var(--c-orange-dark)
  }

  .don-icard {
    background: var(--c-green-dark);
    border-radius: var(--radius-lg);
    padding: 32px 28px;
    color: #fff
  }

  .don-icard h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 10px
  }

  .don-icard>p {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .75);
    margin-bottom: 20px
  }

  .don-ilist {
    margin-bottom: 24px
  }

  .don-ilist li {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .85);
    padding: 6px 0;
    display: flex;
    align-items: center;
    gap: 8px
  }

  .don-ilist li::before {
    content: '•';
    color: var(--c-orange);
    font-weight: 900
  }

  .don-secure {
    background: rgba(255, 255, 255, .1);
    border-radius: var(--radius-md);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px
  }

  .don-secure svg {
    width: 28px;
    height: 28px;
    fill: rgba(255, 255, 255, .7);
    flex-shrink: 0
  }

  .don-secure p {
    font-size: 12px;
    color: rgba(255, 255, 255, .75);
    font-weight: 600;
    margin-bottom: 4px
  }

  .don-sl {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px
  }

  .don-sl span {
    background: rgba(255, 255, 255, .15);
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    color: rgba(255, 255, 255, .8)
  }

  .don-pourquoi {
    padding: 72px 0;
    background: var(--c-white)
  }

  .don-pourquoi__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .don-pg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
  }

  .don-raison__ic {
    width: 52px;
    height: 52px;
    margin-bottom: 14px
  }

  .don-raison__ic svg {
    width: 100%;
    height: 100%
  }

  .don-raison h3 {
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 8px
  }

  .don-raison p {
    font-size: 13.5px;
    color: var(--c-gray-500);
    line-height: 1.6
  }

  .don-temoins {
    padding: 72px 0;
    background: var(--c-cream)
  }

  .don-temoins__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .don-tg {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 40px
  }

  .don-tc {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 24px
  }

  .don-tc>p {
    font-size: 14px;
    color: var(--c-gray-700);
    line-height: 1.65;
    font-style: italic;
    margin-bottom: 20px
  }

  .don-tc__auth {
    display: flex;
    align-items: center;
    gap: 12px
  }

  .don-tc__av {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--c-green-light);
    overflow: hidden;
    flex-shrink: 0
  }

  .don-tc__av img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .don-tc__name {
    font-size: 14px;
    font-weight: 700
  }

  .don-tc__reg {
    font-size: 12px;
    color: var(--c-gray-500)
  }

  .don-faq {
    padding: 72px 0;
    background: var(--c-white)
  }

  .don-faq__inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .don-faq h2 {
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 800;
    text-align: center;
    margin-bottom: 36px
  }

  .don-fitem {
    border-bottom: 1px solid var(--c-border)
  }

  .don-fitem__q {
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    padding: 18px 0;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--c-black)
  }

  .don-fitem__q svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    stroke: var(--c-gray-500);
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s
  }

  .don-fitem.open .don-fitem__q svg {
    transform: rotate(180deg)
  }

  .don-fitem__a {
    overflow: hidden;
    max-height: 0;
    transition: max-height .35s ease, padding .3s;
    font-size: 14px;
    color: var(--c-gray-700);
    line-height: 1.65
  }

  .don-fitem.open .don-fitem__a {
    max-height: 200px;
    padding-bottom: 16px
  }

  /* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
  @media(max-width:900px) {
    .acdm-nav__links {
      display: none
    }

    .acdm-nav__cta {
      display: none
    }

    .acdm-nav__burger {
      display: flex
    }

    .acdm-footer__grid {
      grid-template-columns: 1fr 1fr;
      gap: 32px
    }

    .ap-histoire__grid {
      grid-template-columns: 1fr;
      gap: 32px
    }

    .ap-valeurs__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .ap-equipe__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .hi-featured {
      grid-template-columns: 1fr
    }

    .hi-featured__body {
      padding: 24px
    }

    .hi-grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-stats__inner {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-projets__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-impact__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .don-body__inner {
      grid-template-columns: 1fr
    }

    .don-pg {
      grid-template-columns: repeat(2, 1fr)
    }

    .acdm-cta-banner__inner {
      flex-direction: column;
      text-align: center
    }

    .acdm-cta-banner__left {
      flex-direction: column;
      text-align: center
    }

    .acdm-cta-banner__btns {
      justify-content: center
    }
  }

  @media(max-width:600px) {
    .acdm-footer__grid {
      grid-template-columns: 1fr;
      gap: 28px
    }

    .ap-valeurs__grid {
      grid-template-columns: 1fr
    }

    .ap-equipe__grid {
      grid-template-columns: 1fr
    }

    .hi-grid {
      grid-template-columns: 1fr
    }

    .na-stats__inner {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px
    }

    .na-projets__grid {
      grid-template-columns: 1fr
    }

    .na-impact__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .don-pg {
      grid-template-columns: 1fr
    }

    .don-tg {
      grid-template-columns: 1fr
    }

    .don-row {
      grid-template-columns: 1fr
    }

    .hi-filters__inner {
      flex-direction: column;
      align-items: stretch
    }

    .hi-search {
      min-width: unset
    }
  }

/* nos action */
  :root {
      --c-green-dark: #1c4a2e;
      --c-green-mid: #2d6a44;
      --c-green-light: #e8f0eb;
      --c-orange: #d4731a;
      --c-orange-dark: #b85e10;
      --c-cream: #f5f0e8;
      --c-white: #ffffff;
      --c-black: #0d0d0d;
      --c-gray-700: #444;
      --c-gray-500: #777;
      --c-gray-300: #ccc;
      --c-gray-100: #f4f4f4;
      --c-border: #e0dbd3;
      --radius-sm: 6px;
      --radius-md: 12px;
      --radius-lg: 20px;
      --shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);
      --shadow-md: 0 4px 20px rgba(0, 0, 0, .12);
      --max-w: 1200px;
      --px: clamp(20px, 5vw, 80px)
    }

   

    img {
      display: block;
      max-width: 100%
    }

    a {
      text-decoration: none;
      color: inherit
    }

    ul {
      list-style: none
    }

    button,
    input,
    select,
    textarea {
      font-family: inherit
    }

    /* ══════════════════════════════════════════
   PAGE NOS ACTIONS
══════════════════════════════════════════ */
    .na-stats {
      background: var(--c-green-dark);
      padding: 0 var(--px) 36px
    }

    .na-stats__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      border-top: 1px solid rgba(255, 255, 255, .15);
      padding-top: 32px
    }

    .na-stat {
      display: flex;
      align-items: center;
      gap: 14px
    }

    .na-stat__ic {
      width: 40px;
      height: 40px;
      flex-shrink: 0
    }

    .na-stat__ic svg {
      width: 100%;
      height: 100%;
      stroke: rgba(255, 255, 255, .7);
      fill: none;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round
    }

    .na-stat__num {
      font-size: clamp(20px, 2.5vw, 28px);
      font-weight: 900;
      color: #fff;
      line-height: 1
    }

    .na-stat__lbl {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .55);
      margin-top: 3px
    }

    .na-cats {
      padding: 36px 0 28px;
      background: var(--c-white)
    }

    .na-cats__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--px);
      display: flex;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap
    }

    .na-cat {
      padding: 9px 22px;
      border-radius: 100px;
      border: 2px solid var(--c-border);
      background: var(--c-white);
      font-size: 13.5px;
      font-weight: 500;
      cursor: pointer;
      color: var(--c-gray-700);
      transition: all .2s
    }

    .na-cat.active {
      background: var(--c-green-dark);
      border-color: var(--c-green-dark);
      color: #fff;
      font-weight: 700
    }

    .na-cat:hover:not(.active) {
      border-color: var(--c-green-dark);
      color: var(--c-green-dark)
    }

    .na-projets {
      padding: 0 0 64px;
      background: var(--c-white)
    }

    .na-projets__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--px)
    }

    .na-projets__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px
    }

    .na-pcard {
      border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--c-border);
      cursor: pointer;
      transition: box-shadow .25s, transform .25s
    }

    .na-pcard:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px)
    }

    .na-pcard__img {
      aspect-ratio: 4/3;
      position: relative;
      overflow: hidden;
      background: var(--c-green-light)
    }

    .na-pcard__img img {
      width: 100%;
      height: 100%;
      object-fit: cover
    }

    .na-pcard__cat {
      position: absolute;
      bottom: 10px;
      left: 10px;
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 100px;
      color: #fff
    }

    .na-pcard__cat--ag {
      background: var(--c-orange)
    }

    .na-pcard__cat--ed {
      background: #3b82f6
    }

    .na-pcard__cat--sa {
      background: #ef4444
    }

    .na-pcard__body {
      padding: 18px 20px 22px
    }

    .na-pcard__body h3 {
      font-size: 16px;
      font-weight: 800;
      margin-bottom: 4px
    }

    .na-pcard__region {
      font-size: 12px;
      color: var(--c-gray-500);
      margin-bottom: 10px
    }

    .na-pcard__body p {
      font-size: 13.5px;
      color: var(--c-gray-700);
      line-height: 1.55;
      margin-bottom: 14px
    }

    .na-impact {
      background: var(--c-green-dark);
      padding: 72px 0
    }

    .na-impact__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--px)
    }

    .na-impact h2 {
      text-align: center;
      font-size: clamp(24px, 3vw, 36px);
      font-weight: 800;
      color: #fff;
      margin-bottom: 48px
    }

    .na-impact__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      text-align: center
    }

    .na-inum {
      font-size: clamp(28px, 3.5vw, 44px);
      font-weight: 900;
      color: #fff
    }

    .na-ilbl {
      font-size: 13px;
      color: rgba(255, 255, 255, .6);
      margin-top: 4px
    }

    .na-iic {
      width: 48px;
      height: 48px;
      margin: 0 auto 12px
    }

    .na-iic svg {
      width: 100%;
      height: 100%;
      stroke: rgba(255, 255, 255, .6);
      fill: none;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round
    }

    .na-partenaires {
      padding: 56px 0;
      background: var(--c-cream)
    }

    .na-partenaires__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--px)
    }

    .na-part-logos {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 40px;
      flex-wrap: wrap;
      filter: grayscale(1);
      opacity: .55;
      margin-top: 32px
    }

    .na-part-logo {
      font-size: 12px;
      font-weight: 800;
      color: var(--c-gray-700);
      text-transform: uppercase;
      letter-spacing: .1em
    }



    /* ══════════════ HERO ══════════════ */
    .acdm-hero {
      position: relative;
      min-height: 340px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden
    }

    .acdm-hero--tall {
      min-height: 420px
    }

    .acdm-hero__bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      filter: brightness(.45)
    }

    .acdm-hero__ov {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(28, 74, 46, .4), rgba(0, 0, 0, .6))
    }

    .acdm-hero__ct {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 80px var(--px);
      max-width: 800px
    }

    .acdm-hero__ct h1 {
      font-size: clamp(32px, 5vw, 64px);
      font-weight: 900;
      color: #fff;
      line-height: 1.08;
      margin-bottom: 16px
    }

    .acdm-hero__ct p {
      font-size: clamp(14px, 1.8vw, 18px);
      color: rgba(255, 255, 255, .85);
      max-width: 540px;
      margin: 0 auto
    }

    .acdm-hero__ct--left {
      text-align: left
    }

    .acdm-hero__ct--left h1 {
      font-size: clamp(28px, 4.5vw, 56px)
    }

    .acdm-hero__ct--left p {
      margin: 0
    }

    /* ══════════════ SECTION TITLE ══════════════ */
    .acdm-stitle {
      text-align: center;
      margin-bottom: 48px
    }

    .acdm-stitle h2 {
      font-size: clamp(22px, 3.2vw, 38px);
      font-weight: 800;
      color: var(--c-black);
      margin-bottom: 10px
    }

    .acdm-stitle p {
      font-size: 15px;
      color: var(--c-gray-500);
      max-width: 560px;
      margin: 0 auto
    }



    /* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
    @media(max-width:900px) {
      .acdm-nav__links {
        display: none
      }

      .acdm-nav__cta {
        display: none
      }

      .acdm-nav__burger {
        display: flex
      }

      .acdm-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px
      }

      .ap-histoire__grid {
        grid-template-columns: 1fr;
        gap: 32px
      }

      .ap-valeurs__grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .ap-equipe__grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .hi-featured {
        grid-template-columns: 1fr
      }

      .hi-featured__body {
        padding: 24px
      }

      .hi-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .na-stats__inner {
        grid-template-columns: repeat(2, 1fr)
      }

      .na-projets__grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .na-impact__grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .don-body__inner {
        grid-template-columns: 1fr
      }

      .don-pg {
        grid-template-columns: repeat(2, 1fr)
      }

      .acdm-cta-banner__inner {
        flex-direction: column;
        text-align: center
      }

      .acdm-cta-banner__left {
        flex-direction: column;
        text-align: center
      }

      .acdm-cta-banner__btns {
        justify-content: center
      }
    }

    @media(max-width:600px) {
      .acdm-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px
      }

      .ap-valeurs__grid {
        grid-template-columns: 1fr
      }

      .ap-equipe__grid {
        grid-template-columns: 1fr
      }

      .hi-grid {
        grid-template-columns: 1fr
      }

      .na-stats__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px
      }

      .na-projets__grid {
        grid-template-columns: 1fr
      }

      .na-impact__grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .don-pg {
        grid-template-columns: 1fr
      }

      .don-tg {
        grid-template-columns: 1fr
      }

      .don-row {
        grid-template-columns: 1fr
      }

      .hi-filters__inner {
        flex-direction: column;
        align-items: stretch
      }

      .hi-search {
        min-width: unset
      }
    }


/* contact  */
    :root {
      --green-dark: #0a3f21;
      --green: #1f6f39;
      --green-light: #2a8c4d;
      --orange: #f26b1d;
      --text: #1f1f1f;
      --muted: #6b6b6b;
      --border: #e7e7e7;
      --bg-soft: #f7f5f1;
      --white: #ffffff;
      --shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    }

   

    a {
      text-decoration: none;
      color: inherit;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .container {
      width: min(1240px, calc(100% - 32px));
      margin: 0 auto;
    }

   
    /* HERO */
    .hero {
      position: relative;
      min-height: 290px;
      background:
        linear-gradient(90deg, rgba(6, 55, 27, 0.93), rgba(6, 55, 27, 0.78)),
        url("images/hero-contact.jpg") center/cover no-repeat;
      overflow: hidden;
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(18, 88, 39, 0.16);
      pointer-events: none;
    }

    .hero-content {
      position: relative;
      z-index: 1;
      min-height: 290px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .hero-text {
      padding: 32px 0;
      max-width: 620px;
    }

    .hero-text h1 {
      color: #fff;
      font-size: clamp(2.2rem, 4vw, 4.1rem);
      font-weight: 800;
      letter-spacing: -0.03em;
    }

    .hero-text p {
      margin-top: 12px;
      color: rgba(255, 255, 255, 0.92);
      font-size: clamp(1.05rem, 2vw, 1.6rem);
      font-weight: 400;
    }

    .hero-line {
      display: block;
      width: 42px;
      height: 4px;
      margin-top: 18px;
      border-radius: 999px;
      background: var(--orange);
    }

    .hero-illustration {
      width: 190px;
      opacity: 0.72;
      transform: translateY(8px);
    }

    /* CONTACT */
    .contact-section {
      padding: 36px 0 68px;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1.02fr 0.98fr;
      gap: 26px;
      align-items: start;
    }

    .form-card,
    .info-card {
      background: #fff;
    }

    .form-card {
      padding: 18px 22px 0 0;
    }

    .info-card {
      padding: 18px 0 0 26px;
      border-left: 1px solid #ececec;
    }

    .section-title {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 28px;
    }

    .title-icon {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: #eef5ef;
      color: var(--green);
      font-size: 24px;
      box-shadow: inset 0 0 0 1px rgba(31, 111, 57, 0.08);
    }

    .section-title h2 {
      font-size: 28px;
      line-height: 1.1;
      font-weight: 800;
      color: #222;
    }

    .field {
      margin-bottom: 18px;
    }

    .field label {
      display: inline-block;
      margin-bottom: 9px;
      font-size: 14px;
      color: #262626;
      font-weight: 500;
    }

    .field label span {
      color: #c62b2b;
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      border: 1px solid #dddddd;
      border-radius: 9px;
      background: #fff;
      padding: 14px 16px;
      font: inherit;
      outline: none;
      transition: 0.2s ease;
      box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.02);
    }

    .field input::placeholder,
    .field textarea::placeholder {
      color: #a7a7a7;
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      border-color: rgba(31, 111, 57, 0.55);
      box-shadow: 0 0 0 4px rgba(31, 111, 57, 0.08);
    }

    .field textarea {
      resize: vertical;
      min-height: 170px;
    }

    .submit-btn {
      height: 46px;
      min-width: 186px;
      border: 0;
      border-radius: 6px;
      background: linear-gradient(180deg, #ff7b2d, #f26b1d);
      color: #fff;
      font-weight: 700;
      letter-spacing: 0.02em;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 12px 24px rgba(242, 107, 29, 0.22);
      cursor: pointer;
      margin-top: 4px;
    }

    .success-message {
      margin-top: 18px;
      font-size: 14px;
      color: #616161;
    }

    .error {
      display: block;
      min-height: 18px;
      margin-top: 7px;
      font-size: 12px;
      color: #d03a3a;
    }

    .info-item {
      display: flex;
      gap: 15px;
      margin-bottom: 24px;
    }

    .info-icon {
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      display: grid;
      place-items: center;
      color: var(--green);
      font-size: 21px;
    }

    .info-item h3 {
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 5px;
      color: #222;
    }

    .info-item p {
      font-size: 14px;
      color: #222;
    }

    .map-wrap {
      margin-top: 10px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: var(--shadow);
      border: 1px solid #ececec;
    }

    .map-wrap iframe {
      width: 100%;
      height: 230px;
      border: 0;
      display: block;
    }

    /* OFFICES */
    .offices-section {
      background: linear-gradient(180deg, #fbfaf7, #f8f6f2);
      padding: 30px 0 72px;
    }

    .center-head {
      text-align: center;
      max-width: 860px;
      margin: 0 auto 34px;
    }

    .mini-icon {
      width: 44px;
      height: 44px;
      margin: 0 auto 10px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--green);
      background: #edf5ee;
      font-size: 20px;
    }

    .center-head h2 {
      font-size: 29px;
      font-weight: 800;
      margin-bottom: 10px;
    }

    .center-head p {
      font-size: 15px;
      color: #555;
      line-height: 1.7;
    }

    .offices-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .office-card {
      background: #fff;
      border: 1px solid #ededed;
      border-radius: 14px;
      box-shadow: var(--shadow);
      text-align: center;
      padding: 26px 20px 22px;
    }

    .office-pin {
      width: 42px;
      height: 42px;
      margin: 0 auto 16px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--green);
      font-size: 22px;
    }

    .office-card h3 {
      font-size: 20px;
      font-weight: 800;
      letter-spacing: 0.03em;
      margin-bottom: 14px;
    }

    .office-card p {
      color: #363636;
      font-size: 14px;
      line-height: 1.7;
    }

    .office-card .line {
      width: 100%;
      height: 2px;
      background: #2f6f3f;
      margin: 18px 0 15px;
      opacity: 0.7;
    }

    .office-card h4 {
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 10px;
    }

    /* SOCIAL */
    .social-section {
      padding: 42px 0 44px;
      text-align: center;
    }

    .social-section h2 {
      font-size: 28px;
      font-weight: 800;
      margin-bottom: 8px;
    }

    .social-section p {
      font-size: 15px;
      color: #555;
    }

    .social-grid {
      display: flex;
      justify-content: center;
      gap: 82px;
      margin-top: 28px;
      flex-wrap: wrap;
    }

    .social-item {
      display: grid;
      justify-items: center;
      gap: 12px;
      color: #222;
    }

    .social-icon {
      width: 62px;
      height: 62px;
      border-radius: 50%;
      border: 3px solid var(--green);
      display: grid;
      place-items: center;
      color: var(--green);
      font-size: 28px;
      font-weight: 700;
    }

    /* CTA */
    .cta-section {
      background: linear-gradient(90deg, #0e5d2a, #1f7b3a);
      padding: 24px 0;
    }

    .cta-grid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .cta-text {
      display: flex;
      align-items: center;
      gap: 16px;
      color: #fff;
    }

    .cta-badge {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.1);
      display: grid;
      place-items: center;
      font-size: 32px;
      flex: 0 0 72px;
    }

    .cta-text h2 {
      font-size: 24px;
      font-weight: 800;
      margin-bottom: 6px;
    }

    .cta-text p {
      max-width: 700px;
      color: rgba(255, 255, 255, 0.9);
      font-size: 14px;
    }

    .cta-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .cta-outline {
      height: 46px;
      padding: 0 18px;
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255, 255, 255, 0.55);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
    }

   

    /* RESPONSIVE */
    @media (max-width: 1100px) {
      .menu {
        gap: 22px;
      }

      .contact-grid {
        grid-template-columns: 1fr;
      }

      .info-card {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #ececec;
        padding-top: 26px;
      }

      .offices-grid {
        grid-template-columns: 1fr;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .footer-nav {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        padding-top: 18px;
      }
    }

    @media (max-width: 860px) {

      .menu,
      .desktop-don {
        display: none;
      }

      .burger {
        display: inline-block;
      }

      .menu.open {
        display: flex;
        position: absolute;
        top: 92px;
        left: 0;
        right: 0;
        background: #fff;
        flex-direction: column;
        gap: 0;
        padding: 14px 16px 18px;
        border-top: 1px solid #ececec;
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
      }

      .menu.open a {
        width: 100%;
        padding: 14px 8px;
        border-bottom: 1px solid #f1f1f1;
      }

      .menu.open a.active::after {
        display: none;
      }

      .hero-content {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 28px 0;
      }

      .hero-illustration {
        align-self: flex-end;
        width: 140px;
        opacity: 0.56;
      }

      .cta-grid {
        flex-direction: column;
        align-items: flex-start;
      }

      .cta-actions {
        width: 100%;
      }

      .cta-outline,
      .cta-actions .don-btn {
        width: 100%;
      }

      .social-grid {
        gap: 36px;
      }
    }

    @media (max-width: 560px) {
      .container {
        width: min(100% - 22px, 1240px);
      }

      .nav {
        min-height: 78px;
      }

      .logo img {
        width: 140px;
      }

      .hero {
        min-height: 250px;
      }

      .hero-content {
        min-height: 250px;
      }

      .hero-text h1 {
        font-size: 2.1rem;
      }

      .hero-text p {
        font-size: 1rem;
      }

      .section-title h2 {
        font-size: 22px;
      }

      .title-icon {
        width: 50px;
        height: 50px;
      }

      .submit-btn {
        width: 100%;
      }

      .cta-text {
        align-items: flex-start;
      }

      .cta-badge {
        width: 60px;
        height: 60px;
        font-size: 28px;
        flex-basis: 60px;
      }
    }

/*  about */
 /* ══════════════════════════════════════════
   PAGE À PROPOS
══════════════════════════════════════════ */
  .ap-histoire {
    padding: 72px 0;
    background: var(--c-white)
  }

  .ap-histoire__grid {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
  }

  .ap-histoire__block {
    margin-bottom: 28px
  }

  .ap-histoire__block:last-child {
    margin-bottom: 0
  }

  .ap-histoire__block h2 {
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 800;
    margin-bottom: 10px
  }

  .ap-histoire__block h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px
  }

  .ap-histoire__block p {
    font-size: 14.5px;
    color: var(--c-gray-700);
    line-height: 1.7
  }

  .ap-histoire__img {
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4/3;
	  border:1px solid silver;
    background: #fff
  }

  .ap-histoire__img a {
    width: 100%;
    height: 100%
  }
  .ap-histoire__img img {
    width: 100%;
    height: 100%;
	      min-width: 100%;
    object-fit: cover
  }

  .ap-valeurs {
    padding: 72px 0;
    background: var(--c-cream)
  }

  .ap-valeurs__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .ap-valeurs__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
  }

  .ap-vcard {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 32px 20px 28px;
    text-align: center
  }

  .ap-vcard__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px
  }

  .ap-vcard__icon svg {
    width: 100%;
    height: 100%
  }

  .ap-vcard h3 {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 10px
  }

  .ap-vcard p {
    font-size: 13px;
    color: var(--c-gray-500);
    line-height: 1.6
  }

  .ap-equipe {
    padding: 72px 0;
    background: var(--c-white)
  }

  .ap-equipe__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .ap-equipe__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
  }

  .ap-mcard {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 16px 20px
  }

  .ap-mcard__av {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--c-green-light)
  }

  .ap-mcard__av img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .ap-mcard h4 {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 3px
  }

  .ap-mcard p {
    font-size: 12px;
    color: var(--c-gray-500)
  }

  .ap-parcours {
    padding: 72px 0;
    background: var(--c-white);
    overflow: hidden
  }

  .ap-parcours__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--px)
  }

  .ap-milestones {
    display: flex;
    justify-content: space-around;
    gap: 12px;
    margin-bottom: 16px;
    overflow-x: auto;
    padding-bottom: 4px
  }

  .ap-milestone {
    text-align: center;
    flex: 1;
    min-width: 90px
  }

  .ap-milestone__icon {
    width: 36px;
    height: 36px;
    margin: 0 auto 8px
  }

  .ap-milestone__icon svg {
    width: 100%;
    height: 100%
  }

  .ap-milestone__label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--c-gray-700);
    line-height: 1.35
  }

  .ap-timeline {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 8px 0 0;
    overflow-x: auto;
    padding-bottom: 4px;
    min-height: 72px
  }

  .ap-timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(to right, var(--c-orange), var(--c-green-dark));
    transform: translateY(-50%);
    z-index: 0
  }

  .ap-tl-year {
    position: relative;
    z-index: 1;
    text-align: center;
    flex: 1;
    min-width: 56px
  }

  .ap-tl-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--c-orange);
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px var(--c-orange);
    margin: 0 auto 5px
  }

  .ap-tl-dot.main {
    width: 16px;
    height: 16px;
    background: var(--c-green-dark);
    box-shadow: 0 0 0 2px var(--c-green-dark)
  }

  .ap-tl-num {
    font-size: 13px;
    font-weight: 800;
    color: var(--c-black)
  }

  .ap-tl-evt {
    font-size: 9.5px;
    color: var(--c-gray-500);
    line-height: 1.3;
    margin-top: 3px;
    max-width: 72px;
    margin-left: auto;
    margin-right: auto
  }




  /* ══════════════ CTA BANNER ══════════════ */
  .acdm-cta-banner {
    background: var(--c-green-mid);
    padding: 48px var(--px)
  }

  .acdm-cta-banner__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
  }

  .acdm-cta-banner__left {
    display: flex;
    align-items: center;
    gap: 20px
  }

  .acdm-cta-banner__icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, .15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
  }

  .acdm-cta-banner__icon svg {
    width: 36px;
    height: 36px
  }

  .acdm-cta-banner__text h3 {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px
  }

  .acdm-cta-banner__text p {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .75);
    max-width: 420px
  }

  .acdm-cta-banner__btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
  }

  .btn-ow {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-ow:hover {
    background: rgba(255, 255, 255, .1)
  }

  .btn-or {
    background: var(--c-orange);
    border: 2px solid var(--c-orange);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-or:hover {
    background: var(--c-orange-dark)
  }

  .btn-gd {
    background: var(--c-green-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    border: 2px solid var(--c-green-dark);
    transition: background .2s;
    letter-spacing: .08em;
    text-transform: uppercase
  }

  .btn-gd:hover {
    background: #163d25
  }

  .btn-gsm {
    background: var(--c-green-dark);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    transition: background .2s
  }

  .btn-gsm:hover {
    background: #163d25
  }

  /* ══════════════ HERO ══════════════ */
  .acdm-hero {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
  }

  .acdm-hero--tall {
    min-height: 420px
  }

  .acdm-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(.45)
  }

  .acdm-hero__ov {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(28, 74, 46, .4), rgba(0, 0, 0, .6))
  }

  .acdm-hero__ct {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 80px var(--px);
    max-width: 800px
  }

  .acdm-hero__ct h1 {
    font-size: clamp(32px, 5vw, 64px);
    font-weight: 900;
    color: #fff;
    line-height: 1.08;
    margin-bottom: 16px
  }

  .acdm-hero__ct p {
    font-size: clamp(14px, 1.8vw, 18px);
    color: rgba(255, 255, 255, .85);
    max-width: 540px;
    margin: 0 auto
  }

  .acdm-hero__ct--left {
    text-align: left
  }

  .acdm-hero__ct--left h1 {
    font-size: clamp(28px, 4.5vw, 56px)
  }

  .acdm-hero__ct--left p {
    margin: 0
  }

  /* ══════════════ SECTION TITLE ══════════════ */
  .acdm-stitle {
    text-align: center;
    margin-bottom: 48px
  }

  .acdm-stitle h2 {
    font-size: clamp(22px, 3.2vw, 38px);
    font-weight: 800;
    color: var(--c-black);
    margin-bottom: 10px
  }

  .acdm-stitle p {
    font-size: 15px;
    color: var(--c-gray-500);
    max-width: 560px;
    margin: 0 auto
  }



  /* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
  @media(max-width:900px) {
    .acdm-nav__links {
      display: none
    }

    .acdm-nav__cta {
      display: none
    }

    .acdm-nav__burger {
      display: flex
    }

    .acdm-footer__grid {
      grid-template-columns: 1fr 1fr;
      gap: 32px
    }

    .ap-histoire__grid {
      grid-template-columns: 1fr;
      gap: 32px
    }

    .ap-valeurs__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .ap-equipe__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .hi-featured {
      grid-template-columns: 1fr
    }

    .hi-featured__body {
      padding: 24px
    }

    .hi-grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-stats__inner {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-projets__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .na-impact__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .don-body__inner {
      grid-template-columns: 1fr
    }

    .don-pg {
      grid-template-columns: repeat(2, 1fr)
    }

    .acdm-cta-banner__inner {
      flex-direction: column;
      text-align: center
    }

    .acdm-cta-banner__left {
      flex-direction: column;
      text-align: center
    }

    .acdm-cta-banner__btns {
      justify-content: center
    }
  }

  @media(max-width:600px) {
    .acdm-footer__grid {
      grid-template-columns: 1fr;
      gap: 28px
    }

    .ap-valeurs__grid {
      grid-template-columns: 1fr
    }

    .ap-equipe__grid {
      grid-template-columns: 1fr
    }

    .hi-grid {
      grid-template-columns: 1fr
    }

    .na-stats__inner {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px
    }

    .na-projets__grid {
      grid-template-columns: 1fr
    }

    .na-impact__grid {
      grid-template-columns: repeat(2, 1fr)
    }

    .don-pg {
      grid-template-columns: 1fr
    }

    .don-tg {
      grid-template-columns: 1fr
    }

    .don-row {
      grid-template-columns: 1fr
    }

    .hi-filters__inner {
      flex-direction: column;
      align-items: stretch
    }

    .hi-search {
      min-width: unset
    }
  }


/* contact  */
#contactForm .wpcf7-form {
    width: 100%;
}

#contactForm .field {
    margin-bottom: 20px;
}

#contactForm .wpcf7-form-control-wrap {
    display: block;
}

#contactForm input,
#contactForm select,
#contactForm textarea {
    width: 100%;
}

#contactForm .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 13px;
    color: #dc2626;
}

#contactForm .wpcf7-response-output {
    margin-top: 20px !important;
    border-radius: 10px;
}

#contactForm .submit-btn {
    cursor: pointer;
    border: none;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #16a34a;
    color: #16a34a;
}
