/* ==========================================================
   SOBRE — COLÉGIO DOS MAGOS
========================================================== */





/* ==========================================================
   ELEMENTOS GERAIS
========================================================== */

.about-section__eyebrow {
    margin-bottom: 0.9rem;

    color: var(--color-primary);

    font-size: clamp(0.92rem, 1vw, 1.05rem);
    font-weight: var(--fw-semibold);
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-section__title {
    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.2vw, 3.5rem);
    font-weight: var(--fw-regular);
    line-height: 1.1;
    text-wrap: balance;
}


/* ==========================================================
   HERO
========================================================== */

.about-hero {
    padding: clamp(5rem, 9vw, 8rem) 0;

    border-bottom: 1px solid rgba(200, 161, 90, 0.12);

    background-color: var(--color-background);
}

.about-hero__container {
    max-width: 980px;

    text-align: center;
}

.about-hero__eyebrow {
    margin-bottom: 1rem;

    color: var(--color-primary);

    font-size: clamp(0.95rem, 1.15vw, 1.1rem);
    font-weight: var(--fw-semibold);
    line-height: 1.3;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.about-hero__title {
    max-width: 950px;

    margin: 0 auto 1.4rem;

    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 3.6vw, 3.8rem);
    font-weight: var(--fw-regular);
    line-height: 1.05;
    text-wrap: balance;
}

.about-hero__intro {
    max-width: 780px;

    margin: 0 auto;

    color: var(--color-text);

    font-size: clamp(1.05rem, 1.35vw, 1.3rem);
    font-weight: var(--fw-regular);
    line-height: 1.65;
}


/* ==========================================================
   DESDE 1977
========================================================== */

.about-history {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-surface);
}

.about-history__container {
    display: grid;
    grid-template-columns:
        minmax(220px, 0.75fr)
        minmax(0, 1.65fr);

    align-items: center;

    gap: clamp(3rem, 6vw, 6rem);
}

.about-history__marker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.about-history__year {
    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4.5rem, 9vw, 8rem);
    font-weight: var(--fw-regular);
    line-height: 0.95;
}

.about-history__line {
    display: block;

    width: 100%;
    max-width: 250px;
    height: 1px;

    margin: 1.3rem 0;

    background-color: rgba(200, 161, 90, 0.35);
}

.about-history__label {
    max-width: 250px;

    color: var(--color-text-secondary);

    font-size: 0.92rem;
    font-weight: var(--fw-medium);
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.about-history__content {
    max-width: 780px;
}

.about-history__text {
    margin-top: 1.8rem;
}

.about-history__text p {
    margin-bottom: 1.25rem;

    color: var(--color-text);

    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.8;
}

.about-history__text p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   IDENTIDADE
========================================================== */

.about-identity {
    padding: clamp(5rem, 8vw, 7rem) 0;

    border-top: 1px solid rgba(200, 161, 90, 0.08);

    background-color: var(--color-background);
}

.about-identity__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: clamp(1.5rem, 2.5vw, 2.2rem);
}

.about-identity__card {
    position: relative;

    padding: clamp(2rem, 3vw, 2.7rem);

    border: 1px solid rgba(200, 161, 90, 0.2);
    border-radius: var(--radius-lg);

    background-color: rgba(255, 255, 255, 0.018);
}

.about-identity__number {
    display: inline-block;

    margin-bottom: 1.2rem;

    color: rgba(200, 161, 90, 0.72);

    font-size: 0.82rem;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.14em;
}

.about-identity__card h3 {
    margin-bottom: 0.85rem;

    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 1.8vw, 1.9rem);
    font-weight: var(--fw-regular);
    line-height: 1.15;
}

.about-identity__card p {
    color: var(--color-text-secondary);

    font-size: 1rem;
    line-height: 1.7;
}

.about-identity__statement {
    max-width: 920px;

    margin: clamp(2.5rem, 5vw, 4rem) auto 0;
    padding: clamp(1.8rem, 3vw, 2.5rem);

    border-left: 3px solid var(--color-primary);

    background-color: rgba(200, 161, 90, 0.035);
}

.about-identity__statement p {
    color: var(--color-text);

    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    line-height: 1.8;
}


/* ==========================================================
   MÉTODO
========================================================== */

.about-method {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-surface);
}

.about-method__container {
    display: grid;
    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.4fr);

    gap: clamp(3rem, 6vw, 6rem);
}

.about-method__heading {
    align-self: start;
}

.about-method__intro {
    margin-top: 1.4rem;

    color: var(--color-text-secondary);

    font-size: clamp(1rem, 1.2vw, 1.15rem);
    line-height: 1.75;
}

.about-method__steps {
    display: grid;

    gap: 1.4rem;
}

.about-method__step {
    display: grid;
    grid-template-columns: 52px 1fr;

    gap: 1.2rem;

    padding: 1.5rem 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.about-method__step:first-child {
    padding-top: 0;
}

.about-method__step:last-child {
    border-bottom: 0;
}

.about-method__number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 1px solid rgba(200, 161, 90, 0.4);
    border-radius: 50%;

    color: var(--color-primary);

    font-size: 0.9rem;
    font-weight: var(--fw-semibold);
}

.about-method__step h3 {
    margin-bottom: 0.45rem;

    color: var(--color-primary);

    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
    font-weight: var(--fw-semibold);
}

.about-method__step p {
    color: var(--color-text-secondary);

    font-size: 1rem;
    line-height: 1.7;
}


/* ==========================================================
   PROGRESSÃO
========================================================== */

.about-progression {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-background);
}

.about-progression__container {
    display: grid;
    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(260px, 0.8fr);

    align-items: center;

    gap: clamp(3rem, 6vw, 6rem);
}

.about-progression__content p:not(.about-section__eyebrow) {
    margin-top: 1.3rem;

    color: var(--color-text);

    font-size: clamp(1rem, 1.15vw, 1.1rem);
    line-height: 1.8;
}

.about-progression__principle {
    padding: clamp(2rem, 3vw, 2.7rem);

    border: 1px solid rgba(200, 161, 90, 0.25);
    border-radius: var(--radius-lg);

    background-color: rgba(200, 161, 90, 0.035);
}

.about-progression__label {
    display: block;

    margin-bottom: 1rem;

    color: var(--color-primary);

    font-size: 0.8rem;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.about-progression__principle p {
    color: var(--color-text);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 1.7vw, 1.7rem);
    line-height: 1.55;
}


/* ==========================================================
   CONSCIÊNCIA
========================================================== */

.about-consciousness {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-surface);
}

.about-consciousness__content {
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(260px, 0.8fr);

    align-items: center;

    gap: clamp(3rem, 6vw, 5rem);
}

.about-consciousness__text p {
    margin-bottom: 1.3rem;

    color: var(--color-text);

    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.8;
}

.about-consciousness__text p:last-child {
    margin-bottom: 0;
}

.about-consciousness__highlight {
    padding: clamp(2rem, 3vw, 2.7rem);

    border-left: 3px solid var(--color-primary);

    background-color: rgba(255, 255, 255, 0.025);
}

.about-consciousness__highlight p {
    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 1.7vw, 1.7rem);
    line-height: 1.55;
}


/* ==========================================================
   AUTONOMIA
========================================================== */

.about-autonomy {
    padding: clamp(5rem, 8vw, 7rem) 0;

    border-top: 1px solid rgba(200, 161, 90, 0.08);

    background-color: var(--color-background);
}

.about-autonomy__container {
    display: grid;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.4fr);

    gap: clamp(3rem, 6vw, 6rem);
}

.about-autonomy__content p {
    margin-bottom: 1.3rem;

    color: var(--color-text);

    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.8;
}

.about-autonomy__content p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   EXPERIÊNCIA DOS ESTUDANTES
========================================================== */

.about-experience {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-surface);
}

.about-experience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 1rem;

    max-width: 880px;

    margin: 0 auto;
}

.about-experience__item {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 88px;

    padding: 1.2rem;

    border: 1px solid rgba(200, 161, 90, 0.18);
    border-radius: var(--radius-md);

    background-color: rgba(255, 255, 255, 0.018);

    text-align: center;
}

.about-experience__item span {
    color: var(--color-primary);

    font-size: clamp(1rem, 1.2vw, 1.15rem);
    font-weight: var(--fw-semibold);
}

.about-experience__note {
    max-width: 780px;

    margin: 2.2rem auto 0;

    color: var(--color-text-secondary);

    font-size: 0.95rem;
    line-height: 1.65;
    text-align: center;
}


/* ==========================================================
   ECOSSISTEMA
========================================================== */

.about-ecosystem {
    padding: clamp(5rem, 8vw, 7rem) 0;

    background-color: var(--color-background);
}

.about-ecosystem__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: clamp(1.4rem, 2.5vw, 2rem);
}

.about-ecosystem__card {
    display: flex;
    flex-direction: column;

    min-height: 100%;

    padding: clamp(1.8rem, 3vw, 2.5rem);

    border: 1px solid rgba(200, 161, 90, 0.18);
    border-radius: var(--radius-lg);

    background-color: rgba(255, 255, 255, 0.018);
}

.about-ecosystem__card--primary {
    grid-column: 1 / -1;

    border-color: rgba(200, 161, 90, 0.42);

    background:
        linear-gradient(
            135deg,
            rgba(200, 161, 90, 0.08),
            rgba(255, 255, 255, 0.012)
        );
}

.about-ecosystem__type {
    margin-bottom: 0.8rem;

    color: var(--color-primary);

    font-size: 0.78rem;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.about-ecosystem__card h3 {
    margin-bottom: 0.8rem;

    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 1.8vw, 2rem);
    font-weight: var(--fw-regular);
    line-height: 1.15;
}

.about-ecosystem__card p:not(.about-ecosystem__type) {
    margin-bottom: 1.4rem;

    color: var(--color-text-secondary);

    font-size: 1rem;
    line-height: 1.7;
}

.about-ecosystem__card a {
    display: inline-flex;

    width: fit-content;

    margin-top: auto;

    color: var(--color-primary);

    font-size: 0.95rem;
    font-weight: var(--fw-semibold);
    text-decoration: none;

    transition: color var(--transition-fast);
}

.about-ecosystem__card a:hover,
.about-ecosystem__card a:focus-visible {
    color: var(--color-primary-light);
}


/* ==========================================================
   CTA FINAL
========================================================== */

.about-final-cta {
    padding: clamp(4.5rem, 8vw, 7rem) 0;

    border-top: 1px solid rgba(200, 161, 90, 0.14);

    background-color: var(--color-surface);
}

.about-final-cta__container {
    max-width: 900px;

    text-align: center;
}

.about-final-cta__eyebrow {
    margin-bottom: 0.9rem;

    color: var(--color-primary);

    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-final-cta__title {
    max-width: 780px;

    margin: 0 auto 1.2rem;

    color: var(--color-primary);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 3.4vw, 3.7rem);
    font-weight: var(--fw-regular);
    line-height: 1.08;
    text-wrap: balance;
}

.about-final-cta__intro {
    max-width: 740px;

    margin: 0 auto 2.2rem;

    color: var(--color-text);

    font-size: clamp(1.02rem, 1.2vw, 1.18rem);
    line-height: 1.7;
}

.about-final-cta__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 1rem;
}

.about-final-cta__buttons .button {
    min-width: 250px;
}


/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media (max-width: 1050px) {

    .about-history__container,
    .about-method__container,
    .about-progression__container,
    .about-consciousness__content,
    .about-autonomy__container {
        grid-template-columns: 1fr;
    }

    .about-history__marker {
        align-items: center;

        text-align: center;
    }

    .about-history__line {
        max-width: 180px;
    }

    .about-history__label {
        max-width: 320px;
    }

    .about-history__content {
        max-width: 820px;

        margin-inline: auto;
    }

}


@media (max-width: 850px) {

    .about-identity__grid,
    .about-experience__grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-ecosystem__grid {
        grid-template-columns: 1fr;
    }

    .about-ecosystem__card--primary {
        grid-column: auto;
    }

}


@media (max-width: 650px) {

    .about-hero {
        padding: 4.5rem 0;
    }

    .about-history,
    .about-identity,
    .about-method,
    .about-progression,
    .about-consciousness,
    .about-autonomy,
    .about-experience,
    .about-ecosystem {
        padding: 4rem 0;
    }

    .about-identity__grid,
    .about-experience__grid {
        grid-template-columns: 1fr;
    }

    .about-method__step {
        grid-template-columns: 44px 1fr;
    }

    .about-final-cta {
        padding: 4rem 0;
    }

    .about-final-cta__buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .about-final-cta__buttons .button {
        width: 100%;
        min-width: 0;
    }

}