/* AthenaClass — layout enxuto e responsivo
   Objetivos: seções aproximadamente 40% menores, tipografia compacta,
   cards densos, foco no WhatsApp flutuante e preservação da identidade visual. */

:root {
    --compact-section: clamp(1.8rem, 3vw, 2.8rem);
    --compact-section-small: clamp(1.35rem, 2.4vw, 2.1rem);
    --compact-gap: clamp(0.75rem, 1.4vw, 1.15rem);
    --compact-radius: 16px;
}

html { scroll-behavior: smooth; }
body { line-height: 1.42; }

.container {
    width: min(1180px, calc(100% - 2rem));
}

/* Cabeçalho mais baixo, sem alterar cores ou identidade */
.topbar { display: none; }
.header__content {
    min-height: 60px;
    padding-block: 0.2rem;
}
.brand { gap: 0.65rem; }
.brand__symbol img {
    width: 56px;
    height: 56px;
}
.brand__text strong,
.brand__text span {
    font-size: 1rem;
    line-height: 1;
}
.brand__text small {
    margin-top: 0.2rem;
    font-size: 0.52rem;
    letter-spacing: 0.11em;
}
.nav { gap: 1rem; }
.nav__link {
    padding-block: 0.72rem;
    font-size: 0.88rem;
}

/* Seções: cerca de 40% menores que o layout inicial */
.section { padding-block: var(--compact-section); }
.section--light,
.section--dark { padding-block: var(--compact-section); }
.section-heading {
    margin-bottom: 1.2rem;
}
.section-heading--center { max-width: 780px; margin-inline: auto; margin-bottom: 1.2rem; }
.section-heading h2,
.inner-hero h1,
.hero h1 {
    line-height: 1.06;
    letter-spacing: -0.025em;
}
.section-heading h2 {
    font-size: clamp(1.55rem, 2.6vw, 2.25rem);
    margin-bottom: 0.55rem;
}
.section-heading p {
    max-width: 700px;
    font-size: 0.92rem;
    line-height: 1.5;
}
.eyebrow {
    margin-bottom: 0.4rem;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
}

/* Heróis internos mais curtos */
.inner-hero {
    padding-block: clamp(1.8rem, 3.5vw, 3rem);
}
.inner-hero__grid {
    min-height: auto;
    gap: 1.6rem;
}
.inner-hero__content h1 {
    max-width: 760px;
    margin-bottom: 0.7rem;
    font-size: clamp(1.9rem, 3.7vw, 3.15rem);
}
.inner-hero__content p {
    max-width: 650px;
    font-size: 0.94rem;
}
.inner-hero__visual {
    min-height: 190px;
    transform: scale(0.88);
}

/* Página inicial */
.hero {
    padding-block: clamp(1.9rem, 3.8vw, 3.2rem);
}
.hero__grid {
    min-height: auto;
    gap: 1.8rem;
}
.hero__content h1 {
    margin-bottom: 0.7rem;
    font-size: clamp(2rem, 4vw, 3.45rem);
}
.hero__description {
    margin-bottom: 0.85rem;
    font-size: 0.94rem;
    line-height: 1.5;
}
.hero__actions { margin-block: 0.9rem; }
.hero__checks {
    margin-top: 0.75rem;
    gap: 0.38rem;
    font-size: 0.86rem;
}
.hero__visual {
    min-height: 335px;
    transform: scale(0.9);
    transform-origin: center;
}
.hero-card--main { padding: 1rem; }
.hero-card__top { font-size: 0.8rem; }
.lesson-board { padding: 0.9rem; }
.student-row { padding-top: 0.8rem; }

.stats {
    margin-top: 1.25rem;
    padding: 0.8rem 1rem;
}
.stats article { padding: 0.55rem 0.75rem; }
.stats strong { font-size: 1.5rem; }
.stats span { font-size: 0.74rem; }

/* Grades e cards mais densos */
.service-grid,
.feature-grid,
.page-card-grid,
.course-grid,
.discipline-grid {
    gap: var(--compact-gap);
}
.service-card,
.feature-card,
.page-card,
.course-card,
.discipline-card {
    border-radius: var(--compact-radius);
}
.service-card,
.feature-card,
.page-card {
    padding: 1.05rem;
}
.service-card__icon,
.page-card__icon {
    width: 42px;
    height: 42px;
    margin-bottom: 0.65rem;
}
.service-card h3,
.feature-card h3,
.page-card h3,
.course-card h3 {
    margin-bottom: 0.35rem;
    font-size: 1.05rem;
    line-height: 1.2;
}
.service-card p,
.feature-card p,
.page-card p,
.course-card p {
    font-size: 0.84rem;
    line-height: 1.45;
}
.service-card a,
.page-card strong,
.course-card a { font-size: 0.82rem; }

.course-card__visual { min-height: 135px; }
.course-card__body { padding: 1rem; }
.course-card__tag { font-size: 0.65rem; }

.page-navigation { padding-block: var(--compact-section-small); }
.page-navigation .section-heading { margin-bottom: 1rem; }
.page-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.page-card__number {
    margin-bottom: 0.5rem;
    font-size: 0.72rem;
}

/* Professores, resultados, processo e FAQ */
.teacher-layout,
.results-box,
.faq-layout,
.process-box {
    gap: 1.3rem;
}
.teacher-profile,
.teacher-copy,
.results-box,
.process-box {
    border-radius: 18px;
}
.teacher-profile__portrait { min-height: 235px; }
.teacher-profile__meta { padding: 1rem; }
.teacher-copy { padding: clamp(1.15rem, 2vw, 1.7rem); }
.teacher-copy h2,
.results-copy h2 {
    font-size: clamp(1.55rem, 2.5vw, 2.1rem);
}
.teacher-copy p,
.results-copy p { font-size: 0.9rem; }
.teacher-points { gap: 0.65rem; }
.teacher-points > div { padding: 0.8rem; }
.teacher-points strong { font-size: 0.9rem; }
.teacher-points span { font-size: 0.8rem; }
.results-box { padding: clamp(1.15rem, 2.2vw, 1.8rem); }
.results-list article { padding: 0.65rem 0; }
.results-list strong { font-size: 0.9rem; }
.results-list small { font-size: 0.78rem; }
.process-box { padding: clamp(1.1rem, 2vw, 1.6rem); }
.process-list { gap: 0.7rem; }
.process-list li { padding: 0.75rem; }

.accordion { gap: 0.55rem; }
.accordion__item { border-radius: 14px; }
.accordion__item button {
    padding: 0.78rem 0.95rem;
    font-size: 0.9rem;
}
.accordion__content {
    padding: 0 0.95rem 0.8rem;
    font-size: 0.84rem;
}

/* Disciplinas: conteúdo logo abaixo do header e cards compactos */
.page-disciplinas .disciplinas-catalogo {
    padding-top: 0.9rem;
    padding-bottom: 1.8rem;
}
.page-disciplinas .section-heading { margin-bottom: 0.95rem; }
.page-disciplinas .section-heading h1,
.page-disciplinas .section-heading h2 {
    font-size: clamp(1.8rem, 3.2vw, 2.7rem);
}
.page-disciplinas .discipline-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.page-disciplinas .discipline-card {
    min-height: 108px;
    padding: 0.75rem 0.55rem;
    gap: 0.45rem;
}
.page-disciplinas .discipline-card img {
    width: 50px;
    height: 50px;
}
.page-disciplinas .discipline-card h3 {
    font-size: 0.88rem;
    line-height: 1.15;
}
.page-disciplinas .disciplinas-info {
    margin-top: 1rem;
    padding: 0.9rem 1rem;
}

/* Rodapé enxuto */
.footer { padding-top: 1.8rem; }
.footer__grid {
    gap: 1.3rem;
    padding-bottom: 1.25rem;
}
.footer__about p,
.footer__column a,
.footer__column span {
    font-size: 0.8rem;
    line-height: 1.45;
}
.footer__column h3 { margin-bottom: 0.6rem; font-size: 0.9rem; }
.footer__bottom {
    padding-block: 0.75rem;
    font-size: 0.76rem;
}

/* CTA principal: WhatsApp flutuante sempre visível e legível */
.whatsapp-float-wrap {
    right: clamp(0.8rem, 2vw, 1.35rem);
    bottom: clamp(0.8rem, 2vw, 1.35rem);
}
.whatsapp-float__label {
    padding: 0.55rem 0.82rem;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}
.whatsapp-float {
    width: 54px;
    height: 54px;
}

@media (max-width: 1080px) {
    .nav { gap: 0.72rem; }
    .nav__link { font-size: 0.82rem; }
    .page-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .page-disciplinas .discipline-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .container { width: min(100% - 1.25rem, 1180px); }
    .header__content { min-height: 56px; }
    .brand__symbol img { width: 50px; height: 50px; }
    .brand__text strong,
    .brand__text span { font-size: 0.92rem; }
    .section { padding-block: 1.65rem; }
    .inner-hero { padding-block: 1.6rem; }
    .inner-hero__visual { display: none; }
    .hero__grid { gap: 1rem; }
    .hero__visual { min-height: 285px; transform: scale(0.84); }
    .page-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-disciplinas .discipline-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .teacher-layout,
    .faq-layout { gap: 1rem; }
    .footer__grid { gap: 1rem; }
}

@media (max-width: 560px) {
    body { line-height: 1.4; }
    .container { width: min(100% - 1rem, 1180px); }
    .header__content { min-height: 52px; }
    .brand__symbol img { width: 46px; height: 46px; }
    .brand__text small { display: none; }
    .section { padding-block: 1.4rem; }
    .section-heading { margin-bottom: 0.9rem; }
    .section-heading h2 { font-size: 1.45rem; }
    .section-heading p { font-size: 0.84rem; }
    .hero { padding-block: 1.4rem; }
    .hero__content h1 { font-size: clamp(1.8rem, 9vw, 2.45rem); }
    .hero__description { font-size: 0.86rem; }
    .hero__visual { display: none; }
    .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-card-grid { grid-template-columns: 1fr; }
    .service-grid,
    .feature-grid,
    .course-grid { grid-template-columns: 1fr; }
    .page-disciplinas .discipline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
    .page-disciplinas .discipline-card { min-height: 96px; padding: 0.65rem 0.45rem; }
    .page-disciplinas .discipline-card img { width: 44px; height: 44px; }
    .page-disciplinas .discipline-card h3 { font-size: 0.82rem; }
    .accordion__item button { font-size: 0.85rem; }
    .footer { padding-top: 1.35rem; }
    .whatsapp-float__label {
        display: inline-flex;
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.76rem;
        padding: 0.48rem 0.65rem;
    }
    .whatsapp-float { width: 50px; height: 50px; }
}
