:root {
            --bg: #fafafa;
            --line: #1a1a1a;
            --text: #111111;
            --muted: #8a8a86;
        }

        * {
            box-sizing: border-box;
        }

        h3{
            font-weight: 300;

        }

        body {
            margin: 0;
            background: var(--bg);
            color: var(--text);
            justify-content: center;
        }

        #portrait{
            margin-top: 80px;
            display: flex;
            flex-direction: row;
            column-gap: 60px;
            margin-bottom: 60px;
            padding: 30px;
        }

        #portrait > * {
    flex: 1;
    min-width: 0; /* évite qu'une colonne déborde si elle contient une image ou un texte long */
}

        #bjr{
            display: flex;
            flex-direction: column;
            row-gap: 42px;
        }

        #moi{
            width: 100%;
            object-fit: cover;
            transition: border-radius 0.2s ease-in-out;
            border-radius: 0;
        }

        #moi:hover{
            border-radius: 24px;
        }


        #infos{
            width: 100%;
            display: flex;
            flex-direction: column;
            row-gap: 12px;
        }

        #prez{
            row-gap: 12px;
            display: flex;
            flex-direction: column;
        }

.line {
    display: flex;
    flex-direction: row;
    column-gap: 0px;
    align-items: baseline;
    padding: 0;
    margin: 0px;
    height: auto;
}

.line > :first-child {
    flex: 0 0 150px;
}

.line > :last-child {
    flex: 1;
    min-width: 0;
}

        .page {
            width: 100%;
            display: flex;
            flex-direction: column;
            row-gap: 56px;
            padding: 30px;
        }

        #cv {
            display: flex;
            flex-direction: row;
            column-gap: 60px;
        }

        .wrap {
            width: 100%;
            display: flex;
            flex-direction: column;
            row-gap: 10px;
        }

        .eyebrow {
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 0.04em;
            margin: 0 0 1px;
        }

        .accordion {
            width: 100%;
        }

        .item {
            border-bottom: 1px solid var(--line);
        }

        .top {
            border-top: 0px solid;
        }

        .item-header {
            width: 100%;
            background: none;
            border: none;
            text-align: left;
            cursor: pointer;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 24px;
            padding: 22px 4px;
            transition: background 0.2s ease;
        }

        .item-text {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .item-title {
            font-size: clamp(1.5rem, 1.4583rem + 0.1333vw, 1.625rem);
            font-weight: 400;
            line-height: 1.15;
        }

        .item-meta {
            font-size: clamp(0.875rem, 0.8333rem + 0.1333vw, 1rem);
            color: var(--muted);
        }

        .icon {
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            margin-top: 6px;
            position: relative;
            transition: transform 0.3s ease;
        }

        .icon::before,
        .icon::after {
            content: "";
            position: absolute;
            background: var(--text);
            transition: transform 0.3s ease;
        }

        /* barre verticale */
        .icon::before {
            left: 50%;
            top: 0;
            width: 2px;
            height: 100%;
            transform: translateX(-50%);
        }

        /* barre horizontale */
        .icon::after {
            top: 50%;
            left: 0;
            width: 100%;
            height: 2px;
            transform: translateY(-50%);
        }

        /* survol : le + tourne de 90° */
        .item-header:hover .icon {
            transform: rotate(90deg);
        }

        /* ouvert : le + devient un x (45°), prioritaire sur le survol */
        .item.open .icon {
            transform: rotate(45deg);
        }

        .item-panel {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease;
        }

        .item-panel-inner {
            padding: 0 4px 16px;
            font-size: 18px;
            line-height: 1.6;
            color: #4a4a47;
        }

        #playlist{
            padding: 30px;
            margin-bottom: 100px;
            margin-top: 100px;
        }

        iframe{
            box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.276);
            border-radius: 12px;
        }



    /* RESPONSIVE */
@media (max-width: 800px) {
    #portrait {
        flex-direction: column;
        column-gap: 0;
        row-gap: 40px;
    }

    h3 {
        line-height: 160%;
    }

    #cv {
        display: flex;
        flex-direction: column;
        row-gap: 88px;
    }
}
