.section {
    padding: 4.2rem 0;
}

.section-soft {
    background: var(--soft);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.about-head {
    padding: 3.6rem 0 2.6rem;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(900px 420px at 20% 20%, rgba(229,132,225,.12), transparent 60%),
        radial-gradient(800px 420px at 85% 40%, rgba(127,217,113,.16), transparent 60%),
        var(--soft);
}

.page-title {
    font-size: clamp(2.1rem, 4vw, 3rem);
    letter-spacing: -0.03em;
    margin-bottom: .7rem;
}

.page-lead {
    color: var(--grey);
    width: min(760px, 92vw);
    margin: 0;
}

.split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.2rem;
    align-items: center;
}

.split-reverse {
    direction: rtl;
}

.split-reverse > * {
    direction: ltr;
}

.split-image img {
    width: 100%;
    border-radius: 28px;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
    object-fit: cover;
    min-height: 320px;
}

.split-text h2 {
    font-size: clamp(1.6rem, 2.2vw, 2.2rem);
}

.pill-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.6rem;
}

.pill {
    padding: .45rem .9rem;
    border-radius: 999px;
    background: rgba(127,217,113,.12);
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: .9rem;
}

.section-head {
    margin-bottom: 1.6rem;
}

.section-title {
    font-size: clamp(1.7rem, 2.4vw, 2.4rem);
}

.section-subtitle {
    margin: 0;
    color: var(--grey);
}

.gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.gallery-card {
    margin: 0;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.section-cta {
    padding: 3.6rem 0 4.6rem;
    background:
        linear-gradient(120deg, rgba(127,217,113,.16), rgba(229,132,225,.10));
}

.cta-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 2.2rem;
    box-shadow: var(--shadow);
}

.btn-small {
    padding: .7rem 1.1rem;
    font-size: .95rem;
}

@media (max-width: 900px) {
    .split {
        grid-template-columns: 1fr;
    }

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

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