
/* Direção editorial: sóbria, legível e orientada pelos dados */
:root {
  --bg: #f3f1eb;
  --bg-deep: #ebe8df;
  --surface: #ffffff;
  --surface-2: #eeece5;
  --surface-3: #e5e1d7;
  --line: rgba(24, 28, 36, .16);
  --line-strong: rgba(37, 65, 232, .42);
  --primary: #2541e8;
  --secondary: #6651a8;
  --accent: #c9692d;
  --text: #181c24;
  --muted: #626874;
  --positive: #197157;
  --warning: #9a5e18;
  --negative: #b5413b;
  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --shadow: 0 18px 42px rgba(26, 31, 42, .08);
  --shell: 1160px;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.65;
}

body::before { background: linear-gradient(90deg, transparent calc(50% - 580px), rgba(24,28,36,.045) calc(50% - 580px), rgba(24,28,36,.045) calc(50% - 579px), transparent calc(50% - 579px), transparent calc(50% + 579px), rgba(24,28,36,.045) calc(50% + 579px), rgba(24,28,36,.045) calc(50% + 580px), transparent calc(50% + 580px)); }
.ambient-grid { opacity: .28; background-image: linear-gradient(rgba(24,28,36,.035) 1px, transparent 1px); background-size: 100% 32px; mask-image: linear-gradient(to bottom, black, transparent 76%); }
::selection { background: #cfd6ff; color: #111522; }

.site-header {
  height: 72px;
  border-bottom-color: rgba(24,28,36,.14);
  background: rgba(243,241,235,.94);
  backdrop-filter: blur(12px);
}

.brand { gap: 10px; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--text); border-radius: 2px; background: var(--text); }
.brand-mark i { display: none; }
.brand-mark::after { content: "J/J"; color: #fff; font: 800 .67rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.04em; }
.brand strong { font-size: .78rem; letter-spacing: .14em; }
.brand small { color: var(--muted); font-size: .55rem; letter-spacing: .13em; }

.desktop-nav { gap: 2px; }
.desktop-nav a { padding: 10px 12px; border-radius: 0; color: #555c68; font-size: .82rem; font-weight: 650; }
.desktop-nav a:hover { color: var(--text); background: transparent; }
.desktop-nav a::after { content: ""; position: absolute; right: 12px; bottom: 4px; left: 12px; height: 2px; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.mobile-menu summary { border-color: var(--line); border-radius: 4px; background: #fff; }
.mobile-menu summary span { background: var(--text); }
.mobile-menu nav { border-radius: 5px; background: #fff; }
.mobile-menu nav a:hover, .mobile-menu a[aria-current="page"] { color: var(--primary); background: #eef0ff; }

.eyebrow { margin-bottom: 16px; color: var(--primary); font-size: .68rem; letter-spacing: .14em; font-weight: 800; }
.eyebrow > span { width: 7px; height: 7px; background: currentColor; box-shadow: none; }
.hero-copy h1, .page-hero h1, .section-title h2, .thesis-panel h2, .quiz-header h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -.045em;
}
.hero-copy h1 { max-width: 690px; font-size: clamp(3.2rem, 6vw, 5.8rem); line-height: .98; }
.hero-copy h1 span { color: var(--primary); }
.hero-copy h1 em { color: var(--negative); font-weight: 400; }
.hero-copy > p { max-width: 610px; color: #4f5662; font-size: 1.06rem; }
.home-hero { min-height: calc(84vh - var(--header-height)); grid-template-columns: 1.12fr .88fr; gap: clamp(50px, 7vw, 96px); padding-block: 82px; }

.button { min-height: 47px; padding-inline: 18px; border-radius: 4px; font-size: .82rem; box-shadow: none; }
.button.primary { background: var(--primary); color: #fff; box-shadow: none; }
.button.primary:hover:not(:disabled) { background: #1935d1; box-shadow: none; }
.button.secondary, .button.ghost { color: var(--text); border-color: rgba(24,28,36,.28); background: transparent; }
.button.secondary:hover:not(:disabled), .button.ghost:hover:not(:disabled) { border-color: var(--text); background: #fff; }
.source-note { color: #686e79; }

.hero-dashboard { padding: 22px; border: 1px solid rgba(24,28,36,.24); border-top: 4px solid var(--primary); border-radius: 4px; background: rgba(255,255,255,.9); box-shadow: var(--shadow); }
.hero-dashboard::before, .hero-dashboard::after { display: none; }
.dashboard-topline { color: #626873; border-bottom-color: var(--line); }
.dashboard-topline b { background: var(--primary); box-shadow: none; }
.donut-base { stroke: rgba(24,28,36,.1); }
.donut span, .mini-metrics span, .dashboard-balance span, .dashboard-caption { color: var(--muted); }
.mini-metrics div::after { background: rgba(24,28,36,.1); }
.mini-metrics i { background: var(--primary); }
.dashboard-balance > div { border-radius: 3px; background: #f7f6f2; }
.dashboard-balance .balance-center { border-color: rgba(201,105,45,.34); background: #fbf0e9; }
.dashboard-balance .balance-center strong { color: var(--accent); }

.signal-strip { min-height: 52px; border-color: rgba(24,28,36,.14); background: #e9e6dc; color: #555b66; }
.signal-strip i { width: 3px; height: 3px; background: var(--primary); box-shadow: none; }
.section { padding-block: clamp(76px, 8vw, 116px); }
.section-title { max-width: 760px; }
.section-title h2 { font-size: clamp(2.2rem, 4vw, 3.55rem); line-height: 1.08; }
.section-title > p { color: #5c626d; }

.stats-grid, .context-grid, .language-grid, .method-steps { border-radius: 5px; background: #fff; box-shadow: 0 8px 28px rgba(26,31,42,.035); }
.stat-card { min-height: 225px; background: #fff; }
.stat-card:hover { background: #faf9f5; }
.stat-card::after { bottom: 22px; width: 34px; height: 2px; box-shadow: none !important; }
.stat-card p, .story-path p { color: var(--muted); }
.story-path a { border-radius: 3px; background: #fff; }
.story-path a:hover { color: #fff; }
.text-link { color: var(--primary); }

.thesis-panel { padding-block: 54px; border: 1px solid rgba(24,28,36,.18); border-top: 4px solid var(--accent); border-radius: 5px; background: #fff; }
.thesis-number { color: #dedbd2; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.thesis-panel > div:last-child > p { color: var(--muted); }

.page-hero { min-height: 460px; align-items: center; padding-block: 84px 68px; border-bottom-color: rgba(24,28,36,.16); }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5.65rem); line-height: .98; }
.page-hero > div > p { color: #555c67; }
.page-hero > aside { min-height: 190px; border-left-color: var(--primary); background: transparent; }
.big-index { color: var(--primary); font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.evidence-scale i, .method-route i { background: var(--primary); opacity: .24; }

.chart-card, .opinion-meter, .comparison-card, .criteria-grid article, .quiz, .audit-list article { border-color: rgba(24,28,36,.16); border-radius: 5px; background: #fff; box-shadow: 0 8px 28px rgba(26,31,42,.035); }
.card-heading span { color: var(--primary); }
.card-heading .data-badge, .metric-chip { border-radius: 3px; color: #626873; }
.chart-footnote { color: #6a707a; }
.bar-track { border-radius: 2px; background: rgba(24,28,36,.1); }
.bar-track > span, .bar-chart.tone-violet .bar-track > span, .bar-chart.tone-positive .bar-track > span, .bar-chart.tone-warning .bar-track > span, .bar-chart.tone-negative .bar-track > span { border-radius: 2px; background: var(--primary); }
.bar-chart.tone-warning .bar-track > span { background: var(--warning); }
.bar-chart.tone-negative .bar-track > span { background: var(--negative); }
.bar-label span { color: #5c626d; }

.insight-card { border: 1px solid rgba(201,105,45,.28); border-radius: 5px; background: #f8eee7; }
.insight-kicker, .insight-card a { color: var(--accent); }
.opinion-meter { background: #fff; }
.meter-balanced { background: var(--primary); }
.context-orbit { border-color: var(--primary); box-shadow: none; }
.context-orbit::before { border-color: rgba(37,65,232,.3); }
.context-orbit i { border-radius: 3px; background: var(--bg); }

.impact-column { border-color: rgba(24,28,36,.16); background: #fff; }
.benefits-column { border-top: 4px solid var(--positive); }
.risks-column { border-top: 4px solid var(--negative); }
.impact-axis::before { background: linear-gradient(var(--positive), var(--accent), var(--negative)); opacity: .5; }
.impact-axis span { border-radius: 3px; background: var(--bg); }
.context-grid article { background: #fff; }
.context-grid article:hover { background: #faf9f5; }
.dual-stat { border-radius: 5px; background: #fff; }
.positive-panel { border-top: 4px solid var(--positive); }
.negative-panel { border-top: 4px solid var(--negative); }
.dual-bridge i { box-shadow: none; }
.safety-panel { border-color: rgba(37,65,232,.28); border-radius: 5px; background: #eef0fb; }

.comparison-card { background: #fff; }
.comparison-index { background: #f0eee7; }
.comparison-side p, .twelve-months p, .criteria-grid p, .diagnosis-note p, .language-grid p, .example-line p { color: var(--muted); }
.comparison-divider { background: #f8efe9; }
.twelve-months { background: #efedf6; }
.criteria-grid article { min-height: 235px; }
.diagnosis-note { border-radius: 5px; background: #f9efe7; }
.language-grid article { background: #fff; }
.example-line { background: #f8eee7; }

.quiz { border-top: 4px solid var(--primary); background: #fff; }
.quiz-header > div:first-child > p:last-child, .question-list fieldset > p, .quiz-result p { color: var(--muted); }
.choice-group button { border-radius: 3px; background: #faf9f5; color: #555c68; }
.choice-group button.selected { color: #fff; background: var(--primary); }
.quiz-result { border-radius: 4px; background: #faf9f5; }
.quiz-result small { color: #6d737d; }

.method-steps li, .theory-grid article, .audit-list article { background: #fff; }
.method-steps li { min-height: 235px; }
.theory-grid article { border-radius: 5px; background: #fff; box-shadow: 0 8px 28px rgba(26,31,42,.035); }
.audit-status { border-radius: 2px; }
.audit-status.changed { background: #e7f1ed; }
.audit-status.removed { background: #f6e9e7; }
.audit-status.caution { background: #f4ecdf; }
.references-list p { color: #505762; }
.download-card { border-color: rgba(24,28,36,.18); border-radius: 5px; background: #fff; }
.download-card:hover { border-color: var(--primary); }

.site-footer { border-top: 0; background: #181c24; color: #f3f1eb; }
.site-footer > div > p, .footer-links { color: #b6bac2; }
.footer-links a:hover { color: #fff; }
.footer-note { border-top-color: rgba(255,255,255,.14); color: #90959f; }

.js-ready .reveal { transform: translateY(10px); transition-duration: .45s; }

@media (max-width: 760px) {
  body::before { display: none; }
  .site-header { height: var(--header-height); }
  .home-hero { padding-block: 60px; }
  .hero-copy h1 { font-size: clamp(3rem, 14vw, 4.45rem); }
  .hero-dashboard { border-radius: 4px; }
  .signal-strip { background: #e9e6dc; }
  .page-hero { padding-block: 62px 48px; }
  .page-hero > aside { min-height: 120px; }
  .stat-card { min-height: 185px; }
}

/* No tema profissional, o botão antecipa o visual alternativo. */
.theme-toggle {
  border-color: rgba(103, 232, 249, .45);
  background: #0d1b2e;
  color: #67e8f9;
  box-shadow: 0 7px 18px rgba(7, 17, 31, .18);
}

.theme-toggle:hover {
  background: #12243a;
}

.theme-toggle-icon {
  color: #a78bfa;
}
