
:root{--ivory:#F7F3ED;--graph:#262626;--terra:#B96855;--sand:#E9DED2;--sage:#A9B5A2;--blue:#899AA3;--amber:#D2A15E;--red:#A85C4B;--white:#fff;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--graph);background:var(--ivory);line-height:1.55}h1,h2,h3{line-height:1.08;margin:.2em 0 .55em}h1{font-size:clamp(2.5rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.6rem)}h3{font-size:1.35rem}.serif{font-family:Georgia,serif}.wrap{max-width:var(--max);margin:auto;padding:80px 24px}.hero{min-height:92vh;display:grid;align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.center{text-align:center}.eyebrow{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}.lead{font-size:1.25rem;max-width:760px}.btn{display:inline-block;background:var(--graph);color:white;text-decoration:none;padding:17px 26px;border-radius:8px;font-weight:800;margin-top:18px}.btn:hover{transform:translateY(-1px)}.muted{opacity:.72}.mock{width:100%;height:auto;border-radius:16px}.band{background:var(--sand)}.white{background:#fff}.dark{background:var(--graph);color:var(--ivory)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;padding:24px;border-radius:14px;border:1px solid #e6ded5}.flow{display:grid;gap:10px;max-width:760px;margin:28px auto}.flow div{padding:14px 18px;background:white;border:1px solid #ddd3ca;border-radius:10px;font-weight:700}.flow div:after{content:' ↓';color:var(--terra)}.flow div:last-child:after{content:''}.price{font-size:4rem;font-weight:900;margin:.1em 0}.vsl{aspect-ratio:16/9;background:#1f1f1f;color:white;border-radius:16px;display:grid;place-items:center;padding:30px}.faq details{background:white;border:1px solid #e5ddd4;border-radius:10px;padding:16px 18px;margin:10px 0}.sticky{display:none}.tag{display:inline-block;padding:7px 10px;border-radius:999px;background:var(--sage);margin:4px;font-weight:700}.state{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.state div{padding:16px;border-radius:10px;background:white;text-align:center;font-weight:700}.small{font-size:.9rem}.offer{border:2px solid var(--terra);border-radius:22px;padding:36px;background:#fff}
@media(max-width:760px){.wrap{padding:56px 20px}.grid2,.cards,.state{grid-template-columns:1fr}.hero{min-height:auto}.hero .grid2{display:flex;flex-direction:column}.hero .copy{order:1}.hero .visual{order:2}.btn{width:100%;text-align:center}.sticky{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 14px;background:rgba(247,243,237,.96);z-index:20}.sticky .btn{margin:0}.price{font-size:3rem}body{padding-bottom:74px}}


/* ===== 16.5D-3 V1.1 — refinamento responsivo ===== */
html { scroll-behavior: smooth; }
.hero-actions { display:flex; flex-direction:column; gap:12px; margin-top:24px; align-items:flex-start; }
.text-link { color:inherit; font-weight:700; text-underline-offset:4px; }
.site-footer { background:#1f1f1f; color:#f7f3ed; padding:44px 0 34px; }
.legal-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin-bottom:24px; }
.legal-nav a { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.footer-note { max-width:780px; margin:10px auto; text-align:center; font-size:.88rem; line-height:1.55; opacity:.86; }
.sticky { transition:opacity .18s ease, transform .18s ease; }
.sticky.is-hidden { opacity:0; transform:translateY(120%); pointer-events:none; }

@media (max-width: 480px) {
  body { padding-bottom: 0; }
  .wrap { width:min(100% - 28px, 1120px); }
  h1.serif { font-size:clamp(2rem, 10vw, 2.65rem); line-height:.98; }
  h2.serif { font-size:clamp(1.72rem, 8.3vw, 2.15rem); line-height:1.04; }
  .lead { font-size:1.05rem; line-height:1.48; }
  section { overflow:clip; }
  .mock { max-height:420px; object-fit:contain; }
  .hero-actions { align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .text-link { text-align:center; padding:4px 0; }
  .sticky { left:0; right:0; bottom:0; padding:7px 10px calc(7px + env(safe-area-inset-bottom)); background:rgba(247,243,237,.96); backdrop-filter:blur(8px); }
  .sticky .btn { min-height:42px; padding:10px 14px; font-size:.78rem; }
  .site-footer { padding-bottom:84px; }
  .legal-nav { flex-direction:column; align-items:center; gap:14px; }
}

@media (max-width: 350px) {
  .wrap { width:min(100% - 22px, 1120px); }
  h1.serif { font-size:2rem; }
  h2.serif { font-size:1.72rem; }
  .flow > div { padding:13px 10px; }
  .price { font-size:2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

.legal-page { min-height:100vh; background:#f7f3ed; padding:40px 0 72px; color:#262626; }
.legal-page .wrap { max-width:820px; }
.legal-page h1 { margin:28px 0 32px; }
.legal-page h2 { margin-top:30px; }
.legal-page p { line-height:1.7; }
.legal-page a { color:#8f4e40; }


/* ===== 16.5D-4 V1.2 — correção final mobile ===== */
:root { --sticky-mobile-h: 50px; }

@media (max-width: 640px) {
  /* Reserva espaço real no fim do documento quando o CTA flutuante estiver ativo. */
  body { padding-bottom: calc(var(--sticky-mobile-h) + env(safe-area-inset-bottom)); }

  /* Barra menor e menos invasiva. */
  .sticky {
    left: 8px;
    right: 8px;
    bottom: 6px;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
    z-index: 50;
  }
  .sticky .btn {
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 7px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    font-size: .72rem;
    line-height: 1.05;
  }

  /* Não deixa o conteúdo terminar escondido atrás do CTA. */
  section:not(.hero):not(.dark) .wrap {
    padding-bottom: 8px;
  }

  /* Títulos longos: mais ar e menos cortes visuais em telas estreitas. */
  h1.serif, h2.serif { text-wrap: balance; }
  .serif { overflow-wrap: normal; word-break: normal; }

  /* Cards e mockups ganham respiro para não colarem no CTA. */
  .mock, .flow, .offer-card { margin-bottom: 12px; }

  /* No fechamento e rodapé, nenhum CTA flutuante compete com o CTA natural. */
  #fechamento, .site-footer { scroll-margin-bottom: 0; }
}

@media (max-width: 350px) {
  :root { --sticky-mobile-h: 48px; }
  .sticky { left: 7px; right: 7px; bottom: 5px; }
  .sticky .btn { min-height: 38px; padding: 8px 10px; font-size: .69rem; }
}
