/* ============================================================
   LP {NOME} - direção: editorial food, claro, quente, tipográfico
   Fontes: Fraunces (display) + Inter (texto)
   ============================================================ */

:root{
  --bg:        #FAF6EF;
  --surface:   #FFFFFF;
  --ink:       #221D15;
  --ink-soft:  #4F463A;
  --muted:     #857A6A;
  --line:      #E9E1D3;
  --accent:    #D8432A;   /* terracota/tomate */
  --accent-dk: #B5331D;
  --accent-bg: #FBEAE4;
  --green:     #1B7C4D;
  --green-bg:  #E8F4ED;
  --wa:        #128C5E;
  --wa-dk:     #0E714C;
  --espresso:  #2A2118;   /* seção final, marrom café profundo */
  --radius:    18px;
  --shadow-sm: 0 1px 2px rgba(34,29,21,.06), 0 4px 16px rgba(34,29,21,.06);
  --shadow-md: 0 2px 4px rgba(34,29,21,.07), 0 14px 40px rgba(34,29,21,.10);
  --font-d:    "Fraunces", Georgia, serif;
  --font-t:    "Inter", -apple-system, "Segoe UI", sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-t);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font:inherit; cursor:pointer; }

.container{ width:min(1140px, 92%); margin-inline:auto; }

/* ---------- tipografia ---------- */
h1,h2,h3{ font-family:var(--font-d); font-weight:600; line-height:1.12; letter-spacing:-.01em; }
h1{ font-size:clamp(2.4rem, 5.2vw, 3.9rem); }
h2{ font-size:clamp(1.9rem, 3.8vw, 2.8rem); }
h1 em{ font-style:italic; color:var(--accent); }
.eyebrow{
  display:inline-block;
  font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent);
  background:var(--accent-bg);
  padding:.4rem .85rem; border-radius:99px;
  margin-bottom:1.1rem;
}
.lead{ font-size:1.15rem; color:var(--ink-soft); margin-top:1.2rem; max-width:34rem; }
.section-head{ max-width:46rem; margin-bottom:3rem; }
.section-sub{ color:var(--ink-soft); margin-top:.9rem; font-size:1.06rem; }
.microcopy{ font-size:.85rem; color:var(--muted); margin-top:.7rem; }

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55rem;
  font-weight:700; font-size:1rem;
  padding:.95rem 1.7rem; border-radius:12px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn .ico{ width:1.15rem; height:1.15rem; flex:none; }
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 8px 24px rgba(216,67,42,.32); }
.btn-primary:hover{ background:var(--accent-dk); box-shadow:0 12px 30px rgba(216,67,42,.4); }
.btn-wa{ background:var(--wa); color:#fff; box-shadow:0 8px 24px rgba(18,140,94,.28); }
.btn-wa:hover{ background:var(--wa-dk); }
.btn-ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-lg{ font-size:1.08rem; padding:1.1rem 2.1rem; }
.btn-sm{ font-size:.9rem; padding:.62rem 1.1rem; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(250,246,239,.86);
  backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.site-header.scrolled{ border-bottom-color:var(--line); box-shadow:0 4px 24px rgba(34,29,21,.05); }
.header-inner{ display:flex; align-items:center; gap:2rem; padding:.85rem 0; }
.brand{ display:flex; align-items:center; gap:.55rem; font-weight:800; }
.brand-mark{ width:2.3rem; height:auto; color:var(--accent); }
.brand-name{ font-size:1.12rem; letter-spacing:-.02em; }
.nav{ display:flex; gap:1.6rem; margin-left:auto; }
.nav a{ font-size:.93rem; font-weight:600; color:var(--ink-soft); transition:color .15s; }
.nav a:hover{ color:var(--ink); }
.header-inner .btn{ margin-left:auto; }
.nav + .btn{ margin-left:0; }

/* ---------- hero ---------- */
.hero{ position:relative; padding:5rem 0 6rem; }
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(38rem 24rem at 86% 8%, rgba(216,67,42,.07), transparent 60%),
    radial-gradient(30rem 20rem at 6% 90%, rgba(27,124,77,.05), transparent 60%);
}
.hero-grid{
  position:relative;
  display:grid; grid-template-columns:1.2fr .8fr;
  gap:3.4rem; align-items:center;
}
.hero-copy h1{ font-size:clamp(1.9rem, 3.4vw, 3rem); }
.hero-cta{ margin-top:2.2rem; }
.hero-bullets{ margin-top:2.4rem; display:grid; gap:.65rem; }
.hero-bullets li{ display:flex; align-items:center; gap:.6rem; font-weight:600; font-size:.97rem; color:var(--ink-soft); }
.hero-bullets .ico{ width:1.25rem; height:1.25rem; color:var(--green); flex:none; }

/* phone mockup */
.hero-visual{ position:relative; display:flex; justify-content:center; }
.phone{
  width:min(330px, 88%);
  background:#F6F1E8;
  border:10px solid var(--ink);
  border-radius:38px;
  box-shadow:var(--shadow-md);
  overflow:hidden;
  transform:rotate(1.6deg);
}
.phone-top{
  display:flex; align-items:center; gap:.65rem;
  background:#1E5C4F; color:#fff;
  padding:.95rem .95rem .8rem;
}
.avatar{
  width:2.1rem; height:2.1rem; border-radius:50%;
  background:rgba(255,255,255,.2); color:#fff;
  display:grid; place-items:center;
}
.avatar svg{ width:1.2rem; }
.phone-contact{ display:flex; flex-direction:column; line-height:1.2; }
.phone-contact strong{ font-size:.92rem; }
.phone-contact span{ font-size:.72rem; opacity:.75; }
.phone-chat{
  padding:1rem .8rem 1.3rem;
  display:flex; flex-direction:column; gap:.55rem;
  background:
    linear-gradient(rgba(246,241,232,.93), rgba(246,241,232,.93)),
    repeating-linear-gradient(45deg, #E5DCCB 0 2px, transparent 2px 14px);
}
.msg{
  max-width:84%;
  padding:.55rem .7rem .4rem;
  border-radius:12px;
  font-size:.82rem; line-height:1.45;
  box-shadow:0 1px 1px rgba(34,29,21,.08);
  position:relative;
}
.msg p + p{ margin-top:.25rem; }
.msg-in{ align-self:flex-start; background:#fff; border-top-left-radius:4px; }
.msg-out{ align-self:flex-end; background:#D9F2D0; border-top-right-radius:4px; }
.msg .time{ display:block; text-align:right; font-size:.62rem; color:var(--muted); margin-top:.15rem; }
.msg.destaque{ border-left:3px solid var(--accent); }
.audio{ display:flex; align-items:center; gap:.5rem; min-width:11rem; padding:.2rem 0; }
.audio .play{ width:1.3rem; color:#4F6F52; flex:none; }
.audio .dur{ font-size:.68rem; color:var(--muted); }
.wave{ display:flex; align-items:center; gap:2px; flex:1; height:1.2rem; }
.wave i{
  width:2.5px; border-radius:2px; background:#7BA47E;
  animation:wave 1.4s ease-in-out infinite;
}
.wave i:nth-child(odd){ height:55%; }
.wave i:nth-child(even){ height:95%; }
.wave i:nth-child(3n){ height:35%; animation-delay:.2s; }
.wave i:nth-child(4n){ animation-delay:.45s; }
.wave i:nth-child(5n){ animation-delay:.7s; }
@keyframes wave{ 0%,100%{ transform:scaleY(.7);} 50%{ transform:scaleY(1.15);} }

.float-card{
  position:absolute;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow-md);
  padding:.8rem 1rem;
  display:flex; flex-direction:column; line-height:1.25;
  animation:floaty 5.5s ease-in-out infinite;
}
.float-card strong{ font-family:var(--font-d); font-size:1.35rem; color:var(--accent); }
.float-card span{ font-size:.74rem; color:var(--muted); max-width:9.5rem; }
.fc-1{ top:8%; left:-2%; }
.fc-2{ bottom:10%; right:-3%; animation-delay:1.4s; }
@keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-9px);} }

/* ---------- calculadora ---------- */
.calc-section{ padding:5.5rem 0; }
.calc-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 6px);
  box-shadow:var(--shadow-md);
  padding:clamp(1.6rem, 4vw, 3rem);
}
.calc-inputs label{ font-weight:700; font-size:1.05rem; display:block; margin-bottom:.8rem; }
.calc-field{
  display:flex; align-items:center; gap:.6rem;
  border:2px solid var(--line); border-radius:14px;
  padding:.4rem 1.1rem;
  max-width:22rem;
  transition:border-color .2s;
  background:var(--bg);
}
.calc-field:focus-within{ border-color:var(--accent); }
.calc-field .prefix{ font-weight:700; color:var(--muted); }
.calc-field input{
  border:0; outline:0; background:transparent;
  font-family:var(--font-d); font-size:1.9rem; font-weight:600;
  width:100%; color:var(--ink);
}
.calc-rates{ display:flex; align-items:center; gap:.5rem; margin-top:1.1rem; flex-wrap:wrap; }
.rates-label{ font-size:.88rem; color:var(--muted); margin-right:.2rem; }
.rate{
  border:1.5px solid var(--line); background:var(--surface);
  border-radius:99px; padding:.42rem 1rem; font-weight:700; font-size:.92rem;
  transition:all .15s;
}
.rate:hover{ border-color:var(--ink); }
.rate.active{ background:var(--ink); border-color:var(--ink); color:#fff; }

.calc-results{
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
  margin-top:2.2rem;
}
.result{ border-radius:var(--radius); padding:1.5rem 1.6rem; }
.result header{
  font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  margin-bottom:.7rem;
}
.result-bad{ background:var(--accent-bg); }
.result-bad header{ color:var(--accent-dk); }
.result-good{ background:var(--green-bg); }
.result-good header{ color:var(--green); }
.result-num{ font-family:var(--font-d); font-size:clamp(1.7rem, 3.4vw, 2.4rem); font-weight:700; }
.result-num span{ font-family:var(--font-t); font-size:.95rem; font-weight:600; color:var(--ink-soft); margin-left:.3rem; }
.result-year{ font-weight:700; margin-top:.4rem; }
.result-bad .result-year{ color:var(--accent-dk); }
.result-good .result-year{ color:var(--green); }
.result-note{ font-size:.86rem; color:var(--muted); margin-top:.5rem; }

.calc-hidden{
  margin-top:1.4rem;
  font-size:.95rem;
  color:var(--ink-soft);
  background:var(--accent-bg);
  border-radius:12px;
  padding:.9rem 1.15rem;
}
.calc-hidden strong{ color:var(--accent-dk); font-weight:800; }
.calc-punch{
  margin-top:1.4rem;
  font-size:1.18rem;
  background:var(--bg);
  border-left:4px solid var(--accent);
  border-radius:0 12px 12px 0;
  padding:1rem 1.3rem;
}
.calc-punch strong{ font-family:var(--font-d); font-size:1.45rem; color:var(--accent); }
.calc-card > .btn{ margin-top:1.8rem; }
.legal-note{ font-size:.75rem; color:var(--muted); margin-top:1rem; }

/* ---------- agitação ---------- */
.pains{ padding:5.5rem 0; }
.pain-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:1.4rem; }
.pain-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2rem;
  transition:transform .22s ease, box-shadow .22s ease;
}
.pain-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pain-ico{
  display:grid; place-items:center;
  width:3rem; height:3rem; border-radius:12px;
  background:var(--accent-bg); color:var(--accent);
  margin-bottom:1.2rem;
}
.pain-ico svg{ width:1.5rem; }
.pain-card h3{ font-size:1.3rem; margin-bottom:.6rem; }
.pain-card p{ color:var(--ink-soft); font-size:.98rem; }

/* ---------- a virada ---------- */
.turn{ padding:5.5rem 0; }
.turn .section-head{ text-align:center; margin-inline:auto; }
.turn-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.turn-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.2rem;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.turn-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.turn-num{
  font-family:var(--font-d); font-weight:700;
  font-size:3.4rem; line-height:1;
  color:var(--accent-bg);
  -webkit-text-stroke:1.5px var(--accent);
  display:block; margin-bottom:1rem;
}
.turn-card h3{ font-size:1.4rem; margin-bottom:.6rem; }
.turn-card p{ color:var(--ink-soft); }

.cycle{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:.6rem;
  margin-top:2.6rem;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.6rem 1.4rem;
}
.cycle-step span{
  display:inline-block;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:99px;
  padding:.55rem 1.05rem;
  font-weight:600; font-size:.9rem;
  white-space:nowrap;
}
.cycle-step.destaque span{ background:var(--green-bg); border-color:var(--green); color:var(--green); font-weight:700; }
.cycle-arrow{ width:1.15rem; color:var(--muted); flex:none; }

.turn-quote{
  margin:3.2rem auto 0;
  max-width:38rem;
  text-align:center;
  font-family:var(--font-d);
  font-size:clamp(1.5rem, 3vw, 2.1rem);
  font-weight:600;
  line-height:1.3;
}
.turn-quote [data-brand]{ color:var(--accent); }

/* ---------- como funciona (agente) ---------- */
.how{ padding:5.5rem 0; background:var(--surface); border-block:1px solid var(--line); }
.how-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.3rem; }
.how-step{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.7rem 1.5rem;
  display:flex; flex-direction:column;
}
.how-num{
  width:2.2rem; height:2.2rem; border-radius:50%;
  background:var(--ink); color:#fff;
  display:grid; place-items:center;
  font-weight:800; font-size:1rem;
  margin-bottom:1.1rem;
}
.how-step h3{ font-size:1.15rem; margin-bottom:.5rem; }
.how-step p{ color:var(--ink-soft); font-size:.92rem; flex:1; }
.chat-snip{ margin-top:1.1rem; }
.snip-bubble{
  display:inline-block;
  font-size:.78rem; line-height:1.4;
  padding:.5rem .75rem; border-radius:10px;
  box-shadow:0 1px 1px rgba(34,29,21,.08);
}
.snip-bubble.out{ background:#D9F2D0; border-top-right-radius:3px; }
.snip-bubble.in{ background:#fff; border:1px solid var(--line); border-top-left-radius:3px; }
.how-foot{ text-align:center; margin-top:2.8rem; font-size:1.12rem; color:var(--ink-soft); }
.how-foot strong{ color:var(--ink); }

/* ---------- delivery ---------- */
.delivery{ padding:5.5rem 0; }
.feat-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.3rem; }
.feat{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.8rem;
  transition:transform .22s ease, box-shadow .22s ease;
}
.feat:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.feat-ico{
  display:grid; place-items:center;
  width:2.8rem; height:2.8rem; border-radius:10px;
  background:var(--green-bg); color:var(--green);
  margin-bottom:1rem;
}
.feat-ico svg{ width:1.4rem; }
.feat h3{ font-size:1.12rem; margin-bottom:.45rem; }
.feat p{ color:var(--ink-soft); font-size:.93rem; }
.delivery-quote{
  margin:3rem auto 0; text-align:center;
  font-family:var(--font-d); font-weight:600;
  font-size:clamp(1.4rem, 2.6vw, 1.9rem);
}

/* ---------- comparativo ---------- */
.compare{ padding:5.5rem 0; }
.compare .section-head{ text-align:center; margin-inline:auto; }
.table-wrap{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  overflow-x:auto;
}
.cmp{ width:100%; border-collapse:collapse; min-width:560px; }
.cmp th, .cmp td{ padding:1rem 1.4rem; text-align:left; font-size:.97rem; }
.cmp thead th{
  font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  border-bottom:2px solid var(--line);
  padding-top:1.3rem;
}
.cmp thead .col-bad{ color:var(--muted); }
.cmp thead .col-good{ color:var(--green); }
.cmp tbody tr{ border-bottom:1px solid var(--line); }
.cmp tbody tr:last-child{ border-bottom:0; }
.cmp tbody tr:hover{ background:var(--bg); }
.cmp td:first-child{ font-weight:600; }
.cmp .bad{ color:var(--muted); }
.cmp .good{ color:var(--green); font-weight:700; }
.compare-foot{ text-align:center; color:var(--muted); margin-top:1.4rem; font-size:.95rem; }

/* ---------- prova ---------- */
.proof{ padding:5rem 0; background:var(--surface); border-block:1px solid var(--line); }
.proof .section-head{ text-align:center; margin-inline:auto; margin-bottom:2.4rem; }
.proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.proof-stat{
  text-align:center;
  padding:2rem 1.4rem;
  border:1px dashed var(--line);
  border-radius:var(--radius);
}
.proof-stat strong{
  display:block;
  font-family:var(--font-d); font-weight:700;
  font-size:clamp(2rem, 4vw, 2.8rem);
  color:var(--accent);
}
.proof-stat span{ color:var(--ink-soft); font-size:.95rem; }

/* ---------- planos ---------- */
.plans{ padding:5.5rem 0; }
.plans .section-head{ text-align:center; margin-inline:auto; }
.plan-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.4rem;
  align-items:start;
}
.plan{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 4px);
  padding:2.2rem 2rem;
  transition:transform .22s ease, box-shadow .22s ease;
}
.plan:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.plan h3{ font-size:1.35rem; }
.plan-desc{ color:var(--muted); font-size:.92rem; margin-top:.25rem; }
.plan-price{
  font-family:var(--font-d); font-weight:700;
  font-size:3rem; line-height:1;
  margin:1.4rem 0 1.6rem;
}
.plan-price .cur{ font-size:1.2rem; vertical-align:super; margin-right:.2rem; }
.plan-price .per{ font-family:var(--font-t); font-size:.95rem; font-weight:600; color:var(--muted); }
.plan ul{ display:grid; gap:.6rem; margin-bottom:1.8rem; }
.plan ul li{
  position:relative; padding-left:1.5rem;
  font-size:.95rem; color:var(--ink-soft);
}
.plan ul li::before{
  content:""; position:absolute; left:0; top:.42rem;
  width:.85rem; height:.45rem;
  border-left:2.5px solid var(--green);
  border-bottom:2.5px solid var(--green);
  transform:rotate(-45deg);
}
.plan .btn{ width:100%; justify-content:center; }
.plan-hero{
  border:2px solid var(--accent);
  box-shadow:var(--shadow-md);
  position:relative;
  transform:scale(1.03);
}
.plan-hero:hover{ transform:scale(1.03) translateY(-5px); }
.plan-tag{
  position:absolute; top:-0.85rem; left:50%; transform:translateX(-50%);
  background:var(--accent); color:#fff;
  font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:.35rem .95rem; border-radius:99px;
  white-space:nowrap;
}

.risk{
  margin-top:3rem;
  background:var(--green-bg);
  border:1px solid #CDE5D6;
  border-radius:var(--radius);
  padding:2rem 2.2rem;
}
.risk h3{ font-size:1.25rem; margin-bottom:1rem; }
.risk ul{ display:grid; gap:.6rem; }
.risk li{ display:flex; align-items:center; gap:.6rem; font-weight:600; color:var(--ink-soft); }
.risk .ico{ width:1.25rem; height:1.25rem; color:var(--green); flex:none; }

/* ---------- faq ---------- */
.faq{ padding:5.5rem 0; background:var(--surface); border-top:1px solid var(--line); }
.faq-inner{
  display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; align-items:start;
}
.faq .section-head{ margin-bottom:0; position:sticky; top:6rem; }
.faq-list{ display:grid; gap:.8rem; }
.faq-list details{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:14px;
  padding:0 1.4rem;
  transition:border-color .2s;
}
.faq-list details[open]{ border-color:var(--ink); }
.faq-list summary{
  list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.15rem 0;
  font-weight:700; font-size:1rem;
  cursor:pointer;
}
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-x{
  position:relative; flex:none;
  width:1.1rem; height:1.1rem;
  transition:transform .25s ease;
}
.faq-x::before, .faq-x::after{
  content:""; position:absolute; inset:0; margin:auto;
  background:var(--ink); border-radius:2px;
}
.faq-x::before{ width:100%; height:2.5px; }
.faq-x::after{ width:2.5px; height:100%; }
details[open] .faq-x{ transform:rotate(45deg); }
.faq-list details p{ padding-bottom:1.2rem; color:var(--ink-soft); font-size:.96rem; }

/* ---------- cta final ---------- */
.final{
  background:var(--espresso);
  color:#F6EFE4;
  padding:6rem 0;
  position:relative;
  overflow:hidden;
}
.final::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(40rem 26rem at 80% 20%, rgba(216,67,42,.16), transparent 65%);
}
.final-inner{ position:relative; text-align:center; max-width:42rem; }
.final h2{ font-size:clamp(2.4rem, 5.5vw, 3.6rem); }
.final p{ margin:1.4rem auto 2.2rem; color:#CBBFAE; font-size:1.1rem; max-width:34rem; }
.final .microcopy{ color:#9D8F7B; margin-top:1rem; }

/* ---------- footer ---------- */
.footer{ background:var(--espresso); color:#9D8F7B; border-top:1px solid rgba(246,239,228,.12); padding:2.2rem 0 2.6rem; font-size:.88rem; }
.footer-inner{ display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.footer-brand{ display:flex; flex-direction:column; }
.footer-brand .brand-name{ color:#F6EFE4; font-weight:800; }
.footer-copy{ font-size:.78rem; }
.footer-nav{ display:flex; gap:1.4rem; margin-left:auto; flex-wrap:wrap; }
.footer-nav a{ transition:color .15s; }
.footer-nav a:hover{ color:#F6EFE4; }
.footer-legal{
  margin-top:1.6rem; padding-top:1.4rem;
  border-top:1px solid rgba(246,239,228,.1);
  font-size:.74rem; line-height:1.5;
}

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }
.pain-grid .reveal:nth-child(2), .how-grid .reveal:nth-child(2), .feat-grid .reveal:nth-child(2), .plan-grid .reveal:nth-child(2){ transition-delay:.08s; }
.pain-grid .reveal:nth-child(3), .how-grid .reveal:nth-child(3), .feat-grid .reveal:nth-child(3), .plan-grid .reveal:nth-child(3){ transition-delay:.16s; }
.pain-grid .reveal:nth-child(4), .how-grid .reveal:nth-child(4), .feat-grid .reveal:nth-child(4){ transition-delay:.24s; }
.feat-grid .reveal:nth-child(5){ transition-delay:.32s; }
.feat-grid .reveal:nth-child(6){ transition-delay:.4s; }

/* ---------- responsivo ---------- */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; gap:3.4rem; }
  .hero{ padding:3.4rem 0 4.4rem; }
  .pain-grid, .turn-grid{ grid-template-columns:1fr; }
  .how-grid{ grid-template-columns:1fr 1fr; }
  .feat-grid{ grid-template-columns:1fr 1fr; }
  .plan-grid{ grid-template-columns:1fr; max-width:30rem; margin-inline:auto; }
  .plan-hero{ transform:none; }
  .plan-hero:hover{ transform:translateY(-5px); }
  .faq-inner{ grid-template-columns:1fr; gap:2rem; }
  .faq .section-head{ position:static; }
  .proof-grid{ grid-template-columns:1fr; }
  .nav{ display:none; }
  .fc-1{ left:0; }
  .fc-2{ right:0; }
}
@media (max-width: 600px){
  .how-grid, .feat-grid{ grid-template-columns:1fr; }
  .calc-results{ grid-template-columns:1fr; }
  .header-inner{ gap:1rem; }
  .btn-lg{ width:100%; justify-content:center; }
  .hero-cta .btn{ width:100%; justify-content:center; }
  .calc-card > .btn{ width:100%; justify-content:center; }
  .cycle{ flex-direction:column; }
  .cycle-arrow{ transform:rotate(90deg); }
}

/* ============================================================
   V2 - reestruturação imersiva (hero stat + vídeo, objeções,
   pilares/empacotamento, como funciona em 2 colunas)
   ============================================================ */

/* hero: stat abaixo do CTA */
.hero-stat{ display:flex; align-items:baseline; gap:.85rem; margin-top:2.2rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.hero-stat strong{ font-family:var(--font-d); font-weight:700; font-size:clamp(2.1rem,5vw,3rem); color:var(--accent); line-height:1; flex:none; }
.hero-stat span{ font-size:.9rem; color:var(--ink-soft); max-width:25rem; }

/* hero: vídeo 16:9 */
.hero-visual{ width:100%; }
.video-box{ position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius); background:linear-gradient(135deg,#2A2118,#5b3a28); border:1px solid var(--line); box-shadow:var(--shadow-md); display:grid; place-items:center; overflow:hidden; }
.video-box::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 42%, rgba(216,67,42,.28), transparent 62%); }
.video-play{ position:relative; z-index:1; width:4.6rem; height:4.6rem; border-radius:50%; border:0; background:#fff; color:var(--accent); display:grid; place-items:center; box-shadow:0 12px 32px rgba(0,0,0,.32); transition:transform .2s ease; }
.video-play svg{ width:1.8rem; margin-left:.22rem; }
.video-play:hover{ transform:scale(1.08); }
.video-cap{ position:absolute; bottom:1rem; left:0; right:0; z-index:1; text-align:center; color:#F6EFE4; font-size:.9rem; font-weight:600; }
.video-frame{ width:100%; aspect-ratio:16/9; border:0; border-radius:var(--radius); box-shadow:var(--shadow-md); }

/* dores: 6 cards em 3 colunas */
.pain-grid{ grid-template-columns:repeat(3,1fr); }
.pain-grid .reveal:nth-child(5){ transition-delay:.32s; }
.pain-grid .reveal:nth-child(6){ transition-delay:.4s; }

/* dor de destaque: demora do repasse */
.pain-callout{ display:flex; gap:1.3rem; align-items:flex-start; margin-top:1.4rem; background:var(--accent-bg); border:1px solid #f1cfc4; border-radius:var(--radius); padding:1.8rem 2rem; }
.pain-callout .pc-ico{ width:3rem; height:3rem; border-radius:12px; background:#fff; color:var(--accent); display:grid; place-items:center; flex:none; }
.pain-callout .pc-ico svg{ width:1.6rem; }
.pain-callout h3{ font-size:1.3rem; margin-bottom:.45rem; }
.pain-callout p{ color:var(--ink-soft); font-size:.98rem; }
@media (max-width:600px){ .pain-callout{ flex-direction:column; gap:1rem; } }

/* indicador "digitando..." do celular animado no hero */
.phone-chat .typing{ padding:11px 13px; }
.phone-chat .dots{ display:flex; gap:4px; }
.phone-chat .dots i{ width:7px; height:7px; border-radius:50%; background:#8696a0; animation:blink 1.2s infinite; }
.phone-chat .dots i:nth-child(2){ animation-delay:.2s; }
.phone-chat .dots i:nth-child(3){ animation-delay:.4s; }
@keyframes blink{ 0%,60%,100%{ opacity:.3; transform:translateY(0); } 30%{ opacity:1; transform:translateY(-3px); } }

/* hero: altura fixa do chat pro celular nao crescer; msgs sobem de baixo */
.hero-visual .phone-chat{ height:430px; justify-content:flex-end; overflow:hidden; }

/* ---------- menu mobile (hamburguer) ---------- */
.nav-toggle{ display:none; }
.mobile-menu{ display:none; }
@media (max-width:980px){
  .nav{ display:none; }
  .header-wa{ display:none; }
  .nav-toggle{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:40px; margin-left:auto; background:none; border:0; padding:8px 9px; cursor:pointer; }
  .nav-toggle span{ display:block; width:100%; height:2.5px; background:var(--ink); border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ opacity:0; }
  .nav-toggle.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .mobile-menu{ display:block; max-height:0; overflow:hidden; transition:max-height .32s ease; background:var(--surface); }
  .mobile-menu.open{ max-height:480px; border-top:1px solid var(--line); box-shadow:0 12px 24px rgba(34,29,21,.08); }
  .mobile-menu .m-link{ display:block; padding:15px 0; font-weight:600; font-size:1.05rem; color:var(--ink-soft); border-bottom:1px solid var(--line); }
  .mobile-menu .btn-wa{ width:100%; justify-content:center; margin:18px 0 22px; }
}

/* ---------- diagrama da inteligência (seção A virada) ---------- */
.ai-flow{ display:flex; align-items:center; justify-content:center; gap:1.2rem; flex-wrap:wrap; margin:2.6rem auto 0; max-width:920px; }
.flow-node{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem 1rem; width:150px; text-align:center; box-shadow:var(--shadow-sm); flex:none; }
.flow-node .fn-ico{ width:2.6rem; height:2.6rem; margin:0 auto .6rem; display:grid; place-items:center; border-radius:12px; background:var(--bg); color:var(--ink); }
.flow-node .fn-ico svg{ width:1.5rem; }
.flow-node strong{ display:block; font-size:.95rem; line-height:1.2; }
.flow-node small{ color:var(--muted); font-size:.78rem; }
.flow-arrow{ color:var(--accent); flex:none; }
.flow-arrow svg{ width:1.7rem; }
.ai-core{ position:relative; background:linear-gradient(160deg,#ffffff,#fbeae4); border:2px solid var(--accent); border-radius:calc(var(--radius) + 6px); padding:1.6rem 1.4rem; width:min(330px,92%); text-align:center; box-shadow:0 16px 44px rgba(216,67,42,.18); }
.ai-chip{ width:3.4rem; height:3.4rem; margin:0 auto .7rem; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; animation:aiglow 2.4s infinite; }
.ai-chip svg{ width:2rem; }
@keyframes aiglow{ 0%,100%{ box-shadow:0 0 0 0 rgba(216,67,42,.5);} 70%{ box-shadow:0 0 0 18px rgba(216,67,42,0);} }
.ai-core > strong{ display:block; font-family:var(--font-d); font-size:1.2rem; }
.ai-core .ai-sub{ display:block; color:var(--accent); font-weight:700; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; margin-top:.2rem; }
.ai-tags{ display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; margin-top:1rem; }
.ai-tags span{ background:var(--bg); border:1px solid var(--line); border-radius:99px; padding:.32rem .7rem; font-size:.76rem; font-weight:600; color:var(--ink-soft); }
@media (max-width:760px){
  .ai-flow{ flex-direction:column; gap:.7rem; }
  .flow-arrow{ transform:rotate(90deg); }
  .flow-node{ width:min(330px,92%); }
}

/* ---------- seção A virada: 2 colunas (IA + ilustração) ---------- */
.virada-grid{ display:grid; grid-template-columns:0.82fr 1fr; align-items:center; gap:2.6rem; max-width:940px; margin:2.8rem auto 0; }
.virada-grid .ai-core{ width:auto; margin:0; }
.virada-img{ margin:0; }
.virada-img img{ width:100%; height:auto; display:block; border-radius:var(--radius); box-shadow:var(--shadow-md); }
@media (max-width:780px){
  .virada-grid{ grid-template-columns:1fr; gap:1.8rem; max-width:420px; }
}

/* ---------- hero: anotação manuscrita + setinha apontando pro celular ---------- */
.hero-visual{ position:relative; }
.hero-annot{ display:flex; flex-direction:column; align-items:center; color:var(--accent); margin-bottom:.1rem; }
.hero-annot-text{ font-family:'Caveat', cursive; font-weight:700; font-size:1.6rem; line-height:1.05; text-align:center; transform:rotate(-3deg); }
.hero-annot-arrow{ width:84px; height:auto; margin-top:.15rem; }
@media (max-width:880px){
  .hero-annot-text{ font-size:1.35rem; }
  .hero-annot-arrow{ width:66px; }
}

/* ---------- destaque "marca-texto" na headline do hero ---------- */
.hero-copy h1 .hl{
  background:rgba(34,29,21,.10);
  color:var(--ink);
  font-style:italic;
  padding:.02em .22em;
  border-radius:.18em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.hero-copy h1 .hl s{
  color:var(--accent);
  text-decoration-thickness:2px;
  text-decoration-color:var(--accent);
}

/* ---------- avaliações ---------- */
.reviews{ padding:5.5rem 0; }
.reviews .section-head{ margin-bottom:3rem; }
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.review-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.7rem; box-shadow:var(--shadow-sm); transition:transform .22s ease, box-shadow .22s ease; }
.review-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.review-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:.9rem; }
.review-avatar{ width:46px; height:46px; border-radius:50%; flex:none; display:grid; place-items:center; color:#fff; font-weight:700; font-size:1rem; letter-spacing:.5px; overflow:hidden; }
.review-avatar img{ width:100%; height:100%; object-fit:cover; }
.review-head strong{ display:block; font-size:1rem; line-height:1.2; }
.review-head span{ font-size:.82rem; color:var(--muted); }
.stars{ display:flex; gap:2px; color:#E8A948; margin-bottom:.7rem; }
.stars svg{ width:17px; height:17px; }
.review-card p{ color:var(--ink-soft); font-size:.97rem; line-height:1.5; }
.review-grid .reveal:nth-child(2){ transition-delay:.06s; }
.review-grid .reveal:nth-child(3){ transition-delay:.12s; }
.review-grid .reveal:nth-child(4){ transition-delay:.18s; }
.review-grid .reveal:nth-child(5){ transition-delay:.24s; }
.review-grid .reveal:nth-child(6){ transition-delay:.3s; }
@media (max-width:980px){ .review-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .review-grid{ grid-template-columns:1fr; } }

/* ---------- rodapé: dados da empresa ---------- */
.footer-org{ display:block; font-size:.82rem; font-weight:700; color:#F6EFE4; margin-top:.5rem; letter-spacing:.01em; }
.footer-brand .footer-copy{ display:block; font-size:.8rem; line-height:1.5; opacity:.8; }
.footer-brand .footer-copy a{ color:inherit; text-decoration:underline; }
.footer-brand .footer-copy a:hover{ opacity:1; }
.footer-social{ display:inline-flex; align-items:center; gap:.4rem; margin-top:.7rem; font-size:.86rem; font-weight:700; color:#F6EFE4; }
.footer-social svg{ width:18px; height:18px; }
.footer-social:hover{ color:#fff; }

/* ---------- páginas legais (privacidade, termos, cookies) ---------- */
.legal-header{ border-bottom:1px solid var(--line); background:var(--bg); }
.legal-header-inner{ display:flex; flex-direction:column; align-items:center; gap:.55rem; padding:1.9rem 0; }
.legal-header .brand{ gap:.5rem; }
.legal-header .brand-mark{ width:2.7rem; }
.legal-header .brand-name{ font-size:1.25rem; }
.legal-back{ font-size:.9rem; font-weight:600; color:var(--ink-soft); }
.legal-back:hover{ color:var(--accent); }
.legal{ padding:2.8rem 0 4.5rem; }
.legal-container{ max-width:720px; }
.legal .eyebrow{ display:inline-block; margin-bottom:.5rem; }
.legal h1{ font-family:var(--font-d); font-size:1.9rem; line-height:1.18; margin:.2rem 0 .5rem; }
.legal-updated{ color:var(--muted); font-size:.88rem; margin-bottom:2rem; }
.legal h2{ font-size:1.16rem; font-weight:800; margin:2rem 0 .5rem; }
.legal h3{ font-size:1rem; font-weight:700; margin:1.2rem 0 .25rem; }
.legal p, .legal li{ color:var(--ink-soft); line-height:1.65; font-size:.97rem; }
.legal p{ margin:.5rem 0; }
.legal ul{ margin:.5rem 0 1.1rem 1.2rem; }
.legal li{ margin-bottom:.4rem; }
.legal a{ color:var(--accent); text-decoration:underline; }
.legal-box{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem 1.3rem; margin:1.4rem 0; }
.legal-box p{ margin:.25rem 0; }
@media (max-width:600px){ .legal h1{ font-size:1.65rem; } }

/* ---------- botão flutuante de WhatsApp ---------- */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:60;
  width:58px; height:58px; border-radius:50%;
  background:var(--wa); color:#fff;
  display:grid; place-items:center;
  box-shadow:0 8px 24px rgba(18,140,94,.4);
  animation:wapulse 2.6s infinite;
  transition:transform .2s ease;
}
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:30px; height:30px; }
@keyframes wapulse{
  0%{ box-shadow:0 8px 24px rgba(18,140,94,.4), 0 0 0 0 rgba(18,140,94,.45); }
  70%{ box-shadow:0 8px 24px rgba(18,140,94,.4), 0 0 0 16px rgba(18,140,94,0); }
  100%{ box-shadow:0 8px 24px rgba(18,140,94,.4), 0 0 0 0 rgba(18,140,94,0); }
}
@media (max-width:600px){ .wa-float{ width:54px; height:54px; right:14px; bottom:14px; } }

/* objeção / transição */
.bridge{ padding:5.5rem 0; background:var(--surface); border-block:1px solid var(--line); }
.bridge .section-head{ text-align:center; margin-inline:auto; }
.objection-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.objection{ background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:1.8rem; }
.obj-quote{ display:block; font-family:var(--font-d); font-style:italic; font-size:1.18rem; color:var(--ink); margin-bottom:.7rem; line-height:1.25; }
.objection p{ color:var(--ink-soft); font-size:.95rem; }
.bridge-foot{ text-align:center; max-width:43rem; margin:2.8rem auto 0; font-size:1.12rem; color:var(--ink-soft); }
.bridge-foot strong{ color:var(--ink); }

/* a virada: empacotamento em 2 pilares */
.foomy{ padding:5.5rem 0; }
.foomy .section-head{ text-align:center; margin-inline:auto; }
.pillars{ display:flex; align-items:stretch; justify-content:center; gap:1.1rem; }
.pillar{ flex:1; max-width:29rem; background:var(--surface); border:1px solid var(--line); border-radius:calc(var(--radius) + 4px); padding:2.2rem; box-shadow:var(--shadow-sm); transition:transform .22s ease, box-shadow .22s ease; }
.pillar:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pillar-num{ font-family:var(--font-d); font-weight:700; font-size:2.3rem; line-height:1; color:var(--accent-bg); -webkit-text-stroke:1.5px var(--accent); display:block; margin-bottom:.6rem; }
.pillar h3{ font-size:1.6rem; }
.pillar-tag{ color:var(--accent); font-weight:700; margin:.15rem 0 .85rem; }
.pillar > p:last-child{ color:var(--ink-soft); }
.pillar-plus{ align-self:center; font-family:var(--font-d); font-weight:700; font-size:2.2rem; color:var(--muted); flex:none; }

/* como funciona: passos + telefone lado a lado */
.how-layout{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
.how-steps{ display:grid; gap:1.3rem; }
.how-step{ display:flex; gap:1rem; align-items:flex-start; background:transparent; border:0; padding:0; }
.how-step .how-num{ margin-bottom:0; flex:none; }
.how-step h3{ font-size:1.15rem; margin-bottom:.2rem; }
.how-step p{ color:var(--ink-soft); font-size:.95rem; }
.how .phone{ margin-inline:auto; transform:rotate(-1.4deg); }
.how-proof{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem; }
.hp-item{ text-align:center; padding:1.5rem 1.2rem; border:1px dashed var(--line); border-radius:var(--radius); }
.hp-item strong{ display:block; font-family:var(--font-d); font-weight:700; font-size:1.7rem; color:var(--accent); }
.hp-item span{ font-size:.9rem; color:var(--ink-soft); }

/* loja: destaque do pagamento no app */
.feat-hero{ border:2px solid var(--green); background:var(--green-bg); }

/* resultados: nota de honestidade */
.proof-note{ text-align:center; color:var(--muted); font-size:.88rem; max-width:40rem; margin:1.4rem auto 0; }

/* responsivo v2 */
@media (max-width: 980px){
  .pain-grid{ grid-template-columns:repeat(2,1fr); }
  .objection-grid{ grid-template-columns:1fr; }
  .pillars{ flex-direction:column; align-items:center; }
  .pillar{ max-width:34rem; width:100%; }
  .pillar-plus{ transform:rotate(0); }
  .how-layout{ grid-template-columns:1fr; gap:2.4rem; }
  .how .phone{ order:-1; }
  .how-proof{ grid-template-columns:1fr; }
}
@media (max-width: 600px){
  .pain-grid{ grid-template-columns:1fr; }
  .hero-stat{ flex-direction:column; gap:.3rem; }
}
