:root {
  --ink: #0b1823; --ink-2: #10222f; --ink-3: #173345; --paper: #f7f2e9; --paper-2: #efe8da;
  --text: #f3efe6; --text-dark: #1c2530; --muted: #a9b8bd; --muted-dark: #5a666c;
  --line: rgba(255, 255, 255, .12); --line-dark: rgba(28, 37, 48, .13);
  --btc: #e9a23b; --btc-strong: #f4b45a; --btc-dark: #a8600c; --teal: #3aa79d; --teal-dark: #23756d; --red: #e0634f; --red-dark: #b23b2e; --ok: #7fcf9a;
  --radius: 18px; --shadow: 0 30px 70px rgba(0, 0, 0, .38); --wrap: 1120px;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ui: #2563c9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--ink); color: var(--text); font: 17px/1.65 var(--sans); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.2rem, 6vw, 3.9rem); }
h2 { font-size: clamp(1.8rem, 3.8vw, 2.7rem); }
h3 { font-size: 1.25rem; line-height: 1.2; }
p { margin: 0 0 1em; }
em { font-style: italic; color: var(--btc-strong); }
.wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }
.skip-link { position: absolute; left: -999px; top: 8px; background: var(--btc); color: #1a1006; padding: 10px 14px; border-radius: 8px; z-index: 100; }
.skip-link:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--btc-strong); outline-offset: 3px; }
[hidden] { display: none !important; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 700 .74rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--btc); margin: 0 0 16px; }
.eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; flex: none; }
.lede { font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: var(--muted); max-width: 640px; }
.muted { color: var(--muted); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border-radius: 999px; font: 700 1rem/1.15 var(--sans); text-align: center; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--btc); color: #1a1006; box-shadow: 0 12px 30px rgba(233, 162, 59, .22); }
.btn-primary:hover { background: var(--btc-strong); }
.btn-ghost { border-color: var(--line); color: var(--text); background: rgba(255, 255, 255, .04); }
.btn-ghost:hover { border-color: rgba(255, 255, 255, .32); }
.btn-block { width: 100%; }
.microcopy { font-size: .88rem; color: var(--muted); margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.microcopy span::before { content: "✓ "; color: var(--ok); font-weight: 700; }
.risk-note { margin: 14px 0 0; font-size: .82rem; color: var(--muted); max-width: 520px; }

/* topo */
.topbar { position: sticky; top: 0; z-index: 40; background: rgba(8, 17, 24, .88); backdrop-filter: saturate(140%) blur(12px); border-bottom: 1px solid var(--line); }
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 800 .86rem/1.1 var(--sans); letter-spacing: .14em; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #f6b04a, #c46a0c); color: #fff; font: 800 1.05rem/1 var(--sans); }
.nav { display: none; gap: 26px; font-size: .92rem; }
.nav a { color: var(--muted); text-decoration: none; }
.nav a:hover { color: var(--text); }
.topbar .btn { min-height: 42px; padding: 0 18px; font-size: .9rem; }
@media (min-width: 900px) { .nav { display: flex; } }

/* herói */
.hero { padding: clamp(36px, 7vw, 84px) 0 clamp(40px, 6vw, 72px); background: radial-gradient(900px 480px at 78% 18%, rgba(233, 162, 59, .16), transparent 62%), radial-gradient(700px 400px at 0% 90%, rgba(58, 167, 157, .12), transparent 60%); }
.hero-grid { display: grid; gap: 44px; align-items: center; }
.hero h1 em { display: block; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.stage { position: relative; display: flex; justify-content: center; align-items: flex-end; gap: 0; min-height: 420px; }
.stage .book { width: min(46vw, 230px); border-radius: 6px; box-shadow: var(--shadow); transform: rotate(-3deg); }
.stage .phone-wrap { margin-left: -34px; margin-bottom: 18px; }
@media (max-width: 359px) { .stage .phone-wrap { margin-left: -60px; } }
.stage-note { position: absolute; left: 0; right: 0; bottom: -4px; text-align: center; font-size: .76rem; color: var(--muted); }
@media (min-width: 900px) { .hero-grid { grid-template-columns: 1.1fr .9fr; } .stage { min-height: 520px; } .stage .book { width: 280px; } }

/* faixa */
.strip { border-block: 1px solid var(--line); background: var(--ink-2); }
.strip ul { list-style: none; margin: 0; padding: 22px 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 14px; }
.strip li { font-size: .84rem; color: var(--muted); }
.strip li b { display: block; font: 800 1.5rem/1.1 var(--serif); color: var(--text); }
@media (min-width: 760px) { .strip ul { grid-template-columns: repeat(5, 1fr); } }

/* seções */
.section { padding: clamp(52px, 8vw, 104px) 0; }
.section-light { background: var(--paper); color: var(--text-dark); }
.section-light .eyebrow { color: var(--btc-dark); }
.section-light h2 em { color: var(--btc-dark); }
.section-light .lede, .section-light .muted { color: var(--muted-dark); }
.section-head { max-width: 760px; margin-bottom: 38px; }
.section-head.center { margin-inline: auto; text-align: center; }
.section-head.center .eyebrow { justify-content: center; }
.section-head.center .lede { margin-inline: auto; }

.pain-grid { display: grid; gap: 14px; }
.pain { margin: 0; padding: 20px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--line-dark); box-shadow: 0 8px 24px rgba(28, 37, 48, .05); }
.turn { margin: 30px 0 0; padding: 22px 24px; border-left: 3px solid var(--btc); background: var(--paper-2); font-family: var(--serif); font-size: 1.15rem; }
@media (min-width: 760px) { .pain-grid { grid-template-columns: 1fr 1fr; } }

.journey { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: j; }
.journey li { counter-increment: j; position: relative; padding: 18px 20px 18px 74px; border: 1px solid var(--line); border-radius: 16px; background: var(--ink-2); }
.journey li::before { content: counter(j); position: absolute; left: 18px; top: 16px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--btc); color: #1a1006; font: 800 1rem/1 var(--sans); }
.journey b { display: block; font: 700 1.02rem/1.3 var(--sans); }
.journey span { color: var(--muted); font-size: .95rem; }
@media (min-width: 860px) { .journey { grid-template-columns: 1fr 1fr; } }

/* galeria */
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.gallery button { padding: 0; border: 1px solid var(--line-dark); border-radius: 12px; overflow: hidden; background: #fff; cursor: zoom-in; box-shadow: 0 10px 28px rgba(28, 37, 48, .12); transition: transform .15s ease; }
.gallery button:hover { transform: translateY(-3px); }
.gallery img { width: 100%; }
.gallery figcaption { display: none; }
.gallery .cap { display: block; padding: 8px 10px 10px; font: 600 .8rem/1.3 var(--sans); color: var(--muted-dark); text-align: left; background: #fff; }
@media (min-width: 760px) { .gallery { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
dialog.lightbox { border: 0; padding: 0; background: transparent; max-width: min(94vw, 760px); max-height: 94vh; }
dialog.lightbox::backdrop { background: rgba(4, 10, 15, .86); }
dialog.lightbox img { max-height: 90vh; width: auto; margin: auto; border-radius: 10px; }
dialog.lightbox .close { position: fixed; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--btc); color: #1a1006; font: 800 1.2rem/1 var(--sans); cursor: pointer; }

/* conteúdo */
.chapters { display: grid; gap: 10px; }
.chapter { display: flex; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); }
.chapter .n { flex: none; width: 46px; font: 800 .74rem/1.9 var(--sans); letter-spacing: .06em; color: var(--btc); }
.chapter b { display: block; font: 700 .98rem/1.3 var(--sans); }
.chapter span { display: block; color: var(--muted); font-size: .9rem; line-height: 1.5; margin-top: 2px; }
@media (min-width: 860px) { .chapters { grid-template-columns: 1fr 1fr; } }

/* honestidade */
.honest { display: grid; gap: 18px; }
.honest > div { padding: 24px; border-radius: 16px; border: 1px solid var(--line); background: var(--ink-2); }
.honest h3 { margin-bottom: 12px; }
.honest ul { margin: 0; padding: 0; list-style: none; }
.honest li { position: relative; padding: 7px 0 7px 30px; border-bottom: 1px solid var(--line); }
.honest li:last-child { border-bottom: 0; }
.honest li::before { position: absolute; left: 0; font-weight: 800; }
.honest .no li::before { content: "✕"; color: var(--red); }
.honest .yes li::before { content: "✓"; color: var(--ok); }
@media (min-width: 860px) { .honest { grid-template-columns: 1fr 1fr; } }

.fit { display: grid; gap: 18px; }
.fit > div { padding: 24px; border-radius: 16px; background: #fff; border: 1px solid var(--line-dark); }
.fit h3 { margin-bottom: 10px; }
.fit ul { margin: 0; padding: 0; list-style: none; }
.fit li { position: relative; padding: 6px 0 6px 28px; }
.fit li::before { position: absolute; left: 0; font-weight: 800; }
.fit .yes li::before { content: "✓"; color: #2f7d47; }
.fit .no li::before { content: "✕"; color: var(--red-dark); }
@media (min-width: 860px) { .fit { grid-template-columns: 1fr 1fr; } }

/* oferta */
.offer { background: radial-gradient(900px 420px at 15% 0%, rgba(233, 162, 59, .13), transparent 60%), var(--ink); }
.offer-grid { display: grid; gap: 36px; align-items: center; }
.offer-box { padding: 30px; border-radius: 24px; background: var(--paper); color: var(--text-dark); box-shadow: var(--shadow); }
.offer-box .label { font: 800 .72rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-dark); }
.offer-box h3 { margin: 10px 0 0; }
.price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 16px 0 4px; }
.price strong { font: 800 3.1rem/1 var(--sans); letter-spacing: -.03em; }
.price .muted { color: var(--muted-dark); }
.price-note { color: var(--muted-dark); font-size: .92rem; margin-bottom: 18px; }
.offer-box ul { list-style: none; margin: 0 0 22px; padding: 0; }
.offer-box li { padding: 8px 0 8px 28px; position: relative; border-bottom: 1px solid var(--line-dark); }
.offer-box li::before { content: "✓"; position: absolute; left: 0; color: #2f7d47; font-weight: 800; }
.offer-box .btn-primary { box-shadow: none; }
.pay-methods { margin: 14px 0 0; font-size: .84rem; color: var(--muted-dark); text-align: center; }
.guarantee { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line-dark); font-size: .9rem; color: var(--muted-dark); }
.guarantee p { margin: 0; }
.guarantee b { color: var(--text-dark); }
.seal { flex: none; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; border: 2px solid var(--btc-dark); color: var(--btc-dark); font: 800 .72rem/1.05 var(--sans); text-align: center; }
.steps { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; counter-reset: s; }
.steps li { counter-increment: s; display: flex; gap: 14px; align-items: flex-start; color: var(--muted); }
.steps li::before { content: counter(s); flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ink-3); color: var(--btc); font: 800 .85rem/1 var(--sans); }
@media (min-width: 960px) { .offer-grid { grid-template-columns: 1fr 440px; gap: 64px; } }

/* perguntas */
.faq { display: grid; gap: 10px; max-width: 860px; margin-inline: auto; }
.faq details { border-radius: 14px; background: #fff; border: 1px solid var(--line-dark); }
.faq summary { cursor: pointer; list-style: none; padding: 20px 56px 20px 22px; position: relative; font-weight: 700; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font: 400 1.5rem/1 var(--sans); color: var(--btc-dark); }
.faq details[open] summary::after { content: "−"; }
.faq details p { padding: 0 22px 20px; margin: 0; color: var(--muted-dark); }

.final { text-align: center; background: radial-gradient(800px 360px at 50% 0%, rgba(233, 162, 59, .14), transparent 60%), var(--ink-2); }
.final .lede { margin-inline: auto; }
.final .microcopy { justify-content: center; }

.footer { padding: 46px 0 96px; border-top: 1px solid var(--line); font-size: .9rem; color: var(--muted); }
.footer .wrap { display: grid; gap: 28px; }
.footer h2 { font: 700 .74rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--text); margin-bottom: 12px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.footer .legal { font-size: .8rem; max-width: 760px; }
@media (min-width: 760px) { .footer .wrap { grid-template-columns: 1.4fr 1fr 1fr; } .footer .legal { grid-column: 1 / -1; } }

.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(8, 17, 24, .94); border-top: 1px solid var(--line); backdrop-filter: blur(10px); transform: translateY(110%); transition: transform .2s ease; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sticky-cta.is-visible { transform: none; }
.sticky-cta small { font-size: .78rem; color: var(--muted); line-height: 1.3; }
.sticky-cta b { display: block; color: var(--text); font-size: .95rem; }
.sticky-cta .btn { min-height: 46px; padding: 0 20px; font-size: .92rem; }
@media (min-width: 900px) { .sticky-cta { display: none; } .footer { padding-bottom: 46px; } }

/* telas ilustradas (herói): mesmo desenho do ebook */
.phone-wrap { width: 215px; height: 345px; flex: none; }
.phone { width: 143.6px; height: 230.5px; transform: scale(1.5); transform-origin: top left; border-radius: 20px; background: #151a21; padding: 4px; box-shadow: 0 10px 22px rgba(0, 0, 0, .45); position: relative; }
.screen { width: 100%; height: 100%; border-radius: 16px; background: #fff; overflow: hidden; position: relative; font: 500 7.2px/1.32 var(--sans); color: #1b2430; display: flex; flex-direction: column; }
.screen .sb { display: flex; justify-content: space-between; padding: 5px 12px 0; font: 600 5.6px var(--sans); color: #5a6575; }
.screen .app-h { padding: 6px 11px 3px; font: 800 9.4px/1.2 var(--sans); color: #121a24; }
.screen .pad { padding: 3px 11px; }
.screen .card { border: 1px solid #dfe5ee; border-radius: 6px; padding: 6px 8px; margin: 4px 0; }
.screen .row { display: flex; justify-content: space-between; gap: 4px; padding: 2px 0; }
.screen .row span:first-child { color: #667385; }
.screen .row b { font-weight: 700; }
.screen .row.t { border-top: 1px solid #dfe5ee; margin-top: 2px; padding-top: 4px; }
.screen .alert { background: #fff3dc; border-left: 3px solid #e49a1a; padding: 5px 7px; border-radius: 4px; font: 500 6.4px/1.35 var(--sans); color: #6a4608; margin: 4px 0; }
.screen .btn { margin: 7px 11px 8px; background: #1f8f4f; color: #fff; border-radius: 5px; padding: 7px; min-height: 0; font: 700 7.4px var(--sans); box-shadow: none; }
.screen .bot { margin-top: auto; }
.screen .pin { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--btc); color: #fff; font: 800 6.6px/14px var(--sans); text-align: center; box-shadow: 0 0 0 2px #fff; left: -5px; top: 50%; margin-top: -7px; font-style: normal; }
.screen .rel { position: relative; }
