/* "Manual Completo da Calopsita" — hero identity layer (loaded after laser.css) */

.cp-hero {
  --cp-cream: #faf4e8;
  --cp-cream-deep: #f3ead8;
  --cp-olive: #3f4a2e;
  --cp-sage: #7d8f66;
  --cp-terracota: #c1622f;
  --cp-yellow: #f0c76a;
  background:
    radial-gradient(60% 45% at 50% 8%, rgba(240, 199, 106, 0.22), transparent 70%),
    radial-gradient(70% 50% at 85% 60%, rgba(125, 143, 102, 0.16), transparent 70%),
    var(--cp-cream);
  position: relative;
  overflow: hidden;
}

.cp-topbar {
  background: #3f4a2e;
  color: #faf4e8;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  line-height: 1.35;
}
.cp-topbar svg { flex: none; opacity: 0.9; }
@media (min-width: 640px) { .cp-topbar { font-size: 0.92rem; } }

.cp-inner {
  max-width: 60rem;
  margin: 0 auto;
  padding: 1.75rem 1.25rem 2.5rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) { .cp-inner { padding: 2.75rem 1.5rem 3.5rem; } }

.cp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(125, 143, 102, 0.14);
  color: #3f4a2e;
  border: 1px solid rgba(125, 143, 102, 0.35);
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cp-h1 {
  margin-top: 1rem;
  font-size: clamp(2.15rem, 10.5vw, 4.75rem);
  line-height: 0.98;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #3f4a2e;
  text-wrap: balance;
}
.cp-h1 .cp-accent { color: #c1622f; display: block; }

.cp-rule {
  width: 6rem;
  height: 4px;
  margin: 1.1rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #f0c76a, #c1622f);
}

.cp-sub {
  margin: 1.15rem auto 0;
  max-width: 42rem;
  font-size: clamp(1rem, 4.1vw, 1.45rem);
  line-height: 1.45;
  font-weight: 700;
  color: #465234;
  text-wrap: pretty;
}

.cp-figure {
  margin: 1.8rem auto 0;
  width: min(96vw, 60rem);
  max-width: 60rem;
  position: relative;
}
.cp-figure::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 2%;
  height: 22px;
  border-radius: 50%;
  background: rgba(63, 74, 46, 0.16);
  filter: blur(14px);
  z-index: -1;
}
.cp-figure img { width: 100%; height: auto; }

.cp-support {
  margin: 1.25rem auto 0;
  max-width: 40rem;
  font-size: 0.98rem;
  line-height: 1.6;
  color: rgba(63, 74, 46, 0.78);
}
@media (min-width: 768px) { .cp-support { font-size: 1.08rem; } }

.cp-cta {
  display: inline-block;
  margin-top: 1.5rem;
  width: 100%;
  max-width: 30rem;
  background: linear-gradient(180deg, #cf6c33, #b0521f);
  color: #fff9ef;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(0.95rem, 3.9vw, 1.35rem);
  padding: 1.05rem 1.5rem;
  border-radius: 1.15rem;
  box-shadow: 0 14px 26px -12px rgba(176, 82, 31, 0.65);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-cta:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 20px 34px -14px rgba(176, 82, 31, 0.7); }

.cp-note {
  margin: 1.15rem auto 0;
  max-width: 34rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(63, 74, 46, 0.8);
}
.cp-note svg { color: #7d8f66; }

.cp-leaf {
  position: absolute;
  opacity: 0.35;
  color: #7d8f66;
  pointer-events: none;
}
.cp-leaf--a { top: 4rem; left: -1.5rem; width: 7rem; transform: rotate(-18deg); }
.cp-leaf--b { bottom: 2rem; right: -1.5rem; width: 8rem; transform: rotate(24deg); }
@media (max-width: 640px) { .cp-leaf { opacity: 0.22; width: 5.5rem; } }

.cp-figure img { background: none !important; }

/* ── Bloco "Como o Manual é por dentro" ───────────────────────── */
.cp-inside {
  background:
    radial-gradient(70% 40% at 50% 0%, rgba(240, 199, 106, 0.10), transparent 70%),
    #3a452b;
  padding: 2.25rem 0 2.5rem;
  overflow: hidden;
}
.cp-inside-inner { max-width: 64rem; margin: 0 auto; padding: 0 1.1rem; text-align: center; }
.cp-inside-bottom { margin-top: 1.9rem; }

.cp-inside-h2 {
  color: #fdf7ea;
  font-size: clamp(1.55rem, 6.6vw, 2.65rem);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.cp-inside-accent { color: #f0c76a; }
.cp-inside-sub {
  margin: 0.8rem auto 0;
  max-width: 36rem;
  color: rgba(253, 247, 234, 0.78);
  font-size: 0.98rem;
  line-height: 1.55;
}

.cp-page-frame {
  margin: 1.5rem auto 0;
  width: min(92vw, 40rem);
  background: #fdf7ea;
  padding: 0.55rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(240, 199, 106, 0.45);
  box-shadow: 0 22px 44px -22px rgba(0, 0, 0, 0.6);
}
.cp-page-frame img { width: 100%; height: auto; border-radius: 0.7rem; display: block; }

.cp-marquee { margin-top: 2rem; width: 100%; overflow: hidden; }
.cp-track { display: flex; gap: 0.9rem; width: max-content; align-items: center; padding: 0 0.5rem; }
.cp-slide {
  width: 62vw;
  max-width: 15rem;
  height: auto;
  flex: none;
  border-radius: 0.85rem;
  background: #fdf7ea;
  padding: 0.3rem;
  box-shadow: 0 14px 28px -18px rgba(0, 0, 0, 0.7);
}
@media (min-width: 768px) { .cp-slide { width: 18rem; max-width: none; } }

.cp-cards-title {
  color: #f0c76a;
  font-weight: 800;
  font-size: clamp(1.05rem, 4.4vw, 1.35rem);
  margin-bottom: 1rem;
}
.cp-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  text-align: left;
}
@media (min-width: 768px) { .cp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }

.cp-card {
  background: #fdf7ea;
  border-radius: 1rem;
  padding: 0.9rem;
  box-shadow: 0 10px 20px -16px rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(63, 74, 46, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-card:hover { transform: translateY(-3px); box-shadow: 0 16px 26px -16px rgba(0, 0, 0, 0.5); }
.cp-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.75rem;
  margin-bottom: 0.65rem;
}
.cp-ico--sage { background: rgba(125, 143, 102, 0.16); color: #5d7048; }
.cp-ico--terra { background: rgba(193, 98, 47, 0.14); color: #b0521f; }
.cp-ico--yellow { background: rgba(240, 199, 106, 0.26); color: #a67c1c; }
.cp-ico--blue { background: rgba(106, 132, 150, 0.16); color: #4f6779; }
.cp-card-title { font-size: 0.9rem; font-weight: 800; color: #3f4a2e; margin-bottom: 0.25rem; line-height: 1.25; }
.cp-card-desc { font-size: 0.78rem; line-height: 1.45; color: rgba(63, 74, 46, 0.66); }

/* ── Bloco "Por que o Manual é útil no dia a dia" ─────────────── */
.cp-why {
  background:
    radial-gradient(65% 40% at 50% 0%, rgba(240, 199, 106, 0.09), transparent 70%),
    #465433;
  overflow: hidden;
  padding: 2rem 0 0;
}
.cp-why-cta-wrap { text-align: center; padding: 0 1.1rem; }
.cp-why-cta {
  display: inline-block;
  width: 100%;
  max-width: 30rem;
  background: linear-gradient(180deg, #cf6c33, #b0521f);
  color: #fff9ef;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(0.95rem, 3.9vw, 1.3rem);
  padding: 1rem 1.4rem;
  border-radius: 1.1rem;
  box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.55);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-why-cta:hover { transform: translateY(-2px); box-shadow: 0 20px 32px -14px rgba(0, 0, 0, 0.6); }

.cp-why-marquee { margin-top: 1.9rem; width: 100%; overflow: hidden; }
.cp-why-track { display: flex; gap: 1rem; width: max-content; align-items: center; padding: 0 0.6rem; }
.cp-why-slide {
  width: 74vw;
  max-width: 20rem;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  flex: none;
  border-radius: 1rem;
  background: #fdf7ea;
  padding: 0.35rem;
  box-shadow: 0 16px 30px -18px rgba(0, 0, 0, 0.75);
}
@media (min-width: 768px) { .cp-why-slide { width: 22rem; max-width: none; } }

.cp-why-inner { max-width: 64rem; margin: 0 auto; padding: 2.2rem 1.1rem 2.5rem; }
.cp-why-h2 {
  color: #fdf7ea;
  text-align: center;
  text-transform: uppercase;
  font-weight: 900;
  font-size: clamp(1.35rem, 5.8vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-wrap: balance;
  margin-bottom: 1.6rem;
}
.cp-why-h2 .cp-hl-terra { color: #f0a06a; }
.cp-why-h2 .cp-hl-yellow { color: #f0c76a; }

.cp-why-grid { display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 768px) { .cp-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; } }

.cp-why-card {
  background: #fdf7ea;
  border: 1px solid rgba(63, 74, 46, 0.08);
  border-radius: 1.1rem;
  padding: 1.05rem 1.1rem;
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  box-shadow: 0 12px 24px -18px rgba(0, 0, 0, 0.6);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-why-card:hover { transform: translateY(-3px); box-shadow: 0 18px 28px -18px rgba(0, 0, 0, 0.55); }
.cp-why-card h3 { font-size: 1rem; font-weight: 800; color: #3f4a2e; line-height: 1.25; margin-bottom: 0.25rem; }
.cp-why-card p { font-size: 0.85rem; line-height: 1.5; color: rgba(63, 74, 46, 0.7); }
.cp-why-ico {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
}

.cp-strip {
  background: linear-gradient(180deg, #c1622f, #a94e1e);
  color: #fff7ec;
  padding: 1.3rem 1.1rem;
  text-align: center;
}
.cp-strip p {
  max-width: 52rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  font-weight: 900;
  font-size: clamp(0.98rem, 4.1vw, 1.6rem);
  line-height: 1.3;
  text-wrap: balance;
}

/* ── Card de conversão + Impresso/Digital + Ideal para você ───── */
.cp-conv { background: #faf4e8; padding: 2.2rem 1.1rem 0.6rem; }
.cp-conv-card {
  max-width: 46rem;
  margin: 0 auto;
  background: radial-gradient(80% 60% at 50% 0%, rgba(240,199,106,0.10), transparent 70%), #33402a;
  border: 1px solid rgba(240,199,106,0.25);
  border-radius: 1.5rem;
  padding: 1.7rem 1.25rem 1.9rem;
  text-align: center;
  box-shadow: 0 22px 44px -26px rgba(51,64,42,0.75);
}
@media (min-width: 768px) { .cp-conv-card { padding: 2.4rem 2.5rem 2.6rem; } }
.cp-conv-h2 {
  color: #fdf7ea;
  font-weight: 900;
  font-size: clamp(1.25rem, 5.4vw, 2.05rem);
  line-height: 1.18;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.cp-conv-p {
  margin: 0.85rem auto 0;
  max-width: 34rem;
  color: rgba(253,247,234,0.78);
  font-size: 0.95rem;
  line-height: 1.55;
}
.cp-conv-cta {
  display: inline-block;
  margin-top: 1.4rem;
  width: 100%;
  max-width: 28rem;
  background: linear-gradient(180deg, #cf6c33, #b0521f);
  color: #fff9ef;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(0.92rem, 3.8vw, 1.2rem);
  padding: 1rem 1.3rem;
  border-radius: 1.05rem;
  box-shadow: 0 14px 26px -12px rgba(0,0,0,0.5);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-conv-cta:hover { transform: translateY(-2px); box-shadow: 0 20px 32px -14px rgba(0,0,0,0.55); }

.cp-formats { background: #faf4e8; padding: 2rem 1.1rem 2.4rem; }
.cp-formats-inner { max-width: 36rem; margin: 0 auto; text-align: center; }
.cp-formats-title {
  color: #3f4a2e;
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1rem, 4.4vw, 1.5rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: balance;
  margin-bottom: 1.1rem;
}
.cp-formats-hl { color: #c1622f; }
.cp-formats-figure {
  border-radius: 1.35rem;
  overflow: hidden;
  border: 1px solid rgba(63,74,46,0.10);
  box-shadow: 0 22px 42px -26px rgba(63,74,46,0.6);
}
.cp-formats-figure img { width: 100%; height: auto; display: block; }

.cp-ideal {
  background:
    radial-gradient(65% 40% at 50% 0%, rgba(240,199,106,0.09), transparent 70%),
    #465433;
  padding: 2.2rem 1.1rem 2.6rem;
}
.cp-ideal-inner { max-width: 64rem; margin: 0 auto; }
.cp-ideal-h2 {
  color: #fdf7ea;
  text-align: center;
  text-transform: uppercase;
  font-weight: 900;
  font-size: clamp(1.3rem, 5.6vw, 2.3rem);
  line-height: 1.15;
  margin-bottom: 1.5rem;
  text-wrap: balance;
}
.cp-ideal-grid { display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 768px) { .cp-ideal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.1rem; } }
.cp-ideal-card {
  background: #fdf7ea;
  border: 1px solid rgba(63,74,46,0.08);
  border-radius: 1.1rem;
  padding: 1.05rem 1.1rem;
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  box-shadow: 0 12px 24px -18px rgba(0,0,0,0.6);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-ideal-card:hover { transform: translateY(-3px); box-shadow: 0 18px 28px -18px rgba(0,0,0,0.55); }
.cp-ideal-card h3 {
  font-size: 0.92rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #3f4a2e;
  line-height: 1.25;
  margin-bottom: 0.3rem;
}
.cp-ideal-card p { font-size: 0.85rem; line-height: 1.5; color: rgba(63,74,46,0.7); }
.cp-ideal-ico {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
}

/* ── Bloco "Tudo o que você vai receber" ──────────────────────── */
.cp-recv { background: #faf4e8; padding: 2.4rem 1.1rem 2.8rem; }
.cp-recv-inner { max-width: 44rem; margin: 0 auto; text-align: center; }
.cp-recv-h2 {
  color: #3f4a2e;
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 6.6vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.cp-recv-rule {
  width: 5.5rem; height: 4px; border-radius: 999px;
  margin: 0.9rem auto 1.6rem;
  background: linear-gradient(90deg, #f0c76a, #c1622f);
}
.cp-recv-card {
  position: relative;
  background: radial-gradient(85% 55% at 50% 0%, rgba(240,199,106,0.10), transparent 70%), #33402a;
  border: 1px solid rgba(240,199,106,0.40);
  border-radius: 1.6rem;
  padding: 1.4rem 1.1rem 1.7rem;
  box-shadow: 0 24px 48px -28px rgba(51,64,42,0.8);
  overflow: hidden;
}
@media (min-width: 768px) { .cp-recv-card { padding: 2rem 2.2rem 2.3rem; } }
.cp-recv-badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  background: #f0c76a; color: #3f4a2e;
  border-radius: 999px; padding: 0.4rem 0.95rem;
  font-size: 0.75rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase;
}
.cp-recv-figure { margin: 1.1rem auto 0; width: 100%; max-width: 30rem; }
.cp-recv-figure img { width: 100%; height: auto; display: block; border-radius: 1rem; }

.cp-recv-list {
  margin: 1.4rem auto 0; max-width: 30rem;
  text-align: left; border-top: 1px solid rgba(240,199,106,0.35);
}
.cp-recv-list li {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.7rem 0.1rem;
  border-bottom: 1px solid rgba(240,199,106,0.22);
  color: #fdf7ea; font-weight: 700; font-size: 0.95rem; line-height: 1.35;
}
.cp-recv-list svg { color: #f0c76a; flex: none; }
.cp-recv-hl { color: #f0a06a; font-weight: 900; }

.cp-recv-sub {
  margin: 1.5rem 0 0.8rem;
  color: #f0c76a; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 0.8rem;
}
.cp-recv-bens {
  display: grid; grid-template-columns: 1fr; gap: 0.5rem;
  max-width: 32rem; margin: 0 auto; text-align: left;
}
@media (min-width: 640px) { .cp-recv-bens { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0.55rem 1.1rem; } }
.cp-recv-bens p {
  display: flex; align-items: flex-start; gap: 0.5rem;
  color: rgba(253,247,234,0.9); font-size: 0.88rem; font-weight: 600; line-height: 1.4;
}
.cp-recv-bens svg { color: #9fb583; flex: none; margin-top: 0.1rem; }
.cp-recv-note {
  margin: 1.4rem auto 0; max-width: 28rem;
  color: rgba(253,247,234,0.6); font-size: 0.8rem; line-height: 1.5; font-style: italic;
}

/* ── Seção de bônus ───────────────────────────────────────────── */
.cp-bonus {
  position: relative;
  background:
    radial-gradient(70% 40% at 50% 0%, rgba(240,199,106,0.10), transparent 70%),
    #3a452b;
  padding: 2.4rem 1.1rem 2.8rem;
  overflow: hidden;
}
.cp-bonus-leaf { position: absolute; color: #7d8f66; opacity: 0.13; pointer-events: none; }
.cp-bonus-leaf--a { top: 1.5rem; left: -2rem; width: 8rem; transform: rotate(-22deg); }
.cp-bonus-leaf--b { bottom: 1rem; right: -2rem; width: 9rem; transform: rotate(26deg); }
.cp-bonus-inner { position: relative; z-index: 1; max-width: 72rem; margin: 0 auto; text-align: center; }
.cp-bonus-h2 {
  color: #fdf7ea; font-weight: 900; text-transform: uppercase;
  font-size: clamp(1.6rem, 7vw, 3rem); line-height: 1.05;
  letter-spacing: -0.015em; text-wrap: balance;
}
.cp-bonus-sub {
  margin: 0.7rem auto 0; max-width: 34rem;
  color: rgba(253,247,234,0.82); font-size: clamp(0.98rem, 4vw, 1.25rem); line-height: 1.4;
}
.cp-bonus-sub strong { color: #f0c76a; font-weight: 900; }
.cp-bonus-seal {
  display: inline-flex; align-items: center; gap: 0.45rem;
  margin-top: 1.1rem; background: linear-gradient(180deg, #cf6c33, #b0521f);
  color: #fff9ef; border-radius: 999px; padding: 0.45rem 1.1rem;
  font-size: 0.76rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase;
  box-shadow: 0 10px 20px -12px rgba(0,0,0,0.6);
}
.cp-bonus-grid {
  margin-top: 1.9rem;
  display: grid; grid-template-columns: 1fr; gap: 1rem;
}
@media (min-width: 640px) { .cp-bonus-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.1rem; } }
@media (min-width: 1024px) { .cp-bonus-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.cp-bonus-card {
  background: #fdf7ea;
  border: 1px solid rgba(63,74,46,0.08);
  border-radius: 1.2rem;
  padding: 0.9rem 0.95rem 1.1rem;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  box-shadow: 0 14px 28px -20px rgba(0,0,0,0.65);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-bonus-card:hover { transform: translateY(-4px); box-shadow: 0 20px 32px -20px rgba(0,0,0,0.6); }
.cp-bonus-stars { display: flex; gap: 0.15rem; color: #f0c76a; margin-bottom: 0.5rem; }
.cp-bonus-fig { width: 100%; }
.cp-bonus-fig img { width: 100%; height: auto; display: block; border-radius: 0.8rem; }
.cp-bonus-label {
  display: inline-flex; align-items: center; gap: 0.35rem;
  margin-top: 0.8rem; background: rgba(240,199,106,0.28); color: #8a6410;
  border-radius: 999px; padding: 0.3rem 0.8rem;
  font-size: 0.7rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase;
}
.cp-bonus-title {
  margin-top: 0.6rem; color: #3f4a2e; font-weight: 900;
  font-size: 0.98rem; line-height: 1.25; text-wrap: balance;
}
.cp-bonus-desc {
  margin-top: 0.45rem; flex: 1;
  color: rgba(63,74,46,0.7); font-size: 0.83rem; line-height: 1.5;
}
.cp-bonus-inc {
  display: inline-flex; align-items: center; gap: 0.35rem;
  margin-top: 0.9rem; background: linear-gradient(180deg, #6f8a52, #556b3e);
  color: #fff9ef; border-radius: 999px; padding: 0.42rem 1rem;
  font-size: 0.74rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase;
  box-shadow: 0 8px 16px -10px rgba(0,0,0,0.5);
}

/* ── Seção de planos (oferta) ─────────────────────────────────── */
.cp-plans {
  position: relative;
  background:
    radial-gradient(70% 40% at 50% 0%, rgba(240,199,106,0.09), transparent 70%),
    #33402a;
  padding: 2.4rem 1.1rem 3rem;
  overflow: hidden;
}
.cp-plans-leaf { position: absolute; color: #7d8f66; opacity: 0.12; pointer-events: none; }
.cp-plans-leaf--a { top: 2rem; left: -2.5rem; width: 9rem; transform: rotate(-20deg); }
.cp-plans-leaf--b { bottom: 3rem; right: -2.5rem; width: 10rem; transform: rotate(28deg); }
.cp-plans-inner { position: relative; z-index: 1; max-width: 68rem; margin: 0 auto; }
.cp-plans-kicker {
  display: flex; align-items: center; justify-content: center; gap: 0.45rem;
  color: #f0c76a; font-weight: 900; text-transform: uppercase;
  font-size: clamp(0.78rem, 3.2vw, 0.95rem); letter-spacing: 0.06em; text-align: center;
}
.cp-plans-h2 {
  margin: 0.7rem auto 1.8rem; text-align: center; color: #fdf7ea;
  font-weight: 900; font-size: clamp(1.4rem, 6vw, 2.35rem); line-height: 1.15; text-wrap: balance;
}
.cp-plans-grid { display: grid; grid-template-columns: 1fr; gap: 2.2rem; align-items: start; }
@media (min-width: 900px) { .cp-plans-grid { grid-template-columns: 1fr 1.12fr; gap: 1.5rem; } }

.cp-plan {
  position: relative;
  background: #fdf7ea;
  border: 1px solid rgba(63,74,46,0.10);
  border-radius: 1.5rem;
  padding: 1.4rem 1.1rem 1.6rem;
  box-shadow: 0 18px 36px -24px rgba(0,0,0,0.7);
}
@media (min-width: 768px) { .cp-plan { padding: 1.9rem 1.7rem 2.1rem; } }
.cp-plan--best {
  border: 2px solid #c1622f;
  box-shadow: 0 0 0 5px rgba(240,199,106,0.16), 0 24px 44px -22px rgba(0,0,0,0.75);
  margin-top: 1.4rem;
}
.cp-plan-badge {
  position: absolute; top: -1.05rem; left: 50%; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap;
  background: linear-gradient(180deg, #cf6c33, #b0521f); color: #fff9ef;
  border-radius: 999px; padding: 0.42rem 1.05rem;
  font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase;
  box-shadow: 0 10px 18px -10px rgba(0,0,0,0.6);
}
.cp-plan-urgency {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem;
  margin: 0.7rem auto 0; color: #b0521f; font-weight: 800;
  font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; text-align: center;
}
.cp-plan-title {
  margin-top: 0.6rem; text-align: center; color: #3f4a2e;
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.01em;
  font-size: clamp(1.25rem, 5.4vw, 1.85rem); line-height: 1.1;
}
.cp-plan-sub { margin-top: 0.35rem; text-align: center; color: #7a5a2a; font-weight: 800; font-size: 0.95rem; }
.cp-plan--best .cp-plan-sub { color: #b0521f; }
.cp-plan-desc {
  margin: 0.65rem auto 0; max-width: 26rem; text-align: center;
  color: rgba(63,74,46,0.7); font-size: 0.87rem; line-height: 1.5;
}
.cp-plan-fig { margin: 1.1rem auto 0; width: 100%; max-width: 15rem; }
.cp-plan--best .cp-plan-fig { max-width: 24rem; }
.cp-plan-fig img { width: 100%; height: auto; display: block; }

.cp-plan-list { margin: 1.2rem auto 0; max-width: 26rem; }
.cp-plan-list li {
  display: flex; gap: 0.55rem; align-items: flex-start;
  padding: 0.42rem 0; color: #3f4a2e; font-size: 0.88rem; line-height: 1.4; font-weight: 600;
}
.cp-plan-list svg { color: #6f8a52; flex: none; margin-top: 0.15rem; }
.cp-plan-hl { font-weight: 900; color: #b0521f; }

.cp-plan-bonus-title {
  margin: 1.3rem 0 0.6rem; text-align: center;
  color: #3f4a2e; font-weight: 900; text-transform: uppercase;
  font-size: 0.78rem; letter-spacing: 0.09em;
}
.cp-plan-bonus-grid { display: grid; grid-template-columns: 1fr; gap: 0.55rem; }
@media (min-width: 640px) { .cp-plan-bonus-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.cp-plan-bonus {
  display: flex; align-items: flex-start; gap: 0.55rem;
  background: #fffdf6; border: 1px solid rgba(193,98,47,0.22);
  border-radius: 0.9rem; padding: 0.7rem 0.75rem;
}
.cp-plan-bonus svg { color: #c1622f; flex: none; margin-top: 0.1rem; }
.cp-plan-bonus p { font-size: 0.8rem; line-height: 1.35; color: #3f4a2e; font-weight: 700; }
.cp-plan-bonus span { display: block; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.08em; color: rgba(63,74,46,0.5); text-transform: uppercase; }

.cp-plan-today {
  margin: 1.3rem auto 0; max-width: 26rem; text-align: center;
  background: rgba(125,143,102,0.14); border: 1px dashed rgba(63,74,46,0.25);
  border-radius: 1rem; padding: 0.75rem 0.9rem;
  color: #3f4a2e; font-weight: 900; font-size: 0.86rem; line-height: 1.35; text-transform: uppercase;
}
.cp-plan-price-label {
  margin-top: 1.2rem; text-align: center;
  color: rgba(63,74,46,0.62); font-weight: 800; font-size: 0.75rem;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.cp-plan-price {
  text-align: center; color: #3f4a2e; font-weight: 900; line-height: 1;
  font-size: clamp(2.1rem, 9vw, 3rem); letter-spacing: -0.02em;
}
.cp-plan--best .cp-plan-price { color: #b0521f; font-size: clamp(2.5rem, 11vw, 3.75rem); }
.cp-plan-access { margin-top: 0.55rem; text-align: center; color: rgba(63,74,46,0.65); font-size: 0.78rem; }
.cp-plan-cta {
  display: block; width: 100%; margin-top: 1rem; text-align: center;
  border: 0; cursor: pointer; font-family: inherit; -webkit-appearance: none; appearance: none;

  background: #3f4a2e; color: #fdf7ea;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(0.9rem, 3.7vw, 1.05rem);
  padding: 0.95rem 1rem; border-radius: 1.05rem;
  box-shadow: 0 12px 22px -14px rgba(63,74,46,0.8);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-plan-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 28px -16px rgba(63,74,46,0.8); }
.cp-plan-cta--best {
  background: linear-gradient(180deg, #cf6c33, #b0521f); color: #fff9ef;
  font-size: clamp(0.98rem, 4.1vw, 1.25rem); padding: 1.1rem 1rem;
  box-shadow: 0 16px 28px -12px rgba(176,82,31,0.7);
}
.cp-plan-cta--best:hover { box-shadow: 0 22px 34px -14px rgba(176,82,31,0.75); }

.cp-plans-compare {
  margin: 1.9rem auto 0; max-width: 40rem; text-align: center;
  color: rgba(253,247,234,0.85); font-size: 0.92rem; line-height: 1.55; font-weight: 600;
}
.cp-plans-compare strong { color: #f0c76a; font-weight: 900; }

/* ============ DEPOIMENTOS ============ */
.cp-tst { background: #faf4e8; padding: 3rem 1.1rem 2.6rem; }
.cp-tst-inner { max-width: 46rem; margin: 0 auto; text-align: center; }
.cp-tst-label { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.22em; text-transform: uppercase; color: #b0521f; }
.cp-tst-h2 { margin-top: 0.7rem; font-size: clamp(1.6rem, 6.4vw, 2.4rem); font-weight: 900; color: #3f4a2e; line-height: 1.15; letter-spacing: -0.01em; }
.cp-tst-sub { margin: 0.8rem auto 0; max-width: 36rem; color: rgba(63,74,46,0.7); font-size: 0.95rem; line-height: 1.6; }
.cp-tst-viewport { margin-top: 1.8rem; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cp-tst-viewport::-webkit-scrollbar { display: none; }
.cp-tst-slide { flex: 0 0 100%; scroll-snap-align: center; padding: 0 0.25rem; }
.cp-tst-card {
  background: #fffdf7; border: 1px solid rgba(63,74,46,0.1); border-radius: 1.4rem;
  box-shadow: 0 18px 40px -30px rgba(63,74,46,0.65);
  padding: 2.1rem 1.4rem 1.9rem; text-align: center;
}
.cp-tst-quote { color: #7d8f66; font-size: 2.6rem; line-height: 0.6; font-weight: 900; font-family: Georgia, serif; }
.cp-tst-stars { margin-top: 1rem; color: #f0c76a; letter-spacing: 0.18em; font-size: 1rem; }
.cp-tst-text { margin-top: 1rem; color: rgba(63,74,46,0.85); font-size: 1.02rem; line-height: 1.7; }
.cp-tst-name { margin-top: 1.3rem; font-weight: 900; color: #3f4a2e; }
.cp-tst-role { margin-top: 0.2rem; font-size: 0.85rem; color: rgba(63,74,46,0.6); }
.cp-tst-verified { display: inline-block; margin-top: 0.9rem; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; color: #5e6b4a; background: rgba(125,143,102,0.16); border-radius: 999px; padding: 0.35rem 0.75rem; }
.cp-tst-empty { color: rgba(63,74,46,0.55); font-size: 0.95rem; line-height: 1.6; }
.cp-tst-nav { margin-top: 1.4rem; display: flex; align-items: center; justify-content: center; gap: 0.9rem; }
.cp-tst-arrow { width: 2.4rem; height: 2.4rem; border-radius: 999px; display: grid; place-items: center; border: 1px solid rgba(63,74,46,0.18); color: #3f4a2e; background: #fffdf7; transition: background 0.2s ease, transform 0.2s ease; }
.cp-tst-arrow:hover { background: rgba(125,143,102,0.16); transform: translateY(-1px); }
.cp-tst-dots { display: flex; align-items: center; gap: 0.4rem; }
.cp-tst-dot { height: 0.625rem; width: 0.625rem; border-radius: 999px; background: #3f4a2e; opacity: 0.25; transition: width 0.25s ease, opacity 0.25s ease; }
.cp-tst-cta-wrap { margin-top: 2rem; }
.cp-cta-btn {
  display: inline-block; width: 100%; max-width: 30rem; text-align: center;
  background: linear-gradient(180deg, #cf6c33, #b0521f); color: #fff9ef;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(0.95rem, 4vw, 1.15rem); padding: 1.05rem 1.4rem; border-radius: 999px;
  box-shadow: 0 16px 30px -14px rgba(176,82,31,0.75);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cp-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 22px 36px -16px rgba(176,82,31,0.8); }

/* ============ GARANTIA ============ */
.cp-guar { background: #f6efe0; padding: 2.8rem 1.1rem; }
.cp-guar-inner { max-width: 42rem; margin: 0 auto; text-align: center; }
.cp-guar-badge { width: clamp(9rem, 42vw, 12.5rem); height: auto; margin: 0 auto; display: block; }
.cp-guar-h2 { margin-top: 1.1rem; font-size: clamp(1.5rem, 6vw, 2.1rem); font-weight: 900; color: #3f4a2e; }
.cp-guar-text { margin-top: 0.9rem; color: rgba(63,74,46,0.75); font-size: 0.98rem; line-height: 1.7; }
.cp-guar-badges { margin-top: 1.3rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.cp-guar-pill { background: #fffdf7; border: 1px solid rgba(63,74,46,0.12); border-radius: 999px; padding: 0.45rem 0.9rem; font-size: 0.82rem; font-weight: 800; color: #3f4a2e; }
.cp-guar-close { margin-top: 1.1rem; font-weight: 800; color: #b0521f; }

/* ============ COMO FUNCIONA ============ */
.cp-steps { background: linear-gradient(180deg, #fbf7ee, #f1f4e9); padding: 3rem 1.1rem; }
.cp-steps-inner { max-width: 62rem; margin: 0 auto; }
.cp-steps-h2 { text-align: center; font-size: clamp(1.45rem, 5.6vw, 2.2rem); font-weight: 900; color: #3f4a2e; line-height: 1.2; text-transform: uppercase; letter-spacing: -0.005em; }
.cp-steps-sub { margin: 0.9rem auto 0; max-width: 40rem; text-align: center; color: rgba(63,74,46,0.7); font-size: 0.96rem; line-height: 1.6; }
.cp-steps-grid { margin-top: 2rem; display: grid; gap: 1rem; }
@media (min-width: 768px) { .cp-steps-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem; } }
.cp-step { background: #fffdf7; border: 1px solid rgba(63,74,46,0.1); border-radius: 1.2rem; box-shadow: 0 12px 28px -26px rgba(63,74,46,0.7); padding: 1.5rem 1.3rem; }
.cp-step-num { width: 2.6rem; height: 2.6rem; border-radius: 0.85rem; background: #3f4a2e; color: #faf4e8; font-weight: 900; font-size: 1.15rem; display: grid; place-items: center; }
.cp-step-title { margin-top: 1rem; font-weight: 900; color: #3f4a2e; font-size: 1.08rem; line-height: 1.3; }
.cp-step-text { margin-top: 0.5rem; color: rgba(63,74,46,0.72); font-size: 0.93rem; line-height: 1.6; }
.cp-step-checks { margin-top: 0.9rem; display: grid; gap: 0.4rem; }
.cp-step-checks li { display: flex; gap: 0.5rem; align-items: flex-start; color: #4d5a39; font-size: 0.9rem; font-weight: 600; }
.cp-step-checks li::before { content: "✓"; color: #7d8f66; font-weight: 900; }
.cp-step-flow { margin-top: 1rem; border-top: 1px dashed rgba(63,74,46,0.18); padding-top: 0.85rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; color: #8a6a52; line-height: 1.6; text-transform: uppercase; }
.cp-steps-cta { margin-top: 2rem; text-align: center; }

/* ============ FAQ ============ */
.cp-faq { background: #fdfaf3; padding: 3rem 1.1rem 3.4rem; }
.cp-faq-inner { max-width: 44rem; margin: 0 auto; }
.cp-faq-h2 { text-align: center; font-size: clamp(1.5rem, 6vw, 2.2rem); font-weight: 900; color: #3f4a2e; margin-bottom: 1.6rem; }
.cp-faq-item { border-bottom: 1px solid rgba(63,74,46,0.12); border-radius: 0.9rem; transition: background 0.25s ease; }
.cp-faq-item[open] { background: #f6efe0; border-bottom-color: transparent; box-shadow: inset 3px 0 0 #7d8f66; }
.cp-faq-q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem 0.9rem; font-weight: 800; color: #3f4a2e; font-size: 0.98rem; line-height: 1.45; }
.cp-faq-q::-webkit-details-marker { display: none; }
.cp-faq-q svg { flex: none; transition: transform 0.25s ease; color: #7d8f66; }
.cp-faq-item[open] .cp-faq-q svg { transform: rotate(180deg); }
.cp-faq-a { padding: 0 0.9rem 1.1rem; color: rgba(63,74,46,0.78); font-size: 0.94rem; line-height: 1.7; animation: cpFaqIn 0.25s ease; }
@keyframes cpFaqIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ============ POP-UP (UPSELL) ============ */
.cp-tst-avatar { margin: 1.2rem auto 0; width: 4.5rem; height: 4.5rem; border-radius: 999px; object-fit: cover; border: 3px solid #fffdf7; box-shadow: 0 6px 18px rgba(63,74,46,0.18); }
.cp-tst-name { margin-top: 0.7rem; }

.upsell-modal { overflow: hidden; }
.upsell-modal > .relative { max-height: 100%; }
.upsell-box { max-height: 100%; overflow: hidden; }
@media (max-height: 720px) {
  .upsell-box .upsell-mockup { width: 9rem; }
}
@media (max-height: 620px) {
  .upsell-box { border-width: 3px; }
  .upsell-box .upsell-mockup { width: 6.5rem; }
}
@media (max-width: 640px) {
  .upsell-modal { padding: 0.6rem; }
  .upsell-modal > .relative { max-width: 100%; }
}
