/*
 * Landing pública — tradução fiel do mockup `Landing Redesign.dc.html` (V3, Fluent).
 * Sem serifa decorativa, sem papel bege/dourado/navy: Segoe UI + superfícies Fluent.
 * Todas as cores vêm dos tokens de site.css, então o tema escuro acompanha.
 */
.landing-page {
    display: block; background: var(--bg); color: var(--ink-strong);
    --icone-ok: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4.6 10.4 8.2 14 15.4 6.4'/></svg>");
    --icone-seta: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 10h11M11 6l4 4-4 4'/></svg>");
}
.landing-page main { overflow: clip; }
.landing-page a { text-decoration: none; }
.landing-page .container { width: min(var(--largura), calc(100% - 80px)); margin-inline: auto; }

.landing-page h1, .landing-page h2, .landing-page .price { font-weight: 500; }
.landing-page h2 { color: var(--ink); font-size: clamp(1.75rem, 3.6vw, 2.375rem); letter-spacing: -.015em; line-height: 1.15; }
.landing-page h3 { font-weight: 600; }

.landing-page .eyebrow {
    color: var(--primary); font-size: .78rem; font-weight: 500; line-height: 1.4;
    letter-spacing: .14em; margin: 0 0 14px; text-transform: uppercase;
}
.landing-page .section-lead { color: var(--ink-meta); font-size: 1.03rem; line-height: 1.6; margin: 12px 0 46px; max-width: 62ch; }
.landing-page .section-light { background: var(--surface); border-block: 1px solid var(--border); }

/* ---------- faixa de anúncio ---------- */
.landing-page .announcement {
    background: var(--primary-solid); color: #fff;
    font-size: .81rem; letter-spacing: .02em; padding: 9px 24px; text-align: center;
}
.landing-page .announcement a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- cabeçalho ---------- */
.landing-page .site-header { background: var(--bg); border: 0; }
.landing-page .site-header .barra {
    width: min(var(--largura), calc(100% - 80px)); max-width: none; margin-inline: auto;
    min-height: 0; padding: 22px 0; gap: 36px;
}
.landing-page .wordmark { font-size: 1.44rem; }
.landing-page .site-nav { margin-left: auto; }
.landing-page .site-nav ul { gap: 6px; }
.landing-page .site-nav a { font-size: .91rem; font-weight: 500; }

/* ---------- hero ---------- */
.landing-page .hero { padding: 64px 0 90px; }
.landing-page .hero-grid { display: grid; grid-template-columns: 480px 1fr; gap: 64px; align-items: center; }
.landing-page .hero h1 { font-size: clamp(2.25rem, 4.6vw, 3.625rem); line-height: 1.06; letter-spacing: -.022em; margin: 0 0 22px; color: var(--ink); text-wrap: balance; }
.landing-page .hero h1 em { color: var(--primary); }
.landing-page .hero-lead { color: var(--ink-body); font-size: 1.125rem; line-height: 1.55; margin: 0 0 32px; max-width: 42ch; text-wrap: pretty; }
.landing-page .hero-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-bottom: 14px; }
.landing-page .hero-cta .button { min-height: 52px; padding: 0 30px; font-size: 1.03rem; box-shadow: 0 2px 6px rgba(43, 95, 184, .3); }
.landing-page .hero-cta span { color: var(--ink-meta); font-size: .875rem; }
.landing-page .origin-note {
    display: flex; align-items: center; gap: 8px;
    color: var(--ink-meta); font-size: .845rem;
    border-top: 1px solid var(--border-strong); padding-top: 18px; margin-top: 26px;
}
.landing-page .origin-note > span { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--primary); }

/* mockup da Mesa de Correção */
.landing-page .hero-product { position: relative; min-height: 480px; }
.landing-page .correction-window {
    background: var(--panel); border: 1px solid var(--panel-border); border-radius: 12px;
    box-shadow: 0 24px 60px -18px rgba(24, 28, 38, .5); overflow: hidden;
}
.landing-page .window-bar { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-bottom: 1px solid var(--panel-line); }
.landing-page .window-bar i { width: 9px; height: 9px; border-radius: 50%; background: #3a445c; }
.landing-page .window-bar span, .landing-page .window-bar small { color: var(--panel-meta); font-size: .69rem; }
.landing-page .window-bar span { margin-left: 8px; }
.landing-page .window-bar small { margin-left: auto; }
.landing-page .window-content { padding: 18px 20px 20px; }
.landing-page .correction-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.landing-page .correction-title strong { color: var(--panel-ink); font-size: .845rem; font-weight: 600; }
.landing-page .correction-title > span { color: var(--panel-meta); font-size: .66rem; }
.landing-page .correction-title mark {
    margin-left: auto; background: rgba(226, 176, 74, .12); border: 1px solid rgba(226, 176, 74, .35);
    border-radius: var(--raio-pilula); color: var(--accent-warm); font-size: .69rem; font-weight: 600; padding: 3px 9px;
}
.landing-page .correction-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.landing-page .exam-paper { background: #f2ead8; border-radius: 6px; padding: 14px 14px 10px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.landing-page .exam-paper .line { display: block; height: 7px; border-radius: 2px; background: #c9bda0; margin-bottom: 7px; }
.landing-page .line-1 { width: 88%; }
.landing-page .line-2 { width: 72%; }
.landing-page .line-3 { width: 80%; margin-bottom: 14px; }
/* Exceção única e deliberada à regra "sem serifa": esta é a caligrafia simulada do
   aluno DENTRO do mockup da prova — conteúdo ilustrado, não tipografia de interface.
   Vem assim do mockup V3 e está marcada no HTML com data-manuscrito. */
.landing-page .exam-paper p[data-manuscrito] {
    color: #3d3427; font-family: Georgia, 'Times New Roman', serif; font-style: italic;
    font-size: .81rem; line-height: 1.85; margin: 0; opacity: .55; transform: rotate(-.7deg);
}
.landing-page .ai-reading { display: flex; flex-direction: column; gap: 12px; }
.landing-page .ai-reading p { color: #c7cad0; font-size: .75rem; line-height: 1.55; margin: 0; }
.landing-page .exam-paper small,
.landing-page .ai-reading small,
.landing-page .report-float small,
.landing-page .review-queue > small {
    display: block; color: var(--panel-meta); font-size: .6rem;
    letter-spacing: .1em; margin-bottom: 8px; text-transform: uppercase;
}
.landing-page .exam-paper small { color: #6a5c3c; } /* 5,5:1 sobre o papel #f2ead8 */
.landing-page .review-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.landing-page .review-actions span {
    display: inline-flex; align-items: center; gap: 7px;
    border-radius: 6px; font-size: .75rem; font-weight: 600; padding: 8px 14px;
}
.landing-page .review-actions .aprovar { color: var(--accent-green); border: 1px solid rgba(94, 207, 154, .45); background: rgba(94, 207, 154, .08); }
.landing-page .review-actions .comentar { color: var(--accent-warm); border: 1px solid rgba(226, 176, 74, .45); background: rgba(226, 176, 74, .08); }
.landing-page .report-float {
    position: absolute; right: -18px; bottom: -43px; width: 270px;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--raio-card);
    box-shadow: 0 18px 40px -12px rgba(24, 28, 38, .35); padding: 16px 18px;
}
.landing-page .report-float small { color: var(--primary); }
.landing-page .report-float p { color: var(--ink-body); font-size: .845rem; line-height: 1.55; margin: 0 0 12px; }
.landing-page .report-float div { display: flex; flex-wrap: wrap; gap: 6px; }
.landing-page .report-float div span {
    background: var(--tint-primary); border-radius: var(--raio-pilula);
    color: var(--primary); font-size: .66rem; font-weight: 600; padding: 3px 9px;
}

/* ---------- como funciona ---------- */
.landing-page .how { padding: 84px 0; }
.landing-page .how h2 { margin: 0 0 48px; }
.landing-page .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; list-style: none; margin: 0; padding: 0; }
.landing-page .steps li { border-top: 2px solid var(--primary); padding-top: 20px; }
.landing-page .steps span { color: var(--primary); font-size: .81rem; }
.landing-page .steps h3 { color: var(--ink-strong); font-size: 1.06rem; margin: 10px 0 8px; }
.landing-page .steps p { color: var(--ink-meta); font-size: .91rem; line-height: 1.55; margin: 0; }
.landing-page .how .text-link { display: inline-block; margin-top: 40px; font-size: .94rem; }
.landing-page .teaser { margin: 40px 0 0; }
.landing-page .teaser video {
    display: block; width: 100%; height: auto; border: 1px solid var(--border);
    border-radius: 12px; background: var(--panel-deep);
}
.landing-page .teaser figcaption { color: var(--ink-meta); font-size: .81rem; margin-top: 10px; }

/* ---------- conferência (faixa escura) ---------- */
.landing-page .conference { background: var(--panel-deep); padding: 96px 0; }
.landing-page .conference-grid { display: grid; grid-template-columns: 1fr 400px; gap: 72px; align-items: center; }
.landing-page .conference .eyebrow { color: var(--accent-warm); margin-bottom: 16px; }
.landing-page .conference h2 { color: var(--panel-ink); font-size: clamp(1.9rem, 4vw, 2.625rem); line-height: 1.12; margin: 0 0 20px; text-wrap: balance; }
.landing-page .conference-lead { color: var(--panel-body); font-size: 1.06rem; line-height: 1.6; margin: 0 0 36px; max-width: 52ch; }
.landing-page .conference-list { display: flex; flex-direction: column; gap: 22px; }
.landing-page .conference-list > div { display: flex; gap: 16px; }
.landing-page .conference-list > div > span {
    width: 34px; height: 34px; flex: none; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
}
.landing-page .conference-list .ok { background: rgba(94, 207, 154, .12); border: 1px solid rgba(94, 207, 154, .4); color: var(--accent-green); }
.landing-page .conference-list .warn { background: rgba(226, 176, 74, .12); border: 1px solid rgba(226, 176, 74, .4); color: var(--accent-warm); }
.landing-page .conference-list .edit { background: rgba(138, 146, 168, .12); border: 1px solid rgba(138, 146, 168, .4); color: #c7cad0; }
.landing-page .conference-list strong { display: block; color: var(--panel-ink); font-size: .97rem; }
.landing-page .conference-list p { color: var(--panel-body); font-size: .91rem; line-height: 1.55; margin: 4px 0 0; }
.landing-page .review-queue {
    background: var(--panel); border: 1px solid var(--panel-border); border-radius: 12px;
    padding: 22px; box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .6);
}
.landing-page .review-queue > small { margin-bottom: 14px; font-size: .625rem; }
.landing-page .review-queue > div {
    display: flex; align-items: center; gap: 12px;
    border: 1px solid var(--panel-line); border-radius: 8px; padding: 12px 14px; margin-bottom: 10px;
}
.landing-page .review-queue > div:nth-of-type(1) { background: rgba(94, 207, 154, .06); border-color: rgba(94, 207, 154, .25); }
.landing-page .review-queue > div:nth-of-type(2) { background: rgba(226, 176, 74, .06); border-color: rgba(226, 176, 74, .3); }
.landing-page .review-queue span { color: var(--panel-meta); font-size: .69rem; }
.landing-page .review-queue strong { color: var(--panel-ink); font-size: .81rem; font-weight: 400; }
.landing-page .review-queue em { margin-left: auto; color: var(--panel-meta); font-size: .69rem; font-style: normal; font-weight: 600; }
.landing-page .review-queue .approved { color: var(--accent-green); }
.landing-page .review-queue .rewriting { color: var(--accent-warm); }
.landing-page .review-queue > p { border-top: 1px solid var(--panel-line); color: var(--panel-meta); font-size: .75rem; line-height: 1.5; margin: 16px 0 0; padding-top: 14px; }

/* ---------- relatórios ---------- */
.landing-page .reports { padding: 84px 0; }
.landing-page .reports-grid { display: grid; grid-template-columns: 560px 1fr; gap: 56px; align-items: start; }
.landing-page .report-paper {
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--raio-card);
    box-shadow: 0 20px 50px -20px rgba(24, 28, 38, .3); padding: 36px 40px;
}
.landing-page .report-paper > small { display: block; color: var(--ink-meta); font-size: .625rem; letter-spacing: .08em; text-transform: uppercase; }
.landing-page .report-paper h3 { color: var(--ink); font-size: 1.31rem; margin: 18px 0 4px; }
.landing-page .report-meta { color: var(--ink-meta); font-size: .78rem; margin: 0 0 22px; }
.landing-page .report-paper section { border-top: 1px solid var(--border); padding-top: 18px; margin-top: 18px; }
.landing-page .report-paper h4 { color: var(--primary); font-size: .81rem; font-weight: 700; margin: 0 0 8px; }
.landing-page .report-paper section p { color: var(--ink-body); font-size: .91rem; line-height: 1.65; margin: 0; }
.landing-page .report-paper section:last-child p { font-size: .81rem; }
.landing-page .report-paper ol { counter-reset: issues; list-style: none; margin: 0; padding: 0; }
.landing-page .report-paper li { color: var(--ink-body); counter-increment: issues; display: flex; font-size: .81rem; gap: 10px; line-height: 1.5; margin-top: 7px; }
.landing-page .report-paper li::before { color: var(--primary); content: '0' counter(issues); font-size: .72rem; }
.landing-page .report-audiences { display: flex; flex-direction: column; gap: 26px; padding-top: 8px; }
.landing-page .report-audiences > div { display: flex; gap: 16px; }
.landing-page .report-audiences > div > span {
    width: 34px; height: 34px; flex: none; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    background: var(--tint-primary); color: var(--primary); font-size: .75rem; font-weight: 600;
}
.landing-page .report-audiences strong { display: block; color: var(--ink-strong); font-size: .97rem; }
.landing-page .report-audiences p { color: var(--ink-meta); font-size: .91rem; line-height: 1.55; margin: 4px 0 0; }
.landing-page .real-note { border-top: 1px solid var(--border-strong); color: var(--ink-meta); font-size: .81rem; line-height: 1.55; padding-top: 16px; }
.landing-page .real-note a { color: var(--primary); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- chamada intermediária ---------- */
.landing-page .mid-cta { background: var(--primary-solid); padding: 64px 0; }
.landing-page .mid-cta .container { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; }
.landing-page .mid-cta h2 { color: #f3f4f6; flex: 1; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.01em; margin: 0; }
.landing-page .mid-cta .button { min-height: 52px; padding: 0 30px; white-space: nowrap; }

/* ---------- planos ---------- */
.landing-page .pricing { padding: 84px 0; border-bottom: 1px solid var(--border); }
.landing-page .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.landing-page .price-card {
    display: flex; flex-direction: column; position: relative;
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 32px 30px;
}
.landing-page .price-card.featured { border: 2px solid var(--primary); box-shadow: 0 12px 32px -12px rgba(43, 95, 184, .25); }
.landing-page .price-card .badge {
    position: absolute; top: -12px; left: 28px;
    background: var(--primary-solid); color: #fff; border-radius: var(--raio-pilula);
    font-size: .69rem; font-weight: 700; letter-spacing: .06em; padding: 4px 12px; text-transform: uppercase;
}
.landing-page .price-card h3 { color: var(--ink); font-size: 1.19rem; margin: 6px 0 4px; }
.landing-page .price { color: var(--ink); font-size: 2.5rem; margin: 0 0 4px; }
.landing-page .price-note { color: var(--ink-meta); font-size: .845rem; margin: 0 0 24px; }
.landing-page .price-card ul { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0 0 28px; padding: 0; }
.landing-page .price-card li { color: var(--ink-body); display: flex; align-items: flex-start; gap: 10px; font-size: .91rem; }
.landing-page .price-card li::before {
    content: ''; width: 16px; height: 16px; flex: none; margin-top: 3px;
    background: var(--primary);
    -webkit-mask: var(--icone-ok) center/16px 16px no-repeat; mask: var(--icone-ok) center/16px 16px no-repeat;
}
.landing-page .price-card li.budget::before { -webkit-mask-image: var(--icone-seta); mask-image: var(--icone-seta); }
.landing-page .price-card .button { margin-top: auto; min-height: 46px; font-size: .94rem; }
.landing-page .migrate { color: var(--ink-meta); font-size: .78rem; margin: 10px 0 0; text-align: center; }
.landing-page .migrate a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- contato ---------- */
.landing-page .contact { padding: 84px 0; }
.landing-page .contact-grid { display: grid; grid-template-columns: 1fr 460px; gap: 72px; align-items: start; }
.landing-page .contact .section-lead { margin-bottom: 28px; max-width: 46ch; }
.landing-page .contact-form {
    display: flex; flex-direction: column; gap: 16px; max-width: none;
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 32px;
}
.landing-page .contact-form .button { min-height: 48px; }
.landing-page .privacy-note { color: var(--ink-meta); font-size: .78rem; margin: 0; }
.landing-page .privacy-note a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- rodapé ---------- */
.landing-page .site-footer { background: var(--panel-deep); border: 0; color: var(--panel-meta); padding: 48px 0; }
.landing-page .footer-main { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 36px; }
.landing-page .site-footer .wordmark { color: var(--panel-ink); font-size: 1.19rem; }
.landing-page .site-footer .wordmark em { color: #7fb0f5; }
.landing-page .site-footer nav ul { display: flex; flex-wrap: wrap; gap: 24px; list-style: none; }
.landing-page .site-footer a { color: var(--panel-meta); }
.landing-page .site-footer a:hover { color: var(--panel-ink); }
.landing-page .footer-main > p { margin-left: auto; font-size: .78rem; }
.landing-page .footer-legal { border-top: 1px solid var(--panel-line); color: var(--panel-meta); font-size: .72rem; line-height: 1.6; margin-top: 26px; padding-top: 20px; }

/* ---------- responsivo ---------- */
.landing-page .so-mobile { display: none; }

@media (max-width: 860px) {
    .landing-page .so-mobile { display: block; }
    .landing-page .nav-actions .login-link,
    .landing-page .nav-actions .button { display: none; }
    .landing-page .site-header .barra { width: min(var(--largura), calc(100% - 32px)); gap: 10px; }
    .landing-page .nav-actions { order: 2; margin-left: auto; }
    .landing-page .nav-toggle { order: 3; margin-left: 0; }
    .landing-page .site-nav { order: 4; }
}

@media (max-width: 1080px) {
    .landing-page .container { width: min(var(--largura), calc(100% - 48px)); }
    .landing-page .site-header .barra { width: min(var(--largura), calc(100% - 48px)); padding: 18px 0; gap: 16px; }
    .landing-page .hero-grid, .landing-page .conference-grid,
    .landing-page .reports-grid, .landing-page .contact-grid { grid-template-columns: 1fr; gap: 44px; }
    .landing-page .hero-product { min-height: 0; margin-bottom: 56px; }
    .landing-page .report-float { position: static; width: auto; margin-top: 18px; }
    .landing-page .steps { grid-template-columns: repeat(2, 1fr); }
    .landing-page .pricing-grid { grid-template-columns: 1fr; }
    .landing-page .report-paper { padding: 28px 26px; }
}
@media (max-width: 720px) {
    .landing-page .container { width: min(var(--largura), calc(100% - 32px)); }
    .landing-page .hero { padding: 40px 0 56px; }
    .landing-page .how, .landing-page .reports, .landing-page .pricing, .landing-page .contact { padding: 56px 0; }
    .landing-page .conference { padding: 56px 0; }
    .landing-page .steps { grid-template-columns: 1fr; gap: 24px; }
    .landing-page .correction-columns { grid-template-columns: 1fr; }
    .landing-page .contact-form { padding: 24px 20px; }
    .landing-page .mid-cta { padding: 44px 0; }
    .landing-page .mid-cta .container { flex-direction: column; align-items: flex-start; gap: 20px; }
    .landing-page .footer-main > p { margin-left: 0; }
}
