/* ===== RESET & BASE ===== */

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

:root {
  --bg: #FFF8F5;
  --rose: #C77D86;
  --nude: #D8A48F;
  --beige: #F4E3DA;
  --brown: #4A322B;
  --white: #FFFFFF;
  --gold: #C9A76A;
  --rose-light: #e8b4bb;
  --shadow: 0 4px 24px rgba(74,50,43,.08);
  --shadow-lg: 0 8px 40px rgba(74,50,43,.12);
  --radius: 16px;
  --radius-sm: 12px;
  --transition: .3s cubic-bezier(.4,0,.2,1);
}

html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Inter',sans-serif; background:var(--bg); color:var(--brown);
  line-height:1.7; overflow-x:hidden; -webkit-text-size-adjust:100%;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; font-weight:600; line-height:1.3; }
.container { width:100%; max-width:1100px; margin:0 auto; padding:0 20px; }

/* ===== BUTTONS (mobile-first) ===== */
.btn-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background: linear-gradient(135deg, var(--rose), #C28B72);
  color:var(--white); font-family:'Inter',sans-serif; font-weight:600;
  font-size:.95rem; padding:14px 32px; border-radius:50px; border:none; cursor:pointer;
  box-shadow: 0 4px 20px rgba(199,125,134,.35);
  transition: var(--transition); position:relative; overflow:hidden;
  max-width:340px; width:100%;
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, #C28B72, var(--rose));
  opacity:0; transition: var(--transition);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow: 0 8px 30px rgba(199,125,134,.45); }
.btn-primary:hover::before { opacity:1; }
.btn-primary span { position:relative; z-index:1; }
.micro-text { font-size:.78rem; color:var(--nude); margin-top:10px; letter-spacing:.3px; }

/* ===== SCROLL ANIMATIONS ===== */
.fade-up { opacity:0; transform:translateY(30px); transition: opacity .7s ease, transform .7s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ===== HEADER (mobile-first) ===== */
.top-bar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,248,245,.95); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(216,164,143,.12);
  padding:12px 0; transition: var(--transition);
}
.top-bar .container { display:flex; align-items:center; justify-content:space-between; }

/* Logo composta: marca SVG + texto */
.logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark {
  width:34px; height:34px; flex-shrink:0;
  filter:drop-shadow(0 1px 3px rgba(199,125,134,.25));
  transition: var(--transition);
}
.logo-mark:hover { transform:rotate(15deg) scale(1.05); }
.logo-text {
  font-family:'Playfair Display',serif; font-size:1.25rem; color:var(--brown);
  font-weight:600; line-height:1; letter-spacing:.01em;
}
.logo-text em { font-style:italic; color:var(--rose); }
.nav-cta { font-size:.82rem; padding:10px 22px; max-width:none; width:auto; white-space:nowrap; }

/* ===== 1. HERO (mobile-first) ===== */
.hero {
  padding:88px 0 48px;
  background: linear-gradient(170deg, var(--beige) 0%, var(--bg) 100%);
  position:relative; overflow:hidden;
}
.hero::after {
  content:''; position:absolute; width:300px; height:300px; border-radius:50%;
  background: radial-gradient(circle, rgba(199,125,134,.12), transparent 70%);
  top:-80px; right:-80px; pointer-events:none;
}
.hero .container { display:flex; flex-direction:column; align-items:center; gap:32px; text-align:center; }
.hero-content { width:100%; }
.hero-content h1 { font-size:1.6rem; margin-bottom:16px; color:var(--brown); }
.hero-content h1 span { color:var(--rose); }
.hero-content p { font-size:.95rem; color:#6b5249; margin-left:auto; margin-right:auto; max-width:520px; }
.hero-desc { margin-bottom:28px; }
.hero-desc p { margin-bottom:12px; }
.hero-desc p:last-child { margin-bottom:0; }
.hero-strong { color:var(--brown); font-weight:600; font-size:1.05rem; padding-top:8px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--white); border:1px solid var(--beige);
  padding:6px 12px; border-radius:50px; font-size:.72rem; color:var(--nude);
  margin-top:16px; transition: var(--transition); text-decoration:none;
}
.hero-badge:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--rose-light); color:var(--rose); }
.hero-badge svg { width:13px; height:13px; fill:var(--gold); }
.hero-image { width:100%; display:flex; justify-content:center; position:relative; }
.hero-image img { max-height:340px; border-radius:20px; filter:drop-shadow(0 16px 32px rgba(74,50,43,.12)); }
.hero-image .float-tag {
  position:absolute; background:var(--white); padding:6px 12px; border-radius:10px;
  font-size:.7rem; font-weight:500; box-shadow:var(--shadow); color:var(--brown);
}
.hero-image .float-tag.t1 { bottom:30px; left:8px; }
.hero-image .float-tag.t2 { top:30px; right:8px; }

/* ===== SECTION TITLES (mobile-first) ===== */
.section-title { text-align:center; font-size:1.4rem; margin-bottom:14px; }
.section-subtitle { text-align:center; max-width:640px; margin:0 auto 32px; color:#6b5249; font-size:.92rem; }


/* Custom responsive text classes */
.pain-highlight {
  font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--rose); margin-bottom:8px;
}
.reels-title {
  font-size:1.1rem; color:var(--brown); margin-bottom:16px; font-family:'Playfair Display',serif;
}
.closing-headline {
  font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--brown); margin-bottom:12px;
}
.closing-sub {
  font-size:1.05rem; color:var(--rose); font-weight:600;
}

/* ===== 2. DOR (mobile-first) ===== */
.pain { padding:48px 0; }
.pain-grid { display:grid; grid-template-columns:1fr; gap:14px; }
.pain-card {
  background:var(--white); border-radius:var(--radius); padding:20px 18px;
  box-shadow:var(--shadow); border-left:3px solid var(--rose-light);
  transition:var(--transition);
}
.pain-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.pain-card .icon {
  width:36px; height:36px; border-radius:10px; background:var(--beige);
  display:flex; align-items:center; justify-content:center; margin-bottom:10px; font-size:1.1rem;
}
.pain-card h4 { font-family:'Inter',sans-serif; font-size:.88rem; font-weight:600; }

/* ===== 3. TRANSFORMAÇÃO (mobile-first) ===== */
.transform { padding:48px 0; background:var(--white); }
.transform-visual { display:flex; flex-direction:column; gap:16px; align-items:stretch; margin-top:24px; }
.transform-card {
  width:100%; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); position:relative;
}
.transform-card img { width:100%; height:200px; object-fit:cover; }
.transform-card .label {
  position:absolute; top:12px; left:12px;
  padding:5px 14px; border-radius:50px; font-size:.75rem; font-weight:600; color:var(--white);
}
.transform-card.before .label { background:#9e8a84; }
.transform-card.after .label { background:var(--rose); }
.transform-card .desc { padding:16px; font-size:.88rem; color:#6b5249; }
.transform-arrow { display:none; }
.ba-full-img { max-width:700px; margin:24px auto 0; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.ba-full-img img { width:100%; }

/* ===== 4. SOLUÇÃO (mobile-first) ===== */
.solution { padding:48px 0; background:var(--white); }
.solution-grid {
  display:grid; grid-template-columns:1fr; gap:16px; margin-top:32px;
}
.solution-card {
  background:var(--bg); border-radius:var(--radius); padding:24px 20px;
  text-align:center; box-shadow:var(--shadow); transition:var(--transition);
  border:1px solid transparent;
}
.solution-card:hover { border-color:var(--rose-light); transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.solution-icon {
  width:48px; height:48px; margin:0 auto 12px; border-radius:50%;
  background:linear-gradient(135deg, var(--beige), var(--rose-light));
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.solution-card h4 { font-family:'Inter',sans-serif; font-size:.92rem; font-weight:700; margin-bottom:6px; }
.solution-card p { font-size:.82rem; color:#6b5249; }
.solution-closing {
  text-align:center; font-size:1.1rem; color:#6b5249; margin:40px 0 32px; font-weight:500;
}
.solution-highlight {
  background:linear-gradient(135deg, var(--beige), var(--bg)); padding:40px 28px;
  border-radius:var(--radius); text-align:center; border:1px solid var(--rose-light);
}
.solution-benefits {
  display:grid; grid-template-columns:1fr; gap:12px; margin-top:24px;
}
.solution-benefits li {
  display:flex; align-items:center; gap:10px; background:var(--white);
  padding:14px 16px; border-radius:var(--radius-sm); box-shadow:var(--shadow);
  font-size:.88rem; font-weight:500; transition:var(--transition);
}
.solution-benefits li:hover { transform:translateX(4px); }
.solution-benefits li .check { color:var(--rose); font-weight:700; font-size:1.1rem; flex-shrink:0; }

/* ===== 5. O QUE VEM DENTRO (mobile-first) ===== */
.whats-inside { padding:48px 0; background: linear-gradient(180deg, var(--white), var(--bg)); }
.inside-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.inside-card {
  background:var(--white); border-radius:var(--radius); padding:24px 20px; text-align:center;
  box-shadow:var(--shadow); transition:var(--transition); border:1px solid transparent;
}
.inside-card:hover { border-color:var(--rose-light); transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.inside-card .card-icon {
  width:48px; height:48px; margin:0 auto 14px; border-radius:50%;
  background: linear-gradient(135deg, var(--beige), var(--rose-light));
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.inside-card h4 { font-family:'Inter',sans-serif; font-size:.92rem; font-weight:700; margin-bottom:6px; }
.inside-card p { font-size:.82rem; color:#6b5249; }

/* ===== 6. BENEFÍCIOS (mobile-first) ===== */
.benefits { padding:48px 0; }
.benefits-grid { display:grid; grid-template-columns:1fr; gap:14px; }
.benefit-item {
  display:flex; align-items:flex-start; gap:12px; background:var(--white);
  padding:18px 16px; border-radius:var(--radius-sm); box-shadow:var(--shadow); transition:var(--transition);
}
.benefit-item:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.benefit-item .b-icon {
  width:36px; height:36px; flex-shrink:0; border-radius:10px;
  background:var(--beige); display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.benefit-item p { font-size:.88rem; font-weight:500; }

/* ===== 7. PARA QUEM É (mobile-first) ===== */
.for-who { padding:48px 0; background:var(--white); }
.who-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:24px;
}
.who-tag {
  background:var(--bg); border:1px solid var(--beige); border-radius:50px;
  padding:10px 14px; text-align:center; font-size:.78rem; font-weight:500;
  transition:var(--transition); cursor:default;
}
.who-tag:hover { background:var(--rose); color:var(--white); border-color:var(--rose); }
.for-who .complement { text-align:center; font-size:.88rem; color:#6b5249; max-width:600px; margin:0 auto; font-style:italic; }

/* ===== 8. DEMONSTRAÇÃO (mobile-first) ===== */
.demo { padding:48px 0; }
.demo-gallery {
  margin-top:24px; display:flex; justify-content:center;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory; gap:16px; padding-bottom:12px;
}
.demo-gallery::-webkit-scrollbar { height:4px; }
.demo-gallery::-webkit-scrollbar-thumb { background:var(--rose-light); border-radius:4px; }
.demo-gallery img {
  max-width:90vw; flex-shrink:0; border-radius:var(--radius);
  box-shadow:var(--shadow-lg); scroll-snap-align:center;
}

/* ===== 9. OFERTA (mobile-first) ===== */
.offer { padding:48px 0; background: linear-gradient(180deg, var(--bg), var(--beige)); }

/* Grid de 2 cards (coluna no mobile, lado a lado no desktop) */
.offer-grid {
  display:grid; grid-template-columns:1fr; gap:32px;
  margin-top:32px;
}

/* Badge de destaque acima do card */
.offer-badge {
  display:inline-block; background:linear-gradient(135deg, var(--gold), #d4b87a);
  color:var(--white); padding:5px 20px; border-radius:50px;
  font-size:.72rem; font-weight:600; margin-bottom:16px;
}
.offer-badge--pro {
  background:linear-gradient(135deg, var(--brown), #7a5c50);
}

.offer-card {
  background:var(--white); border-radius:20px;
  padding:36px 20px; box-shadow:var(--shadow-lg); text-align:center; position:relative;
  border:2px solid var(--rose-light);
}
.offer-card--pro {
  border-color: var(--brown);
  background: linear-gradient(160deg, var(--white) 70%, #f5ede8);
}
.offer-card h3 { font-size:1.15rem; margin-bottom:8px; }
.offer-card h3 span { color:var(--rose); }
.offer-card--pro h3 span { color:var(--brown); }

.offer-detail {
  font-size:.82rem; color:#6b5249; margin-bottom:16px; font-style:italic; text-align:center;
}
.offer-per-unit {
  font-size:.85rem; color:var(--rose); font-weight:600; margin-bottom:16px; text-align:center;
}
.price-period { font-size:.85rem; font-weight:400; color:#9e8a84; }

.promo-timer {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:linear-gradient(135deg, #fdf6f0, #f9ece3); border:1px solid var(--beige);
  border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:20px;
}
.timer-label { font-size:.78rem; color:var(--brown); font-weight:500; }
.timer-clock {
  font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700;
  color:var(--rose); letter-spacing:2px;
}

.offer-list { text-align:left; margin-bottom:24px; }
.offer-list li { padding:7px 0; font-size:.88rem; display:flex; align-items:flex-start; gap:8px; border-bottom:1px solid var(--beige); }
.offer-list li:last-child { border:none; }
.offer-list .check { color:var(--rose); font-size:1rem; flex-shrink:0; }
.price-block { margin-bottom:20px; }
.price-old { font-size:.95rem; color:#9e8a84; text-decoration:line-through; }
.price-new { font-size:2.4rem; font-family:'Playfair Display',serif; color:var(--rose); font-weight:700; }
.price-new--pro { color:var(--brown); }
.price-new small { font-size:1rem; }
.offer-card .btn-primary { width:100%; max-width:none; font-size:1rem; padding:16px; }
.btn-pro { background:linear-gradient(135deg, var(--brown), #7a5c50) !important; }
.btn-pro:hover { background:linear-gradient(135deg, #5c3d35, var(--brown)) !important; }

/* ===== 10-11. GARANTIA + CRIADOR — fluxo contínuo ===== */
.guarantee-creator-flow {
  background: linear-gradient(180deg, var(--beige) 0%, var(--white) 35%, var(--bg) 100%);
}

/* --- Garantia --- */
.guarantee-area { padding:36px 0 24px; }
.guarantee-box {
  max-width:680px; margin:0 auto;
  display:flex; align-items:center; gap:20px;
  background:var(--white); border-radius:var(--radius); padding:24px 28px;
  box-shadow:0 2px 20px rgba(74,50,43,.06); border:1px solid rgba(232,180,187,.25);
}
.guarantee-icon {
  flex-shrink:0; width:48px; height:48px;
}
.guarantee-icon svg { width:100%; height:100%; }
.guarantee-content { text-align:left; }
.guarantee-box h3 { margin-bottom:4px; font-size:1.05rem; }
.guarantee-box p { font-size:.84rem; color:#6b5249; line-height:1.6; }

/* --- Criador --- */
.creator-area { padding:24px 0 48px; }
.creator-inner {
  display:flex; flex-direction:column; align-items:center; gap:24px;
  max-width:740px; margin:0 auto; text-align:center;
}
.creator-photo-wrap {
  position:relative; flex-shrink:0;
}
.creator-photo-wrap::after {
  content:''; position:absolute; inset:-6px; border-radius:50%;
  background:linear-gradient(135deg, var(--rose-light), var(--gold));
  z-index:-1; opacity:.35; filter:blur(8px);
}
.creator-photo {
  width:140px; height:140px; border-radius:50%; object-fit:cover;
  border:3px solid var(--white); box-shadow:0 4px 24px rgba(74,50,43,.1);
  position:relative; z-index:1;
}
.creator-text { width:100%; }
.creator-text h2 {
  font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--brown);
  margin-bottom:14px; font-weight:600;
}
.creator-text p { font-size:.9rem; color:#6b5249; margin-bottom:12px; line-height:1.7; max-width:520px; margin-left:auto; margin-right:auto; }
.creator-sig { font-family:'Playfair Display',serif; font-style:italic; color:var(--rose); font-size:1rem; }

/* ===== 12. FAQ (mobile-first) ===== */
.faq { padding:48px 0; }
.faq-grid { display:grid; grid-template-columns:1fr; gap:10px; max-width:900px; margin:0 auto; }
.faq-item {
  background:var(--white); border-radius:var(--radius-sm);
  box-shadow:var(--shadow); overflow:hidden;
}
.faq-q {
  width:100%; padding:12px 16px; display:flex; justify-content:space-between; align-items:center;
  background:none; border:none; cursor:pointer; font-family:'Inter',sans-serif;
  font-size:.85rem; font-weight:600; color:var(--brown); text-align:left; transition:var(--transition);
  gap:10px;
}
.faq-q:hover { color:var(--rose); }
.faq-q .arrow { transition:var(--transition); font-size:1rem; color:var(--rose); flex-shrink:0; }
.faq-item.open .faq-q .arrow { transform:rotate(180deg); }
.faq-a { padding:0 16px; max-height:0; overflow:hidden; transition: max-height .4s ease, padding .4s ease; }
.faq-item.open .faq-a { max-height:200px; padding:0 16px 14px; }
.faq-a p { font-size:.82rem; color:#6b5249; }

/* ===== 13. CTA FINAL (mobile-first) ===== */
.final-cta {
  padding:48px 0; text-align:center;
  background: linear-gradient(135deg, var(--beige), #f0d5c9, var(--beige));
}
.final-cta h2 { margin-bottom:12px; }
.final-cta p { max-width:560px; margin:0 auto 24px; color:#6b5249; font-size:.92rem; }

/* ===== 14. RODAPÉ (mobile-first) ===== */
.footer { position:relative; }

.footer-inner {
  background:linear-gradient(180deg, #6A453D 0%, #4A2D26 100%);
  padding:40px 0 28px;
  text-align:center;
  border-top:1px solid rgba(201,167,106,.18);
}

/* Logo no footer */
.footer-logo {
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  margin-bottom:14px;
}
.footer-logo-text {
  font-family:'Playfair Display',serif; font-size:1.2rem;
  color:rgba(255,255,255,.9); font-weight:600; letter-spacing:.01em;
}
.footer-logo-text em { font-style:italic; color:#e8b4bb; }
.logo-mark--light { filter:drop-shadow(0 1px 4px rgba(232,180,187,.3)); }

/* Tagline */
.footer-tagline {
  font-size:.84rem; color:rgba(255,255,255,.55); line-height:1.6;
  margin-bottom:0; max-width:360px; margin-left:auto; margin-right:auto;
}

/* Divisor */
.footer-divider {
  width:40px; height:1px; margin:18px auto;
  background:linear-gradient(90deg, transparent, rgba(201,167,106,.35), transparent);
}

/* Links */
.footer-links {
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.footer-links a {
  color:rgba(255,255,255,.45); transition: var(--transition); font-size:.76rem;
  letter-spacing:.02em;
}
.footer-links a:hover { color:#C9A76A; }

/* ============================================
   TABLET (min-width: 600px)
   ============================================ */
@media(min-width:600px){
  .hero-content h1 { font-size:2rem; }
  .section-title { font-size:1.65rem; }
  .pain-grid { grid-template-columns:1fr 1fr; gap:18px; }
  .solution-grid { grid-template-columns:1fr 1fr; gap:18px; }
  .inside-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .benefits-grid { grid-template-columns:1fr 1fr; }
  .who-grid { grid-template-columns:repeat(3, 1fr); gap:12px; }
  .offer-card { padding:40px 28px; }
  .btn-primary { font-size:1rem; padding:15px 36px; }
  .footer-links { flex-direction:row; gap:24px; justify-content:center; }
  .logo-mark { width:38px; height:38px; }
  .logo-text { font-size:1.35rem; }
  .demo-gallery img { max-width:80vw; }
}

/* ============================================
   TABLET LANDSCAPE (min-width: 768px)
   ============================================ */
@media(min-width:768px){
  .hero { padding:110px 0 64px; }
  .hero .container { flex-direction:row; text-align:left; gap:40px; }
  .hero-content { flex:1; min-width:280px; }
  .hero-content h1 { font-size:2.2rem; }
  .hero-content p { margin-left:0; margin-right:0; }
  .hero-desc { margin-bottom: 32px; }
  .hero-image { flex:1; min-width:260px; }
  .hero-image img { max-height:420px; }
  .hero-image .float-tag.t1 { left:-10px; bottom:50px; }
  .hero-image .float-tag.t2 { right:-10px; top:50px; }
  .hero-image .float-tag { font-size:.75rem; padding:7px 14px; }

  .section-title { font-size:1.8rem; }
  .section-subtitle { font-size:1rem; margin-bottom:40px; }
  .pain-highlight { font-size:1.8rem; }
  .reels-title { font-size:1.2rem; }
  .closing-headline { font-size:1.7rem; }
  .closing-sub { font-size:1.15rem; }

  .pain, .solution, .whats-inside, .benefits, .for-who, .demo,
  .faq, .final-cta { padding:64px 0; }
  .offer { padding:64px 0; }
  .guarantee-area { padding:40px 0 20px; }
  .creator-area { padding:20px 0 56px; }

  .pain-card { padding:24px 22px; }
  .pain-card .icon { width:40px; height:40px; font-size:1.2rem; }
  .pain-card h4 { font-size:.92rem; }

  .transform-visual { flex-direction:row; gap:24px; }
  .transform-card { flex:1; min-width:auto; }
  .transform-card img { height:240px; }
  .transform-arrow { display:flex; }

  .solution-benefits { grid-template-columns:1fr 1fr; }
  .inside-grid { grid-template-columns:repeat(3, 1fr); }
  .benefits-grid { grid-template-columns:1fr 1fr; gap:18px; }
  .who-grid { grid-template-columns:repeat(4, 1fr); }

  .creator-inner { flex-direction:row; text-align:left; gap:36px; }
  .creator-photo { width:150px; height:150px; }
  .creator-text { min-width:260px; }
  .creator-text h2 { font-size:1.7rem; margin-bottom:16px; }
  .creator-text p { margin-left:0; margin-right:0; }

  .faq-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .faq-q { padding:14px 18px; font-size:.88rem; }
  .faq-a { padding:0 18px; }
  .faq-item.open .faq-a { padding:0 18px 14px; }

  .solution-grid { grid-template-columns:repeat(3, 1fr); }

  .demo-gallery { overflow:visible; }
  .demo-gallery img { max-width:100%; flex-shrink:1; }
}

/* ============================================
   DESKTOP (min-width: 1024px)
   ============================================ */
@media(min-width:1024px){
  .hero { padding:120px 0 80px; }
  .hero .container { gap:48px; }
  .hero-content h1 { font-size:2.8rem; margin-bottom:20px; }
  .hero-content p { font-size:1.05rem; }
  .hero-strong { font-size:1.15rem; padding-top:12px; }
  .hero-image img { max-height:500px; border-radius:24px; }
  .hero-image .float-tag { font-size:.78rem; padding:8px 16px; border-radius:12px; }
  .hero-badge { font-size:.78rem; padding:6px 14px; }

  .section-title { font-size:2.2rem; margin-bottom:16px; }
  .pain-highlight { font-size:2.2rem; }
  .reels-title { font-size:1.3rem; }
  .closing-headline { font-size:2rem; }
  .closing-sub { font-size:1.25rem; }

  .pain, .solution, .whats-inside, .benefits, .for-who, .demo,
  .faq, .final-cta { padding:80px 0; }
  .offer { padding:80px 0; }
  .guarantee-area { padding:48px 0 24px; }
  .creator-area { padding:24px 0 64px; }

  .solution-grid { grid-template-columns:repeat(5, 1fr); gap:20px; }
  .solution-card { padding:28px 20px; }

  .pain-grid { grid-template-columns:repeat(4, 1fr); gap:20px; }
  .pain-card { padding:28px 24px; }
  .pain-card h4 { font-size:.95rem; }

  .solution-benefits { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
  .inside-grid { grid-template-columns:repeat(5, 1fr); gap:24px; }
  .inside-card { padding:32px 24px; }
  .inside-card .card-icon { width:56px; height:56px; font-size:1.4rem; }
  .inside-card h4 { font-size:1rem; }
  .inside-card p { font-size:.85rem; }

  .benefits-grid { grid-template-columns:repeat(4, 1fr); gap:20px; }
  .benefit-item { padding:22px 20px; }

  .who-grid { grid-template-columns:repeat(4, 1fr); gap:14px; }
  .who-tag { font-size:.88rem; padding:12px 20px; }

  .offer-grid { grid-template-columns:1fr 1fr; gap:28px; max-width:960px; margin-left:auto; margin-right:auto; }
  .offer-card { padding:40px 32px; }
  .offer-card h3 { font-size:1.3rem; }
  .price-new { font-size:2.8rem; }
  .price-new small { font-size:1.2rem; }

  .guarantee-box { padding:28px 36px; gap:24px; }
  .guarantee-icon { width:56px; height:56px; }
  .guarantee-box h3 { font-size:1.15rem; }

  .creator-inner { gap:48px; }
  .creator-photo { width:170px; height:170px; }
  .creator-text h2 { font-size:2rem; }
  .creator-text p { font-size:.95rem; }

  .faq-grid { gap:12px; }
  .faq-q { padding:16px 20px; font-size:.9rem; }

  .btn-primary { font-size:1.05rem; padding:16px 40px; }

  .footer-inner { padding:52px 0 36px; }
  .footer-tagline { font-size:.88rem; }
  .footer-logo-text { font-size:1.3rem; }
  .logo-mark { width:40px; height:40px; }
  .logo-text { font-size:1.4rem; }
}

/* ============================================
   NEW STYLES (Acessibilidade, Testimonials, etc)
   ============================================ */
:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 4px;
}

.mid-cta {
  padding: 40px 0;
  text-align: center;
  background: var(--white);
}

/* --- Testimonials --- */
.testimonials { padding: 48px 0; background: var(--bg); }
.testimonials-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
.testimonial-card {
  background: var(--white); border-radius: var(--radius); padding: 24px;
  box-shadow: var(--shadow); border: 1px solid var(--beige); text-align: left;
}
.testimonial-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.testimonial-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.testimonial-info { display: flex; flex-direction: column; }
.testimonial-author { font-size: .9rem; font-weight: 600; color: var(--brown); display: flex; align-items: center; gap: 6px; }
.verified-badge { color: #3b9f65; font-size: .8rem; display: flex; align-items: center; }
.testimonial-role { font-size: .75rem; color: var(--nude); }
.testimonial-stars { color: var(--gold); font-size: 1.1rem; margin-bottom: 12px; }
.testimonial-text { font-size: .9rem; color: #6b5249; font-style: italic; margin-bottom: 0; line-height: 1.6; }

/* --- WhatsApp Float --- */
.whatsapp-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  background: #25D366; color: white; display: flex; align-items: center; gap: 8px;
  padding: 12px; border-radius: 50px; box-shadow: 0 4px 16px rgba(37,211,102,.3);
  transition: var(--transition); text-decoration: none; font-size: .9rem; font-weight: 600;
}
.whatsapp-float:hover { transform: translateY(-4px); box-shadow: 0 6px 20px rgba(37,211,102,.4); color: white; }
.whatsapp-float svg { width: 24px; height: 24px; fill: currentColor; }
.whatsapp-text { display: none; }

/* --- Footer Legal --- */
.footer-legal {
  margin-top: 32px; font-size: .75rem; color: rgba(255,255,255,.3); line-height: 1.5;
  max-width: 800px; margin-left: auto; margin-right: auto;
}
.disclaimer-text { margin-bottom: 8px; }

@media (min-width: 768px) {
  .testimonials { padding: 64px 0; }
  .testimonials-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .whatsapp-text { display: inline-block; padding-right: 8px; }
}

@media (min-width: 1024px) {
  .testimonials { padding: 80px 0; }
  .testimonial-card { padding: 32px; }
}

@media (max-width: 380px) {
  .pain, .solution, .whats-inside, .benefits, .for-who, .demo,
  .faq, .final-cta, .offer, .testimonials, .mid-cta, .hero {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

