/* ===========================================================
   MESA MARCENARIA — Landing Page
   Paleta: teal + laranja CTA + slate escuro + verde
   Fontes: Poppins (UI/corpo) + Playfair Display (títulos elegantes)
   =========================================================== */

:root {
  --teal:        #1AA39B;
  --teal-d:      #137a73;
  --teal-dd:     #0f5f59;
  --teal-soft:   #E6F4F3;
  --teal-tint:   #F1FAF9;

  --orange:      #F0822E;
  --orange-d:    #d96c1c;
  --orange-l:    #ff9b46;

  --slate:       #2E4756;
  --slate-d:     #243843;

  --green:       #79B741;
  --green-d:     #689e35;

  --ink:         #243038;
  --muted:       #5e6f77;
  --cream:       #F5FBFB;
  --line:        #e2ecec;

  --shadow-sm: 0 4px 14px rgba(20,60,60,.08);
  --shadow:    0 14px 40px rgba(18,70,70,.14);
  --shadow-lg: 0 28px 70px rgba(14,60,60,.22);

  --maxw: 1180px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Poppins', system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
h1,h2,h3,h4 { margin: 0; line-height: 1.15; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.serif { font-family: 'Playfair Display', Georgia, serif; }

/* ---------- Botões / CTA ---------- */
.btn {
  --b: var(--orange);
  --bd: var(--orange-d);
  display: inline-flex; align-items: center; gap: 12px;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.06rem;
  letter-spacing: .3px;
  color: #fff;
  background: linear-gradient(180deg, var(--orange-l), var(--b));
  border: none;
  border-radius: 999px;
  padding: 19px 40px;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(217,108,28,.4), inset 0 1px 0 rgba(255,255,255,.4);
  position: relative;
  text-transform: uppercase;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
  animation: ctaPulse 2.4s ease-in-out infinite;
}
.btn:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 18px 36px rgba(217,108,28,.5); }
.btn:active { transform: translateY(0) scale(.99); }
.btn .ico { font-size: 1.2em; line-height: 1; }
@keyframes ctaPulse {
  0%,100% { box-shadow: 0 12px 26px rgba(217,108,28,.4), inset 0 1px 0 rgba(255,255,255,.4); }
  50%     { box-shadow: 0 12px 26px rgba(217,108,28,.4), 0 0 0 10px rgba(240,130,46,0); }
}
@media (prefers-reduced-motion: reduce) { .btn { animation: none; } }

.btn--big { font-size: 1.18rem; padding: 22px 50px; }
.sub-cta { display:flex; align-items:center; gap:7px; font-size:.82rem; color: rgba(255,255,255,.85); font-weight:500; margin-top:14px; }

/* ---------- Barra de urgência fixa ---------- */
.urgency {
  position: sticky; top: 0; z-index: 60;
  background: var(--slate);
  color: #fff;
  text-align: center;
  font-size: .9rem;
  padding: 9px 16px;
  display: flex; align-items: center; justify-content: center; gap: 14px;
  flex-wrap: wrap;
  border-bottom: 2px solid var(--orange);
}
.urgency b { color: var(--orange-l); }
.clock { display:inline-flex; gap:6px; font-variant-numeric: tabular-nums; }
.clock .seg {
  background: var(--orange); color:#fff; font-weight:700;
  border-radius:6px; padding:3px 8px; min-width:34px; text-align:center;
  font-size:.92rem;
}
.clock .seg small { display:block; font-size:.5rem; font-weight:600; opacity:.85; letter-spacing:.5px; }

/* ===========================================================
   HERO
   =========================================================== */
.hero {
  position: relative;
  background: var(--teal);
  color: #fff;
  overflow: hidden;
  padding: 64px 0 96px;
}
.hero::after { /* onda inferior */
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:70px;
  background: var(--cream);
  clip-path: polygon(0 55%, 100% 0, 100% 100%, 0 100%);
}
.hero .blob {
  position:absolute; border-radius:50%; pointer-events:none;
}
.hero .blob.b1 { width:120px; height:120px; background: rgba(255,255,255,.08); top:40px; right:90px; }
.hero .blob.b2 { width:230px; height:230px; border:36px solid rgba(255,255,255,.06); border-radius:50%; bottom:-60px; left:-80px; }
.hero .ring { position:absolute; top:30px; right:40px; width:46px; height:46px; border-radius:50%; background: var(--orange); opacity:.9; }

.hero-grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center;
}
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  background: rgba(255,255,255,.14); padding:7px 16px; border-radius:999px; margin-bottom:20px;
}
.hero h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.25rem);
  font-weight: 800; letter-spacing:-.5px;
}
.hero h1 .hl { color: #FFE08A; }
.hero .lead {
  font-size: 1.15rem; font-weight:600; margin-top:16px; color: #EAFBFA;
}
.hero .desc { margin-top:14px; color: rgba(255,255,255,.88); font-size:.98rem; max-width: 520px; }

.checklist { list-style:none; margin:26px 0 0; padding:0; display:grid; gap:11px; }
.checklist li { display:flex; align-items:center; gap:12px; font-weight:500; font-size:1rem; }
.checklist .ck {
  flex:0 0 26px; width:26px; height:26px; border-radius:50%;
  background: var(--green); display:grid; place-items:center; color:#fff;
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}
.checklist li.bonus .ck { background: var(--orange); }
.checklist li.bonus b { color:#FFE08A; }

.hero-cta-row { margin-top: 30px; }

/* coluna direita — figura do marceneiro */
.hero-figure { position: relative; display:grid; place-items:center; }
.hero-copy { grid-column: 1 / -1; }
.hero-copy .hero-figure { margin-top: 30px; }
.hero-copy .hero-disc { margin: 0 auto; }
.hero-disc {
  width: min(430px, 90%); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 50% 38%, #FFD45E, #F6BB36);
  position: relative;
  display: grid; place-items: center;
  box-shadow: inset 0 -30px 60px rgba(0,0,0,.12), var(--shadow-lg);
}
.hero-photo {
  width: 86%; aspect-ratio: 1;
  border-radius: 50%;
  padding: 8px;                       /* anel amarelo entre foto e borda */
  background: rgba(255,255,255,.35);
  box-shadow: 0 20px 45px rgba(15,60,55,.35);
}
.hero-photo img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  border: 5px solid #fff;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}
.float { animation: floaty 5s ease-in-out infinite; }
@keyframes floaty { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-14px);} }

.badge-pill {
  position:absolute; background:#fff; color:var(--ink); border-radius:14px;
  box-shadow: var(--shadow); padding:12px 16px; font-size:.8rem; font-weight:700;
  display:flex; align-items:center; gap:10px; z-index:3; white-space:nowrap;
}
.badge-pill .n { color: var(--teal); font-family:'Playfair Display',serif; font-size:1.5rem; }
.badge-pill.bp1 { top: 40%; left: 2%; }
.badge-pill.bp2 { bottom: 12%; right: 2%; }

/* ===========================================================
   SECTION SHELL
   =========================================================== */
section { position: relative; }
.section { padding: 88px 0; }
.section-head { text-align:center; max-width: 720px; margin: 0 auto 56px; }
.kicker {
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color: var(--orange); margin-bottom:14px;
}
.section-head h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); font-weight:800; letter-spacing:-.5px; }
.section-head p { color: var(--muted); margin-top:14px; font-size:1.05rem; }

/* ---------- Benefícios ---------- */
.benefits-grid {
  display:grid; grid-template-columns: 1fr 320px 1fr; gap: 30px; align-items:center;
}
.benefit { }
.benefit + .benefit { margin-top: 30px; }
.benefit h3 {
  font-size: 1.06rem; font-weight:700; display:flex; align-items:center; gap:10px; margin-bottom:6px;
}
.benefit.right h3 { flex-direction: row-reverse; text-align:right; }
.benefit.right { text-align:right; }
.benefit .dot { width:12px; height:12px; border-radius:50%; background: var(--orange); flex:0 0 12px; box-shadow:0 0 0 4px rgba(240,130,46,.18); }
.benefit p { color: var(--muted); font-size:.93rem; }
.product-box { display:grid; place-items:center; }
.product-box img { width: min(240px, 100%); height: auto; max-height: 320px; object-fit: contain; }
.product-glow { animation: floaty2 6s ease-in-out infinite; filter: drop-shadow(0 24px 40px rgba(20,80,80,.28)); }
@keyframes floaty2 { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-12px);} }

/* ---------- Super Oferta (slate) ---------- */
.offer { background: var(--slate); color:#fff; text-align:center; }
.offer h2 { font-size: clamp(2rem, 4.5vw, 3rem); font-weight:800; letter-spacing:1px; }
.offer .spark { font-size:1.15rem; font-weight:600; color:#FFE08A; margin-top:6px; display:flex; gap:10px; justify-content:center; align-items:center;}
.offer-cards { display:grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap:8px; align-items:stretch; margin:46px 0 38px; }
.ocard {
  border-radius: 16px; padding:30px 24px 0; color:#fff; text-align:center;
  position: relative; display:flex; flex-direction:column; overflow:hidden;
  box-shadow: var(--shadow); min-height: 260px;
}
.ocard .tag {
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  background:#e03b3b; color:#fff; font-size:.7rem; font-weight:700; letter-spacing:1px;
  padding:4px 18px; border-radius:0 0 8px 8px; text-transform:uppercase;
}
.ocard.green { background: linear-gradient(180deg,#8cc653,var(--green-d)); }
.ocard.orange{ background: linear-gradient(180deg,var(--orange-l),var(--orange-d)); }
.ocard.teal  { background: linear-gradient(180deg,#27b9b0,var(--teal-d)); }
.ocard .big { font-family:'Playfair Display',serif; font-weight:800; font-size:3.6rem; line-height:1; margin: 18px 0 4px; }
.ocard .big small { font-size:1.3rem; }
.ocard h4 { font-size:1.3rem; font-weight:800; margin: 20px 0 8px; }
.ocard p { font-size:.9rem; opacity:.95; }
.ocard .ribbon {
  margin-top:auto; background: rgba(0,0,0,.18); font-size:.68rem; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; padding:10px; margin-left:-24px; margin-right:-24px;
}
.plus { display:grid; place-items:center; font-size:2.2rem; font-weight:800; color:#fff; opacity:.7; }
.offer .closing { font-size:1.15rem; font-weight:600; max-width:640px; margin:0 auto 28px; color:#EAFBFA; }

/* ---------- Product intro ---------- */
.product-intro { background: var(--cream); }
.product-intro-grid {
  display:grid; grid-template-columns: 280px 1fr; gap: 56px; align-items:center;
}
.product-intro-copy h2 { font-size: clamp(1.6rem,3vw,2.2rem); font-weight:800; letter-spacing:-.4px; color: var(--slate); margin-bottom:16px; }
.hl-teal { color: var(--teal-d); }
.product-lead { font-size:1.05rem; color: var(--muted); line-height:1.65; margin-bottom:24px; }
.product-lead b { color: var(--ink); }
.product-points { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:12px; }
.product-points li { display:flex; align-items:center; gap:12px; font-weight:600; font-size:.98rem; color: var(--slate); }
.pp-ico { flex:0 0 28px; font-size:1.2rem; }
.product-proof { font-size:.9rem; font-weight:700; color: var(--teal-d); background: var(--teal-soft); border-left:3px solid var(--teal); padding:10px 16px; border-radius:0 8px 8px 0; }
@media (max-width:820px) {
  .product-intro-grid { grid-template-columns:1fr; gap:32px; }
  .product-box { order:-1; }
}

/* ---------- Problemas resolvidos (teal) ---------- */
.problems { background: var(--teal); color:#fff; }
.problems::before { content:""; position:absolute; top:60px; right:-60px; width:240px; height:240px; border:30px solid rgba(255,255,255,.07); border-radius:50%; }
.pgrid { display:grid; grid-template-columns: repeat(3,1fr); gap: 44px 40px; }
.pcard { text-align:center; }
.picon {
  width:84px; height:84px; border-radius:50%; border:3px solid rgba(255,255,255,.55);
  display:grid; place-items:center; margin:0 auto 18px; transition: transform .3s var(--ease), background .3s;
}
.pcard:hover .picon { transform: translateY(-6px) rotate(-6deg); background: rgba(255,255,255,.12); }
.picon svg { width:38px; height:38px; }
.pcard h3 { font-size:1.12rem; font-weight:700; margin-bottom:8px; }
.pcard p { font-size:.9rem; color: rgba(255,255,255,.85); }
.center-cta { text-align:center; margin-top:56px; }

/* ---------- Salto de qualidade ---------- */
.leap { background: var(--cream); }
.leap-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:60px; align-items:center; }
.leap-sketch { display:grid; place-items:center; }
.leap-sketch img { width: 380px; height: 380px; object-fit: contain; border-radius: 50%; }
.leap h2 { font-size: clamp(1.9rem,3.6vw,2.8rem); font-weight:700; color: var(--slate); }
.leap h2 .hl { color: var(--teal); }
.leap p { color: var(--muted); font-size:1.1rem; margin-top:22px; max-width:520px; }
.leap p b { color: var(--ink); }

/* ---------- Você receberá (teal) ---------- */
.receive { background: var(--teal); color:#fff; overflow:hidden; }
.receive .ring2 { position:absolute; top:-40px; left:-40px; width:200px; height:200px; border:28px solid rgba(255,255,255,.07); border-radius:50%; }
.receive-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:50px; align-items:center; }
.receive h2 { font-size: clamp(1.8rem,3.4vw,2.6rem); font-weight:800; margin-bottom:18px; }
.receive p { color: rgba(255,255,255,.9); font-size:1rem; }
.receive .small-lead { font-weight:700; margin-top:22px; }
.platform { margin-top:18px; border-radius:14px; overflow:hidden; box-shadow: var(--shadow-lg); }
.platform img { display:block; width:100%; height:300px; object-fit: cover; }
.device { display:grid; place-items:center; position:relative; min-height: 460px; }
.device .disc2 {
  position:absolute; width:min(430px,90vw); height:min(430px,90vw); border-radius:50%;
  background: radial-gradient(circle at 50% 38%, #FFE08A, #F6BB36);
  box-shadow: var(--shadow-lg);
  animation: discPulse 7s ease-in-out infinite;
}
.device img {
  position:relative; width: min(400px,84vw); height: min(400px,84vw);
  object-fit: contain;
  filter: drop-shadow(0 26px 34px rgba(12,55,50,.4));
  animation: deviceFloat 5s ease-in-out infinite;
}
@keyframes deviceFloat { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-18px); } }
@keyframes discPulse  { 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.035); } }
@media (prefers-reduced-motion: reduce){
  .device img, .device .disc2 { animation: none; }
}
.bonus-row { display:grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap:8px; margin-top:42px; align-items:stretch; }
.bcard { background: var(--slate); border-radius:12px; padding:22px 18px; text-align:center; font-size:.85rem; }
.bcard .bt { font-family:'Playfair Display',serif; font-weight:800; color:#FFE08A; font-size:1.1rem; margin-bottom:6px; letter-spacing:1px; }
.bonus-row .plus { color:#fff; opacity:.85; }

/* ---------- Projetos & comentários ---------- */
.reviews { background:#fff; }
.video-card { max-width: 640px; margin: 0 auto; }
.video-thumb { position:relative; border-radius:14px; overflow:hidden; box-shadow: var(--shadow); }
.video-thumb img, .video-thumb .ph-img { display:block; width:100%; height:360px; object-fit: cover; }
.play {
  position:absolute; inset:0; margin:auto; width:78px; height:54px; border:none;
  background: rgba(220,40,40,.92); border-radius:14px; display:grid; place-items:center; cursor:pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.3); transition: transform .25s var(--ease);
}
.play:hover { transform: scale(1.1); background:#e62828; }
.play::after { content:""; border-left:20px solid #fff; border-top:13px solid transparent; border-bottom:13px solid transparent; margin-left:4px; }
.review-box {
  border:2px solid var(--teal); border-radius:14px; padding:22px 24px; margin-top:18px; background:#fff;
}
.stars { color: #f5b301; letter-spacing:3px; font-size:1.1rem; }
.stars .off { color:#d8d8d8; }
.review-box p { color: var(--ink); font-size:.96rem; margin:12px 0; }
.review-meta { display:flex; align-items:center; gap:10px; font-size:.85rem; color: var(--muted); margin-top:14px; }
.review-meta .av { width:28px; height:28px; border-radius:50%; background: var(--teal-soft); display:grid; place-items:center; color:var(--teal-d); font-weight:700; }
.review-thumb { width:54px; height:42px; border-radius:6px; background:var(--teal-soft); border:1px solid var(--line); }
.carousel-nav { display:flex; justify-content:center; gap:14px; margin-top:22px; }
.cbtn {
  width:42px; height:42px; border-radius:50%; border:none; background: var(--teal); color:#fff;
  font-size:1.2rem; cursor:pointer; display:grid; place-items:center; box-shadow: var(--shadow-sm);
  transition: transform .2s, background .2s;
}
.cbtn:hover { background: var(--teal-d); transform: scale(1.1); }

/* ---------- Depoimentos ---------- */
.testi { background: #f1f4f4; }
.testi h2 { text-align:center; color: var(--slate); font-size: clamp(1.7rem,3.2vw,2.4rem); font-weight:700; margin-bottom: 50px; }
.tgrid { display:grid; grid-template-columns: repeat(3,1fr); gap:26px; }
.tcard {
  background:#fff; border-radius:6px; padding:16px 18px 18px; box-shadow: var(--shadow-sm);
  position:relative; border-top:4px solid var(--teal); transition: transform .3s var(--ease), box-shadow .3s;
}
.tcard.alt { background: var(--teal); color:#fff; border-top-color: var(--orange); }
.tcard:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.tcard .quote { font-family:'Playfair Display',serif; font-size:2rem; line-height:.5; color: var(--teal); height:18px; }
.tcard.alt .quote { color:#fff; opacity:.85; }
.tcard .tav { width:52px; height:52px; border-radius:50%; margin:4px auto 10px; box-shadow: var(--shadow-sm); object-fit: cover; display:block; }

/* Placeholder fixo (listrado) para imagens ainda não enviadas */
.ph-img {
  display:flex; align-items:center; justify-content:center; text-align:center;
  color: rgba(0,0,0,.45); font: 600 12px/1.4 ui-monospace, 'SF Mono', Menlo, monospace;
  letter-spacing:.3px; padding:14px; box-sizing:border-box;
  background:
    repeating-linear-gradient(45deg, rgba(0,0,0,.05) 0 10px, rgba(0,0,0,.02) 10px 20px),
    var(--teal-soft);
}
.pricing .bg .ph-img { color: rgba(255,255,255,.7); background:
    repeating-linear-gradient(45deg, rgba(0,0,0,.18) 0 14px, rgba(0,0,0,.1) 14px 28px),
    #3a2e22; }
.tcard .ttext { font-style:italic; font-size:.84rem; text-align:center; color: var(--ink); line-height:1.5; }
.tcard.alt .ttext { color:#fff; }
.tstars { text-align:center; color: var(--orange); font-size:.9rem; letter-spacing:1px; margin:8px 0 4px; }
.tcard.alt .tstars { color:#FFE08A; }
.tstar-off { opacity:.3; }
.tcard .tname { text-align:center; font-weight:700; font-size:.82rem; margin-top:8px; padding-top:8px; border-top:1px solid var(--line); color: var(--ink); }
.tcard.alt .tname { color:#fff; border-top-color: rgba(255,255,255,.25); }
.tdate { text-align:center; font-size:.72rem; color: var(--muted); margin-top:3px; }
.tcard.alt .tdate { color: rgba(255,255,255,.6); }

/* ---------- Garantia ---------- */
.guarantee { background: var(--teal); color:#fff; text-align:center; }
.guarantee h2 { font-size: clamp(1.7rem,3.4vw,2.4rem); font-weight:700; max-width:560px; margin:0 auto 30px; }
.seal {
  width: 170px;
  height: auto;
  margin: 0 auto 28px;
  border-radius:0;
  background: none;
  border: none;
  display:block;
  box-shadow: none;
  position:relative;
  animation: none;
}
.seal img {
  display: block;
  width: 100%;
  height: auto;
}
@keyframes sealPulse { 0%,100%{ transform: scale(1);} 50%{ transform: scale(1.04);} }
.seal .days { font-family:'Playfair Display',serif; font-weight:800; color:#FFD45E; line-height:.9; }
.seal .days b { display:block; font-size:3rem; }
.seal .days span { font-size:.85rem; letter-spacing:3px; }
.seal .gtxt { position:absolute; bottom:18px; font-size:.6rem; letter-spacing:3px; color:#FFD45E; font-weight:700; }
.guarantee p { max-width:560px; margin:0 auto 32px; color:#EAFBFA; font-size:1.02rem; }

/* ---------- Pricing ---------- */
.pricing { background: var(--slate-d); padding: 0; position:relative; overflow:hidden; }
.pricing .bg { position:absolute; inset:0; }
.pricing .bg img, .pricing .bg .ph-img { width:100%; height:100%; object-fit: cover; }
.pricing .bg::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(36,56,67,.55), rgba(36,56,67,.85)); }
.pricing-inner { position:relative; z-index:2; padding: 90px 8px; display:grid; place-items:center; }
.price-card {
  background:#fff; border-radius:18px; width: min(440px, 100%); box-shadow: var(--shadow-lg);
  overflow:hidden; text-align:center;
}
.price-card .ph { background: var(--orange); color:#fff; font-weight:700; font-size:.92rem; padding:18px 24px; letter-spacing:.5px; text-transform:uppercase; }
.price-body { padding: 28px 30px 32px; }
.was { color: var(--muted); text-decoration: line-through; font-weight:600; }
.launch-label {
  display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:1.5px;
  text-transform:uppercase; color: var(--orange-d);
  background: rgba(240,130,46,.1); border:1px solid rgba(240,130,46,.35);
  border-radius:999px; padding:4px 14px; margin: 10px 0 4px;
}
.now-label { display:block; color: var(--muted); font-size:.8rem; font-weight:600; letter-spacing:1px; margin-top:4px; }
.now { color: var(--orange); font-weight:800; line-height:1; margin:2px 0 6px; }
.now .cur { font-size:1.6rem; vertical-align:top; }
.now .val { font-family:'Playfair Display',serif; font-size:4.4rem; }
.installments { color: var(--muted); font-size:.9rem; font-weight:500; }
.price-list { list-style:none; padding:0; margin:22px 0; display:grid; gap:8px; }
.price-list li { font-size:.82rem; color: var(--ink); display:flex; gap:6px; align-items:center; justify-content:flex-start; white-space:nowrap; }
.price-list li .ck { color: var(--teal); font-weight:800; }
.price-list .plus-li { color: var(--orange); font-weight:800; }
.pay-icons { display:flex; gap:10px; justify-content:center; margin-top:18px; opacity:.7; flex-wrap:wrap; }
.pay-icons span { font-size:.62rem; font-weight:700; border:1px solid var(--line); border-radius:5px; padding:4px 8px; color: var(--muted); }
.stock-bar { margin:18px 0 6px; }
.stock-track { height:9px; border-radius:999px; background: var(--line); overflow:hidden; }
.stock-fill { height:100%; width:18%; background: linear-gradient(90deg,#e03b3b,var(--orange)); border-radius:999px; }
.stock-bar small { display:block; margin-top:7px; font-size:.76rem; color:#e03b3b; font-weight:600; }

/* ---------- Faixa final ---------- */
.band { background: var(--slate); color:#fff; text-align:center; padding: 30px 24px; }
.band h3 { font-size: clamp(1.1rem,2.4vw,1.5rem); font-weight:700; }
.trust { display:flex; gap:28px; justify-content:center; flex-wrap:wrap; margin-top:18px; }
.trust span { display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:600; color: rgba(255,255,255,.8); }
.trust svg { width:20px; height:20px; }

/* ---------- Como funciona (3 passos) ---------- */
.steps-sec { background: var(--slate-d); }
.steps-sec .section-head h2 { color: #fff; }
.steps-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.step-card {
  position: relative;
  background: linear-gradient(135deg, #1a2b1a 0%, #1e3320 100%);
  border: 1.5px solid rgba(255,224,138,.2);
  border-radius: 18px;
  padding: 46px 30px 34px;
  text-align: center;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.step-card:hover { transform: translateY(-8px); box-shadow: 0 16px 48px rgba(0,0,0,.35); border-color: rgba(255,224,138,.55); }
.step-num {
  position:absolute; top:-18px; left:50%; transform: translateX(-50%);
  width:38px; height:38px; border-radius:50%;
  background: var(--orange); color:#fff; font-weight:800; font-size:1.05rem;
  display:grid; place-items:center; box-shadow: 0 8px 18px rgba(217,108,28,.4);
}
.step-ico {
  width:78px; height:78px; margin:0 auto 20px; border-radius:20px;
  background: rgba(255,224,138,.1); color: #FFE08A;
  border: 1px solid rgba(255,224,138,.25);
  display:grid; place-items:center;
  transition: transform .35s var(--ease);
}
.step-card:hover .step-ico { transform: scale(1.08) rotate(-4deg); }
.step-ico svg { width:38px; height:38px; }
.step-card h3 { font-size:1.2rem; font-weight:800; color: #fff; margin-bottom:10px; }
.step-card p { color: rgba(255,255,255,.68); font-size:.94rem; }
.steps-grid .step-card:nth-child(2) .step-ico { color: var(--orange-l); border-color: rgba(240,130,46,.35); background: rgba(240,130,46,.1); }
.steps-grid .step-card:nth-child(2) .step-num { background: var(--teal); box-shadow: 0 8px 18px rgba(19,122,115,.4); }
.steps-grid .step-card:nth-child(3) .step-ico { color: #5edd6e; border-color: rgba(94,221,110,.35); background: rgba(94,221,110,.1); }
@media (max-width: 820px) { .steps-grid { grid-template-columns: 1fr; gap: 34px; } }

/* ---------- Duas opções ---------- */
.options-sec { background: var(--slate-d); }
.options-sec .section-head h2 { color: #fff; }
.options-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.opt-card {
  background: linear-gradient(135deg, #1a2b1a 0%, #1e3320 100%);
  border-radius:18px; padding:32px 30px;
  border:1.5px solid rgba(255,224,138,.2); box-shadow: 0 8px 32px rgba(0,0,0,.25);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.opt-card.good { border-color: rgba(94,221,110,.45); box-shadow: 0 18px 48px rgba(94,221,110,.15); }
.opt-card.bad  { border-color: rgba(224,85,85,.35); }
.opt-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(0,0,0,.35); }
.opt-head { display:flex; align-items:center; gap:18px; margin-bottom:18px; }
.opt-ico {
  flex:0 0 64px; width:64px; height:64px; border-radius:50%;
  display:grid; place-items:center;
}
.opt-ico.no  { background: rgba(224,59,59,.15); color: #f07070; border:1px solid rgba(224,59,59,.3); }
.opt-ico.yes { background: rgba(94,221,110,.12); color: #5edd6e; border:1px solid rgba(94,221,110,.35); }
.opt-ico svg { width:34px; height:34px; }
.opt-tag {
  display:inline-block; white-space:nowrap; font-size:.72rem; font-weight:800; letter-spacing:.5px;
  text-transform:uppercase; color:#fff; padding:4px 14px; border-radius:999px; margin-bottom:8px;
}
.opt-tag.red   { background: rgba(192,57,43,.8); }
.opt-tag.green { background: rgba(104,158,53,.85); }
.opt-card h3 { font-size:1.2rem; font-weight:800; color: #fff; }
.opt-card p { color: rgba(255,255,255,.68); font-size:.96rem; }

.options-close { text-align:center; margin-top:40px; }
.oc-big { font-family:'Playfair Display',serif; font-size: clamp(1.4rem,2.8vw,2rem); font-weight:800; color: #fff; max-width:680px; margin:0 auto 12px; }
.oc-big .hl-green { color: #5edd6e; }
.oc-sub { color: rgba(255,255,255,.7); font-size:1.05rem; max-width:560px; margin:0 auto 30px; }
.oc-sub b { color: #FFE08A; }
@media (max-width: 820px) { .options-grid { grid-template-columns: 1fr; } }

/* ---------- Bonos ---------- */
.bonos-list { display:grid; gap:20px; max-width:860px; margin:0 auto 48px; }
.bono-card {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  background: linear-gradient(135deg, #1a2b1a 0%, #1e3320 100%);
  border:1.5px solid rgba(255,224,138,.25); border-radius:18px;
  padding:28px 32px; box-shadow: 0 8px 32px rgba(0,0,0,.25);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.bono-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,.35); }
.bono-info { flex:1; min-width:0; }
.bono-label {
  display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:1px;
  text-transform:uppercase; background: rgba(255,224,138,.15); color:#FFE08A;
  border:1px solid rgba(255,224,138,.4); border-radius:999px;
  padding:4px 14px; margin-bottom:12px;
}
.bono-title { font-size:1.25rem; font-weight:800; color:#fff; margin:0 0 8px; }
.bono-desc { color:rgba(255,255,255,.72); font-size:.93rem; line-height:1.55; margin:0 0 16px; }
.bono-price { display:flex; align-items:center; gap:14px; }
.price-before {
  font-size:.9rem; font-weight:700; color:#e05555;
  text-decoration:line-through; opacity:.85;
}
.price-after {
  font-size:1.1rem; font-weight:800; color:#5edd6e;
  background: rgba(94,221,110,.12); border:1px solid rgba(94,221,110,.35);
  border-radius:8px; padding:3px 14px;
}
.bono-img-wrap {
  flex:0 0 200px; width:200px;
}
.bono-img-wrap img {
  width:100%; height:160px; object-fit:cover;
  border-radius:12px; border:2px solid rgba(255,224,138,.2);
}

/* ---------- FAQ ---------- */
.faq { background:#fff; }
.faq-list { max-width: 800px; margin: 0 auto; display:grid; gap:12px; }
.fitem { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fbfdfd; }
.fq {
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:20px 24px; font-family:'Poppins'; font-size:1rem; font-weight:600; color: var(--slate);
  display:flex; align-items:center; gap:12px;
}
.fq .pen { color: var(--teal); flex:0 0 auto; }
.fq .chev { margin-left:auto; transition: transform .3s var(--ease); color: var(--muted); }
.fitem.open .fq .chev { transform: rotate(180deg); }
.fa { max-height:0; overflow:hidden; transition: max-height .35s var(--ease); }
.fa-inner { padding: 0 24px 20px 56px; color: var(--muted); font-size:.95rem; }

/* ---------- Live badge (urgência) ---------- */
.live-badge {
  display:flex; align-items:center; gap:7px; justify-content:center;
  font-size:.78rem; font-weight:600; color: var(--muted); margin-bottom:10px;
}
.live-dot {
  width:8px; height:8px; border-radius:50%; background:#e03b3b; flex:0 0 8px;
  animation: livePulse 1.6s ease-in-out infinite;
}
@keyframes livePulse { 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.7); } }

/* ---------- Sticky bar ---------- */
.sticky-bar {
  position:fixed; bottom:0; left:0; right:0; z-index:999;
  max-width:100vw; width:100%; box-sizing:border-box; overflow:hidden;
  background: var(--slate-d); border-top:2px solid rgba(255,224,138,.3);
  padding:10px 16px;
  transform: translateY(100%); opacity:0;
  transition: transform .4s var(--ease), opacity .4s var(--ease);
  box-shadow: 0 -8px 32px rgba(0,0,0,.35);
}
.sticky-bar.show { transform: translateY(0); opacity:1; }
.sticky-inner {
  max-width:860px; width:100%; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; overflow:hidden;
}
.sticky-text { color:#fff; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1 1 0; }
.sticky-price { color:#FFE08A; font-weight:800; }
.sticky-btn {
  display:flex; box-sizing:border-box;
  padding:10px 22px; font-size:.84rem; animation:none;
  flex:0 0 auto; white-space:nowrap;
}
@media (max-width:560px) {
  .sticky-bar { padding:10px 12px; }
  .sticky-inner { flex-direction:column; gap:6px; }
  .sticky-text { white-space:normal; overflow:visible; text-overflow:unset; flex:none; width:100%; font-size:.82rem; text-align:center; }
  .sticky-btn { width:100%; max-width:100%; justify-content:center; padding:12px 16px; }
}

/* ---------- Footer ---------- */
.footer { background: var(--teal); color:#fff; padding: 56px 0 30px; }
.footer-grid { display:grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap:40px; }
.footer .logo { display:flex; align-items:center; gap:12px; font-family:'Playfair Display',serif; font-weight:800; font-size:1.6rem; letter-spacing:1px; }
.footer .logo svg { width:42px; height:42px; }
.footer h5 { font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; margin:0 0 16px; opacity:.85; }
.footer a { display:block; padding:5px 0; color: rgba(255,255,255,.9); font-size:.9rem; transition: padding .2s; }
.footer a:hover { padding-left:6px; color:#fff; }
.pay-grid { display:flex; gap:8px; flex-wrap:wrap; }
.pay-grid span { background:#fff; color: var(--slate); font-size:.6rem; font-weight:800; border-radius:5px; padding:6px 8px; }
.ssl { display:inline-flex; align-items:center; gap:8px; background: rgba(255,255,255,.15); border-radius:8px; padding:10px 14px; margin-top:14px; font-size:.78rem; font-weight:600; }
.copyr { text-align:center; border-top:1px solid rgba(255,255,255,.2); margin-top:40px; padding-top:24px; font-size:.82rem; opacity:.8; }

/* ===========================================================
   ANIMAÇÕES SCROLL-REVEAL
   =========================================================== */
.js-reveal .reveal { opacity:0; transform: translateY(38px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js-reveal .reveal.in { opacity:1; transform: none; }
.reveal.d1 { transition-delay:.08s; } .reveal.d2 { transition-delay:.16s; }
.reveal.d3 { transition-delay:.24s; } .reveal.d4 { transition-delay:.32s; }
.reveal.d5 { transition-delay:.4s; }  .reveal.d6 { transition-delay:.48s; }
@media (prefers-reduced-motion: reduce){ .js-reveal .reveal{ opacity:1; transform:none; } }

/* ===========================================================
   RESPONSIVO
   =========================================================== */
@media (max-width: 980px) {
  .wrap { padding: 0 18px; }
  .hero { padding: 48px 0 72px; }
  .hero-grid, .benefits-grid, .leap-grid, .receive-grid, .footer-grid, .offer-cards, .bonus-row, .options-grid, .pgrid, .tgrid { grid-template-columns: 1fr; }
  .hero-grid { grid-auto-flow: row; row-gap: 24px; }
  .benefits-grid { gap: 18px; }
  .hero h1 { font-size: clamp(2rem, 6vw, 2.6rem); }
  .hero .lead { font-size: 1.05rem; }
  .hero .desc { max-width: 100%; }
  .benefit.right, .benefit.right h3 { text-align:left; flex-direction:row; }
  .product-box { order:-1; margin-bottom: 20px; }
  .offer-cards { gap: 16px; }
  .offer-cards .plus, .bonus-row .plus { transform: rotate(0); padding:6px 0; }
  .offer .closing { margin: 0 auto 24px; }
  .bono-card { flex-direction:column; padding:22px 20px; }
  .bono-img-wrap { flex:none; width:100%; }
  .bono-img-wrap img { height:180px; width:100%; }
  .pgrid { gap: 24px; }
  .leap-grid { gap: 32px; }
  .leap-sketch img { width: min(320px, 90%); height: auto; }
  .receive-grid { gap: 30px; }
  .platform img { height: auto; }
  .device { min-height: auto; padding-top: 32px; }
  .device .disc2 { width: min(320px, 90vw); height: min(320px, 90vw); }
  .device img { width: min(320px, 80vw); height: min(320px, 80vw); }
  .bonus-row { gap: 16px; }
  .video-thumb img { height: 240px; }
  .tcard { padding: 24px 20px 22px; }
  .steps-grid { grid-template-columns: 1fr; gap: 28px; }
  .step-card { padding: 32px 24px 28px; }
  .options-grid { grid-template-columns: 1fr; }
  .footer { padding: 40px 0 24px; }
  .footer-grid { gap: 26px; }
  .copyr { margin-top: 32px; padding-top: 18px; }
  .badge-pill { display:none; }
}
@media (max-width: 560px) {
  .wrap { padding: 0 16px; }
  .hero { padding: 40px 0 60px; }
  .section { padding: 50px 0; }
  .hero .eyebrow { font-size:.72rem; padding:6px 14px; }
  .hero h1 { font-size: 2.1rem; }
  .hero .lead { font-size: 1rem; }
  .hero .desc { font-size:.95rem; }
  .product-box img { max-height: 260px; }
  .offer h2 { font-size: 2.2rem; }
  .offer .spark { font-size: 1rem; }
  .ocard { padding: 24px 18px 18px; min-height: auto; }
  .pgrid { gap: 20px; }
  .leap-sketch img { width: 100%; max-width: 280px; }
  .receive-grid { gap: 28px; }
  .platform img { height: 220px; }
  .device .disc2 { width: min(280px, 86vw); height: min(280px, 86vw); }
  .device img { width: min(280px, 78vw); height: min(280px, 78vw); }
  .video-thumb img { height: 220px; }
  .steps-grid { gap: 28px; }
  .footer .logo { font-size:1.35rem; }
  .footer-grid { gap: 22px; }
  .copyr { font-size:.78rem; }
  .pay-grid span { padding:5px 6px; font-size:.58rem; }
  .urgency { font-size:.72rem; padding: 8px 12px; }
  .bonus-row { gap: 12px; }
}
