@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600&display=swap');

:root {
    --ink: #17221A; --green: #8DA75D; --dark: #191919; --off: #F2F0F4; --white: #ffffff;
    --ink-soft: rgba(23,34,26,0.06); --green-dim: rgba(141,167,93,0.12); --green-dark: #5a7035;
    --text-body: #3a4a3e; --text-muted: #7a8a7e; --border: rgba(23,34,26,0.1);
    --font-head: 'Space Grotesk', sans-serif; --font-body: 'Inter', sans-serif;
    --r-sm: 8px; --r-md: 14px; --r-lg: 24px; --r-xl: 36px;
    --sh-sm: 0 2px 8px rgba(23,34,26,0.07); --sh-md: 0 6px 24px rgba(23,34,26,0.10);
    --sh-lg: 0 20px 56px rgba(23,34,26,0.13); --mw: 1140px;
}

.wrap { max-width: var(--mw); margin: 0 auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-dark); font-family: var(--font-body); margin-bottom: 14px; }
.eyebrow::before { content: ''; width: 16px; height: 2px; background: var(--green); flex-shrink: 0; display: block; }

/* HERO */
#hero { padding: calc(68px + 80px) 80px 64px; background: var(--off); position: relative; overflow: hidden; }
#hero::before { content: ''; position: absolute; top: -160px; right: -160px; width: 680px; height: 680px; background: radial-gradient(circle, rgba(141,167,93,0.10) 0%, transparent 68%); border-radius: 50%; pointer-events: none; }
.hero-in { max-width: var(--mw); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; position: relative; z-index: 1; }
.hero-tag { display: inline-flex; align-items: center; gap: 8px; background: var(--green-dim); color: var(--green-dark); font-size: 0.77rem; font-weight: 600; border-radius: 50px; padding: 6px 14px; margin-bottom: 28px; border: 1px solid rgba(141,167,93,0.2); font-family: var(--font-body); }
.hero-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.hero-left h1 { font-size: clamp(2.4rem,4vw,3.4rem); font-weight: 900; color: var(--ink); margin-bottom: 22px; letter-spacing: -0.025em; line-height: 1.08; font-family: var(--font-head); }
.hero-left h1 em { font-style: normal; color: var(--green-dark); }
.hero-left > p { font-size: 1.05rem; color: var(--text-body); margin-bottom: 36px; max-width: 480px; line-height: 1.75; font-family: var(--font-body); }
.hero-left > p strong { color: var(--ink); font-weight: 600; }
.hero-social { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.avatars { display: flex; }
.avatars div { width: 36px; height: 36px; border-radius: 50%; border: 2.5px solid var(--off); margin-right: -10px; }
.stars-block { display: flex; flex-direction: column; gap: 2px; }
.stars { color: #b5923a; font-size: 0.9rem; letter-spacing: 2px; }
.stars-lbl { font-size: 0.8rem; font-weight: 600; color: var(--ink); font-family: var(--font-body); }
.hero-btn { display: inline-flex; align-items: center; gap: 12px; background: #D4ED5A; border-radius: 50px; padding: 14px 14px 14px 28px; text-decoration: none; transition: opacity .2s, transform .15s; box-shadow: 0 6px 24px rgba(212,237,90,0.3); }
.hero-btn:hover { opacity: .92; transform: translateY(-1px); }
.hero-btn span { font-size: 0.95rem; font-weight: 700; color: var(--ink); font-family: var(--font-head); }
.hero-btn-ico { background: var(--ink); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 1rem; color: #D4ED5A; }
.hero-video-wrap { background: var(--ink); border-radius: var(--r-xl); aspect-ratio: 16/10; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; position: relative; overflow: hidden; box-shadow: var(--sh-lg); cursor: pointer; }
.hero-video-wrap::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 40%, rgba(141,167,93,0.15) 0%, transparent 60%); }
.hero-video-arc { position: absolute; bottom: -80px; left: -80px; width: 340px; height: 340px; border: 1.5px solid rgba(141,167,93,0.10); border-radius: 50%; pointer-events: none; }
.hero-video-play { width: 64px; height: 64px; background: var(--green); border-radius: 50%; display: flex; align-items: center; justify-content: center; padding-left: 4px; position: relative; z-index: 1; box-shadow: 0 8px 32px rgba(141,167,93,0.4); }
.hero-video-label { font-family: var(--font-head); font-size: 0.85rem; font-weight: 600; color: rgba(242,240,244,0.6); position: relative; z-index: 1; }
.hero-video-tag { position: absolute; top: 18px; left: 18px; background: rgba(141,167,93,0.18); border: 1px solid rgba(141,167,93,0.3); color: var(--green); font-size: 0.7rem; font-weight: 600; border-radius: 6px; padding: 4px 10px; letter-spacing: 0.06em; text-transform: uppercase; z-index: 2; font-family: var(--font-body); }

/* STATS STRIP */
.stats-strip { background: var(--ink); padding: 28px 80px; border-top: 1px solid rgba(255,255,255,0.06); }
.stats-strip__inner { max-width: var(--mw); margin: 0 auto; display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; }
.stats-strip__item { flex: 1; min-width: 150px; padding-right: 32px; }
.stats-strip__div { width: 1px; background: rgba(255,255,255,0.1); margin-right: 32px; }
.stats-strip__num { font-family: var(--font-head); font-size: 2rem; font-weight: 900; color: var(--off); line-height: 1; margin-bottom: 4px; }
.stats-strip__label { font-size: 0.83rem; font-weight: 500; color: rgba(242,240,244,0.85); margin-bottom: 1px; font-family: var(--font-body); }
.stats-strip__sub { font-size: 0.78rem; color: rgba(242,240,244,0.5); font-family: var(--font-body); }

/* CURRÍCULO */
#curriculo { padding: 80px 80px 96px; background: var(--off); }
.curriculo__head { margin-bottom: 32px; }
.curriculo__head h2 { font-family: var(--font-head); font-size: clamp(1.9rem,3.5vw,2.8rem); font-weight: 900; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 8px; }
.curriculo__head p { font-size: 0.96rem; color: var(--text-muted); font-family: var(--font-body); }
.mod-tabs { display: flex; border-bottom: 2px solid var(--border); margin-bottom: 32px; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.mod-tabs::-webkit-scrollbar { display: none; }
.mod-tab { padding: 14px 0; margin-right: 36px; font-family: var(--font-head); font-size: 0.9rem; font-weight: 500; color: var(--text-muted); cursor: pointer; border: none; background: none; outline: none; border-bottom: 2.5px solid transparent; margin-bottom: -2px; white-space: nowrap; flex-shrink: 0; transition: all .18s; }
.mod-tab:hover { color: var(--ink); }
.mod-tab.active { color: var(--ink); font-weight: 700; border-bottom-color: var(--green); }
.mod-panel { display: none; }
.mod-panel.active { display: block; }
.aula-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.aula-tab { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--r-md); border: 1.5px solid var(--border); background: var(--white); font-family: var(--font-head); font-size: 0.82rem; font-weight: 500; color: var(--text-muted); cursor: pointer; transition: all .18s; outline: none; white-space: nowrap; }
.aula-tab .an { background: var(--ink-soft); color: var(--text-muted); border-radius: 6px; padding: 2px 7px; font-size: 0.72rem; font-weight: 700; transition: all .18s; }
.aula-tab:hover { border-color: var(--green); color: var(--ink); }
.aula-tab.active { background: var(--ink); border-color: var(--ink); color: var(--off); }
.aula-tab.active .an { background: var(--green); color: var(--ink); }
.aula-panel { display: none; }
.aula-panel.active { display: block; }
.aula-panel h3 { font-family: var(--font-head); font-size: 1.5rem; font-weight: 900; color: var(--ink); letter-spacing: -0.02em; margin-bottom: 8px; }
.aula-panel p { font-size: 0.96rem; color: var(--text-muted); line-height: 1.72; margin-bottom: 20px; font-family: var(--font-body); }
.aula-panel ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.aula-panel ul li { font-size: 0.92rem; color: var(--text-body); line-height: 1.6; padding-left: 18px; position: relative; font-family: var(--font-body); }
.aula-panel ul li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }

/* CTA MID */
.cta-mid { background: var(--off); padding: 0 80px 40px; }
.cta-mid__inner { background: var(--ink); border-radius: 24px; padding: 48px 56px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 32px; }
.cta-mid__title { font-family: var(--font-head); font-size: clamp(1.3rem,2.5vw,2rem); font-weight: 900; color: var(--off); line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 8px; }
.cta-mid__title em { color: var(--green); font-style: normal; }
.cta-mid__sub { font-size: 0.95rem; color: rgba(242,240,244,0.55); margin: 0; font-family: var(--font-body); }
.cta-mid__btn { display: inline-flex; align-items: center; gap: 10px; background: #D4ED5A; color: var(--ink); font-family: var(--font-head); font-size: 1rem; font-weight: 800; border-radius: 50px; padding: 17px 34px; text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: opacity .2s; }
.cta-mid__btn:hover { opacity: .9; }

/* POR QUÊ */
#porque { padding: 96px 80px; background: var(--off); }
.porque__head { text-align: center; margin-bottom: 56px; }
.porque__head h2 { font-family: var(--font-head); font-size: clamp(2rem,4vw,3rem); font-weight: 900; letter-spacing: -0.025em; color: var(--ink); margin-bottom: 16px; line-height: 1.1; }
.porque__head p { font-size: 1rem; color: var(--text-muted); max-width: 560px; margin: 0 auto; line-height: 1.75; font-family: var(--font-body); }
.porque__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.porque__card { border-radius: var(--r-lg); padding: 32px; position: relative; overflow: hidden; }
.porque__card::before { content: ''; position: absolute; top: -20px; right: -20px; width: 100px; height: 100px; background: rgba(255,255,255,0.08); border-radius: 50%; }
.porque__card--green { background: var(--green); }
.porque__card--dark { background: var(--ink); }
.porque__quote { font-family: var(--font-head); font-size: 1.2rem; font-weight: 900; color: var(--ink); line-height: 1.25; margin-bottom: 14px; }
.porque__source { font-size: 0.78rem; color: rgba(23,34,26,0.6); font-weight: 600; font-family: var(--font-body); }
.porque__num { font-family: var(--font-head); font-size: 3rem; font-weight: 900; color: var(--green); line-height: 1; margin-bottom: 10px; }
.porque__label { font-size: 0.9rem; font-weight: 600; color: var(--off); margin-bottom: 6px; font-family: var(--font-body); }
.porque__desc { font-size: 0.82rem; color: rgba(242,240,244,0.5); line-height: 1.6; font-family: var(--font-body); }
.porque__src { font-size: 0.68rem; color: rgba(141,167,93,0.6); margin-top: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; font-family: var(--font-body); }

/* PROFESSOR */
#professor { padding: 96px 80px; background: var(--ink); }
#professor .eyebrow { color: var(--green); }
#professor .eyebrow::before { background: var(--green); }
.prof-card { background: rgba(242,240,244,0.05); border-radius: var(--r-xl); padding: 56px; display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; border: 1px solid rgba(242,240,244,0.08); }
.prof-photo-wrap { flex: 0 0 auto; position: relative; }
.prof-photo { width: clamp(260px,26vw,320px); height: clamp(380px,42vw,480px); border-radius: var(--r-md); background: var(--green-dim); position: relative; z-index: 1; }
.prof-photo-bg { position: absolute; bottom: -12px; right: -12px; width: clamp(260px,26vw,320px); height: clamp(380px,42vw,480px); border-radius: var(--r-md); background: var(--green); z-index: 0; opacity: .6; }
.prof-info { flex: 1; min-width: 260px; }
.prof-info h2 { font-family: var(--font-head); font-size: clamp(1.5rem,2.4vw,2rem); font-weight: 900; letter-spacing: -0.02em; color: var(--off); margin-bottom: 20px; line-height: 1.15; }
.prof-info h3 { font-size: 1.1rem; font-weight: 700; color: var(--green); margin-bottom: 4px; font-family: var(--font-head); }
.prof-role { font-size: 0.87rem; color: rgba(242,240,244,0.5); font-weight: 500; margin-bottom: 22px; font-family: var(--font-body); }
.prof-bio { font-size: 0.94rem; color: rgba(242,240,244,0.75); line-height: 1.8; margin-bottom: 32px; max-width: 540px; font-family: var(--font-body); }
.prof-companies-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(242,240,244,0.35); margin-bottom: 16px; font-family: var(--font-body); }
.prof-logos { display: flex; flex-wrap: wrap; gap: 10px; }
.logo-chip { border: 1px solid rgba(242,240,244,0.12); border-radius: var(--r-sm); padding: 10px 18px; background: rgba(242,240,244,0.05); font-size: 0.82rem; font-weight: 600; color: rgba(242,240,244,0.7); font-family: var(--font-body); transition: border-color .2s; }
.logo-chip:hover { border-color: rgba(141,167,93,0.4); }

/* DÚVIDA */
#duvida { padding: 96px 80px; background: #8DA75D; text-align: center; position: relative; overflow: hidden; }
#duvida::before { content: ''; position: absolute; top: -120px; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 65%); border-radius: 50%; pointer-events: none; }
.duvida-in { max-width: 680px; margin: 0 auto; position: relative; z-index: 1; }
.duvida-in h2 { font-size: clamp(2.4rem,5vw,4rem); font-weight: 900; letter-spacing: -0.03em; line-height: 1.05; color: var(--ink); margin-bottom: 40px; font-family: var(--font-head); }
.duvida-in h2 em { font-style: normal; color: var(--white); }
.wpp-btn { display: inline-flex; align-items: center; gap: 12px; background: var(--ink); color: var(--off); font-family: var(--font-head); font-size: 1rem; font-weight: 700; border-radius: 50px; padding: 16px 32px; text-decoration: none; transition: opacity .2s, transform .2s; box-shadow: 0 8px 32px rgba(23,34,26,0.25); }
.wpp-btn:hover { opacity: .9; transform: translateY(-2px); }
.wpp-icon { width: 28px; height: 28px; background: rgba(141,167,93,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/* PREÇO */
#preco { padding: 96px 80px; background: var(--dark); }
.preco__head { text-align: center; margin-bottom: 48px; }
.preco__head h2 { font-family: var(--font-head); font-size: clamp(1.9rem,3.5vw,2.8rem); font-weight: 900; letter-spacing: -0.02em; color: var(--off); margin-bottom: 10px; }
.preco__head p { font-size: 1rem; color: rgba(242,240,244,0.5); font-family: var(--font-body); }
.preco__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.preco__garantia { background: rgba(242,240,244,0.04); border: 1px solid rgba(242,240,244,0.08); border-radius: var(--r-xl); padding: 40px; display: flex; flex-direction: column; gap: 20px; }
.garantia__badge { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg,#c8a840,#f0cc60); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(200,168,64,0.3); flex-shrink: 0; }
.garantia__num { font-family: var(--font-head); font-size: 1.3rem; font-weight: 900; color: #1a1200; line-height: 1; }
.garantia__sub { font-size: 0.45rem; font-weight: 700; color: #1a1200; letter-spacing: 0.05em; text-transform: uppercase; }
.preco__garantia h3 { font-family: var(--font-head); font-size: 1.2rem; font-weight: 900; color: var(--off); margin: 0; }
.garantia__label { font-size: 0.82rem; color: rgba(242,240,244,0.5); margin: 0; font-family: var(--font-body); }
.garantia__desc { font-size: 0.92rem; color: rgba(242,240,244,0.65); line-height: 1.75; font-family: var(--font-body); }
.garantia__desc strong { color: var(--off); }
.garantia__pagamentos-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(242,240,244,0.3); margin-bottom: 14px; font-family: var(--font-body); }
.garantia__metodos { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.garantia__metodos span { background: rgba(242,240,244,0.08); border: 1px solid rgba(242,240,244,0.1); border-radius: 6px; padding: 6px 12px; font-size: 0.75rem; font-weight: 600; color: rgba(242,240,244,0.7); font-family: var(--font-body); }
.garantia__seguro { font-size: 0.8rem; color: rgba(242,240,244,0.4); font-family: var(--font-body); }
.preco__card { background: var(--ink); border: 1px solid rgba(141,167,93,0.2); border-radius: var(--r-xl); padding: 40px; position: relative; overflow: hidden; }
.preco__card::before { content: ''; position: absolute; top: -40px; right: -40px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(141,167,93,0.12) 0%, transparent 70%); border-radius: 50%; }
.preco__badge { display: inline-block; background: rgba(141,167,93,0.12); border: 1px solid rgba(141,167,93,0.25); border-radius: 50px; padding: 6px 16px; margin-bottom: 24px; font-size: 0.82rem; font-weight: 700; color: var(--off); font-family: var(--font-body); }
.preco__card h3 { font-family: var(--font-head); font-size: 1.4rem; font-weight: 900; color: var(--off); margin-bottom: 20px; }
.preco__de { font-size: 0.85rem; color: rgba(242,240,244,0.4); text-decoration: line-through; margin-bottom: 4px; font-family: var(--font-body); }
.preco__por { font-family: var(--font-head); font-size: 2.2rem; font-weight: 900; color: var(--off); letter-spacing: -0.03em; margin-bottom: 6px; }
.preco__pix { font-size: 0.82rem; color: rgba(242,240,244,0.4); margin-bottom: 32px; font-family: var(--font-body); }
.preco__cta { display: block; background: #D4ED5A; color: var(--ink); font-family: var(--font-head); font-size: 1rem; font-weight: 800; border-radius: 12px; padding: 16px; text-align: center; text-decoration: none; margin-bottom: 24px; transition: opacity .2s; box-shadow: 0 6px 24px rgba(212,237,90,0.25); }
.preco__cta:hover { opacity: .9; }
.preco__lista { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.preco__lista li { font-size: 0.82rem; color: rgba(242,240,244,0.5); font-family: var(--font-body); }

/* FAQ */
#faq { padding: 96px 80px; background: var(--off); }
.faq__head { text-align: center; margin-bottom: 48px; }
.faq__head h2 { font-family: var(--font-head); font-size: clamp(1.9rem,3.5vw,2.8rem); font-weight: 900; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 8px; }
.faq__list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; background: none; border: none; cursor: pointer; text-align: left; }
.faq-item button span:first-child { font-family: var(--font-head); font-size: 1rem; font-weight: 700; color: var(--ink); }
.faq-item button span:last-child { font-size: 1.4rem; color: var(--green); flex-shrink: 0; }
.faq-body { display: none; padding-bottom: 20px; }
.faq-body.open { display: block; }
.faq-body p { font-size: 0.93rem; color: var(--text-body); line-height: 1.75; font-family: var(--font-body); }

/* RESPONSIVE */
@media (max-width: 1000px) {
    #hero { padding: calc(68px + 56px) 40px 64px; }
    .hero-in { grid-template-columns: 1fr; }
    .stats-strip { padding: 28px 40px; }
    #curriculo { padding: 64px 40px 80px; }
    .cta-mid { padding: 0 40px 32px; }
    #porque { padding: 64px 40px; }
    .porque__grid { grid-template-columns: 1fr 1fr; }
    #professor { padding: 64px 40px; }
    .prof-card { padding: 36px; gap: 36px; }
    #duvida { padding: 64px 40px; }
    #preco { padding: 64px 40px; }
    #faq { padding: 64px 40px; }
}
@media (max-width: 700px) {
    #hero { padding: calc(68px + 40px) 24px 48px; }
    .stats-strip { padding: 24px; }
    .stats-strip__inner { flex-direction: column; gap: 20px; }
    .stats-strip__div { display: none; }
    #curriculo { padding: 48px 24px 64px; }
    .cta-mid { padding: 0 20px 28px; }
    .cta-mid__inner { flex-direction: column; align-items: flex-start; padding: 36px 28px; gap: 20px; }
    .cta-mid__btn { width: 100%; justify-content: center; }
    #porque { padding: 48px 24px; }
    .porque__grid { grid-template-columns: 1fr; }
    #professor { padding: 48px 24px; }
    .prof-card { padding: 24px; gap: 24px; }
    #duvida { padding: 52px 24px; }
    .duvida-in h2 { font-size: 2.2rem; }
    #preco { padding: 48px 20px; }
    .preco__grid { grid-template-columns: 1fr; }
    #faq { padding: 48px 20px; }
}
@media (max-width: 480px) {
    .hero-left h1 { font-size: 2rem; }
    .aula-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px; }
    .aula-tabs::-webkit-scrollbar { display: none; }
}