
:root{
  --bg:#f4f0e8;
  --surface:#fbfaf7;
  --ink:#171717;
  --muted:#66615a;
  --line:#d8d0c3;
  --gold:#a98a55;
  --dark:#151515;
  --dark-2:#222;
  --white:#fff;
  --radius:18px;
  --shadow:0 18px 48px rgba(0,0,0,.09);
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
}
a{color:inherit}
img{max-width:100%;display:block}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.narrow{width:min(calc(100% - 40px),860px);margin-inline:auto}
.section{padding:88px 0}
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(244,240,232,.94);
  border-bottom:1px solid rgba(23,23,23,.08);
  backdrop-filter:blur(14px);
}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:14px}
.brand-mark{font-size:1.35rem;letter-spacing:.22em;font-weight:800}
.brand-sub{font-size:.78rem;color:var(--muted);max-width:310px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 24px;border:1px solid var(--ink);
  background:var(--ink);color:var(--white);text-decoration:none;
  font-weight:700;letter-spacing:.02em;border-radius:999px;cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.button:hover{transform:translateY(-1px);background:#000}
.button-small{min-height:42px;padding:0 18px;font-size:.9rem}
.button-full{width:100%}
.eyebrow{
  text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
  font-weight:800;color:var(--gold);margin:0 0 16px;
}
h1,h2,h3{margin:0 0 22px;line-height:1.02;letter-spacing:-.035em}
h1{font-size:clamp(2.8rem,6vw,5.8rem);max-width:820px}
h2{font-size:clamp(2.2rem,4.5vw,4.3rem)}
h3{font-size:clamp(1.55rem,2.5vw,2.3rem);font-weight:500}
p{font-size:1.05rem}
.lead{font-size:1.25rem;max-width:720px}
.hero{padding-top:64px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:stretch}
.hero-copy{padding:54px 0 36px}
.debtor-types{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}
.debtor-types span,.possibilities span{
  border:1px solid var(--line);padding:10px 14px;border-radius:999px;
  font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  background:rgba(255,255,255,.4)
}
.media-placeholder{
  min-height:540px;border-radius:var(--radius);
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(0,0,0,.07)),
    linear-gradient(180deg, #d9d2c6, #bdb5a8);
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.media-placeholder:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.25) 52%,transparent 59%);
}
.media-placeholder__label{
  position:absolute;left:24px;bottom:24px;
  background:rgba(20,20,20,.82);color:#fff;padding:14px 16px;border-radius:12px;
  display:flex;flex-direction:column;gap:2px;font-size:.82rem;
}
.section-dark{background:var(--dark);color:var(--white)}
.research{text-align:center}
.research .eyebrow{color:#c5a66d}
.large-copy{font-size:1.35rem;color:#ddd}
.statement{
  font-size:clamp(1.55rem,3vw,2.65rem);line-height:1.22;
  max-width:900px;margin:24px auto 28px;font-weight:700;
}
.method-line{color:#ccc}
.provocation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.provocation-media{min-height:600px}
.provocation-copy p{max-width:720px}
.possibilities{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}
.closing-line{font-size:1.2rem;border-top:1px solid var(--line);padding-top:22px}
.analysis{background:var(--surface)}
.analysis-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.offer{position:sticky;top:112px}
.free-step,.paid-step{
  border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:22px 0;background:#fff
}
.free-step{display:flex;justify-content:space-between;gap:20px;align-items:center}
.free-step strong{font-size:1.4rem}
.step-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.price-title{font-size:1.05rem;font-weight:800;margin-top:8px}
.price{font-size:clamp(2.6rem,5vw,4.8rem);font-weight:900;letter-spacing:-.06em;line-height:1;margin:10px 0 20px}
.deadline{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lead-form{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;box-shadow:var(--shadow)
}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.9rem;font-weight:700}
label span{font-weight:400;color:var(--muted)}
input,select,textarea{
  width:100%;border:1px solid #cfc6b8;border-radius:12px;background:#fff;
  padding:14px 15px;font:inherit;color:var(--ink);outline:none;
}
input:focus,select:focus,textarea:focus{border-color:#6f6659;box-shadow:0 0 0 3px rgba(111,102,89,.10)}
textarea{resize:vertical;min-height:140px}
.privacy-check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;font-weight:400}
.privacy-check input{width:auto;margin-top:4px}
.form-note{font-size:.82rem;color:var(--muted);text-align:center}
.form-status{font-size:.88rem;text-align:center;min-height:1.5em}
.site-footer{background:var(--dark);color:#ddd;padding:34px 0}
.footer-inner{display:flex;justify-content:space-between;gap:26px;align-items:center}
.footer-inner>div{display:flex;flex-direction:column}
.footer-inner span{font-size:.78rem;color:#aaa}
.footer-inner nav{display:flex;gap:20px}
.footer-inner a{font-size:.82rem;color:#bbb;text-decoration:none}

@media (max-width: 900px){
  .section{padding:64px 0}
  .header-inner{min-height:70px}
  .brand-sub{display:none}
  .hero-grid,.provocation-grid,.analysis-grid{grid-template-columns:1fr}
  .hero-copy{padding:18px 0 0}
  .hero-media{min-height:420px}
  .provocation-media{min-height:440px;order:2}
  .provocation-copy{order:1}
  .offer{position:static}
}
@media (max-width: 600px){
  .shell,.narrow{width:min(calc(100% - 28px),var(--max))}
  .section{padding:52px 0}
  .site-header .button-small{display:none}
  h1{font-size:clamp(2.5rem,14vw,4rem)}
  .hero{padding-top:34px}
  .hero-media,.provocation-media{min-height:330px}
  .field-grid{grid-template-columns:1fr}
  .lead-form{padding:20px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}


/* Ajuste para notebooks e telas desktop com menor altura útil */
@media (min-width: 901px) and (max-height: 820px){
  .site-header .header-inner{
    min-height:64px;
  }

  .hero{
    padding-top:24px;
    padding-bottom:30px;
  }

  .hero-grid{
    gap:42px;
    min-height:calc(100vh - 64px);
    align-items:center;
  }

  .hero-copy{
    padding:10px 0 12px;
  }

  .hero-copy .eyebrow{
    margin-bottom:10px;
  }

  .hero h1{
    font-size:clamp(3rem,5.2vw,4.9rem);
    margin-bottom:14px;
  }

  .hero .lead{
    font-size:1.08rem;
    margin-top:0;
    margin-bottom:8px;
  }

  .hero-copy > p:not(.eyebrow):not(.lead){
    margin-top:8px;
    margin-bottom:8px;
  }

  .debtor-types{
    margin:18px 0;
  }

  .debtor-types span{
    padding:8px 12px;
    font-size:.78rem;
  }

  .hero .button{
    min-height:46px;
    padding:0 21px;
  }

  .hero-media{
    min-height:0;
    height:min(64vh,520px);
  }
}

@media (min-width: 901px) and (max-height: 700px){
  .site-header .header-inner{
    min-height:58px;
  }

  .hero{
    padding-top:16px;
    padding-bottom:20px;
  }

  .hero-grid{
    min-height:calc(100vh - 58px);
  }

  .hero h1{
    font-size:clamp(2.7rem,4.8vw,4.35rem);
  }

  .hero .lead,
  .hero-copy > p:not(.eyebrow):not(.lead){
    font-size:.98rem;
    line-height:1.42;
  }

  .debtor-types{
    margin:14px 0;
  }

  .hero-media{
    height:min(61vh,460px);
  }
}


/* v003 — compactação dos Blocos 3 e 4 sem forçar uma única viewport */
.provocation.section{
  padding-top:68px;
  padding-bottom:68px;
}

.provocation-grid{
  gap:50px;
}

.provocation-media{
  min-height:520px;
}

.provocation-copy h2{
  margin-bottom:14px;
}

.provocation-copy h3{
  margin-bottom:18px;
}

.provocation-copy p{
  margin-top:10px;
  margin-bottom:10px;
}

.possibilities{
  margin:22px 0;
}

.closing-line{
  padding-top:18px;
  margin-top:16px;
  margin-bottom:0;
}

.analysis.section{
  padding-top:68px;
  padding-bottom:68px;
}

.analysis-grid{
  gap:42px;
}

.offer h2{
  margin-bottom:16px;
}

.offer > p{
  margin-top:10px;
  margin-bottom:10px;
}

.free-step,
.paid-step{
  padding:18px;
  margin:16px 0;
}

.paid-step p{
  margin-top:10px;
  margin-bottom:10px;
}

.price{
  margin:8px 0 14px;
}

.deadline{
  padding:11px 0;
}

.lead-form{
  padding:24px;
}

.field{
  margin-bottom:14px;
}

textarea{
  min-height:115px;
}

.privacy-check{
  margin:2px 0 14px;
}

.form-note{
  margin-top:10px;
  margin-bottom:4px;
}

@media (min-width: 901px) and (max-height: 820px){
  .provocation.section,
  .analysis.section{
    padding-top:52px;
    padding-bottom:52px;
  }

  .provocation-media{
    min-height:470px;
    height:min(62vh,500px);
  }

  .provocation-copy h2{
    font-size:clamp(2.1rem,3.8vw,3.6rem);
  }

  .provocation-copy h3{
    font-size:clamp(1.35rem,2.1vw,1.9rem);
  }

  .provocation-copy p,
  .offer p,
  .lead-form{
    font-size:.98rem;
  }

  .possibilities span{
    padding:8px 11px;
    font-size:.75rem;
  }

  .analysis-grid{
    gap:34px;
  }

  .lead-form{
    padding:20px;
  }

  .field{
    margin-bottom:12px;
  }

  input,select,textarea{
    padding:12px 13px;
  }

  textarea{
    min-height:95px;
  }
}


/* v004 — rodapé mais enxuto */
.site-footer{
  padding:16px 0;
}
.footer-inner{
  min-height:28px;
}


/* v005 — dourado como contrapeso ao preto, sem alterar a estrutura */
:root{
  --gold:#a98a55;
  --gold-deep:#8f713f;
  --gold-soft:#d8c29a;
}

/* CTAs principais: dourado mais presente, mantendo alto contraste */
.hero .button,
.analysis .button-full{
  background:var(--gold-deep);
  border-color:var(--gold-deep);
  color:#fff;
}

.hero .button:hover,
.analysis .button-full:hover{
  background:#7f6337;
  border-color:#7f6337;
}

/* Identificadores PF/PJ e possibilidades jurídicas */
.debtor-types span{
  border-color:var(--gold-soft);
  background:rgba(169,138,85,.08);
}

.possibilities span{
  border-color:var(--gold-soft);
  background:rgba(169,138,85,.07);
}

/* Bloco 2: dourado aplicado ao ponto central, reduzindo massa visual preta */
.research .statement{
  color:#e1c48d;
}

.research .method-line strong{
  color:#e1c48d;
}

/* Bloco 3: subtítulo e fechamento com acento dourado */
.provocation-copy h3{
  color:var(--gold-deep);
}

.closing-line{
  border-top-color:var(--gold-soft);
}

/* Bloco comercial */
.free-step{
  border-color:var(--gold-soft);
}

.free-step strong{
  color:var(--gold-deep);
}

.paid-step{
  border-color:var(--gold-soft);
}

.price{
  color:var(--gold-deep);
}

.deadline{
  border-top-color:var(--gold-soft);
  border-bottom-color:var(--gold-soft);
  color:var(--gold-deep);
}

/* Formulário */
.lead-form{
  border-top:3px solid var(--gold);
}

/* Cabeçalho permanece predominantemente preto para não perder hierarquia */


/* v006 — restrição territorial: Estado de São Paulo */
.sp-warning{
  margin:-2px 0 16px;
  padding:13px 14px;
  border:1px solid var(--gold-soft);
  border-radius:12px;
  background:rgba(169,138,85,.08);
  color:var(--gold-deep);
  font-size:.9rem;
  font-weight:700;
}

.sp-condition{
  color:var(--gold-deep);
}


/* v007 — clareza comercial entre verificação gratuita, Análise Inicial e investigação */
.scope-warning{
  margin:14px 0;
  padding:13px 14px;
  border-left:3px solid var(--gold);
  background:rgba(169,138,85,.07);
}

.paid-step .scope-warning strong{
  color:var(--ink);
}

.form-note strong{
  color:var(--ink);
}


/* v008 — FAQ integrada ao Bloco 4 e fluxo visual de contratação */
.faq-wrap{
  margin-top:46px;
}

.faq-head{
  margin-bottom:18px;
}

.faq-head h3{
  margin-bottom:0;
}

.faq-list{
  display:grid;
  gap:10px;
}

.faq-list details{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:18px 20px;
  font-weight:800;
  position:relative;
}

.faq-list summary::-webkit-details-marker{
  display:none;
}

.faq-list summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.25rem;
  color:var(--gold-deep);
}

.faq-list details[open] summary::after{
  content:"−";
}

.faq-content{
  padding:0 20px 20px;
  border-top:1px solid rgba(216,208,195,.7);
}

.faq-content p{
  margin:16px 0 0;
}

.contract-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:stretch;
  margin-top:20px;
}

.flow-step{
  min-width:0;
  border:1px solid var(--gold-soft);
  background:rgba(169,138,85,.055);
  border-radius:14px;
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  justify-content:flex-start;
}

.flow-number{
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--gold-deep);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  font-weight:800;
}

.flow-step strong{
  font-size:.94rem;
  line-height:1.25;
}

.flow-step small{
  color:var(--muted);
  line-height:1.35;
}

.flow-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-deep);
  font-size:1.35rem;
  font-weight:800;
}

.faq-note{
  margin-top:18px !important;
  padding:14px 16px;
  border-left:3px solid var(--gold);
  background:rgba(169,138,85,.06);
}

@media (max-width: 900px){
  .faq-wrap{
    margin-top:34px;
  }

  .contract-flow{
    grid-template-columns:1fr;
    gap:8px;
  }

  .flow-arrow{
    transform:rotate(90deg);
    min-height:22px;
  }
}


/* v009 — restaura composição em duas colunas no Bloco 4 */
@media (min-width: 901px){
  .analysis-grid{
    grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);
    align-items:start;
  }

  .lead-form{
    max-width:500px;
    width:100%;
    justify-self:end;
  }
}


/* v010 — decisão explícita após a verificação preliminar */
.contract-flow--decision{
  display:block;
}

.flow-main{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(220px,1fr);
  gap:10px;
  align-items:stretch;
  max-width:720px;
}

.flow-decision{
  position:relative;
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--gold-soft);
  display:grid;
  gap:18px;
}

.flow-decision::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:22px;
  background:var(--gold-soft);
}

.decision-path{
  display:flex;
  align-items:center;
  gap:12px;
}

.decision-label{
  min-width:48px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  border:1px solid var(--gold-soft);
  background:#fff;
  color:var(--gold-deep);
}

.decision-path--no{
  max-width:380px;
}

.decision-path--no .flow-step{
  flex:1;
}

.decision-path--yes{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr) auto minmax(180px,1fr) auto minmax(180px,1fr);
  gap:10px;
  align-items:stretch;
}

.flow-step--terminal{
  background:#f7f5f0;
  border-color:var(--line);
}

@media (max-width: 900px){
  .flow-main{
    grid-template-columns:1fr;
    max-width:none;
  }

  .flow-decision{
    padding-top:18px;
  }

  .flow-decision::before{
    left:24px;
    height:18px;
  }

  .decision-path,
  .decision-path--yes{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .decision-label{
    width:max-content;
  }

  .decision-path--no{
    max-width:none;
  }
}


/* v011 — fluxo em uma única linha no desktop */
.contract-flow--singleline{
  display:grid;
  grid-template-columns:
    minmax(150px,.85fr) auto
    minmax(230px,1.25fr) auto
    minmax(160px,.9fr) auto
    minmax(190px,1fr) auto
    minmax(165px,.9fr);
  gap:8px;
  align-items:stretch;
}

.contract-flow--singleline .flow-step{
  padding:14px 12px;
}

.contract-flow--singleline .flow-step strong{
  font-size:.88rem;
}

.contract-flow--singleline .flow-step small{
  font-size:.76rem;
}

.flow-step--decision{
  position:relative;
}

.decision-inline{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid var(--gold-soft);
  display:grid;
  gap:6px;
}

.decision-inline__no,
.decision-inline__yes{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.72rem;
  line-height:1.25;
}

.decision-inline .decision-label{
  min-width:38px;
  height:23px;
  padding:0 7px;
  font-size:.62rem;
  flex:0 0 auto;
}

@media (min-width: 901px){
  .contract-flow--singleline{
    overflow:visible;
  }
}

@media (max-width: 900px){
  .contract-flow--singleline{
    grid-template-columns:1fr;
  }

  .contract-flow--singleline .flow-arrow{
    transform:rotate(90deg);
  }
}


/* v012 — fluxo seguro com duas decisões separadas */
.contract-flow--safe{
  display:grid;
  grid-template-columns:minmax(170px,.8fr) auto minmax(220px,1fr) minmax(0,2.6fr);
  gap:10px;
  align-items:start;
}

.flow-decision-node{
  display:grid;
  gap:12px;
  margin-left:10px;
}

.decision-branch{
  display:grid;
  grid-template-columns:auto minmax(170px,1fr);
  gap:10px;
  align-items:center;
}

.decision-branch--yes{
  align-items:start;
}

.flow-decision-node--second{
  margin-top:10px;
  margin-left:0;
}

.flow-decision-node--second .decision-branch--yes{
  display:grid;
  grid-template-columns:auto minmax(190px,1fr) auto minmax(190px,1fr);
  gap:10px;
  align-items:stretch;
}

.flow-decision-node--second .decision-branch--no{
  max-width:360px;
}

.contract-flow--safe .flow-step{
  min-height:100%;
}

@media (max-width: 1100px) and (min-width: 901px){
  .contract-flow--safe{
    grid-template-columns:minmax(150px,.8fr) auto minmax(200px,1fr) minmax(0,2.4fr);
  }

  .contract-flow--safe .flow-step{
    padding:12px 10px;
  }

  .contract-flow--safe .flow-step strong{
    font-size:.84rem;
  }

  .contract-flow--safe .flow-step small{
    font-size:.74rem;
  }
}

@media (max-width: 900px){
  .contract-flow--safe{
    grid-template-columns:1fr;
  }

  .contract-flow--safe > .flow-arrow{
    transform:rotate(90deg);
  }

  .flow-decision-node,
  .flow-decision-node--second{
    margin-left:0;
  }

  .decision-branch,
  .flow-decision-node--second .decision-branch--yes{
    grid-template-columns:1fr;
  }

  .decision-label{
    width:max-content;
  }

  .flow-decision-node--second .decision-branch--no{
    max-width:none;
  }
}


/* v013 — fluxograma compacto, com ramificações curtas e leitura sequencial */
.contract-flow--compact{
  display:grid;
  gap:14px;
  margin-top:20px;
}

.flow-stage--start{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(240px,1.15fr);
  gap:10px;
  align-items:stretch;
  max-width:760px;
}

.flow-branch{
  display:grid;
  gap:10px;
  padding-left:34px;
  position:relative;
}

.flow-branch::before{
  content:"";
  position:absolute;
  left:13px;
  top:-8px;
  bottom:10px;
  width:1px;
  background:var(--gold-soft);
}

.flow-branch-row{
  display:grid;
  grid-template-columns:auto auto minmax(220px,1fr);
  gap:10px;
  align-items:center;
}

.flow-branch--second{
  margin-left:210px;
  max-width:980px;
}

.flow-branch--second .flow-branch-row:last-child{
  grid-template-columns:auto auto minmax(220px,1fr) auto minmax(220px,1fr);
}

.contract-flow--compact .flow-step{
  min-height:112px;
}

.contract-flow--compact .flow-step--terminal{
  min-height:88px;
}

@media (max-width: 1100px) and (min-width: 901px){
  .flow-branch--second{
    margin-left:120px;
  }

  .contract-flow--compact .flow-step{
    padding:12px 11px;
  }

  .contract-flow--compact .flow-step strong{
    font-size:.86rem;
  }

  .contract-flow--compact .flow-step small{
    font-size:.75rem;
  }
}

@media (max-width: 900px){
  .flow-stage--start,
  .flow-branch-row,
  .flow-branch--second .flow-branch-row:last-child{
    grid-template-columns:1fr;
  }

  .flow-stage--start .flow-arrow,
  .flow-branch-row .flow-arrow{
    transform:rotate(90deg);
    min-height:22px;
  }

  .flow-branch,
  .flow-branch--second{
    padding-left:0;
    margin-left:0;
    max-width:none;
  }

  .flow-branch::before{
    display:none;
  }

  .decision-label{
    width:max-content;
  }
}


/* v014 — fluxograma contido integralmente na largura da FAQ */
.contract-flow--fit{
  display:grid;
  grid-template-columns:minmax(190px,.82fr) minmax(290px,1.08fr) minmax(440px,1.55fr);
  gap:18px;
  align-items:start;
  width:100%;
  max-width:100%;
  overflow:hidden;
  margin-top:18px;
}

.flow-column{
  min-width:0;
  display:grid;
  gap:14px;
}

.flow-column--entry{
  align-content:start;
}

.flow-column--entry .flow-arrow--down{
  justify-self:center;
  transform:rotate(90deg);
  min-height:18px;
}

.flow-route{
  min-width:0;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  gap:8px;
  align-items:center;
}

.flow-route--final{
  grid-template-columns:auto auto minmax(0,1fr) auto minmax(0,1fr);
}

.contract-flow--fit .flow-step{
  min-width:0;
  min-height:105px;
  padding:14px 13px;
}

.contract-flow--fit .flow-step--terminal{
  min-height:88px;
}

.contract-flow--fit .flow-step strong{
  font-size:.88rem;
  line-height:1.25;
}

.contract-flow--fit .flow-step small{
  font-size:.76rem;
  line-height:1.35;
}

.contract-flow--fit .flow-number{
  width:26px;
  height:26px;
  font-size:.75rem;
}

.contract-flow--fit .decision-label{
  min-width:44px;
  height:28px;
  font-size:.68rem;
}

.contract-flow--fit .flow-arrow{
  font-size:1.05rem;
  min-width:18px;
}

/* FAQ: volta ao seletor em formato de seta, mais discreto */
.faq-list summary::after{
  content:"⌄";
  font-size:1.05rem;
  line-height:1;
  font-weight:700;
  color:var(--gold-deep);
  transform:translateY(-50%);
}

.faq-list details[open] summary::after{
  content:"⌃";
}

@media (max-width: 1180px) and (min-width: 901px){
  .contract-flow--fit{
    grid-template-columns:minmax(165px,.78fr) minmax(250px,1fr) minmax(390px,1.48fr);
    gap:12px;
  }

  .contract-flow--fit .flow-step{
    padding:12px 10px;
  }

  .contract-flow--fit .flow-step strong{
    font-size:.82rem;
  }

  .contract-flow--fit .flow-step small{
    font-size:.71rem;
  }

  .contract-flow--fit .decision-label{
    min-width:40px;
    padding:0 6px;
  }

  .flow-route,
  .flow-route--final{
    gap:6px;
  }
}

@media (max-width: 900px){
  .contract-flow--fit{
    grid-template-columns:1fr;
    gap:14px;
    overflow:visible;
  }

  .flow-route,
  .flow-route--final{
    grid-template-columns:1fr;
  }

  .flow-route .flow-arrow,
  .flow-route--final .flow-arrow{
    transform:rotate(90deg);
    justify-self:center;
  }

  .contract-flow--fit .decision-label{
    width:max-content;
  }
}


/* v015 — numeração também nos encerramentos */
.contract-flow--fit .flow-step--terminal .flow-number{
  background:#b9aa91;
}


/* v017 — acesso às FAQs sem símbolo > / triângulo nativo */
.faq-list summary{
  list-style:none !important;
}

.faq-list summary::-webkit-details-marker{
  display:none !important;
}

.faq-list summary::marker{
  content:"";
  font-size:0;
}

/* Indicador discreto à direita: + fechado / − aberto */
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.15rem;
  line-height:1;
  font-weight:500;
  color:var(--gold-deep);
}

.faq-list details[open] summary::after{
  content:"−";
}


/* v018 — remoção efetiva do marcador nativo da FAQ */
.faq-list details > summary{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  list-style:none !important;
  cursor:pointer;
}

.faq-list details > summary::-webkit-details-marker{
  display:none !important;
}

.faq-list details > summary::marker{
  display:none !important;
  content:"" !important;
}

.faq-list details > summary::after{
  content:"+";
  position:static !important;
  transform:none !important;
  flex:0 0 auto;
  margin-left:auto;
  font-size:1.15rem;
  line-height:1;
  font-weight:600;
  color:var(--gold-deep);
}

.faq-list details[open] > summary::after{
  content:"−";
}


/* v022 — site institucional integrado discretamente à identidade do rodapé */
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-brand .footer-site-link{
  display:inline-block;
  margin-top:4px;
  font-size:.72rem;
  line-height:1.2;
  color:#8f8f8f;
  text-decoration:none;
  letter-spacing:.015em;
}
.footer-brand .footer-site-link:hover,
.footer-brand .footer-site-link:focus-visible{
  color:#c8b187;
  text-decoration:underline;
  text-underline-offset:2px;
}


/* v023 — privacidade e rodapé funcionais */
.privacy-check a{
  color:var(--gold-deep);
  text-decoration:underline;
  text-underline-offset:2px;
}
.privacy-check a:hover,
.privacy-check a:focus-visible{
  color:#6f552f;
}


/* v025 — robustez do formulário temporário e microacessibilidade */
.field-hint{
  display:block;
  margin-top:-2px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.35;
}


/* v026 — imagens comerciais finais inseridas sem edição dos arquivos */
.visual-placeholder--image{
  overflow:hidden;
  padding:0;
  background:none;
}
.visual-placeholder--image::before,
.visual-placeholder--image::after{
  display:none !important;
}
.visual-placeholder--image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.visual-placeholder--hero.visual-placeholder--image img{
  object-position:52% 50%;
}
.visual-placeholder--lawyer.visual-placeholder--image img{
  object-position:50% 48%;
}

@media (max-width: 760px){
  .visual-placeholder--hero.visual-placeholder--image img{
    object-position:55% 50%;
  }
  .visual-placeholder--lawyer.visual-placeholder--image img{
    object-position:50% 44%;
  }
}


/* v027 — correção efetiva da inserção das duas imagens */
.media-final{
  overflow:hidden;
  padding:0;
  background:none;
}
.media-final img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-media.media-final img{
  object-position:52% 50%;
}
.provocation-media.media-final img{
  object-position:50% 48%;
}

@media (max-width:760px){
  .hero-media.media-final img{
    object-position:55% 50%;
  }
  .provocation-media.media-final img{
    object-position:50% 44%;
  }
}

/* v429 — integração real do formulário */
.form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.form-status.is-success{ color:#3f6b46; }
.form-status.is-error{ color:#8b3a32; }

/* v433 — decisão comercial na primeira dobra */
.hero-turn{
  max-width:720px;
  font-size:1.12rem;
  margin:18px 0 20px;
}
.hero-offer{
  max-width:680px;
  margin:22px 0 20px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.62);
}
.hero-offer__top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid var(--line);
}
.hero-offer__label{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero-offer__price{
  font-size:2rem;
  line-height:1;
  letter-spacing:-.04em;
}
.hero-offer p{margin:0;font-size:.98rem;line-height:1.48}
.hero-scope{margin:10px 0 0;font-size:.82rem;color:var(--muted)}
.button-light{margin-top:24px;background:#fff;color:var(--ink);border-color:#fff}
.button-light:hover{background:#f2f2f2}

@media (min-width:901px) and (max-height:820px){
  .hero-turn{margin:10px 0 12px;font-size:1rem}
  .hero-offer{margin:12px 0;padding:13px 16px}
  .hero-offer__top{padding-bottom:7px;margin-bottom:7px}
  .hero-offer__price{font-size:1.7rem}
  .hero-offer p{font-size:.9rem;line-height:1.4}
  .hero-scope{margin-top:7px;font-size:.76rem}
}
@media (max-width:600px){
  .hero-offer__top{align-items:center}
  .hero-offer__price{font-size:1.7rem;white-space:nowrap}
}
