* {box-sizing:border-box;}
:root {
 --creme-clareza:#F7F2EB;--rosa-nevoa:#E8D8D4;--marrom-braseiro:#6E4A32;
 --terracota-acao:#A85442;--salvia-sustentacao:#5C7464;--ocre-clareza:#C98A2E;
 --marrom-escuro:#3B2A20;--bg:var(--creme-clareza);--surface:#FFFDFC;
 --text:var(--marrom-escuro);--muted:var(--marrom-braseiro);--line:var(--rosa-nevoa);
 --soft:rgba(232,216,212,.48);--danger:#8A4037;
 --font-body:Arial,Helvetica,sans-serif;--font-display:Georgia,"Times New Roman",serif;
 --type-page:1.7rem;--type-profile:1.375rem;--type-section:1.125rem;
 --type-body:1rem;--type-small:.875rem;--type-label:.72rem;
 --line-body:1.6;--space-section:24px;
}
html {min-height:100%;background:var(--bg);}
body {margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--type-body);color:var(--text);background:radial-gradient(circle at top left,rgba(232,216,212,.32),transparent 31rem),var(--bg);}
button,input {font:inherit;}button {cursor:pointer;}
.app-shell {width:min(100%,860px);min-height:100vh;margin:0 auto;padding:28px 16px;display:flex;align-items:center;justify-content:center;}
.card {width:100%;background:var(--surface);border:1px solid rgba(110,74,50,.12);border-radius:26px;padding:clamp(24px,5vw,56px);box-shadow:0 20px 54px rgba(59,42,32,.07);position:relative;overflow:hidden;}
.card::before {content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--marrom-braseiro) 0 62%,var(--terracota-acao) 62% 82%,var(--ocre-clareza) 82%);}
.eyebrow {display:block;margin:0 0 10px;color:var(--marrom-braseiro);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.45;}
h1,h2,h3 {font-family:var(--font-display);color:var(--marrom-escuro);letter-spacing:-.012em;}
h1,h2 {font-size:var(--type-page);line-height:1.24;margin:0 0 18px;font-weight:700;}
h3 {font-size:var(--type-section);line-height:1.35;margin:0 0 10px;font-weight:700;}
p {font-size:var(--type-body);line-height:var(--line-body);margin:0 0 14px;color:rgba(59,42,32,.86);}
strong {color:var(--marrom-escuro);}.lead {font-size:1.0625rem;line-height:1.58;}
.disclaimer,.helper {font-size:var(--type-small);line-height:1.55;color:var(--muted);}
.button-row {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.btn {border:0;border-radius:999px;padding:14px 23px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;transition:background .16s,transform .16s;text-decoration:none;font-size:.94rem;font-weight:700;line-height:1.4;text-align:center;}
.btn:hover {transform:translateY(-1px);}.btn-primary {background:var(--terracota-acao);color:#fff;box-shadow:0 8px 20px rgba(168,84,66,.14);}.btn-primary:hover {background:#934838;}
.btn-secondary {background:transparent;color:var(--marrom-braseiro);border:1px solid rgba(110,74,50,.3);}.btn-secondary:hover {background:rgba(232,216,212,.24);}
.btn:focus-visible,.option:focus-visible,.scale-btn:focus-visible,input:focus-visible,.back-link:focus-visible {outline:3px solid rgba(168,84,66,.3);outline-offset:2px;}
.btn:disabled {opacity:.65;cursor:wait;transform:none;}
.progress-wrap {margin-bottom:27px;}.progress-meta {display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--muted);font-size:var(--type-small);}
.progress-track {width:100%;height:7px;overflow:hidden;border-radius:999px;background:rgba(232,216,212,.72);}.progress-bar {height:100%;border-radius:999px;background:var(--salvia-sustentacao);transition:width .28s;}
.question {font-family:var(--font-display);font-size:var(--type-profile);line-height:1.35;margin-bottom:22px;color:var(--marrom-escuro);}
.options {display:grid;gap:11px;}.option {width:100%;display:flex;gap:13px;align-items:flex-start;text-align:left;background:#fff;color:var(--text);border:1px solid rgba(110,74,50,.17);border-radius:16px;padding:15px 17px;line-height:1.5;font-size:var(--type-body);transition:border .16s,background .16s;}
.option:hover {border-color:rgba(110,74,50,.42);background:var(--creme-clareza);}.option.selected,.radio-option:has(input:checked) {border-color:var(--marrom-braseiro);background:var(--soft);}
.option-letter {flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--creme-clareza);border:1px solid rgba(110,74,50,.13);font-size:.85rem;font-weight:700;color:var(--marrom-braseiro);}
.option.selected .option-letter,.radio-option:has(input:checked) .option-letter {background:var(--marrom-braseiro);color:#fff;}
.top-nav {display:flex;justify-content:space-between;margin-bottom:22px;}.back-link {border:0;background:transparent;color:var(--marrom-braseiro);padding:0;font-weight:700;font-size:var(--type-small);}
.form-grid {display:grid;gap:17px;margin-top:24px;}.field label {display:block;font-weight:700;margin-bottom:8px;}
.field input[type="text"],.field input[type="email"],.field input[type="tel"] {width:100%;border:1px solid rgba(110,74,50,.2);background:#fff;border-radius:13px;min-height:50px;padding:13px 14px;color:var(--text);}
.check-row {display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin-top:5px;color:rgba(59,42,32,.8);font-size:var(--type-small);line-height:1.55;}.check-row input {margin-top:3px;accent-color:var(--terracota-acao);}.inline-link {color:var(--marrom-braseiro);font-weight:700;}.error {color:var(--danger);font-size:var(--type-small);line-height:1.5;min-height:18px;margin-top:10px;}
.result-box {background:var(--soft);border:1px solid rgba(110,74,50,.13);border-radius:15px;padding:16px 18px;margin:0 0 22px;}.result-box-label {display:block;font-family:var(--font-body);font-size:var(--type-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--marrom-braseiro);margin-bottom:7px;line-height:1.4;}.result-name {font-family:var(--font-display);font-size:var(--type-profile);line-height:1.35;font-weight:400;margin:0;overflow-wrap:break-word;}
.status-pill {display:inline-block;padding:8px 12px;margin:4px 0 18px;border-radius:999px;background:rgba(201,138,46,.14);color:var(--marrom-braseiro);font-size:var(--type-small);font-weight:700;}
.fade-in {animation:fade .24s ease both;}@keyframes fade {from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Relatório: as mesmas classes e tamanhos são utilizados em todos os perfis. */
.report-content {font-size:var(--type-body);line-height:var(--line-body);}
.report-content > h2 {font-size:var(--type-page);margin:0 0 18px;}
.report-content p {font-size:var(--type-body);line-height:var(--line-body);margin:0 0 12px;}
.report-content .result-box {margin:0 0 22px;padding:16px 18px;}
.report-content .result-name {font-size:var(--type-profile);line-height:1.35;margin:0;}
.report-content h3 {font-size:var(--type-section);line-height:1.35;margin:0 0 10px;}
.report-intro,.report-section {margin:0 0 var(--space-section);}.report-main-grid,.report-bottom-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:0;}
.report-explanation,.report-practice {min-width:0;}.report-section p:last-child {margin-bottom:0;}
.report-steps {list-style:none;margin:0;padding:0;display:grid;gap:13px;counter-reset:steps;}
.report-steps li {position:relative;padding-left:32px;font-size:var(--type-body);line-height:var(--line-body);counter-increment:steps;}
.report-steps li::before {content:counter(steps);position:absolute;top:2px;left:0;display:grid;place-items:center;width:22px;height:22px;background:var(--creme-clareza);border:1px solid var(--rosa-nevoa);border-radius:50%;font:700 .75rem Arial,sans-serif;color:var(--marrom-braseiro);}
.report-steps li strong {display:block;margin-bottom:3px;}.report-steps li span {display:block;color:rgba(59,42,32,.86);}
.reflection-box {margin:2px 0 var(--space-section);padding:14px 17px;background:rgba(92,116,100,.07);border-left:3px solid var(--salvia-sustentacao);border-radius:0 12px 12px 0;}.reflection-box > strong {display:block;font-size:var(--type-small);margin-bottom:5px;color:var(--marrom-braseiro);}.reflection-box p {margin:0;}
.secondary-compact {margin:0 0 var(--space-section);padding:17px 19px;border-radius:15px;background:var(--creme-clareza);border:1px solid rgba(110,74,50,.13);}.secondary-compact .eyebrow {margin-bottom:8px;}.secondary-compact h3 {font-size:var(--type-section);margin:0 0 10px;}.secondary-compact p {margin:0;}
.meaning-compact {border-top:1px solid var(--rosa-nevoa);padding-top:18px;margin:0 0 var(--space-section);}.meaning-compact h3 {font-size:var(--type-section);}.meaning-compact p {margin:0;}
.report-disclaimer {font-size:.8rem !important;line-height:1.5 !important;color:var(--muted);margin:0 !important;}.result-actions {margin-top:24px;}
/* Qualificação em um único formulário, com a mesma hierarquia do restante. */
.qualification-form {display:grid;gap:24px;margin-top:22px;}.qual-fieldset {min-width:0;margin:0;padding:0;border:0;}.qual-fieldset legend {display:flex;gap:12px;align-items:flex-start;width:100%;padding:0;margin:0 0 12px;font-family:var(--font-display);font-size:var(--type-section);line-height:1.4;color:var(--marrom-escuro);font-weight:700;}
.qual-number {flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;background:var(--creme-clareza);border:1px solid var(--rosa-nevoa);border-radius:50%;font:700 .8rem Arial,sans-serif;color:var(--marrom-braseiro);margin-top:1px;}.compact-options {gap:8px;}.radio-option {cursor:pointer;padding:12px 14px;border-radius:13px;font-size:var(--type-body);align-items:center;}.radio-option input,.scale-choice input {position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}.radio-option:has(input:focus-visible),.scale-choice:has(input:focus-visible) span {outline:3px solid rgba(168,84,66,.25);outline-offset:2px;}
.scale {display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;margin-top:20px;}.scale-choice {min-width:0;cursor:pointer;}.scale-choice span {display:grid;place-items:center;aspect-ratio:1;border-radius:12px;border:1px solid rgba(110,74,50,.18);background:#fff;font-size:.88rem;font-weight:700;}.scale-choice:has(input:checked) span {background:var(--terracota-acao);border-color:var(--terracota-acao);color:#fff;}.scale-legend {display:flex;justify-content:space-between;gap:20px;margin-top:8px;color:var(--muted);font-size:.8rem;}.qualification-form .helper {margin:9px 0 0;}.qualification-form > .btn {justify-self:start;}
/* Comunidade e CTAs. */
.next-step-card {margin-top:22px;padding:24px;border:1px solid rgba(110,74,50,.14);border-radius:18px;background:var(--creme-clareza);}.next-step-card h3 {font-size:var(--type-section);margin:4px 0 12px;}.next-step-card .btn {margin-top:8px;}.next-step-direct {background:rgba(232,216,212,.2);}.upcoming-events {margin:18px 0;padding:17px 18px;border-left:3px solid var(--salvia-sustentacao);border-radius:0 12px 12px 0;background:rgba(255,253,252,.78);}.upcoming-events p {margin:10px 0 0;font-size:var(--type-body);line-height:var(--line-body);}.upcoming-events .helper {font-size:var(--type-small);}.next-step-note {margin-top:18px;}
#print-root {display:none;}
@media(max-width:620px) {
 :root {--type-page:1.55rem;--type-profile:1.25rem;--type-section:1.1rem;--space-section:22px;}
 .app-shell {padding:0;align-items:stretch;}.card {min-height:100vh;border-radius:0;padding:30px 19px 36px;box-shadow:none;border-left:0;border-right:0;}
 .button-row,.result-actions {display:grid;}.btn,.next-step-card .btn,.qualification-form > .btn {width:100%;}.next-step-card {padding:19px 16px;}.radio-option {padding:11px 12px;}.scale {gap:4px;}.scale-choice span {font-size:.77rem;border-radius:8px;}.secondary-compact {padding:15px 16px;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}
/* Impressão: composição editorial A4, com escala própria em pontos e tamanhos uniformes. */
@page {size:A4;margin:11mm 12mm;}
@media print {
 html,body {width:100%;height:auto !important;min-height:0 !important;margin:0 !important;padding:0 !important;background:#fff !important;color:#3B2A20 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
 .app-shell {display:none !important;}#print-root {display:block !important;position:static !important;background:#fff !important;}
 .print-sheet {max-width:none;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#3B2A20;font-size:9.7pt;line-height:1.39;}
 .print-header {display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #D7C8BC;padding-bottom:6px;font-size:8pt;color:#6E4A32;}
 .print-brand {font-family:Georgia,serif;font-size:12pt;font-weight:700;color:#6E4A32;}.print-meta {font-size:7.8pt;color:#6E4A32;margin:7px 0 10px;}
 .print-sheet .eyebrow {font-size:7pt;letter-spacing:.1em;line-height:1.3;margin:0 0 5px;}
 .print-sheet .report-content {font-size:9.7pt;line-height:1.39;}
 .print-sheet .report-content > h2 {font-size:16pt;line-height:1.2;margin:0 0 10px;}
 .print-sheet .report-content p {font-size:9.7pt;line-height:1.39;margin:0 0 7px;}
 .print-sheet .report-content h3 {font-size:10.5pt;line-height:1.28;margin:0 0 5px;}
 .print-sheet .result-box {margin:0 0 12px;padding:9px 11px;border:1px solid #E8D8D4;background:#F7F2EB;border-radius:7px;break-inside:avoid;}
 .print-sheet .result-box-label {font-size:7pt;margin-bottom:4px;}.print-sheet .result-name {font-size:12.5pt !important;line-height:1.24;margin:0 !important;}
 .print-sheet .report-intro {margin:0 0 12px;}.print-sheet .report-main-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7mm;margin:0 0 12px;align-items:start;}
 .print-sheet .report-explanation,.print-sheet .report-practice {min-width:0;}.print-sheet .report-section {margin:0 0 11px;break-inside:avoid;}.print-sheet .report-section p:last-child {margin-bottom:0;}
 .print-sheet .report-steps {gap:8px;margin:0;padding:0;}.print-sheet .report-steps li {font-size:9.7pt;line-height:1.35;padding-left:19px;break-inside:avoid;}
 .print-sheet .report-steps li::before {width:14px;height:14px;font-size:7pt;top:0;}.print-sheet .report-steps li strong {margin-bottom:2px;}.print-sheet .report-steps li span {display:block;}
 .print-sheet .reflection-box {margin:0;padding:9px 10px;border-left:2px solid #5C7464;border-radius:0 6px 6px 0;break-inside:avoid;}.print-sheet .reflection-box > strong {font-size:8pt;margin:0 0 4px;}.print-sheet .reflection-box p {font-size:9.7pt;margin:0;}
 .print-sheet .report-bottom-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7mm;align-items:start;margin:0 0 10px;}
 .print-sheet .secondary-compact {margin:0;padding:10px 11px;border:1px solid #E8D8D4;background:#F7F2EB;border-radius:7px;break-inside:avoid;}.print-sheet .secondary-compact .eyebrow {margin-bottom:6px;}.print-sheet .secondary-compact h3 {font-size:10.5pt;margin:0 0 6px;}.print-sheet .secondary-compact p {margin:0;}
 .print-sheet .meaning-compact {margin:0;padding:10px 0 0;border-top:2px solid #5C7464;break-inside:avoid;}.print-sheet .meaning-compact h3 {font-size:10.5pt;margin:0 0 6px;}.print-sheet .meaning-compact p {margin:0;}
 .print-sheet .report-disclaimer {font-size:7.5pt !important;line-height:1.35 !important;margin:0 !important;color:#6E4A32;}
 .print-footer {border-top:1px solid #D7C8BC;margin-top:8px;padding-top:6px;font-size:7.8pt;color:#6E4A32;}
 .print-sheet a {color:inherit;text-decoration:none;}
}
