/* ============================================================
   RESET
============================================================ */

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

/* ============================================================
   DESIGN SYSTEM
============================================================ */

:root {
    --font-text: "JetBrains Mono", monospace;
}

html,
body {
    background: var(--bg);
}

body {
    color: var(--ink);
    font-size: 14px;
}

a {
    color: inherit;
}

/* ============================================================
   CONTENT
============================================================ */

.about {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 25px 25px 65px;
}

/* ============================================================
   TEXT
============================================================ */

.about__text {
    font-family: var(--font-text);
    line-height: 1.32;
    word-break: break-word;
}

.about__text p {
    margin: 0;
}

.about__text .spacer {
    height: 1.32em;
}

/* ============================================================
   GALLERY
============================================================ */

.about__gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.about__gallery img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 167 / 209;
    object-fit: cover;
}

/* ============================================================
   TREE
============================================================ */

.about-tree {
    font-family: var(--font-text);
    line-height: 1.6;
    background: var(--bg);
    overflow: clip;
    word-break: break-word;
}

/* ============================================================
   DESKTOP GRID (Figma: 10 cols, 20px gutter, 80px margin)
============================================================ */

@media (min-width: 1024px) {

    .about {
        display: grid;
        grid-template-columns: repeat(10, 1fr);
        column-gap: 20px;
        row-gap: 40px;
        align-items: start;
        /* Figma: Content beginnt bei y=100, abzüglich Header-Höhe
           (40px + 10px Padding + 1.6 × 14px Zeilenhöhe) */
        padding: calc(100px - (50px + 1.6 * 14px)) 80px 65px;
    }

    .about__text {
        grid-column: 1 / 4;
        grid-row: 1;
    }

    .about-tree {
        grid-column: 1 / 4;
        grid-row: 2;
    }

    .about__gallery {
        grid-column: 7 / 11;
        grid-row: 1 / span 2;
        column-gap: 20px;
        /* Oberkante auf der Grundlinie der ersten Textzeile:
           JetBrains-Mono-Ascent 1.02em, line-height 1.32 ohne Half-Leading */
        margin-top: 1.02em;
    }

    .about__gallery img {
        aspect-ratio: 240 / 320;
    }

}
