.page-header {
            padding: 3rem 1.5rem 1.5rem;
            text-align: center;
        }

        .page-kicker {
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--couleur-coeur-mystique);
            margin-bottom: 0.5rem;
        }

        .page-header h1 {
            font-size: 2.2rem;
            margin: 0 0 0.75rem;
            border: none;
        }

        .page-header p {
            max-width: 560px;
            margin: 0 auto;
            color: var(--couleur-fond-secondaire);
            font-size: 1.05rem;
        }

        .decoration-bar {
            width: 60px;
            height: 4px;
            border-radius: 2px;
            background: linear-gradient(90deg, var(--couleur-coeur-mystique), var(--couleur-accent-dore));
            margin: 1.25rem auto 0;
        }

        .projets-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 1.75rem;
            max-width: 1100px;
            margin: 2.5rem auto;
            padding: 0 1.5rem 3rem;
        }

        .projet-card {
            background: var(--couleur-surface, #fff);
            border-radius: var(--rayon-carte, 12px);
            overflow: hidden;
            box-shadow: 0 2px 12px rgba(0,0,0,0.08);
            display: flex;
            flex-direction: column;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .projet-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.13);
        }

        .projet-card__image {
            width: 100%;
            aspect-ratio: 3 / 2;
            object-fit: cover;
            display: block;
            background: var(--couleur-douceur-mystique, #ede9f5);
        }

        .projet-card__image--placeholder {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3rem;
            aspect-ratio: 3 / 2;
            background: var(--couleur-douceur-mystique, #ede9f5);
        }

        .projet-card__body {
            padding: 1.25rem 1.25rem 1rem;
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .projet-card__status {
            display: inline-block;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 0.2rem 0.7rem;
            border-radius: 999px;
            width: fit-content;
        }

        .projet-card__status--en-cours {
            background: #fff4d6;
            color: #a07000;
            border: 1.5px solid #e1b14d;
        }

        .projet-card__status--termine {
            background: #e6f4ea;
            color: #2e7d32;
            border: 1.5px solid #66bb6a;
        }

        .projet-card__status--pause {
            background: #f0f0f0;
            color: #555;
            border: 1.5px solid #aaa;
        }

        .projet-card__title {
            font-size: 1.2rem;
            font-weight: 700;
            margin: 0;
            color: var(--couleur-texte-principal, #1a1a1a);
        }

        .projet-card__desc {
            font-size: 0.95rem;
            color: var(--couleur-fond-secondaire, #555);
            flex: 1;
            margin: 0;
            line-height: 1.5;
        }

        .projet-card__link {
            display: inline-block;
            margin-top: 0.75rem;
            color: var(--couleur-coeur-mystique);
            font-weight: 600;
            font-size: 0.9rem;
            text-decoration: none;
            transition: opacity 0.2s;
        }

        .projet-card__link:hover {
            opacity: 0.75;
            text-decoration: underline;
        }

        .projets-empty {
            text-align: center;
            color: var(--couleur-fond-secondaire, #888);
            font-size: 1rem;
            padding: 3rem 1rem;
            grid-column: 1 / -1;
        }