:root {
  --color-primary: #313177;
  --color-primary-hover: #282865;
  --color-primary-pressed: #202052;
  --color-primary-soft: #F0F0FA;
  --color-primary-ghost: rgba(49,49,119,.08);
  --color-accent: #FFC400;
  --color-accent-orange: #F5A800;
  --color-accent-soft: #FFF8D6;
  --color-canvas: #F7F8FC;
  --color-surface: #FFFFFF;
  --color-surface-alt: #F3F5F9;
  --color-text: #0F172A;
  --color-text-secondary: #475569;
  --color-text-muted: #64748B;
  --color-border: #E2E8F0;
  --color-border-strong: #CBD5E1;
  --color-success: #15803D;
  --color-success-soft: #ECFDF3;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --shadow-soft: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
  --shadow-card: 0 10px 30px rgba(15,23,42,.07), 0 1px 2px rgba(15,23,42,.05);
  --shadow-focus: 0 0 0 4px rgba(49,49,119,.18);
  --motion-fast: 120ms;
  --motion-base: 220ms;
  --ease-standard: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--color-text);
  background:
    radial-gradient(circle at 50% -10%, rgba(255,196,0,.13), transparent 34%),
    var(--color-canvas);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
button, a { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
[hidden] { display: none !important; }

.site-header {
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(226,232,240,.9);
  backdrop-filter: blur(12px);
}
.site-header__inner {
  width: min(calc(100% - 40px), 520px);
  min-height: 68px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.brand-logo { display: block; width: 108px; height: auto; }
.trust-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--color-text-muted);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.trust-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--color-success); }

.quiz-section { padding: 24px 0 28px; }
.quiz-shell { width: min(calc(100% - 40px), 520px); margin-inline: auto; }
.quiz-card {
  min-height: 548px;
  padding: 22px 20px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.quiz-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--color-accent), var(--color-accent-orange) 35%, var(--color-primary) 82%);
}

.progress { margin: 2px 0 26px; }
.progress__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.progress__label { color: var(--color-text-muted); font-size: 12px; font-weight: 700; }
.back-button {
  min-height: 44px;
  padding: 6px 2px;
  border: 0;
  background: transparent;
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 750;
  cursor: pointer;
}
.progress__track { height: 5px; border-radius: var(--radius-pill); background: #EEF0F5; overflow: hidden; }
.progress__bar {
  width: 25%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--color-primary), #5656a5);
  transition: width var(--motion-base) var(--ease-standard);
}

.screen { flex: 1; animation: screen-in var(--motion-base) var(--ease-standard) both; }
.screen--intro { display: flex; flex-direction: column; justify-content: center; padding-block: 8px; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
h1, h2, p { margin-top: 0; }
h1 {
  margin: 16px 0 14px;
  max-width: 15ch;
  font-size: clamp(32px, 8.5vw, 45px);
  line-height: 1.06;
  letter-spacing: -.035em;
  font-weight: 780;
}
h2 {
  margin: 14px 0 9px;
  font-size: clamp(28px, 7vw, 38px);
  line-height: 1.1;
  letter-spacing: -.03em;
  font-weight: 780;
}
.marker {
  display: inline;
  padding-inline: .025em;
  background: linear-gradient(
    to bottom,
    transparent 0,
    transparent 76%,
    rgba(255,196,0,.90) 76%,
    rgba(245,168,0,.72) 94%,
    transparent 94%
  );
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.lead { margin-bottom: 0; color: var(--color-text-secondary); font-size: 17px; line-height: 1.55; }
.lead strong { color: var(--color-text); }
.lead--compact { font-size: 16px; }

.speed-note {
  margin: 24px 0;
  padding: 13px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-alt);
}
.speed-note__icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-sm);
  background: var(--color-accent-soft);
  color: #8B6500;
  font-size: 20px;
  font-weight: 800;
}
.speed-note strong, .speed-note small { display: block; }
.speed-note strong { font-size: 14px; }
.speed-note small { margin-top: 2px; color: var(--color-text-muted); font-size: 12px; }

.btn {
  width: 100%;
  min-height: 56px;
  padding: 14px 18px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 760;
  text-align: center;
  cursor: pointer;
  transition: background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
}
.btn--primary { border: 1px solid var(--color-primary); background: var(--color-primary); color: #fff; box-shadow: 0 10px 24px rgba(49,49,119,.16); }
.btn--primary:active { background: var(--color-primary-pressed); transform: translateY(1px); }
.btn--secondary { border: 1px solid var(--color-border-strong); background: #fff; color: var(--color-primary); }
.choice-stack { display: grid; gap: 11px; margin-top: 26px; }

.question-heading { margin-bottom: 20px; }
.question-heading p { margin-bottom: 0; color: var(--color-text-muted); font-size: 15px; }
.options { display: grid; gap: 10px; }
.option {
  width: 100%;
  min-height: 62px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  text-align: left;
  cursor: pointer;
  transition: border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
}
.option__icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-surface-alt);
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 850;
}
.option__text { min-width: 0; font-size: 15px; font-weight: 720; line-height: 1.32; }
.option__arrow { color: #9AA3B2; font-size: 24px; line-height: 1; }
.option:active { transform: scale(.992); }
.option.is-selected { border-color: var(--color-primary); background: var(--color-primary-soft); box-shadow: inset 0 0 0 1px var(--color-primary); }
.option.is-selected .option__icon { background: var(--color-primary); color: #fff; }
.tap-note { margin: 13px 0 0; color: var(--color-text-muted); font-size: 12px; text-align: center; }

.preview-card {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-primary-soft), #fffdf2);
}
.preview-card__badge {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 4px 8px;
  border-radius: var(--radius-pill);
  background: var(--color-accent-soft);
  color: #795B00;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.preview-card strong { display: block; margin-bottom: 5px; font-size: 16px; }
.preview-card p { margin-bottom: 0; color: var(--color-text-secondary); font-size: 14px; }

.privacy-note {
  margin: 16px auto 0;
  padding: 0 4px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--color-text-muted);
}
.privacy-note__mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success-soft);
  color: var(--color-success);
  font-size: 11px;
  font-weight: 900;
}
.privacy-note p { margin: 0; font-size: 12px; line-height: 1.5; }
.privacy-note strong { color: var(--color-text-secondary); }

.site-footer { padding: 0 20px 24px; }
.site-footer__inner { width: min(100%, 520px); margin-inline: auto; text-align: center; color: var(--color-text-muted); }
.site-footer p { margin: 0; font-size: 11px; }

@media (hover: hover) and (pointer: fine) {
  .btn--primary:hover { background: var(--color-primary-hover); }
  .btn--secondary:hover { border-color: var(--color-primary); background: var(--color-primary-soft); }
  .option:hover { border-color: var(--color-border-strong); background: #FBFCFE; }
}

@media (min-width: 700px) {
  .site-header__inner, .quiz-shell { width: min(calc(100% - 56px), 520px); }
  .quiz-section { padding-top: 36px; }
  .quiz-card { min-height: 590px; padding: 30px 28px; }
}

@media (max-width: 359px) {
  .site-header__inner, .quiz-shell { width: min(calc(100% - 32px), 520px); }
  .quiz-card { padding-inline: 16px; }
  .trust-note { font-size: 11px; }
  h1 { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@keyframes screen-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Parte 2 — modalidade do curso */
#screen-q2 .question-heading { margin-bottom: 16px; }
#screen-q2 .options { gap: 8px; }
#screen-q2 .option { min-height: 58px; padding-block: 10px; }
#screen-q2 .option__icon { width: 34px; height: 34px; }
@media (max-width: 390px) {
  #screen-q2 h2 { font-size: 27px; }
  #screen-q2 .question-heading p { font-size: 14px; }
  #screen-q2 .option__text { font-size: 14px; }
}

/* Parte 3 — momento do curso e caminho de quem ainda não faz curso */
#screen-q3 .options,
#screen-q-nonstudent .options { gap: 9px; }
#screen-q3 .option,
#screen-q-nonstudent .option { min-height: 60px; }
@media (max-width: 390px) {
  #screen-q3 h2,
  #screen-q-nonstudent h2 { font-size: 27px; }
  #screen-q3 .question-heading p,
  #screen-q-nonstudent .question-heading p { font-size: 14px; }
}

/* Parte 4 — comprovante de matrícula */
#screen-q4 .options { gap: 9px; }
#screen-q4 .option { min-height: 60px; }
@media (max-width: 390px) {
  #screen-q4 h2 { font-size: 27px; }
  #screen-q4 .question-heading p { font-size: 14px; }
}


.legal-trust {
  margin: 2px 0 16px;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #D9E7DC;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, #F4FAF5, #FFFFFF);
}
.legal-trust__badge {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-success-soft);
  color: var(--color-success);
  font-size: 18px;
  font-weight: 850;
}
.legal-trust strong {
  display: block;
  margin-bottom: 5px;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.3;
}
.legal-trust p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}
.legal-trust__points {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.legal-trust__points span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #DCE8DE;
  border-radius: var(--radius-pill);
  background: #FFFFFF;
  color: #35623F;
  font-size: 11px;
  font-weight: 750;
}
@media (max-width: 390px) {
  .legal-trust { padding: 13px; gap: 10px; }
  .legal-trust__badge { width: 32px; height: 32px; flex-basis: 32px; font-size: 16px; }
  .legal-trust strong { font-size: 14px; }
  .legal-trust p { font-size: 12px; }
}

/* Parte 5 — resultado principal para quem pode avançar */
.screen--result { padding-bottom: 4px; }
.result-hero { padding-bottom: 18px; }
.result-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  background: var(--color-success-soft);
  color: var(--color-success);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.result-status span {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success);
  color: #fff;
  font-size: 10px;
}
.screen--result h2 { max-width: 17.5ch; }
.result-callout {
  margin: 4px 0 16px;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #DADCF0;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-primary-soft), #fff);
}
.result-callout__icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-weight: 850;
}
.result-callout strong { display: block; margin-bottom: 4px; font-size: 15px; }
.result-callout p { margin: 0; color: var(--color-text-secondary); font-size: 13px; line-height: 1.5; }
.cta-note { margin: 9px 4px 0; color: var(--color-text-muted); font-size: 11px; line-height: 1.45; text-align: center; }
.result-section {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid var(--color-border);
  scroll-margin-top: 16px;
}
.result-section__heading { margin-bottom: 16px; }
.result-section h3,
.proof-guidance h3 {
  margin: 12px 0 7px;
  color: var(--color-text);
  font-size: 23px;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.result-section__heading p { margin: 0; color: var(--color-text-muted); font-size: 13px; }
.product-grid { display: grid; gap: 12px; }
.product-card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
}
.product-card--featured { border-color: rgba(49,49,119,.42); box-shadow: 0 10px 28px rgba(49,49,119,.09); }
.product-card__image {
  min-height: 120px;
  padding: 20px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(49,49,119,.08), rgba(255,196,0,.11)),
    var(--color-surface-alt);
  border-bottom: 1px dashed var(--color-border-strong);
}
.product-card__image span {
  padding: 7px 10px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.82);
  color: var(--color-text-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}

.product-card__image--asset {
  min-height: 0;
  padding: 14px;
}
.product-card__image--asset img {
  display: block;
  width: min(100%, 240px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(15,23,42,.12));
}
.product-card__body { padding: 15px; }
.product-card__tag {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: var(--radius-pill);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.product-card h4 { margin: 9px 0 3px; font-size: 16px; line-height: 1.25; }
.product-card__benefit { margin: 7px 0 12px; color: var(--color-text-muted); font-size: 13px; line-height: 1.45; }
.product-card__benefit strong { color: var(--color-text); font-weight: 780; }
.product-card__price { margin: 0 0 11px; color: var(--color-text); font-size: 20px; font-weight: 850; }
.btn--placeholder {
  min-height: 48px;
  border: 1px dashed var(--color-border-strong);
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  box-shadow: none;
  cursor: not-allowed;
  font-size: 12px;
}
.steps-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 13px; }
.steps-list li { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 11px; align-items: flex-start; }
.steps-list__number {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-weight: 850;
}
.steps-list strong { display: block; margin: 1px 0 2px; font-size: 14px; }
.steps-list p { margin: 0; color: var(--color-text-secondary); font-size: 13px; line-height: 1.48; }
.proof-guidance {
  margin-top: 24px;
  padding: 16px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 11px;
  border-radius: var(--radius-lg);
  border: 1px solid #CFE8D7;
  background: var(--color-success-soft);
}
.proof-guidance__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success);
  color: #fff;
  font-weight: 900;
}
.proof-guidance h3 { margin: 1px 0 5px; font-size: 17px; }
.proof-guidance p { margin: 0; color: #2D5A3C; font-size: 13px; line-height: 1.5; }
.check-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.check-list li {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 8px;
  align-items: flex-start;
  color: var(--color-text-secondary);
  font-size: 13px;
}
.check-list li span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success-soft);
  color: var(--color-success);
  font-size: 10px;
  font-weight: 900;
}
.result-final-cta {
  margin-top: 26px;
  padding: 18px;
  border-radius: var(--radius-lg);
  background: var(--color-primary);
  color: #fff;
}
.result-final-cta strong { display: block; margin-bottom: 5px; font-size: 17px; }
.result-final-cta p { margin: 0 0 14px; color: rgba(255,255,255,.78); font-size: 13px; }
.result-final-cta .btn--primary { background: #fff; border-color: #fff; color: var(--color-primary); box-shadow: none; }

@media (min-width: 470px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 390px) {
  .screen--result h2 { font-size: 28px; max-width: 18ch; }
  .result-section h3 { font-size: 21px; }
}


/* Parte 6 — resultado para curso que precisa de confirmação */
.result-status--review {
  background: var(--color-accent-soft);
  color: #735A00;
}
.result-status--review span {
  background: var(--color-accent);
  color: #4B3A00;
}
.review-trust {
  margin: 2px 0 14px;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #EFE2A9;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, #FFFBEA, #FFFFFF);
}
.review-trust__badge {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-accent-soft);
  color: #735A00;
  font-size: 17px;
  font-weight: 850;
}
.review-trust strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}
.review-trust p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}
.review-good-news {
  margin-bottom: 4px;
  padding: 12px 13px;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 9px;
  align-items: flex-start;
  border-radius: var(--radius-md);
  background: var(--color-success-soft);
  color: #2D5A3C;
}
.review-good-news > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.review-good-news p { margin: 0; font-size: 13px; line-height: 1.5; }
.result-section--first { margin-top: 22px; }
.review-check-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 11px; }
.review-check-list li {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 11px;
  align-items: flex-start;
  padding: 11px 0;
  border-bottom: 1px solid var(--color-border);
}
.review-check-list li:last-child { border-bottom: 0; }
.review-check-list li > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-weight: 850;
}
.review-check-list strong { display: block; margin-bottom: 2px; font-size: 14px; }
.review-check-list p { margin: 0; color: var(--color-text-secondary); font-size: 13px; line-height: 1.45; }
.proof-guidance--review { border-color: #E5D9A0; background: #FFFBEA; }
.proof-guidance--review .proof-guidance__icon { background: var(--color-accent); color: #4B3A00; }
.proof-guidance--review p { color: #655518; }
.review-action {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid rgba(49,49,119,.2);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-primary-soft), #FFFFFF);
}
.review-action h3 { margin: 12px 0 7px; font-size: 22px; line-height: 1.15; letter-spacing: -.02em; }
.review-action > p { margin: 0 0 15px; color: var(--color-text-secondary); font-size: 13px; line-height: 1.5; }
.review-action small { display: block; margin-top: 8px; color: var(--color-text-muted); font-size: 10px; text-align: center; }
.btn--placeholder-link[disabled] { opacity: 1; cursor: not-allowed; }
.review-next-products { display: grid; gap: 10px; }
.review-next-products > div {
  padding: 13px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-alt);
}
.review-next-products strong { display: block; margin-bottom: 3px; color: var(--color-primary); font-size: 14px; }
.review-next-products span { color: var(--color-text-secondary); font-size: 12px; line-height: 1.45; }
@media (max-width: 390px) {
  .review-trust { padding: 13px; gap: 10px; }
  .review-trust__badge { width: 32px; height: 32px; flex-basis: 32px; }
  .review-action h3 { font-size: 20px; }
}

/* Parte 7 — todos os resultados mantêm os modelos na própria página */
.screen--nonstudent .result-hero { padding-bottom: 14px; }
.result-status--nonstudent {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}
.result-status--nonstudent span {
  background: var(--color-primary);
  color: #fff;
}
.nonstudent-good-news {
  margin: 2px 0 4px;
  padding: 14px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 10px;
  align-items: flex-start;
  border: 1px solid #CDEBD7;
  border-radius: var(--radius-lg);
  background: var(--color-success-soft);
}
.nonstudent-good-news > span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-success);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.nonstudent-good-news strong { display: block; margin-bottom: 4px; font-size: 15px; }
.nonstudent-good-news p { margin: 0; color: #315A3D; font-size: 13px; line-height: 1.5; }
.steps-list--master { margin-bottom: 15px; }
.master-link-note {
  margin: 7px 0 0;
  color: var(--color-text-muted);
  font-size: 10px;
  text-align: center;
}
.legal-note-simple {
  margin: 22px 0 4px;
  padding: 14px;
  border: 1px solid #EFE2A9;
  border-radius: var(--radius-md);
  background: #FFFBEA;
}
.legal-note-simple strong { display: block; margin-bottom: 4px; font-size: 14px; }
.legal-note-simple p { margin: 0; color: #655518; font-size: 12.5px; line-height: 1.5; }
.result-final-cta--nonstudent { margin-top: 24px; }

@media (max-width: 390px) {
  .nonstudent-good-news { padding: 12px; }
}


/* Parte 7 v2 — compra primeiro, matrícula na finalização */
.nonstudent-primary-cta { margin-top: 18px; }
.nonstudent-cta-note {
  margin: 8px 4px 0;
  color: var(--color-text-muted);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}
.steps-list--purchase-first { margin-bottom: 2px; }
.master-option-card {
  padding: 18px;
  border: 1px solid rgba(49,49,119,.16);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-primary-soft), #FFFFFF);
}
.master-option-card .result-section__heading { margin-bottom: 14px; }
.master-option-card .btn--secondary { background: #fff; }
.legal-note-simple--soft {
  border-color: var(--color-border);
  background: var(--color-surface-alt);
}
.legal-note-simple--soft p { color: var(--color-text-secondary); }
@media (max-width: 390px) {
  .master-option-card { padding: 15px; }
}

/* Parte 8 — curso finalizado / situação diferente */
.screen--restart .result-hero { padding-bottom: 14px; }
.result-status--restart {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}
.result-status--restart span {
  background: var(--color-primary);
  color: #fff;
}
.restart-good-news { margin-top: 2px; }
