/* Quiénes somos — secciones alternas texto/imagen. */

.qs-section { padding: 7rem 5%; }
.qs-section.bg-white { background: #fff; }
.qs-section.bg-navy { background: var(--brand-dark); }
.qs-section.bg-lav { background: var(--brand-lavender-bg); }

.qs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.qs-grid.reverse { direction: rtl; }
.qs-grid.reverse > * { direction: ltr; }

.qs-text .s-label { margin-bottom: 0.8rem; }
.qs-section.bg-white .s-label,
.qs-section.bg-lav .s-label { color: var(--brand-blue); }
.qs-section.bg-navy .s-label { color: var(--brand-pink); }

.qs-text h2 {
    font-family: var(--font-subtitle);
    font-size: clamp(1.9rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 1.4rem;
}
.qs-section.bg-white .qs-text h2,
.qs-section.bg-lav .qs-text h2 { color: var(--brand-dark); }
.qs-section.bg-navy .qs-text h2 { color: var(--brand-lavender-bg); }
.qs-text h2 span { color: var(--brand-pink); }

.qs-text p { font-size: 0.95rem; line-height: 1.9; font-weight: 400; margin-bottom: 1rem; }
.qs-section.bg-white .qs-text p,
.qs-section.bg-lav .qs-text p { color: var(--brand-muted); }
.qs-section.bg-navy .qs-text p { color: rgba(238, 231, 253, 0.6); }

.qs-features { display: flex; flex-direction: column; gap: 0.8rem; margin-top: 1.5rem; }
.qs-feature { display: flex; align-items: flex-start; gap: 0.85rem; font-size: 0.88rem; line-height: 1.6; }
.qs-section.bg-white .qs-feature,
.qs-section.bg-lav .qs-feature { color: var(--brand-dark); }
.qs-section.bg-navy .qs-feature { color: rgba(238, 231, 253, 0.75); }
.qs-feature-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 6px; }

.qs-img-wrap { position: relative; border-radius: 24px; overflow: hidden; }
.qs-img-wrap img { width: 100%; height: 480px; object-fit: cover; object-position: center; display: block; }
.qs-section.bg-navy .qs-img-wrap { border: 1px solid rgba(238, 231, 253, 0.1); }
.qs-img-badge {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    background: rgba(26, 16, 79, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(238, 231, 253, 0.15);
    color: var(--brand-lavender-bg);
    font-family: var(--font-subtitle);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 0.5rem 1.2rem;
    border-radius: 100px;
}

@media (max-width: 768px) {
    .qs-grid { grid-template-columns: 1fr; gap: 3rem; }
    .qs-grid.reverse { direction: ltr; }
    .qs-img-wrap img { height: 280px; }
}
