/* Molde do refazer (apps/webfactory/refazer/molde/estilo.css): edite lá e gere de novo.
   As cores do :root vêm do site original (refazer.py escolhe pela frequência e confere contraste
   WCAG); o resto é fixo. Sem fonte de terceiros: a serifada é a do próprio site (se houver) ou a do sistema. */
@font-face{font-family:"Fraunces";src:url(fontes/fraunces-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{--fundo:#f8fafc;--fundo-alt:#ffffff;--cartao:#ffffff;--primaria:#1e3a8a;--acento:#9a4b2e;--acento-claro:#e0a88c;--tinta-forte:#0f172a;--tinta:#475569;--tinta-suave:#56606f;--linha:#e6e1d8;--zap:#0b7a50;--serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 1.0625rem/1.7 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primaria);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.12;color:var(--tinta-forte);margin:0 0 .6em}
h1{font-size:clamp(2.3rem,5.4vw,4.1rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:1.32rem;line-height:1.25}
p{margin:0 0 1em}
strong{font-weight:600;color:var(--tinta-forte)}
.envoltorio{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.pular{position:absolute;left:-999px;top:0;background:var(--primaria);color:#fff;padding:.7rem 1rem;z-index:99}
.pular:focus{left:1rem;top:1rem}
.visualmente-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* faixa de proposta: discreta e honesta */
.proposta{background:var(--tinta-forte);color:#e8e6e1;font-size:.82rem;line-height:1.4;text-align:center;padding:.5rem 1rem}
.proposta a{color:#fff}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--fundo) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--linha)}
.topo .envoltorio{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem}
.marca{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--tinta-forte);margin-right:auto}
.marca-monograma{width:2.6rem;height:2.6rem;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--linha)}
.marca-nome{display:block;font-family:var(--serif);font-size:1.18rem;line-height:1.1}
.marca-papel{display:block;font-size:.78rem;color:var(--tinta-suave);letter-spacing:.02em}
.nav{display:flex;gap:1.4rem;font-size:.93rem}
.nav a{color:var(--tinta);text-decoration:none;padding:.4rem 0;border-bottom:1px solid transparent}
.nav a:hover{border-color:var(--acento)}
@media (max-width:980px){.nav{display:none}}

/* botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.8rem 1.5rem;border-radius:999px;font:600 .98rem/1.2 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.botao svg{width:1.15rem;height:1.15rem;flex:none}
.botao-primario{background:var(--primaria);color:#fff;box-shadow:0 10px 24px -12px var(--primaria)}
.botao-primario:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px var(--primaria)}
.botao-linha{background:transparent;color:var(--primaria);border-color:color-mix(in srgb,var(--primaria) 40%,transparent)}
.botao-linha:hover{background:color-mix(in srgb,var(--primaria) 7%,transparent)}
.botao-zap{background:var(--zap);color:#fff}
.botao-zap:hover{transform:translateY(-2px)}
.botao-pequeno{min-height:2.6rem;padding:.55rem 1.1rem;font-size:.9rem}
.acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.2rem}

/* herói */
.heroi{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(3rem,7vw,6rem);background:radial-gradient(60rem 30rem at 85% -10%,color-mix(in srgb,var(--acento-claro) 55%,transparent),transparent 70%),radial-gradient(40rem 26rem at -10% 110%,color-mix(in srgb,var(--primaria) 9%,transparent),transparent 70%)}
.heroi .envoltorio{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.selos{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem;padding:0;list-style:none}
.selo{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;letter-spacing:.02em;padding:.38rem .85rem;border-radius:999px;background:var(--cartao);border:1px solid var(--linha);color:var(--tinta-suave)}
.selo-vivo::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#2f9e6a;box-shadow:0 0 0 3px color-mix(in srgb,#2f9e6a 22%,transparent)}
.lead{font-size:clamp(1.08rem,1.6vw,1.22rem);color:var(--tinta-suave);max-width:38rem}
.nota{font-size:.9rem;color:var(--tinta-suave);max-width:34rem}
.retrato{position:relative;margin:0}
.retrato img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 28px 28px;box-shadow:0 40px 80px -40px rgba(15,23,42,.45)}
.retrato::before{content:"";position:absolute;inset:-14px -14px 40px 14px;border:1px solid color-mix(in srgb,var(--acento) 55%,transparent);border-radius:999px 999px 34px 34px;z-index:-1}
.retrato figcaption{position:absolute;left:-1.2rem;bottom:1.6rem;background:var(--cartao);border:1px solid var(--linha);border-radius:18px;padding:.8rem 1.1rem;box-shadow:0 18px 40px -24px rgba(15,23,42,.35);font-size:.85rem;line-height:1.35;color:var(--tinta-suave)}
.retrato figcaption strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.05rem}
@media (max-width:860px){.heroi .envoltorio{grid-template-columns:1fr}.retrato{width:min(17.5rem,78vw);margin-inline:auto;order:-1}.retrato figcaption{left:-.6rem;bottom:.8rem;font-size:.78rem;padding:.6rem .8rem}}

/* seções */
.secao{padding:clamp(4rem,9vw,7.5rem) 0}
.secao-alt{background:var(--fundo-alt)}
.rotulo{display:inline-block;font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--acento);margin:0 0 1.1rem}
.cabeca{max-width:46rem;margin-bottom:clamp(2rem,4vw,3.2rem)}
.cabeca p{color:var(--tinta-suave);font-size:1.08rem}
.cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1.1rem;padding:0;margin:0;list-style:none}
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:22px;padding:1.6rem 1.6rem 1.4rem;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.cartao:hover{transform:translateY(-4px);box-shadow:0 24px 50px -32px rgba(15,23,42,.4);border-color:color-mix(in srgb,var(--acento) 35%,var(--linha))}
.cartao-n{display:block;font-family:var(--serif);font-size:.95rem;color:var(--acento);margin-bottom:.9rem}
.cartao p{margin:0;color:var(--tinta-suave);font-size:.98rem}
.sub{margin-top:clamp(2.5rem,5vw,4rem)}
.sub h3{font-size:1.5rem}
.publico{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;padding:0;margin:0;list-style:none}
.publico li{border-top:1px solid var(--tinta-forte);padding-top:1rem}
.publico strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.3rem;margin-bottom:.2rem}
.publico span{color:var(--tinta-suave);font-size:.95rem}

/* faixa de ambiência com foto */
.faixa{position:relative;min-height:clamp(20rem,48vw,32rem);display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}
.faixa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faixa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.15),rgba(15,23,42,.55))}
.faixa blockquote{position:relative;z-index:1;margin:0;max-width:44rem;padding:0 1.5rem;font-family:var(--serif);font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.25;text-wrap:balance}
.faixa figcaption{position:absolute;right:1rem;bottom:.8rem;z-index:1;font-size:.72rem;opacity:.85}
.faixa figcaption a{color:#fff}

/* check-up */
.checkup-grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.checkup-foto{margin:0;position:relative}
.checkup-foto img{border-radius:28px;aspect-ratio:5/4;object-fit:cover;width:100%}
.checkup-foto figcaption,.foto-credito{font-size:.75rem;color:var(--tinta-suave);margin-top:.5rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.2rem 0;list-style:none}
.chip{display:inline-block;padding:.38rem .85rem;border-radius:999px;background:var(--cartao);border:1px solid var(--linha);font-size:.86rem;font-weight:600;color:var(--tinta)}
.aviso-triagem{font-size:.92rem;color:var(--tinta-suave);border-left:2px solid var(--acento);padding-left:.9rem}
@media (max-width:860px){.checkup-grade{grid-template-columns:1fr}}

/* sobre */
.sobre-grade{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.sobre-foto{margin:0;position:sticky;top:6.5rem}
.sobre-foto img{border-radius:28px;width:100%;aspect-ratio:4/5;object-fit:cover}
.credenciais{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin:1.6rem 0 2rem;padding:1.4rem 0;border-block:1px solid var(--linha)}
.credenciais dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:.25rem}
.credenciais dd{margin:0;font-family:var(--serif);font-size:1.12rem;color:var(--tinta-forte)}
.frase{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.35;color:var(--tinta-forte)}
@media (max-width:860px){.sobre-grade{grid-template-columns:1fr}.sobre-foto{position:static;max-width:26rem}}

/* passos */
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(1.2rem,3vw,2.4rem);counter-reset:passo;padding:0;margin:0;list-style:none}
.passos li{position:relative;padding-top:4.2rem}
.passos li::before{counter-increment:passo;content:counter(passo,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--acento)}
.passos li::after{content:"";position:absolute;top:1.3rem;left:4.2rem;right:0;height:1px;background:var(--linha)}
.passos p{color:var(--tinta-suave)}

/* perguntas */
.faq{max-width:52rem}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.35rem 0;font-family:var(--serif);font-size:1.22rem;color:var(--tinta-forte)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:1.6rem;line-height:1;color:var(--acento);transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--tinta-suave);margin:0 0 1.4rem;max-width:46rem}
.faq-extra{margin-top:2rem;color:var(--tinta-suave)}

/* chamada final */
.final{position:relative;overflow:hidden;padding:clamp(4.5rem,10vw,8rem) 0;text-align:center;color:#fff;background:var(--tinta-forte)}
.final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.final .envoltorio{position:relative}
.final h2{color:#fff}
.final p{color:#e6e4df;max-width:36rem;margin-inline:auto}
.final .acoes{justify-content:center}
.final .botao-linha{color:#fff;border-color:rgba(255,255,255,.5)}
.final .foto-credito{position:absolute;right:1rem;bottom:.6rem;color:#d8d6d1}
.final .foto-credito a{color:#fff}

/* rodapé */
.rodape{padding:3.5rem 0 7rem;font-size:.92rem;color:var(--tinta-suave);background:var(--fundo)}
.rodape-grade{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.rodape h2{font-size:1.25rem;margin-bottom:.4rem}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{margin:.3rem 0}
.emergencia{background:var(--cartao);border:1px solid var(--linha);border-radius:16px;padding:1rem 1.2rem}
.emergencia a{font-weight:700}
.creditos{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--linha);font-size:.8rem}
@media (max-width:860px){.rodape-grade{grid-template-columns:1fr}}

/* WhatsApp flutuante no celular */
.zap-flutuante{display:none}
@media (max-width:760px){
  .zap-flutuante{display:inline-flex;position:fixed;right:1rem;bottom:1rem;z-index:30;box-shadow:0 14px 30px -10px rgba(0,0,0,.45)}
  .topo .botao{display:none}
}

/* check-up (dialog) */
.quiz{width:min(46rem,100% - 1.5rem);max-height:min(92vh,100dvh - 1.5rem);border:0;border-radius:28px;padding:0;background:var(--fundo);color:var(--tinta);box-shadow:0 40px 100px -30px rgba(15,23,42,.6)}
.quiz::backdrop{background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.quiz-corpo{padding:clamp(1.4rem,4vw,2.6rem)}
.quiz-fechar{position:sticky;top:0;float:right;margin:.8rem .8rem 0 0;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--linha);background:var(--cartao);font-size:1.3rem;cursor:pointer;color:var(--tinta);z-index:2}
.quiz h2{font-size:clamp(1.45rem,3.5vw,2rem)}
.quiz-sobre,.quiz-contador{font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--acento)}
.quiz-nota{font-size:.9rem;color:var(--tinta-suave)}
.quiz-progresso{height:4px;border-radius:9px;background:var(--linha);margin:.8rem 0 1.6rem;overflow:hidden}
.quiz-progresso span{display:block;height:100%;width:var(--w);background:var(--primaria);transition:width .4s ease}
.quiz-opcoes{display:grid;gap:.6rem;margin:1.2rem 0}
.opcao{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--linha);background:var(--cartao);font:500 1rem/1.3 var(--sans);color:var(--tinta);cursor:pointer;transition:border-color .2s ease,transform .2s ease}
.opcao:hover{border-color:var(--primaria);transform:translateX(3px)}
.opcao-n{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:color-mix(in srgb,var(--primaria) 10%,transparent);color:var(--primaria);font-weight:700;font-size:.85rem;flex:none}
.quiz-voltar{background:none;border:0;color:var(--tinta-suave);font:inherit;cursor:pointer;padding:.4rem 0}
.quiz-cartao,.quiz-aviso,.quiz-cta{background:var(--cartao);border:1px solid var(--linha);border-radius:20px;padding:1.3rem 1.4rem;margin:1rem 0}
.quiz-cartao h3,.quiz-cta h3{font-size:1.2rem}
.quiz-visao .chip{margin-bottom:.8rem}
.barras{list-style:none;padding:0;margin:0}
.barras li{margin:.9rem 0}
.barra-topo{display:flex;justify-content:space-between;gap:.8rem;align-items:center;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.barra{height:.6rem;border-radius:9px;background:var(--linha);overflow:hidden}
.barra span{display:block;height:100%;width:var(--w);border-radius:9px}
.nv-baixa{background:#e3f4ea;color:#14532d;border-color:#bfe3cd}
.nv-moderada{background:#fdf0d5;color:#7c4a03;border-color:#f3d79c}
.nv-alta{background:#fbe1df;color:#8a1c14;border-color:#f1bdb7}
.barra .nv-baixa{background:#2f9e6a}.barra .nv-moderada{background:#d79a1e}.barra .nv-alta{background:#c2410c}
.area{border-radius:16px;padding:1rem 1.1rem;margin:1rem 0}
.area.alta{background:#fdf1ef;border:1px solid #f1cfca}.area.moderada{background:#fdf6e6;border:1px solid #f1dfb4}
.area-titulo{display:block;margin-bottom:.4rem}
.area ul,.area-outra ul{padding-left:1.1rem;margin:.3rem 0 .7rem}
.area-outra{border:1px solid var(--linha);border-radius:14px;padding:.8rem 1rem;margin:.6rem 0}
.area-outra summary{cursor:pointer;font-weight:600}
.forte{font-weight:600;color:var(--tinta-forte)}
.destaque{color:var(--primaria);font-weight:600}
.quiz-alerta{border-radius:20px;padding:1.2rem 1.4rem;margin:1rem 0;background:#eef3fb;border:1px solid #d4e0f4}
.quiz-alerta.forte{background:#fdf6e6;border-color:#f1dfb4}
.dicas{padding-left:1.3rem}
.dicas li{margin:.5rem 0}
.quiz-acoes{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.quiz-intro .chips{margin:1rem 0}

/* relatório para salvar em PDF: checkup.js monta .relatorio-impressao (cópia limpa, filho do <body>) e liga
   html.imprime-relatorio enquanto o resultado está na tela; na impressão só ela aparece: sem página por trás,
   sem dialog e sem o fundo desfocado (::backdrop), em A4 e sem cortar cartão no meio */
.relatorio-impressao{display:none}
@page{size:A4;margin:14mm 14mm 16mm}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{background:#fff}
  .topo,.proposta,.zap-flutuante{display:none}
  html.imprime-relatorio body>:not(.relatorio-impressao){display:none!important}
  html.imprime-relatorio .relatorio-impressao{display:block}
  html.imprime-relatorio body{font-size:10.5pt;line-height:1.5}
  .ri-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.6rem;margin-bottom:1rem;border-bottom:2px solid var(--primaria)}
  .ri-nome{display:block;font-family:var(--serif);font-weight:600;font-size:17pt;line-height:1.1;color:var(--primaria)}
  .ri-topo span{display:block;font-size:9pt;color:var(--tinta-suave)}
  .ri-meta{text-align:right}
  .ri-meta strong{display:block;font-size:10pt}
  .relatorio-impressao h2{font-size:20pt;margin:.2rem 0 .3rem}
  .relatorio-impressao h3{font-size:12.5pt;margin-bottom:.4rem}
  .relatorio-impressao .quiz-sobre{font:600 8pt/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--acento);margin-bottom:.4rem}
  .relatorio-impressao .quiz-nota{font-size:9pt}
  .relatorio-impressao .quiz-cartao,.relatorio-impressao .quiz-aviso,.relatorio-impressao .quiz-cta,.relatorio-impressao .quiz-alerta{border-radius:12px;padding:.8rem 1rem;margin:.7rem 0}
  .relatorio-impressao .barras li{margin:.45rem 0}
  .relatorio-impressao .chip{font-size:8.5pt;padding:.2rem .6rem}
  .relatorio-impressao .area-outra summary{list-style:none}
  .relatorio-impressao .area-outra summary::-webkit-details-marker{display:none}
  .relatorio-impressao .quiz-cartao,.relatorio-impressao .quiz-aviso,.relatorio-impressao .quiz-cta,.relatorio-impressao .quiz-alerta,
  .relatorio-impressao .area,.relatorio-impressao .area-outra,.relatorio-impressao .barras li,.relatorio-impressao .dicas li,.ri-topo,.ri-rodape{break-inside:avoid;page-break-inside:avoid}
  .relatorio-impressao h2,.relatorio-impressao h3,.relatorio-impressao .forte,.relatorio-impressao summary{break-after:avoid;page-break-after:avoid}
  .ri-rodape{margin-top:1rem;padding-top:.6rem;border-top:2px solid var(--primaria);font-size:9pt;color:var(--tinta-suave)}
  .ri-rodape p{margin:0 0 .2rem}
}

/* micro-animações: só para quem não pediu menos movimento */
@media (prefers-reduced-motion:no-preference){
  .entra{animation:entra .9s cubic-bezier(.2,.7,.2,1) both}
  .entra-2{animation-delay:.12s}.entra-3{animation-delay:.24s}
  @supports (animation-timeline:view()){
    .revela{animation:entra linear both;animation-timeline:view();animation-range:entry 5% cover 28%}
  }
  .quiz[open]{animation:surge .35s ease both}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@keyframes entra{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes surge{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
