.qs-hero {
    position: relative;
    background-color: var(--semantics-colors-fill-secondary-subtle);
    padding: var(--semantics-padding-broad) 0;
    overflow: hidden;
}

.qs-hero__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: grid;
    grid-template-columns: minmax(0, 540px) 1fr;
    gap: var(--semantics-spacing-broad);
    align-items: center;
}

.qs-hero__content {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
    max-width: 540px;
}

.qs-hero__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.qs-hero__subtitle {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.qs-hero__photo-grid {
    display: flex;
    gap: 14px;
    width: 100%;
}

.qs-hero__photo-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.qs-hero__photo-col--offset {
    padding-top: 60px;
}

.qs-photo {
    border-radius: var(--semantics-radius-larger);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.qs-photo--portrait {
    aspect-ratio: 210 / 220;
}

.qs-photo--landscape {
    aspect-ratio: 210 / 120;
}

.qs-photo--bg-ponkan { background-color: var(--semantics-colors-fill-accent-ponkan); }
.qs-photo--bg-purpura { background-color: var(--semantics-colors-fill-accent-purpura); }
.qs-photo--bg-pitaya { background-color: var(--semantics-colors-fill-decorative-pitaya-400); }

.qs-photo--p1 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos1.png");
}

.qs-photo--p2 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos2.png");
}

.qs-photo--p3 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos3.png");
}

.qs-photo--p4 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos4.png");
}

.qs-photo--p5 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos5.png");
}

.qs-photo--p6 {
    background-image: url("../assets/images/quem-somos/alunos-header/foto-quem-somos6.png");
}

.qs-stats {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-spacing-massive) 0;
}

.qs-stats__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
}

.qs-section-title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-x-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    text-align: center;
    margin: 0 0 var(--semantics-spacing-broad);
}

.qs-stats__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--semantics-padding-bigger) var(--semantics-spacing-larger);
}

.qs-stat {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
}

.qs-stat__icon {
    width: var(--semantics-typography-heading-small);
    height: var(--semantics-typography-heading-small);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--semantics-typography-heading-small);
    line-height: 1;
}

.qs-stat__icon i,
.qs-stat__icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

.qs-stat__icon--purpura { color: var(--semantics-colors-icon-accent-purpura); }
.qs-stat__icon--pitaya { color: var(--semantics-colors-icon-accent-pitaya); }
.qs-stat__icon--pistache { color: var(--semantics-colors-icon-accent-pistache); }
.qs-stat__icon--ponkan { color: var(--semantics-colors-icon-accent-ponkan); }
.qs-stat__icon--petunia { color: var(--semantics-colors-icon-accent-petunia); }

.qs-stat__title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-primary);
    margin: 0;
}

.qs-stat__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.qs-formacao {
    background-color: var(--semantics-colors-fill-accent-petunia-subtle);
    padding: var(--semantics-spacing-massive) 0;
}

.qs-formacao__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
}

.qs-section-header {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
    align-items: flex-start;
    max-width: 700px;
    margin-bottom: var(--semantics-spacing-wide);
}

.qs-section-header--center {
    align-items: center;
    text-align: center;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.qs-formacao__title,
.qs-atuacao__title,
.qs-presenca__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-x-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.qs-formacao__desc,
.qs-atuacao__desc,
.qs-presenca__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.qs-formacao__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--semantics-spacing-larger);
    margin-bottom: var(--semantics-spacing-big);
}

.qs-formacao__cards .card {
    max-width: none;
}

.qs-formacao__cta-tag {
    display: flex;
    justify-content: center;
}

.qs-atuacao {
    background-color: var(--semantics-colors-fill-accent-petunia);
    color: var(--semantics-colors-text-on-dark);
    overflow: hidden;
}

.qs-atuacao__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 794fr) minmax(0, 622fr);
}

.qs-atuacao__content {
    padding: var(--semantics-spacing-broad) var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-padding-bigger);
    justify-content: center;
}

.qs-atuacao__image {
    margin-right: calc(50% - 50vw);
    background: url("../assets/images/quem-somos/banner-formacao-completa.png") center/cover;
    min-height: 533px;
}

.qs-atuacao__header {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
    align-items: flex-start;
}

.qs-atuacao .qs-atuacao__title {
    color: var(--semantics-colors-text-on-dark);
}

.qs-atuacao .qs-atuacao__desc {
    color: var(--semantics-colors-text-on-dark);
    opacity: var(--semantics-opacity-bold);
}

.qs-atuacao .qs-skill__title {
    color: var(--semantics-colors-text-accent-ponkan);
}

.qs-atuacao .qs-skill__list li {
    color: var(--semantics-colors-text-on-dark);
    opacity: var(--semantics-opacity-bold);
}

.qs-atuacao .qs-skill__list li::before {
    color: var(--semantics-colors-text-accent-ponkan);
    opacity: 1;
}

.qs-atuacao__skills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--semantics-spacing-big);
}

.qs-skill__title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-primary);
    margin: 0 0 var(--semantics-spacing-medium);
}

.qs-skill__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-tiny);
}

.qs-skill__list li {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-secondary);
    position: relative;
    padding-left: var(--semantics-spacing-large);
}

.qs-skill__list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--semantics-colors-fill-accent-purpura);
    font-weight: 700;
}

.qs-pilares {
    background-color: var(--semantics-colors-fill-secondary);
    padding: var(--semantics-spacing-big) 0;
}

.qs-pilares__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--semantics-spacing-big);
}

.qs-pilar {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-small);
    align-items: flex-start;
}

.qs-pilar__icon {
    width: 40px;
    height: 40px;
    border-radius: var(--semantics-radius-full);
    background-color: var(--semantics-colors-fill-overlay-light);
    color: var(--semantics-colors-icon-accent-petunia);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
}

.qs-pilar__icon i,
.qs-pilar__icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

.qs-pilar__title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-snug);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.qs-pmv {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-padding-broad) 0;
}

.qs-pmv__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-bigger);
}

.qs-pmv__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--semantics-spacing-bigger);
    width: 100%;
}

.qs-pmv__cards .card {
    max-width: none;
}

.qs-pmv__cards .card--ponkan .card__icon {
    background-color: var(--semantics-colors-fill-accent-ponkan-subtle);
    color: var(--semantics-colors-icon-accent-ponkan);
}

.qs-pmv__cards .card--purpura .card__icon {
    background-color: var(--semantics-colors-fill-accent-purpura-subtle);
    color: var(--semantics-colors-icon-accent-purpura);
}

.qs-pmv__cards .card--pistache .card__icon {
    background-color: var(--semantics-colors-fill-accent-pistache-subtle);
    color: var(--semantics-colors-icon-accent-pistache);
}

.qs-values-strip {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-spacing-large) 0;
    overflow: hidden;
}

.qs-values-strip__track {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: max-content;
    animation: qs-marquee 40s linear infinite;
    will-change: transform;
}

.qs-values-strip__set {
    display: flex;
    align-items: center;
    gap: var(--semantics-spacing-broad);
    padding-right: var(--semantics-spacing-broad);
    flex-shrink: 0;
}

.qs-values-strip:hover .qs-values-strip__track {
    animation-play-state: paused;
}

@keyframes qs-marquee {
    from { transform: translateX(-25%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .qs-values-strip__track {
        animation: none;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        padding: 0 var(--semantics-spacing-large);
    }
}

.qs-value {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-style: italic;
    font-size: var(--semantics-typography-heading-small);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    text-transform: uppercase;
    color: var(--semantics-colors-text-heading-default);
    white-space: nowrap;
}

.qs-value--ponkan { color: var(--semantics-colors-text-accent-ponkan); }
.qs-value--pitaya { color: var(--semantics-colors-text-accent-pitaya); }
.qs-value--purpura { color: var(--semantics-colors-text-accent-purpura); }
.qs-value--petunia { color: var(--semantics-colors-text-accent-petunia); }
.qs-value--pistache { color: var(--semantics-colors-text-accent-pistache); }

.qs-presenca {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-spacing-massive) 0;
}

.qs-presenca__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-broad);
}

.qs-presenca__map-row {
    display: grid;
    grid-template-columns: 270px 1fr 270px;
    gap: var(--semantics-spacing-bigger);
    align-items: center;
    width: 100%;
}

.qs-presenca__col {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.qs-state {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-medium);
    padding: var(--semantics-spacing-big);
    background-color: var(--semantics-colors-fill-neutral-subtle);
    border-radius: var(--semantics-radius-large);
    position: relative;
}


.qs-state__name {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-snug);
    color: var(--semantics-colors-text-heading-default);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    margin: 0;
}

.qs-state__cities {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-snug);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.qs-presenca__map {
    width: 100%;
    height: 504px;
    background: url("../assets/images/quem-somos/mapa-unidades.png") center no-repeat;
}

.qs-cta-final {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-padding-broad) 0;
}

.qs-cta-final__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
}

.qs-cta-final__card {
    width: 100%;
    background-color: var(--semantics-colors-fill-accent-petunia);
    border-radius: var(--semantics-radius-big);
    padding: var(--semantics-spacing-broad) var(--semantics-padding-broad);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-bigger);
    text-align: center;
}

.qs-cta-final__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
    max-width: 700px;
}

.qs-cta-final__buttons {
    display: flex;
    gap: var(--semantics-spacing-larger);
    flex-wrap: wrap;
    justify-content: center;
}

@media (max-width: 1024px) {
    .qs-hero__inner,
    .qs-atuacao__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .qs-hero__content {
        align-items: center;
        text-align: center;
        margin: 0 auto;
    }

    .qs-atuacao__image {
        min-height: 320px;
    }

    .qs-formacao__cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .qs-pilares__inner {
        grid-template-columns: repeat(3, 1fr);
    }

    .qs-pmv__cards {
        grid-template-columns: 1fr;
    }

    .qs-presenca__map-row {
        grid-template-columns: 1fr;
    }

    .qs-stats__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .qs-hero,
    .qs-stats,
    .qs-formacao,
    .qs-pmv,
    .qs-presenca,
    .qs-cta-final {
        padding: var(--semantics-padding-bigger) 0;
    }

    .qs-hero {
        padding-top: var(--semantics-padding-wider);
    }

    .qs-cta-final {
        padding-left: var(--semantics-spacing-large);
        padding-right: var(--semantics-spacing-large);
    }

    .qs-hero__inner,
    .qs-stats__inner,
    .qs-formacao__inner,
    .qs-pmv__inner,
    .qs-presenca__inner,
    .qs-pilares__inner,
    .qs-atuacao__content {
        padding-left: var(--semantics-spacing-large);
        padding-right: var(--semantics-spacing-large);
    }

    .qs-formacao__cards,
    .qs-stats__grid {
        grid-template-columns: 1fr;
    }

    .qs-hero__content {
        align-items: flex-start;
        text-align: left;
        margin: 0;
        max-width: none;
    }

    .qs-hero .tag {
        white-space: normal;
        text-align: left;
    }

    .qs-pilares__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .qs-hero__title {
        font-size: var(--semantics-typography-heading-xx-large);
    }

    .qs-section-title,
    .qs-formacao__title,
    .qs-atuacao__title,
    .qs-presenca__title,
    .qs-cta-final__title {
        font-size: var(--semantics-typography-heading-large);
    }

    .qs-values-strip__track {
        flex-wrap: wrap;
        gap: var(--semantics-spacing-large);
    }

    .qs-value {
        font-size: var(--semantics-typography-body-18);
    }

    .qs-atuacao__skills {
        grid-template-columns: 1fr;
    }

    .qs-cta-final__card {
        padding: var(--semantics-spacing-big);
    }

    .qs-cta-final__buttons {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .qs-cta-final__buttons .btn {
        width: 100%;
    }

    .qs-presenca__map {
        background-size: contain;
        height: auto;
        aspect-ratio: 520 / 504;
    }
}
