/* ===========================================================
   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);
  min-height: auto;
}
.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; }

@media (max-width: 640px) {
  .urgency {
    font-size: .75rem;
    padding: 7px 12px;
    gap: 8px;
  }
  .clock { gap: 4px; }
  .clock .seg {
    padding: 2px 6px;
    min-width: 28px;
    font-size: .75rem;
    border-radius: 4px;
  }
  .clock .seg small { font-size: .42rem; }
}

/* ===========================================================
   HERO
   =========================================================== */
.hero {
  position: relative;
  background: var(--teal);
  color: #fff;
  overflow: hidden;
  padding: 64px 0 96px;
}

@media (max-width: 768px) {
  .hero {
    padding: 48px 0 64px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding: 32px 0 48px;
  }
}
.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;
}

@media (max-width: 768px) {
  .hero h1 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
  }
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  }
}
.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; }

@media (max-width: 768px) {
  .hero .lead {
    font-size: 1rem;
  }
  .hero .desc {
    font-size: .9rem;
  }
}

@media (max-width: 640px) {
  .hero .lead {
    font-size: .92rem;
    margin-top: 12px;
  }
  .hero .desc {
    font-size: .82rem;
    margin-top: 10px;
  }
}

.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; }

@media (max-width: 768px) {
  .checklist li {
    font-size: .92rem;
    gap: 10px;
  }
}

@media (max-width: 640px) {
  .checklist li {
    font-size: .82rem;
    gap: 8px;
  }
  .checklist .ck {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px;
  }
}
.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-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);
}

@media (max-width: 768px) {
  .hero-disc {
    width: min(320px, 85%);
  }
}

@media (max-width: 640px) {
  .hero-disc {
    width: min(280px, 80%);
  }
}
.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%; }

@media (max-width: 768px) {
  .badge-pill {
    padding: 8px 12px;
    font-size: .7rem;
  }
  .badge-pill .n {
    font-size: 1.2rem;
  }
}

@media (max-width: 640px) {
  .badge-pill {
    display: none;
  }
}

/* ===========================================================
   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; }

@media (max-width: 768px) {
  .section-head h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  }
  .section-head p {
    font-size: .95rem;
  }
}

@media (max-width: 640px) {
  .section-head {
    margin-bottom: 32px;
  }
  .section-head h2 {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
  }
  .section-head p {
    font-size: .85rem;
  }
}

/* ---------- 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; }

@media (max-width: 768px) {
  .benefit h3 {
    font-size: .95rem;
  }
  .benefit p {
    font-size: .85rem;
  }
}

@media (max-width: 640px) {
  .benefit h3 {
    font-size: .85rem;
  }
  .benefit p {
    font-size: .78rem;
  }
  .benefit + .benefit {
    margin-top: 20px;
  }
}
.product-box { display:grid; place-items:center; }
.product-box img { width: 300px; height: 380px; object-fit: contain; }

@media (max-width: 768px) {
  .product-box img {
    width: 240px;
    height: 300px;
  }
}

@media (max-width: 640px) {
  .product-box img {
    width: 200px;
    height: 250px;
  }
}
.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;}

@media (max-width: 768px) {
  .offer h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
  }
  .offer .spark {
    font-size: 1rem;
  }
}

@media (max-width: 640px) {
  .offer h2 {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  }
  .offer .spark {
    font-size: .85rem;
    flex-direction: column;
    gap: 4px;
  }
}
.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; }

@media (max-width: 768px) {
  .ocard {
    padding: 24px 18px 0;
    min-height: 220px;
  }
  .ocard .big {
    font-size: 2.8rem;
    margin: 14px 0 2px;
  }
  .ocard .big small {
    font-size: 1rem;
  }
  .ocard h4 {
    font-size: 1.1rem;
    margin: 16px 0 6px;
  }
  .ocard p {
    font-size: .8rem;
  }
}

@media (max-width: 640px) {
  .ocard {
    padding: 18px 14px 0;
    min-height: auto;
  }
  .ocard .big {
    font-size: 2.2rem;
    margin: 10px 0 2px;
  }
  .ocard .big small {
    font-size: .9rem;
  }
  .ocard h4 {
    font-size: .95rem;
    margin: 12px 0 4px;
  }
  .ocard p {
    font-size: .72rem;
  }
}
.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; }

@media (max-width: 768px) {
  .offer .closing {
    font-size: 1rem;
  }
}

@media (max-width: 640px) {
  .offer .closing {
    font-size: .85rem;
    margin: 0 auto 20px;
  }
}

/* ---------- 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; }

@media (max-width: 768px) {
  .pgrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
  }
}

@media (max-width: 640px) {
  .pgrid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.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); }

@media (max-width: 768px) {
  .pcard h3 {
    font-size: 1rem;
  }
  .pcard p {
    font-size: .82rem;
  }
}

@media (max-width: 640px) {
  .pcard h3 {
    font-size: .9rem;
  }
  .pcard p {
    font-size: .75rem;
  }
}
.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%; }

@media (max-width: 768px) {
  .leap-sketch img {
    width: 300px;
    height: 300px;
  }
}

@media (max-width: 640px) {
  .leap-sketch img {
    width: 240px;
    height: 240px;
  }
}
.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); }

@media (max-width: 768px) {
  .leap h2 {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem);
  }
  .leap p {
    font-size: .95rem;
  }
}

@media (max-width: 640px) {
  .leap h2 {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
  }
  .leap p {
    font-size: .82rem;
    margin-top: 16px;
  }
}

/* ---------- 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; }

@media (max-width: 768px) {
  .receive h2 {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem);
  }
  .receive p {
    font-size: .92rem;
  }
}

@media (max-width: 640px) {
  .receive h2 {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
  }
  .receive p {
    font-size: .82rem;
  }
  .receive .small-lead {
    margin-top: 16px;
  }
}
.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; }

@media (max-width: 768px) {
  .platform img {
    height: 240px;
  }
  .device {
    min-height: 360px;
  }
}

@media (max-width: 640px) {
  .platform img {
    height: 200px;
  }
  .device {
    min-height: 280px;
  }
}
.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;
}

@media (max-width: 768px) {
  .device img {
    width: min(320px, 80vw);
    height: min(320px, 80vw);
  }
}

@media (max-width: 640px) {
  .device img {
    width: min(280px, 75vw);
    height: min(280px, 75vw);
  }
}
@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; }

@media (max-width: 768px) {
  .bcard {
    padding: 18px 14px;
    font-size: .78rem;
  }
  .bcard .bt {
    font-size: .95rem;
  }
}

@media (max-width: 640px) {
  .bcard {
    padding: 14px 10px;
    font-size: .7rem;
  }
  .bcard .bt {
    font-size: .85rem;
  }
}
.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; }

@media (max-width: 768px) {
  .testi h2 {
    font-size: clamp(1.3rem, 2.6vw, 1.8rem);
    margin-bottom: 32px;
  }
}

@media (max-width: 640px) {
  .testi h2 {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    margin-bottom: 24px;
  }
}
.tgrid { display:grid; grid-template-columns: repeat(3,1fr); gap:26px; }
.tcard {
  background:#fff; border-radius:6px; padding:28px 26px 30px; 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:3.2rem; line-height:.5; color: var(--teal); height:30px; }
.tcard.alt .quote { color:#fff; opacity:.85; }
.tcard .tav { width:96px; height:96px; border-radius:50%; margin:6px auto 18px; 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:.92rem; text-align:center; color: var(--ink); }
.tcard.alt .ttext { color:#fff; }
.tcard .tname { text-align:center; font-style:italic; font-size:.86rem; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); color: var(--muted); }
.tcard.alt .tname { color:#EAFBFA; border-top-color: rgba(255,255,255,.25); }

@media (max-width: 768px) {
  .tcard .ttext {
    font-size: .82rem;
  }
  .tcard .tname {
    font-size: .76rem;
  }
}

@media (max-width: 640px) {
  .tcard {
    padding: 20px 16px 22px;
  }
  .tcard .tav {
    width: 70px;
    height: 70px;
  }
  .tcard .ttext {
    font-size: .75rem;
  }
  .tcard .tname {
    font-size: .7rem;
    margin-top: 12px;
    padding-top: 10px;
  }
}

/* ---------- 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; }

@media (max-width: 768px) {
  .guarantee h2 {
    font-size: clamp(1.3rem, 2.6vw, 1.8rem);
  }
}

@media (max-width: 640px) {
  .guarantee h2 {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
  }
}
.seal {
  width:170px; height:170px; margin: 0 auto 28px;
  display:grid; place-items:center;
  position:relative;
}

@media (max-width: 768px) {
  .seal {
    width: 140px;
    height: 140px;
  }
}

@media (max-width: 640px) {
  .seal {
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
  }
}
@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; }

@media (max-width: 768px) {
  .seal .days b {
    font-size: 2.2rem;
  }
}

@media (max-width: 640px) {
  .seal .days b {
    font-size: 1.8rem;
  }
}
.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; }

@media (max-width: 768px) {
  .guarantee p {
    font-size: .92rem;
  }
}

@media (max-width: 640px) {
  .guarantee p {
    font-size: .82rem;
    margin: 0 auto 20px;
  }
}

/* ---------- 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 24px; 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; }
.now-label { display:block; color: var(--muted); font-size:.8rem; font-weight:600; letter-spacing:1px; margin-top:8px; }
.now { color: var(--orange); font-weight:800; line-height:1; margin:2px 0 6px; display:inline-flex; align-items:flex-end; justify-content:center; gap:.2rem; }
.now .cur { font-size:1.8rem; line-height:1; }
.now .val { font-family:'Playfair Display',serif; font-size:4.4rem; line-height:1; }

@media (max-width: 768px) {
  .now .val {
    font-size: 3.2rem;
  }
}

@media (max-width: 640px) {
  .now .val {
    font-size: 2.4rem;
  }
}
.installments { color: var(--muted); font-size:.9rem; font-weight:500; }
.currency-note { font-size:.82rem; color: var(--muted); margin: 8px 0 12px; }
.price-list { list-style:none; padding:0; margin:22px 0; display:grid; gap:8px; }
.price-list li { font-size:.92rem; color: var(--ink); display:flex; gap:8px; align-items:center; justify-content:center; }
.price-list li .ck { color: var(--teal); font-weight:800; }
.price-list .plus-li { color: var(--orange); font-weight:800; width:100%; justify-content:center; display:flex; }

@media (max-width: 768px) {
  .price-list li {
    font-size: .82rem;
  }
}

@media (max-width: 640px) {
  .price-list li {
    font-size: .72rem;
  }
}
.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); }

@media (max-width: 768px) {
  .band h3 {
    font-size: clamp(.95rem, 1.8vw, 1.2rem);
  }
  .trust {
    gap: 16px;
  }
  .trust span {
    font-size: .7rem;
  }
}

@media (max-width: 640px) {
  .band h3 {
    font-size: clamp(.8rem, 1.5vw, 1rem);
  }
  .trust {
    gap: 10px;
    flex-direction: column;
  }
  .trust span {
    font-size: .65rem;
    justify-content: center;
  }
}
.trust svg { width:20px; height:20px; }

/* ---------- 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;
}

@media (max-width: 768px) {
  .fq {
    padding: 16px 18px;
    font-size: .92rem;
  }
}

@media (max-width: 640px) {
  .fq {
    padding: 14px 14px;
    font-size: .82rem;
  }
}
.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; }

@media (max-width: 768px) {
  .fa-inner {
    padding: 0 18px 16px 42px;
    font-size: .85rem;
  }
}

@media (max-width: 640px) {
  .fa-inner {
    padding: 0 14px 12px 32px;
    font-size: .75rem;
  }
}

/* ---------- 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; }

@media (max-width: 768px) {
  .footer {
    padding: 40px 0 24px;
  }
  .footer-grid {
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .footer {
    padding: 32px 0 20px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.footer .logo { display:flex; align-items:center; gap:12px; font-family:'Playfair Display',serif; font-weight:800; font-size:1.6rem; letter-spacing:1px; }

@media (max-width: 768px) {
  .footer .logo {
    font-size: 1.3rem;
  }
}

@media (max-width: 640px) {
  .footer .logo {
    font-size: 1.1rem;
    justify-content: center;
  }
}
.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; }

@media (max-width: 768px) {
  .footer h5 {
    font-size: .7rem;
    margin: 0 0 12px;
  }
  .footer a {
    font-size: .8rem;
    padding: 4px 0;
  }
}

@media (max-width: 640px) {
  .footer h5 {
    font-size: .65rem;
    text-align: center;
  }
  .footer a {
    font-size: .75rem;
    text-align: center;
  }
  .footer a:hover {
    padding-left: 0;
  }
}
.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; }

@media (max-width: 768px) {
  .pay-grid span {
    font-size: .55rem;
    padding: 5px 6px;
  }
}

@media (max-width: 640px) {
  .pay-grid span {
    font-size: .5rem;
    padding: 4px 5px;
  }
}
.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; }

@media (max-width: 768px) {
  .ssl {
    font-size: .7rem;
    padding: 8px 10px;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .ssl {
    font-size: .65rem;
    padding: 6px 8px;
    margin-top: 10px;
    justify-content: center;
  }
}
.copyr { text-align:center; border-top:1px solid rgba(255,255,255,.2); margin-top:40px; padding-top:24px; font-size:.82rem; opacity:.8; }

@media (max-width: 768px) {
  .copyr {
    font-size: .75rem;
    margin-top: 28px;
    padding-top: 18px;
  }
}

@media (max-width: 640px) {
  .copyr {
    font-size: .7rem;
    margin-top: 20px;
    padding-top: 14px;
  }
}

/* ===========================================================
   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) {
  .hero-grid, .benefits-grid, .leap-grid, .receive-grid { grid-template-columns: 1fr; }
  .benefits-grid { gap: 8px; }
  .benefit.right, .benefit.right h3 { text-align:left; flex-direction:row; }
  .product-box { order:-1; margin-bottom: 20px; }
  .offer-cards, .bonus-row { grid-template-columns: 1fr; }
  .offer-cards .plus, .bonus-row .plus { transform: rotate(0); padding:6px 0; }
  .pgrid, .tgrid { grid-template-columns: 1fr; }
  .hero-figure { margin-top: 20px; }
}

@media (max-width: 768px) {
  .section { padding: 56px 0; }
  .wrap { padding: 0 18px; }
  .btn, .btn--big {
    font-size: .95rem;
    padding: 16px 36px;
  }
  .btn--big {
    font-size: 1rem;
    padding: 18px 40px;
  }
  .price-card {
    width: min(100%, 380px);
  }
}

@media (max-width: 640px) {
  .section { padding: 40px 0; }
  .wrap { padding: 0 14px; }
  .btn {
    font-size: .85rem;
    padding: 14px 28px;
    gap: 8px;
    min-height: 48px;
  }
  .btn--big {
    font-size: .9rem;
    padding: 16px 32px;
    min-height: 50px;
  }
  .btn .ico { font-size: 1rem; }
  .hero-cta-row {
    margin-top: 20px;
  }
  .sub-cta {
    font-size: .72rem;
    gap: 5px;
  }
  .section-head {
    margin-bottom: 24px;
  }
  .hero-grid { 
    gap: 24px;
    grid-template-columns: 1fr;
  }
  .hero-copy {
    order: 2;
  }
  .hero-figure {
    order: 1;
    margin-bottom: 16px;
  }
  .receive-grid, .leap-grid { gap: 28px; }
  .bonus-row { margin-top: 28px; }
  .offer-cards { margin: 32px 0 28px; }
  .price-body {
    padding: 20px 20px 24px;
  }
  .price-list { margin: 16px 0; }
  .price-list li {
    justify-content: flex-start;
    padding: 0 8px;
  }
  .pay-icons {
    margin-top: 12px;
  }
  .stock-bar {
    margin: 12px 0 4px;
  }
  .stock-bar small {
    margin-top: 4px;
  }
  .faq-list { gap: 8px; }
  .fitem { border-radius: 8px; }
}

/* Otimizações adicionais para Touch */
@media (hover: none) and (pointer: coarse) {
  .btn:active {
    transform: scale(.97);
  }
  .cbtn {
    width: 48px;
    height: 48px;
  }
  .fq {
    padding: 16px 20px;
  }
}
