/* =========================================================
   IA Pro Negócio — Landing
   Direção visual: Apostila Brasileira (Direção B)
   ========================================================= */

:root {
    --bg: #FCFBF6;
    --bg-warm: #FAF7F0;
    --border: #EFE9D7;
    --ink: #2D2418;
    --ink-strong: #1F1810;
    --ink-soft: #5B4F3F;
    --orange: #E8743B;
    --orange-dark: #B85522;
    --green: #3D7A4E;
    --green-soft: #F1F6F2;
    --off-white: #FFFDF8;
    --radius: 14px;
    --radius-sm: 8px;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-optical-sizing: auto;
}

h1, h2, h3, h4 {
    font-family: 'Fraunces', Georgia, serif;
    color: var(--ink-strong);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0;
    font-variation-settings: "SOFT" 30;
}

h1 {
    font-weight: 800;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
}

h2 {
    font-weight: 700;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
}

h3 {
    font-weight: 600;
    font-size: clamp(1.15rem, 1.6vw, 1.4rem);
}

p {
    margin: 0 0 1rem;
}

a {
    color: var(--orange-dark);
    text-decoration: none;
    transition: color .2s ease;
}

a:hover {
    color: var(--orange);
}

ul, ol {
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.container-narrow {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.text-center { text-align: center; }

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--ink-strong);
    color: var(--bg);
    padding: .5rem 1rem;
    z-index: 999;
}

.skip-link:focus { left: 1rem; top: 1rem; }

/* ---------- Botões ---------- */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .85rem 1.4rem;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    border-radius: var(--radius-sm);
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    text-align: center;
    line-height: 1.2;
}

.btn-primary {
    background: var(--orange);
    color: #FFFDF8;
}

.btn-primary:hover,
.btn-primary:focus-visible {
    background: var(--orange-dark);
    color: #FFFDF8;
    outline: none;
}

.btn-secondary {
    background: transparent;
    color: var(--ink-strong);
    border-color: var(--ink-strong);
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
    background: var(--ink-strong);
    color: var(--off-white);
    outline: none;
}

.btn-large {
    padding: 1.05rem 1.8rem;
    font-size: 1.05rem;
}

.btn-xl {
    padding: 1.2rem 2.2rem;
    font-size: 1.15rem;
}

.btn-block {
    display: flex;
    width: 100%;
}

.btn-nav {
    padding: .65rem 1.1rem;
    font-size: .95rem;
}

/* ---------- Navbar ---------- */

.navbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(252, 251, 246, 0.92);
    border-bottom: 1px solid var(--border);
}

.nav-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1.5rem;
    gap: 1rem;
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--ink-strong);
    letter-spacing: -0.01em;
}

.logo:hover { color: var(--ink-strong); }

.logo-mark {
    color: var(--orange);
    font-size: 1.4rem;
    line-height: 1;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 1.8rem;
}

.nav-links a {
    color: var(--ink);
    font-weight: 500;
    font-size: .95rem;
}

.nav-links a:hover { color: var(--orange); }

/* ---------- Hero ---------- */

.hero {
    padding: 4rem 0 5rem;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 3.5rem;
    align-items: start;
}

.kicker {
    display: inline-block;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--orange-dark);
    margin: 0 0 1.2rem;
}

.hero h1 {
    margin-bottom: 1.5rem;
}

.lead {
    font-size: clamp(1.15rem, 1.5vw, 1.3rem);
    color: var(--ink);
    max-width: 38em;
    margin-bottom: 2rem;
}

.cta-block {
    margin-bottom: 1.75rem;
}

.cta-note {
    margin: .85rem 0 0;
    font-size: .92rem;
    color: var(--ink-soft);
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.check {
    color: var(--green);
    font-weight: 700;
}

.social-proof {
    font-size: .9rem;
    color: var(--ink-soft);
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    max-width: 36em;
    margin: 0;
}

/* Hero card */
.hero-card {
    background: var(--bg-warm);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.75rem;
}

.hero-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 1rem;
    margin-bottom: 1.1rem;
    border-bottom: 1px dashed var(--border);
}

.hero-card-label {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.hero-card-price {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 500;
    font-size: 1.6rem;
    color: var(--ink-strong);
}

.hero-card-list {
    list-style: none;
    margin: 0 0 1.4rem;
}

.hero-card-list li {
    position: relative;
    padding: .55rem 0 .55rem 1.5rem;
    font-size: .95rem;
    color: var(--ink);
    border-bottom: 1px dotted var(--border);
}

.hero-card-list li:last-child { border-bottom: none; }

.hero-card-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: .55rem;
    color: var(--green);
    font-weight: 700;
}

/* ---------- Mobile nav toggle ---------- */

.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: .4rem;
    flex-direction: column;
    gap: 5px;
    flex-shrink: 0;
}

.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ink-strong);
    border-radius: 2px;
    transition: transform .2s ease, opacity .2s ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav {
    display: none;
    background: rgba(252, 251, 246, 0.98);
    border-bottom: 1px solid var(--border);
    padding: .75rem 1.5rem 1rem;
}

.mobile-nav.open {
    display: block;
}

.mobile-nav a {
    display: block;
    padding: .7rem 0;
    font-weight: 500;
    font-size: 1rem;
    color: var(--ink);
    border-bottom: 1px solid var(--border);
}

.mobile-nav a:last-child {
    border-bottom: none;
}

.mobile-nav a:hover { color: var(--orange); }

@media (max-width: 768px) {
    .nav-toggle { display: flex; }
}

/* ---------- Amostra banner ---------- */

.amostra-banner {
    background: var(--bg-warm);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1.5rem 0;
}

.amostra-inner {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    justify-content: space-between;
}

.amostra-text { flex: 1; }

.amostra-tag {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--orange-dark);
    margin: 0 0 .4rem;
}

.amostra-titulo {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    color: var(--ink-strong);
    margin: 0 0 .25rem;
    line-height: 1.35;
}

.amostra-sub {
    font-size: .88rem;
    color: var(--ink-soft);
    margin: 0;
}

.amostra-cta { flex-shrink: 0; }

@media (max-width: 768px) {
    .amostra-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }
    .amostra-cta .btn { width: 100%; }
}

/* ---------- Sections base ---------- */

.section {
    padding: 5rem 0;
}

.section h2 {
    margin-bottom: 0.4rem;
}

.rule {
    width: 60px;
    height: 3px;
    background: var(--orange);
    margin: 1rem 0 2.5rem;
    border-radius: 2px;
}

/* ---------- Dor (personagens) ---------- */

.dor { padding: 4rem 0; background: var(--off-white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.personagem {
    padding: 1.75rem 0;
    border-bottom: 1px solid var(--border);
}

.personagem:last-of-type { border-bottom: none; }

.personagem-head { margin-bottom: .65rem; }

.personagem-tag {
    display: inline-block;
    font-family: 'JetBrains Mono', monospace;
    font-size: .82rem;
    font-weight: 500;
    color: var(--orange-dark);
    background: rgba(232, 116, 59, 0.08);
    padding: .25rem .6rem;
    border-radius: 4px;
}

.personagem p {
    font-size: 1.1rem;
    line-height: 1.65;
    color: var(--ink);
    max-width: 50em;
    margin: 0;
}

.dor-fecho {
    margin-top: 2.5rem;
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.45rem;
    font-weight: 500;
    color: var(--ink-strong);
    line-height: 1.45;
    max-width: 32em;
}

/* ---------- Como funciona ---------- */

.passos {
    list-style: none;
    counter-reset: passo;
    display: grid;
    gap: 3rem;
}

.passo {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.75rem;
    align-items: start;
}

.passo-num {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 500;
    font-size: 2.2rem;
    color: var(--orange);
    line-height: 1;
    padding-top: .2rem;
}

.passo-corpo h3 {
    margin-bottom: .6rem;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
}

.passo-corpo p {
    color: var(--ink);
    max-width: 42em;
    margin: 0;
}

/* ---------- Incluso ---------- */

.incluso { background: var(--off-white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.incluso-intro {
    max-width: 40em;
    color: var(--ink);
    font-size: 1.05rem;
    margin: 0 0 3rem;
}

.incluso-lista {
    display: grid;
    gap: 0;
}

.item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 1.5rem;
    padding: 1.75rem 0;
    border-top: 1px solid var(--border);
}

.item:last-child { border-bottom: 1px solid var(--border); }

.item-num {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 500;
    font-size: 1.4rem;
    color: var(--orange);
    line-height: 1;
}

.item-body h3 {
    margin-bottom: .5rem;
}

.item-body p {
    color: var(--ink);
    max-width: 42em;
    margin: 0;
    font-size: 1rem;
}

/* ---------- Público ---------- */

.duas-colunas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.coluna {
    background: var(--bg-warm);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.75rem;
}

.coluna h3 {
    margin-bottom: 1.2rem;
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.25rem;
}

.coluna-sim h3 { color: var(--green); }
.coluna-nao h3 { color: var(--ink-strong); }

.coluna ul {
    list-style: none;
}

.coluna li {
    position: relative;
    padding: .55rem 0 .55rem 1.75rem;
    font-size: .98rem;
    color: var(--ink);
    border-bottom: 1px dotted var(--border);
}

.coluna li:last-child { border-bottom: none; }

.coluna-sim li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: .55rem;
    color: var(--green);
    font-weight: 700;
}

.coluna-nao li::before {
    content: "✕";
    position: absolute;
    left: 0;
    top: .55rem;
    color: var(--ink-soft);
    font-weight: 700;
}

/* ---------- Bônus ---------- */

.bonus { background: var(--off-white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.bonus-intro {
    max-width: 38em;
    color: var(--ink);
    margin: 0 0 2.5rem;
}

.bonus-grid {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--border);
}

.bonus-item {
    padding: 1.6rem 1.75rem;
    background: var(--bg-warm);
}

.bonus-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.bonus-num {
    display: inline-block;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 500;
    font-size: .85rem;
    color: var(--orange-dark);
    margin-bottom: .5rem;
}

.bonus-item h3 {
    margin-bottom: .4rem;
    font-size: 1.15rem;
}

.bonus-item p {
    color: var(--ink);
    font-size: .95rem;
    margin: 0;
}

/* ---------- Garantia ---------- */

.garantia {
    padding: 4rem 0;
}

.garantia-card {
    background: var(--green-soft);
    border: 1.5px solid var(--green);
    border-radius: var(--radius);
    padding: 2.25rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2rem;
    align-items: center;
    max-width: 920px;
    margin: 0 auto;
}

.garantia-selo {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: var(--green);
    color: var(--off-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 6px var(--green-soft), 0 0 0 7px var(--green);
    flex-shrink: 0;
}

.selo-num {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 800;
    font-size: 2.8rem;
    line-height: 1;
}

.selo-txt {
    font-family: 'Inter', sans-serif;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: .2rem;
}

.garantia-body h2 {
    margin-bottom: .75rem;
    color: var(--green);
}

.garantia-body p {
    margin-bottom: .6rem;
    color: var(--ink);
}

.garantia-fina {
    font-style: italic;
    color: var(--ink-soft);
    margin: 0;
}

/* ---------- Urgency Banner ---------- */

.urgency-bar {
    background: #E8743B;
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
    position: relative;
    z-index: 100;
    line-height: 1.4;
}

/* ---------- Hero Price Block (card) ---------- */

.hero-price-block {
    margin-top: 2rem;
    text-align: center;
}

.hero-price-old {
    font-size: 0.9rem;
    color: #8B7E66;
    text-decoration: line-through;
    margin-bottom: 0.2rem;
}

.hero-price-value {
    font-size: 2.8rem;
    font-weight: 900;
    font-family: 'Fraunces', serif;
    color: #1F1810;
    line-height: 1;
}

.hero-price-currency {
    font-size: 1.2rem;
    vertical-align: top;
    margin-top: 0.5rem;
    display: inline-block;
    color: #E8743B;
}

.hero-price-urgency {
    font-size: 0.85rem;
    font-weight: 700;
    color: #E8743B;
    margin-top: 0.2rem;
}

.hero-price-detail {
    font-size: 0.78rem;
    color: #6B5E47;
    margin-top: 0.4rem;
}

.hero-price-btn {
    margin-top: 1rem;
}

/* ---------- Público ---------- */

.publico { padding: 4rem 0; }

.publico-grid {
    align-items: center;
}

.publico-img-wrap {
    display: flex;
    justify-content: center;
}

.publico-img {
    width: 100%;
    max-width: 450px;
    filter: drop-shadow(20px 30px 40px rgba(31,24,16,0.22));
}

/* ---------- Preço Old / Urgency ---------- */

.preco-old {
    font-size: 1.2rem;
    color: #8B7E66;
    text-decoration: line-through;
    margin-bottom: -0.5rem;
    text-align: center;
}

.preco-urgency {
    text-align: center;
    font-weight: 700;
    color: #E8743B;
    margin-top: -1rem;
    margin-bottom: 1rem;
}

/* ---------- Preço ---------- */

.preco {
    padding: 6rem 0;
    background: var(--off-white);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.preco-bloco {
    max-width: 540px;
    margin: 0 auto;
    text-align: center;
    background: var(--bg-warm);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 2.5rem 2rem;
}

.preco-kicker {
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--orange-dark);
    margin: 0 0 .5rem;
}

.preco h2 {
    margin-bottom: 1.5rem;
}

.preco-valor {
    display: inline-flex;
    align-items: baseline;
    gap: .35rem;
    font-family: 'JetBrains Mono', monospace;
    color: var(--ink-strong);
    margin-bottom: .35rem;
}

.preco-moeda {
    font-size: 1.6rem;
    font-weight: 500;
}

.preco-num {
    font-size: clamp(3.5rem, 7vw, 5rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.preco-meio {
    font-size: .95rem;
    color: var(--ink-soft);
    margin: 0 0 1.75rem;
}

.preco .btn {
    margin-bottom: 1.5rem;
}

.preco-badges {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
    font-size: .88rem;
    color: var(--ink-soft);
}

.preco-badges li {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.preco-pos-compra {
    font-size: .85rem;
    color: var(--ink-soft);
    margin: .6rem 0 1.5rem;
    text-align: center;
}

/* ---------- FAQ ---------- */

.faq details {
    border-bottom: 1px solid var(--border);
    padding: 1.2rem 0;
}

.faq details:first-of-type {
    border-top: 1px solid var(--border);
}

.faq summary {
    list-style: none;
    cursor: pointer;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 1.15rem;
    color: var(--ink-strong);
    padding-right: 2rem;
    position: relative;
    line-height: 1.4;
}

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

.faq summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.5rem;
    color: var(--orange);
    transition: transform .2s ease;
}

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

.faq details p {
    margin: .9rem 0 0;
    color: var(--ink);
    line-height: 1.65;
    max-width: 42em;
}

/* ---------- CTA Final ---------- */

.cta-final {
    padding: 5rem 0;
    background: var(--bg);
}

.cta-final h2 {
    margin-bottom: 1rem;
}

.cta-final-sub {
    color: var(--ink);
    font-size: 1.1rem;
    max-width: 36em;
    margin: 0 auto 2rem;
}

.cta-final-fine {
    margin: 1rem 0 0;
    font-size: .9rem;
    color: var(--ink-soft);
}

/* ---------- Footer ---------- */

.footer {
    background: var(--bg-warm);
    border-top: 1px solid var(--border);
    padding: 3rem 0 1.5rem;
    font-size: .92rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-logo {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--ink-strong);
    margin: 0 0 .4rem;
}

.footer-tagline {
    color: var(--ink-soft);
    margin: 0;
    max-width: 28em;
}

.footer-label {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin: 0 0 .6rem;
}

.footer a {
    display: block;
    color: var(--ink);
    margin-bottom: .3rem;
}

.footer a:hover { color: var(--orange); }

.footer-bottom {
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
}

.footer-bottom p {
    margin: 0;
    color: var(--ink-soft);
    font-size: .82rem;
    line-height: 1.5;
}

/* =========================================================
   Responsivo
   ========================================================= */

@media (max-width: 1024px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .hero-card { max-width: 480px; }
}

@media (max-width: 768px) {
    body { font-size: 16px; }

    .section { padding: 3rem 0; }
    .hero { padding: 2rem 0 2.5rem; }

    /* --- Navbar --- */
    .nav-links { display: none; }
    .nav-content { padding: .7rem 1.25rem; }

    /* --- Hero --- */
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .hero h1 {
        font-size: clamp(1.75rem, 7vw, 2.5rem);
    }

    .lead {
        font-size: 1rem;
    }

    /* Ebook stack: scale down for mobile */
    .ebook-stack {
        width: 200px;
        height: 270px;
    }

    .bk-4 { width: 132px; height: 182px; }
    .bk-3 { width: 140px; height: 195px; }
    .bk-2 { width: 148px; height: 208px; }
    .bk-1 { width: 156px; height: 220px; }

    .bk-title { font-size: 18px !important; }
    .bk-brand { font-size: 7px; }
    .bk-sub { font-size: 8px; }
    .bk-inner { padding: 14px 12px; }

    .fmt-badge {
        font-size: 9px;
        padding: 5px 12px;
    }

    .hero-card {
        max-width: 100%;
        padding: 1.5rem;
    }

    /* CTA buttons full-width on mobile */
    .btn-large,
    .btn-xl {
        width: 100%;
        padding: 1rem 1.4rem;
        font-size: 1rem;
    }

    .cta-note {
        font-size: .85rem;
        flex-wrap: wrap;
    }

    .social-proof {
        font-size: .85rem;
    }

    /* Format pills */
    .formats-bar {
        gap: 0.4rem;
    }
    .fmt-pill {
        font-size: 0.72rem;
        padding: 0.3rem 0.7rem;
    }

    /* --- Dor (personagens) --- */
    .personagem p {
        font-size: 1rem;
    }

    .dor-fecho {
        font-size: 1.15rem;
    }

    /* --- Como funciona --- */
    .passo {
        gap: 1rem;
    }

    .passo-num {
        font-size: 1.6rem;
    }

    .passo-corpo h3 {
        font-size: 1.15rem;
    }

    /* --- Incluso --- */
    .item {
        grid-template-columns: 1fr;
        gap: .4rem;
    }

    .item-num { font-size: 1.1rem; }

    /* --- Público --- */
    .duas-colunas {
        grid-template-columns: 1fr;
    }

    .coluna {
        padding: 1.4rem;
    }

    /* --- Bônus --- */
    .bonus-grid {
        grid-template-columns: 1fr;
    }

    .bonus-item {
        border-right: none;
        padding: 1.3rem 1.4rem;
    }

    /* --- Garantia --- */
    .garantia-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1.75rem 1.4rem;
        gap: 1.5rem;
    }

    .garantia-selo {
        margin: 0 auto;
        width: 90px;
        height: 90px;
    }

    .selo-num { font-size: 2.2rem; }

    .garantia-body h2 {
        font-size: 1.35rem;
    }

    .garantia-body p {
        font-size: .95rem;
    }

    /* --- Preço --- */
    .preco-bloco {
        padding: 2rem 1.4rem;
    }

    .preco-badges {
        flex-direction: column;
        align-items: center;
        gap: 0.6rem;
    }

    .preco h2 {
        font-size: 1.5rem;
    }

    /* --- Footer --- */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    /* --- Urgency Banner --- */
    .urgency-bar {
        font-size: 11px;
        padding: 8px 12px;
        letter-spacing: 0.02em;
    }

    /* --- Hero Price Block --- */
    .hero-price-value {
        font-size: 2.4rem;
    }

    .hero-price-currency {
        font-size: 1rem;
    }

    /* --- Público Image --- */
    .publico-img {
        max-width: 320px;
    }

    /* --- Preco old / urgency --- */
    .preco-old {
        font-size: 1rem;
    }

    .preco-urgency {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .container, .container-narrow { padding: 0 1rem; }

    body { font-size: 15px; }

    .hero { padding: 1.5rem 0 2rem; }

    .hero h1 {
        font-size: 1.6rem;
    }

    .lead {
        font-size: .92rem;
    }

    .btn-nav {
        padding: .5rem .85rem;
        font-size: .85rem;
    }

    .logo { font-size: .95rem; }

    .hero-card { padding: 1.2rem; }

    /* Even smaller ebook stack */
    .ebook-stack {
        width: 180px;
        height: 240px;
    }

    .bk-4 { width: 112px; height: 157px; }
    .bk-3 { width: 120px; height: 170px; }
    .bk-2 { width: 128px; height: 183px; }
    .bk-1 { width: 136px; height: 196px; }

    .bk-title { font-size: 16px !important; }

    /* Steps layout: stack on very small */
    .passo {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .passo-num {
        font-size: 1.3rem;
    }

    /* Section padding tighter */
    .section { padding: 2.5rem 0; }

    .rule { margin: 0.75rem 0 1.75rem; }

    /* Guarantee */
    .garantia-card {
        padding: 1.4rem 1.1rem;
    }

    .garantia-selo {
        width: 78px;
        height: 78px;
    }

    .selo-num { font-size: 2rem; }
    .selo-txt { font-size: .75rem; }

    /* Price */
    .preco-bloco {
        padding: 1.75rem 1.1rem;
    }

    /* Coluna */
    .coluna {
        padding: 1.2rem;
    }

    .coluna h3 {
        font-size: 1.1rem;
    }

    .coluna li {
        font-size: .9rem;
    }

    /* Bonus */
    .bonus-item {
        padding: 1.1rem 1.2rem;
    }

    .bonus-item h3 {
        font-size: 1.05rem;
    }

    /* Urgency Banner */
    .urgency-bar {
        font-size: 10px;
        padding: 7px 10px;
        letter-spacing: 0;
    }

    /* Hero Price */
    .hero-price-value {
        font-size: 2rem;
    }

    .hero-price-currency {
        font-size: 0.9rem;
    }

    .publico-img {
        max-width: 260px;
    }
}

/* Very small screens (Galaxy Fold, etc.) */
@media (max-width: 360px) {
    .container, .container-narrow { padding: 0 0.8rem; }

    .hero h1 {
        font-size: 1.4rem;
    }

    .lead {
        font-size: .88rem;
    }

    .ebook-stack {
        width: 160px;
        height: 220px;
    }

    .bk-4 { width: 100px; height: 144px; }
    .bk-3 { width: 108px; height: 155px; }
    .bk-2 { width: 116px; height: 166px; }
    .bk-1 { width: 124px; height: 178px; }

    .bk-title { font-size: 14px !important; }

    .nav-content { padding: .6rem .8rem; }
    .logo { font-size: .88rem; }
    .btn-nav { padding: .4rem .7rem; font-size: .8rem; }

    .urgency-bar {
        font-size: 9px;
        padding: 6px 8px;
    }

    .hero-price-value {
        font-size: 1.8rem;
    }

    .publico-img {
        max-width: 220px;
    }
}

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