/* Versão local: composição leve, material aberto e sequência aprovada. */
:root {
  --v2-forest: #153b30;
  --v2-deep: #102c25;
  --v2-paper: #faf7ef;
  --v2-gold: #e8c482;
  --v2-ink: #253d33;
  --v2-muted: #6b7166;
  --v2-serif: Georgia, "Times New Roman", serif;
}
body { background: var(--v2-paper); color: var(--v2-ink); font-family: var(--body); }
section { padding-block: clamp(60px, 7vw, 96px); }
h2 { font-family: var(--v2-serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
button { font: inherit; }
button:focus-visible, a:focus-visible, .marquee:focus-visible { outline: 3px solid #ae7b2e; outline-offset: 5px; }
.wrap { width: min(1120px, calc(100% - 36px)); }
#hero {
  padding: clamp(44px, 6vw, 80px) 0 58px;
  color: var(--v2-paper);
  background: var(--v2-forest);
}
#hero::after { display: none; }
.hero-wrap { max-width: 1050px; }
.hero-eyebrow, .section-eyebrow {
  margin: 0 auto 22px;
  color: #8f743f;
  font: 600 .64rem/1.5 var(--body);
  letter-spacing: .2em;
  text-align: center;
}
#hero .hero-eyebrow { color: var(--v2-gold); }
.hero-title {
  max-width: 850px;
  margin-bottom: 23px;
  color: var(--v2-paper);
  font: 400 clamp(2.65rem, 5.5vw, 5.3rem)/1.05 var(--v2-serif);
  letter-spacing: -.045em;
}
.hero-title em { display: block; margin-top: 6px; color: var(--v2-gold); font-weight: 400; }
.hero-lead {
  max-width: 520px;
  margin-bottom: 22px;
  color: #d7e0d7;
  font: 400 clamp(.92rem, 1.3vw, 1.05rem)/1.75 var(--body);
}
.hero-figure { max-width: 780px; margin: 28px auto 10px; overflow: visible; border-radius: 0; }
.hero-figure img { width: 100%; height: auto; border-radius: 0; object-fit: contain; }
.hero-note { margin: 12px auto 0; color: #d5dfd4; font-size: .77rem; line-height: 1.65; }
.cta {
  min-height: 54px;
  padding: 15px 22px;
  border: 1px solid #39744c;
  border-radius: 8px;
  color: #fff;
  background: #327648;
  box-shadow: 0 8px 20px rgba(20,58,41,.12);
  font: 600 .85rem/1.4 var(--body);
  letter-spacing: 0;
}
.cta:hover { background: #28643c; }
.cta:active { transform: translateY(1px); box-shadow: 0 3px 8px rgba(20,58,41,.1); }
#hero .hero-cta {
  gap: 18px;
  max-width: 360px;
  margin-top: 25px;
  border: 1px solid rgba(232,196,130,.5);
  color: var(--v2-paper);
  background: transparent;
  box-shadow: none;
  font: 500 .86rem/1.4 var(--body);
  text-transform: none;
}
#hero .hero-cta:hover { background: rgba(255,255,255,.05); }
#hero .hero-cta span { color: var(--v2-gold); font-size: 1.2rem; }
#hero .delivery { margin-top: 18px; color: #d6e0d8; font-size: .68rem; }
.section-light { background: var(--v2-paper); }
.section-dark { background: var(--v2-forest); }
.section-description { max-width: 580px; margin: 0 auto 30px; color: var(--v2-muted); font-size: .94rem; line-height: 1.7; text-align: center; }
.center-title { max-width: 820px; font-size: clamp(2.15rem, 4.4vw, 3.8rem); }
.showcase { padding-bottom: 54px; }
.showcase .center-title { margin-bottom: 16px; }
.tangible-grid { max-width: 760px; margin: 34px auto 58px; }
.tangible-grid img { width: 100%; height: auto; border-radius: 14px; }
.carousel-heading { margin-block: 46px 26px; text-align: center; }
.carousel-heading h3 { max-width: 820px; margin: 0 auto 12px; font: 400 clamp(1.85rem, 3.3vw, 2.8rem)/1.15 var(--v2-serif); letter-spacing: -.025em; }
.carousel-heading p { max-width: 620px; margin: 0 auto; color: var(--v2-muted); font-size: .9rem; line-height: 1.65; }
.marquee { overflow-x: auto; padding: 4px 18px 24px; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; }
.marquee::-webkit-scrollbar { display: none; }
.marquee-track { gap: 18px; animation-duration: 65s; }
@keyframes marquee-left { to { transform: translateX(calc(-50% - 9px)); } }
.marquee img { flex-shrink: 0; width: clamp(195px, 49vw, 260px); height: auto; border: 1px solid #ddd3bc; border-radius: 5px; object-fit: contain; align-self: flex-start; box-shadow: 0 8px 18px rgba(58,49,33,.08); }
.people-carousel .marquee-track { animation-duration: 48s; }
.people-carousel img { width: clamp(280px, 73vw, 350px); aspect-ratio: 1 / 1; border: 0; border-radius: 12px; object-fit: cover; }
.marquee:focus-within .marquee-track { animation-play-state: paused; }
@media (hover: hover) {
  .marquee:hover .marquee-track { animation-play-state: paused; }
}
.material-note { max-width: 760px; margin: 16px auto 0; color: var(--v2-muted); font-size: .68rem; line-height: 1.65; text-align: center; }
.comparison { overflow: hidden; color: var(--v2-paper); background: var(--v2-forest); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.comparison .center-title { max-width: 900px; margin-bottom: 1rem; color: var(--v2-paper); font-family: inherit; font-size: clamp(1.9rem, 8vw, 3.3rem); font-weight: 700; }
.comparison .photo-story-subtitle { margin: -10px auto 32px; color: #d7e0d5; }
.comparison .photo-story-grid { margin-top: 34px; }
.comparison .carousel-heading { margin-top: 64px; }
.comparison .carousel-heading h3 { color: var(--v2-paper); }
.comparison .carousel-heading p { color: #d7e0d5; }
.bonus-grid-four small { display: block; width: auto; padding: 0; border: 0; border-radius: 0; color: #866831; background: none; box-shadow: none; font-weight: 500; }
.included { background: var(--v2-paper); }
.included .section-eyebrow { color: var(--v2-gold); }
.included h2 { max-width: 800px; margin-inline: auto; font-size: clamp(2.2rem, 4.4vw, 3.8rem); }
.included-stack { max-width: 900px; padding: clamp(32px, 5vw, 56px) clamp(20px, 4.5vw, 52px); border: 1px solid #2b5140; border-radius: 20px; color: var(--v2-paper); background: var(--v2-forest); box-shadow: 0 18px 42px rgba(28,47,35,.12); }
.included .devices-image { width: min(660px, 100%); margin: 22px auto 28px; border: 0; border-radius: 0; box-shadow: none; object-fit: contain; }
.included .check-list { max-width: 680px; margin-inline: auto; }
.included .check-list li { padding: 16px 8px 16px 31px; border-bottom: 1px solid rgba(240,234,213,.16); color: #f2efe5; background: none; font-size: .88rem; }
.included .check-list li { font-weight: 400; }
.included .check-list li::before { color: var(--v2-gold); }
.included .cta { margin-top: 30px; }
.included-delivery { margin-top: 21px; color: #d7e0d6; font-size: .72rem; }
.bonuses { color: var(--v2-ink); background: var(--v2-paper); }
.bonuses .bonus-subtitle { color: var(--v2-muted); font-size: .9rem; }
.bonuses .center-title { color: var(--v2-ink); font-family: var(--v2-serif); font-weight: 400; }
.bonus-banner { max-width: 380px; margin: 24px auto 35px; padding: 10px 15px; border: 1px solid #d8c7a5; border-radius: 5px; color: #746032; background: #f3ecd9; box-shadow: none; font-size: .75rem; letter-spacing: .08em; }
.bonus-grid-four { gap: 24px; }
.bonus-grid-four article { border: 1px solid #e2dece; border-radius: 10px; background: #fffdf8; box-shadow: none; }
.bonus-grid-four article > img { height: 235px; padding: 0; object-fit: contain; background: #f0e7d7; }
.bonus-grid-four article > div { padding: 22px 20px 24px; }
.bonus-grid-four h3 { font: 400 1.45rem/1.15 var(--v2-serif); }
.bonus-grid-four small { margin-bottom: 13px; font-size: .65rem; letter-spacing: .1em; }
.bonus-grid-four p { font-size: .82rem; }
.bonus-value { margin-top: 17px !important; }
.bonus-grid-four .bonus-value { padding: 0; border: 0; color: var(--v2-muted); background: none; font-weight: 400; }
.bonus-value strong { color: #356546; font-size: .73rem; }
.offer { color: var(--v2-ink); background: #f0ede1; }
.offer h2 { max-width: 710px; margin-inline: auto; font-size: clamp(2.1rem, 4.2vw, 3.55rem); }
.offer-alert { max-width: 410px; margin-bottom: 38px; border: 1px solid #c8b895; color: #4a4c35; background: #eae3cf; box-shadow: none; }
.offer-alert p { font-size: .85rem; font-weight: 500; }
.countdown { gap: 12px; margin-top: 13px; }
.countdown div { width: 65px; border-color: #c9bea4; border-radius: 6px; background: #f6f0df; }
.countdown strong { font-size: 1.65rem; font-weight: 500; }
.countdown b { color: #7b724f; }
.countdown span { font-size: .58rem; font-weight: 500; }
.pricing-grid.single-price { max-width: 650px; margin-inline: auto; }
.price-card.featured { padding: 30px 24px; border: 1px solid #395c42; border-radius: 14px; color: var(--v2-paper); background: var(--v2-forest); box-shadow: 0 20px 48px rgba(39,54,34,.12); }
.popular { margin: -30px -24px 26px; padding: 15px 13px; border-radius: 13px 13px 0 0; color: #f2dfb8; background: #234938; box-shadow: none; font-size: .67rem; font-weight: 600; text-shadow: none; letter-spacing: .08em; }
.featured .last-chance { margin-bottom: 20px; padding: 0; border: 0; color: #e0d2af; background: none; font-size: .6rem; font-weight: 500; letter-spacing: .1em; }
.featured h3 { color: var(--v2-paper); font: 400 clamp(2rem, 4vw, 2.75rem)/1.12 var(--v2-serif); }
.included-badge { margin-bottom: 0; padding: 6px; color: #ecd4a1; background: none; border-radius: 0; font-size: .73rem; font-weight: 500; }
.package-mockup { width: min(550px, 100%) !important; margin: 18px auto 15px !important; filter: none; object-fit: contain; }
.content-badge { margin-top: 15px; border: 1px solid rgba(232,196,130,.35); border-radius: 5px; color: #e9d1a6; background: transparent; font-size: .66rem; font-weight: 500; }
.featured li { padding: 14px 2px 14px 29px; font-size: .83rem; }
.featured li strong { color: #e8d6b3; font-weight: 500; }
#price .offer-includes li::before { content: "✓"; top: 15px; color: var(--v2-gold); font-size: .9rem; }
#price .offer-includes li.offer-bonus::before { content: "🎁"; top: 13px; color: inherit; }
.plan-payment { margin-top: 27px; font-size: .83rem; font-weight: 500; }
.plan-payment strong { margin-top: 4px; padding: 0; color: #d9d9bd; background: none; font-size: .67rem; font-weight: 400; letter-spacing: .12em; }
.featured .current-price { margin: 4px 0 7px; color: var(--v2-gold); font-weight: 400; text-shadow: none; }
.featured .current-price strong { font-family: var(--v2-serif); font-size: 5rem; font-weight: 400; }
.payment-terms { font-size: .63rem; font-weight: 500; letter-spacing: .08em; }
.featured .checkout { margin-block: 24px 19px; font-size: .78rem; }
.featured > img:not(.package-mockup) { max-width: 230px; opacity: .75; }
.generic-testimonials { background: var(--v2-forest); }
.generic-testimonials-header h2 { font-size: clamp(2.1rem, 4vw, 3.35rem); }
.generic-testimonials-header p { color: #d9dfd2; font-size: .87rem; }
.guarantee-stack h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.guarantee-stack > img { max-width: 260px; }
.hotmart-secure { background: var(--v2-forest); }
.hotmart-secure strong { color: #f0ddbd; }
.steps-grid li { border: 1px solid rgba(228,213,175,.2); background: transparent; }
.steps-grid span { color: #e5d2a7; background: rgba(232,196,130,.09); font-weight: 500; }
.steps-grid h3 { font: 400 1.65rem/1.15 var(--v2-serif); }
.steps-grid p { font-size: .85rem; }
.faq h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); }
.faq details { border: 0; border-bottom: 1px solid #d5d7c7; border-radius: 0; background: none; }
.faq summary { padding: 23px 42px 23px 0; font-size: .88rem; font-weight: 500; }
.faq details p { padding: 0 32px 23px 0; font-size: .85rem; line-height: 1.8; }
footer { color: #dbe0d2; background: var(--v2-deep); }
@media (max-width: 719px) {
  .hero-title { max-width: 440px; font-size: clamp(1.75rem, 8.8vw, 2.65rem); }
  .hero-lead { max-width: 310px; }
  .hero-figure { width: calc(100% + 8px); max-width: none; margin-left: -4px; margin-top: 27px; }
  .hero-note { max-width: 300px; }
  .tangible-grid { margin-bottom: 40px; }
  .bonus-grid-four { grid-template-columns: 1fr; max-width: 500px; margin-inline: auto; }
  .bonus-grid-four article > img { height: auto; max-height: 320px; }
  .included-delivery { flex-wrap: wrap; white-space: normal; }
  .price-card.featured { padding-inline: 19px; }
  .popular { margin-inline: -19px; }
}
@media (min-width: 720px) {
  .bonus-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bonus-grid-four article { display: grid; grid-template-columns: 43% 57%; }
  .bonus-grid-four article > img { height: 100%; min-height: 285px; }
  .bonus-grid-four article > div { padding: 28px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none !important; transform: none !important; }
}
