/* ── bsb-bio ─────────────────────────────────────────────────────────────── */

.bsb-bio-section {
    position:         relative;
    padding:          10rem 0 0;
    background-color: #f7f7f7;
    overflow:         hidden;
    z-index:          5;
}

.bio-container {
    display:         flex;
    align-items:     flex-end;
    justify-content: space-between;
    gap:             4rem;
}

/* ── Content column ───────────────────────────────────────────────────────── */

.bsb-bio-content {
    flex:           1;
    max-width:      600px;
    padding-bottom: 10rem;
}

.bsb-bio-heading {
    font-family:    var(--bsb-font-display);
    font-size:      clamp(2rem, 4vw, 3.5rem);
    font-weight:    700;
    text-transform: uppercase;
    color:          var(--bsb-color-text);
    margin-bottom:  2.5rem;
    line-height:    1.1;
    letter-spacing: -0.02em;
}

.bsb-bio-body p {
    font-family:   var(--bsb-font-primary);
    font-size:     clamp(1rem, 1.2vw, 1.125rem);
    line-height:   1.8;
    color:         #333;
    margin-bottom: 2rem;
    font-weight:   400;
}

.bsb-bio-body p:last-child {
    margin-bottom: 0;
}

.bsb-bio-btn {
    margin-top: 2rem;
}

/* ── Image column ─────────────────────────────────────────────────────────── */

.bsb-bio-image-wrapper {
    flex:             1;
    display:          flex;
    justify-content:  flex-end;
    position:         relative;
}

.bsb-bio-image-inner {
    width:     100%;
    max-width: 600px;
}

.bsb-bio-image {
    width:            100%;
    height:           auto;
    object-fit:       cover;
    display:          block;
    transform-origin: center right;
}

/* ── Placeholder ──────────────────────────────────────────────────────────── */

.bsb-bio-image-placeholder {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           100%;
    min-height:      400px;
    background:      #e8e8e8;
    color:           rgba(0, 0, 0, 0.3);
    font-size:       0.8rem;
    font-style:      italic;
}

/* ── Animation initial states (frontend only) ─────────────────────────────── */

.bsb-bio-section:not(.bsb-bio-section--preview) .bsb-bio-heading,
.bsb-bio-section:not(.bsb-bio-section--preview) .bsb-bio-body p,
.bsb-bio-section:not(.bsb-bio-section--preview) .bsb-bio-btn {
    opacity:   0;
    transform: translateY(20px);
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
    .bio-container {
        flex-direction: column;
        text-align:     center;
        gap:            3rem;
    }

    .bsb-bio-content {
        max-width:      800px;
        display:        flex;
        flex-direction: column;
        align-items:    center;
    }

    .bsb-bio-heading {
        margin-bottom: 2rem;
    }

    .bsb-bio-image-wrapper {
        justify-content: center;
        width:           100%;
    }
}

@media (max-width: 768px) {
    .bsb-bio-section {
        padding: 5rem 0 0;
    }

    .bsb-bio-heading {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    .bsb-bio-content {
        padding-bottom: 4rem;
    }
}
