/* ─────────────────────────────────────────────────────────────────────────
   MATERIAL DE APOIO — folha única das 11 páginas de /explicacoes e /precos.
   Antes cada página carregava a própria cópia do CSS (~5 KB) e elas foram
   divergindo: paleta bege num lado, carmim no outro. Agora o desenho mora
   aqui, e a página traz só o conteúdo.
   ⚠️ Mexer aqui muda as 11 de uma vez. É esse o ponto.
   Mesmos tokens da home (index.html) — material e site são a mesma casa.
   ───────────────────────────────────────────────────────────────────────── */
:root{--cr:#ec1850;--cr2:#d1043f;--gold:#9c7c50;--ink:#161310;--ink2:#4f4a44;--mut:#857f76;
  --paper:#ffffff;--cream:#fbf7f1;--line:#ece5da;--pk:#fcebf0;--snd:#f1ece2;--ok:#2f7d5b;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
.wrap{max-width:920px;margin:0 auto;padding:0 1.5rem}
.eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--cr);font-weight:400}
section{padding:clamp(2.6rem,6vw,4.2rem) 0}
section.cola{padding-top:0}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,4.2vw,2.5rem);line-height:1.1;margin:.7rem 0 0}
.sec-head{margin-bottom:1.9rem;max-width:36ch}
.sec-head p{color:var(--ink2);font-size:.95rem;margin-top:.6rem}

/* ── topo ──────────────────────────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 0%,rgba(236,24,80,.06),transparent 40%),linear-gradient(180deg,#fffdfa,#f8f1e8)}
.hero-wm{position:absolute;top:-20px;right:-60px;width:340px;opacity:.8;pointer-events:none}
.hero-c{max-width:920px;margin:0 auto;padding:1.5rem 1.5rem clamp(2.4rem,6vw,3.6rem);position:relative}
.nav{display:flex;align-items:center;gap:.6rem;padding:1.2rem 0}
.nav .wd{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,5.4vw,3.4rem);line-height:1.05;letter-spacing:-.01em;margin:1.2rem 0 0;max-width:17ch}
.hero h1 em{font-style:italic;color:var(--gold)}

/* ── faixa de fatos ────────────────────────────────────────────────────── */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.trust-in{max-width:920px;margin:0 auto;padding:1.05rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem 2rem}
.t-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:var(--ink2);line-height:1.4}
.t-ic{color:var(--cr);display:flex;flex-shrink:0;margin-top:1px}
.t-item b{color:var(--ink);font-weight:500}

/* ── fluxograma ────────────────────────────────────────────────────────── */
.fluxo{position:relative;display:flex;flex-direction:column;gap:.7rem}
.fx{position:relative;display:grid;grid-template-columns:34px 1fr;gap:1rem;align-items:start}
.fx::before{content:"";position:absolute;left:16px;top:34px;bottom:-.7rem;width:2px;background:var(--line)}
.fx:last-child::before{display:none}
.fx-node{width:34px;height:34px;border-radius:50%;background:var(--pk);color:var(--cr);border:2px solid #fff;
  box-shadow:0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;
  font-size:.82rem;font-weight:500;position:relative;z-index:1}
.fx--fim .fx-node{background:linear-gradient(100deg,var(--cr),var(--cr2));color:#fff;box-shadow:0 8px 18px rgba(209,4,63,.28)}
.fx-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.05rem 1.15rem}
.fx--fim .fx-card{border-color:#f4d3dd;background:linear-gradient(180deg,#fff,#fff8fa)}
.fx-tag{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.25rem}
.fx-t{font-family:var(--serif);font-size:1.32rem;font-weight:500;line-height:1.15}
.fx-d{font-size:.9rem;color:var(--ink2);line-height:1.55;margin-top:.35rem}
.fx-nota{display:flex;gap:.5rem;align-items:flex-start;margin-top:.75rem;padding-top:.7rem;border-top:1px dashed var(--line);font-size:.82rem;color:var(--ink2);line-height:1.45}
.fx-nota svg{color:var(--cr);flex-shrink:0;margin-top:1px}
/* entrada suave — o estado escondido só vale com JS (classe .js no <html>),
   senão quem estiver sem JS não veria nada. Vale para o fluxo e para os planos. */
.js .rev{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.js .rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){ .js .rev{opacity:1;transform:none;transition:none} }

/* bifurcação: duas saídas com haste ligando ao card de cima */
.bif{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.85rem}
.bif-b{border-radius:12px;padding:.7rem .8rem;font-size:.84rem;line-height:1.4;border:1px solid var(--line);background:var(--cream);position:relative}
.bif-b::before{content:"";position:absolute;top:-.85rem;left:1.1rem;width:2px;height:.85rem;background:var(--line)}
.bif-b b{display:block;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem}
.bif-sim{border-color:#cfe6da;background:#f3faf6}
.bif-sim b{color:var(--ok)}
.bif-nao b{color:var(--mut)}
@media (max-width:520px){ .bif{grid-template-columns:1fr} }

/* ── diagrama de duas entradas → resultado ─────────────────────────────── */
.calc{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(1.2rem,3vw,1.8rem)}
.calc-top{display:grid;grid-template-columns:1fr 44px 1fr;gap:.7rem;align-items:stretch}
.calc-box{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:1rem}
.calc-lbl{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.calc-h{font-family:var(--serif);font-size:1.22rem;font-weight:500;line-height:1.15;margin-bottom:.6rem}
.calc-li{display:flex;gap:.45rem;align-items:flex-start;font-size:.84rem;color:var(--ink2);line-height:1.45;margin-top:.28rem}
.calc-li i{width:5px;height:5px;border-radius:50%;background:var(--cr);flex-shrink:0;margin-top:.5rem}
.calc-x{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.7rem;color:var(--mut)}
.calc-seta{display:flex;justify-content:center;color:var(--line);margin:.55rem 0 .1rem}
.calc-res{background:linear-gradient(100deg,var(--cr),var(--cr2));color:#fff;border-radius:14px;padding:1rem 1.15rem;text-align:center}
.calc-res .calc-lbl{color:rgba(255,255,255,.72)}
.calc-res-h{font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1.15}
.calc-res-d{font-size:.84rem;line-height:1.45;color:rgba(255,255,255,.86);margin-top:.3rem}
.calc-mais{text-align:center;font-family:var(--serif);font-size:1.7rem;color:var(--cr);line-height:1;margin:.7rem 0 .55rem}
.calc-extra{border:1px solid #f4d3dd;background:#fff8fa;border-radius:14px;padding:1rem 1.15rem}
.calc-extra-d{font-size:.84rem;color:var(--ink2);line-height:1.45;margin-bottom:.6rem}
.calc-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font-size:.78rem;color:var(--cr2);background:var(--pk);border:1px solid #f4d3dd;border-radius:999px;padding:.32rem .75rem}
.calc-obs{font-size:.84rem;color:var(--ink2);line-height:1.5;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.calc-obs b{color:var(--ink);font-weight:500}
@media (max-width:640px){ .calc-top{grid-template-columns:1fr} .calc-x{padding:.15rem 0} }

/* ── duas vias lado a lado ─────────────────────────────────────────────── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.duo-c{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.15rem}
.duo-c--forte{border-color:#f4d3dd;background:linear-gradient(180deg,#fff,#fff8fa)}
.duo-lbl{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.duo-h{font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.15}
.duo-d{font-size:.88rem;color:var(--ink2);line-height:1.5;margin-top:.4rem}
@media (max-width:600px){ .duo{grid-template-columns:1fr} }

/* ── lista de situações ────────────────────────────────────────────────── */
.gat{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:.35rem 1.15rem}
.gat-i{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.75rem;padding:.9rem 0;font-size:.92rem;line-height:1.45}
.gat-i+.gat-i{border-top:1px solid var(--line)}
.gat-i i{width:7px;height:7px;border-radius:50%;background:var(--cr);flex-shrink:0;margin-top:.5rem}
.gat-i span{flex:1;min-width:0}
.gat-t{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.25rem .6rem;flex-shrink:0}
.gat-t--forte{color:var(--cr2);background:var(--pk);border:1px solid #f4d3dd}
.gat-t--dep{color:var(--mut);background:var(--cream);border:1px solid var(--line)}
/* No celular a etiqueta comia um terço da linha e o texto quebrava em quatro.
   Ela desce para a linha de baixo, alinhada com o texto. */
@media (max-width:560px){
  .gat-i{display:grid;grid-template-columns:7px 1fr;gap:.3rem .75rem;align-items:start}
  .gat-t{grid-column:2;justify-self:start}
}

/* ── linha do tempo ────────────────────────────────────────────────────── */
.tl{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(1.3rem,3vw,1.9rem) clamp(1.1rem,3vw,1.8rem)}
.tl-track{display:grid;gap:0;position:relative}
.tl-track::before{content:"";position:absolute;top:9px;height:2px;background:linear-gradient(90deg,var(--line),var(--cr) 55%,var(--cr))}
.tl-track[data-n="4"]{grid-template-columns:repeat(4,1fr)}
.tl-track[data-n="4"]::before{left:12%;right:12%}
.tl-track[data-n="5"]{grid-template-columns:repeat(5,1fr)}
.tl-track[data-n="5"]::before{left:10%;right:10%}
.tl-p{position:relative;text-align:center;padding:0 .3rem}
.tl-dot{width:20px;height:20px;border-radius:50%;background:var(--paper);border:2px solid var(--line);margin:0 auto .6rem;position:relative;z-index:1}
.tl-p--on .tl-dot{border-color:var(--cr);background:var(--cr);box-shadow:0 0 0 4px var(--pk)}
.tl-q{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cr);margin-bottom:.2rem}
.tl-t{font-size:.88rem;font-weight:500;line-height:1.25}
.tl-d{font-size:.78rem;color:var(--mut);line-height:1.35;margin-top:.15rem}
@media (max-width:640px){
  .tl-track,.tl-track[data-n="4"],.tl-track[data-n="5"]{grid-template-columns:20px 1fr;gap:.5rem 1rem;row-gap:1.15rem}
  .tl-track::before,.tl-track[data-n="4"]::before,.tl-track[data-n="5"]::before{left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto;
    background:linear-gradient(180deg,var(--line),var(--cr) 55%,var(--cr))}
  .tl-p{display:contents}
  .tl-dot{margin:0}
  .tl-txt{text-align:left}
}

/* ── nota com ícone ────────────────────────────────────────────────────── */
.nota{display:flex;gap:.8rem;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}
.nota+.nota{margin-top:.7rem}
.nota svg{color:var(--cr);flex-shrink:0;margin-top:2px}
.nota-t{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.3rem}
.nota-d{font-size:.9rem;color:var(--ink2);line-height:1.55}
.nota-d b{color:var(--ink);font-weight:500}

/* ── o que está incluso ────────────────────────────────────────────────── */
.inc{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:.35rem 1.15rem}
.inc-i{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 0;font-size:.92rem;line-height:1.45;color:var(--ink2)}
.inc-i+.inc-i{border-top:1px solid var(--line)}
.inc-ck{width:20px;height:20px;border-radius:50%;background:var(--cr);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}

/* ── planos ────────────────────────────────────────────────────────────── */
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}
.plano{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.25rem;display:flex;flex-direction:column}
.plano--best{border-color:var(--cr);box-shadow:0 14px 34px rgba(209,4,63,.12)}
.plano-selo{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;background:linear-gradient(100deg,var(--cr),var(--cr2));border-radius:999px;padding:.3rem .7rem;align-self:flex-start;margin-bottom:.7rem}
.plano-lbl{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.plano-val{font-family:var(--serif);font-size:2.4rem;font-weight:500;line-height:1;letter-spacing:-.01em}
.plano-val small{font-size:1.1rem;font-weight:400;color:var(--mut);margin-right:.3rem}
.plano-un{font-size:.78rem;color:var(--mut);margin-top:.35rem}
.plano-sub{font-size:.8rem;color:var(--ink2);line-height:1.45;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}
.plano-sub b{color:var(--ink);font-weight:500}
.plano--nota{background:var(--cream);border-style:dashed;justify-content:center}
.plano--nota .plano-h{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.2}
.plano--nota p{font-size:.82rem;color:var(--ink2);line-height:1.5;margin-top:.4rem}

/* ── êxito ─────────────────────────────────────────────────────────────── */
.exito{background:linear-gradient(100deg,var(--cr),var(--cr2));color:#fff;border-radius:20px;padding:clamp(1.3rem,3vw,1.8rem);display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center}
.exito-n{font-family:var(--serif);font-size:clamp(3rem,9vw,4.2rem);font-weight:500;line-height:.9}
.exito-l{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:.4rem}
.exito-d{font-size:.94rem;line-height:1.6;color:rgba(255,255,255,.92)}
.exito-d b{color:#fff;font-weight:500}
@media (max-width:560px){ .exito{grid-template-columns:1fr;gap:.8rem} }

/* ── fecho ─────────────────────────────────────────────────────────────── */
.fim{background:var(--paper);border-top:1px solid var(--line)}
.fim .wrap{padding:clamp(2.6rem,6vw,4rem) 1.5rem}
.fim h2{max-width:22ch}
.fim p{color:var(--ink2);font-size:.98rem;margin-top:.7rem;max-width:50ch}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.pill{font-size:.74rem;letter-spacing:.06em;color:var(--ink2);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem}
.cta-wpp{display:inline-flex;align-items:center;gap:.55rem;background:linear-gradient(100deg,var(--cr),var(--cr2));color:#fff;font-size:1rem;padding:1rem 1.8rem;border-radius:14px;box-shadow:0 16px 34px rgba(209,4,63,.26);margin-top:1.6rem;transition:transform .15s ease}
.cta-wpp:hover{transform:translateY(-2px)}
.cta-note{display:block;margin-top:.75rem;font-size:.76rem;color:var(--mut)}
footer{background:var(--cream);border-top:1px solid var(--line)}
.foot{max-width:920px;margin:0 auto;padding:1.8rem 1.5rem;font-size:.74rem;line-height:1.7;color:var(--mut)}
.foot strong{color:var(--ink);font-weight:500}
