:root{
  --bg:#FFFBF5;
  --bg-alt:#FFF4E8;
  --fg:#2B2320;
  --fg-soft:rgba(43,35,32,.72);
  --fg-faint:rgba(43,35,32,.5);
  --green:#1F7A5A;
  --green-bg:#D9F5E8;
  --coral:#FF6B4A;
  --coral-dark:#E8502F;
  --yellow:#FFD166;
  --card:#FFFFFF;
  --border:#F0E2D2;
  --shadow:0 12px 30px -12px rgba(43,35,32,.18);
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:12px;
  --max:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:'Nunito',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:'Baloo 2',system-ui,sans-serif;
  font-weight:700;
  margin:0;
  line-height:1.15;
}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}
.section{padding:72px 20px;}
.section-alt{background:var(--bg-alt);}
.center{text-align:center;}
.narrow{max-width:640px;margin:0 auto;}

.eyebrow{
  display:inline-block;
  background:var(--green-bg);
  color:var(--green);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-radius:999px;
  padding:6px 14px;
  margin-bottom:14px;
}
.eyebrow.coral{background:#FFE4DB;color:var(--coral-dark);}

h2{font-size:clamp(28px,4vw,40px);margin-bottom:18px;}
h2 .accent{color:var(--coral);}
.section-sub{color:var(--fg-soft);font-size:17px;margin-bottom:44px;}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:'Baloo 2',sans-serif;
  font-weight:700;
  font-size:18px;
  padding:18px 30px;
  border-radius:999px;
  border:none;
  width:100%;
  text-align:center;
}
.btn-primary{
  background:linear-gradient(180deg,var(--coral),var(--coral-dark));
  color:#fff;
  box-shadow:0 14px 28px -10px rgba(232,80,47,.55);
}
.btn-primary:hover{filter:brightness(1.04);}

.trust-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  margin-top:18px;
  font-size:13px;
  font-weight:700;
  color:var(--fg-soft);
}
.trust-row span{display:flex;align-items:center;gap:6px;}

/* Header badge bar */
.top-banner{
  background:var(--green);
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
  padding:10px 16px;
}

/* Hero */
.hero{padding:56px 20px 64px;}
.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  align-items:center;
  max-width:var(--max);
  margin:0 auto;
}
@media(min-width:900px){
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:56px;}
}
.hero-eyebrow{color:var(--green);font-weight:800;font-size:14px;margin-bottom:14px;}
.hero h1{font-size:clamp(34px,5.4vw,54px);margin-bottom:20px;}
.hero h1 .accent{color:var(--coral);}
.hero p.lead{font-size:18px;color:var(--fg-soft);margin-bottom:0;}
.hero-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:28px;
  box-shadow:var(--shadow);
}
.hero-card img{border-radius:var(--radius-md);margin-bottom:20px;}
.chips-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.chip{
  background:var(--bg-alt);
  border-radius:999px;
  padding:7px 13px;
  font-size:13px;
  font-weight:700;
  color:var(--fg-soft);
}
.rating-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.stars{color:var(--yellow);font-size:15px;letter-spacing:2px;}
.rating-num{font-weight:800;}
.rating-count{color:var(--fg-faint);font-size:13px;}
.price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.price-old{color:var(--fg-faint);text-decoration:line-through;font-size:16px;}
.price-new{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:38px;color:var(--coral-dark);}
.price-note{font-size:13px;color:var(--fg-faint);margin-bottom:18px;}

/* Pain section cards */
.pain-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-bottom:36px;
}
@media(min-width:720px){.pain-grid{grid-template-columns:1fr 1fr;}}
.pain-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:24px;
}
.pain-card h3{font-size:19px;margin-bottom:8px;}
.pain-card p{color:var(--fg-soft);font-size:15px;}
.reassure{
  background:var(--green-bg);
  border-radius:var(--radius-md);
  padding:22px 26px;
  text-align:center;
  font-size:17px;
  font-weight:700;
  color:var(--green);
}
.reassure strong{display:block;font-size:19px;margin-top:4px;}

/* Gallery / carousel */
.gallery-wrap{position:relative;max-width:880px;margin:0 auto 36px;}
.gallery{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:6px 4px 16px;
  -webkit-overflow-scrolling:touch;
}
.gallery::-webkit-scrollbar{height:6px;}
.gallery::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;}
.gallery figure{
  flex:0 0 auto;
  width:220px;
  scroll-snap-align:start;
  margin:0;
}
.gallery img{
  border-radius:var(--radius-md);
  border:1px solid var(--border);
  aspect-ratio:1229/1536;
  object-fit:cover;
}
.gallery-nav{
  position:absolute;top:45%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--border);
  box-shadow:var(--shadow);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.gallery-nav.prev{left:-14px;}
.gallery-nav.next{right:-14px;}
@media(max-width:640px){.gallery-nav{display:none;}}

.feature-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.feature-chips .chip{background:var(--card);border:1px solid var(--border);}

/* Bonus cards */
.bonus-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-bottom:34px;
}
@media(min-width:720px){.bonus-grid{grid-template-columns:repeat(3,1fr);}}
.bonus-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.bonus-card img{aspect-ratio:4/3;object-fit:cover;}
.bonus-body{padding:18px;}
.bonus-tag{
  display:inline-block;background:var(--green-bg);color:var(--green);
  font-size:11px;font-weight:800;text-transform:uppercase;
  border-radius:999px;padding:4px 10px;margin-bottom:10px;
}
.bonus-body h4{font-size:17px;margin-bottom:6px;}
.bonus-body p{color:var(--fg-soft);font-size:13.5px;margin-bottom:14px;min-height:38px;}
.bonus-price-row{display:flex;align-items:center;justify-content:space-between;}
.bonus-price-old{color:var(--fg-faint);text-decoration:line-through;font-size:13px;}
.bonus-free{color:var(--green);font-weight:800;font-size:15px;}
.bonus-total{
  background:var(--green);
  color:#fff;
  border-radius:var(--radius-md);
  padding:22px;
  text-align:center;
}
.bonus-total .old{opacity:.75;text-decoration:line-through;font-size:15px;}
.bonus-total .now{font-family:'Baloo 2',sans-serif;font-size:26px;font-weight:800;}

/* Benefits */
.benefit-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
@media(min-width:720px){.benefit-grid{grid-template-columns:repeat(3,1fr);}}
.benefit-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:22px;text-align:center;
}
.benefit-card .ico{font-size:28px;margin-bottom:10px;}
.benefit-card h4{font-size:16px;margin-bottom:4px;}
.benefit-card span{color:var(--fg-faint);font-size:12.5px;}

/* Steps */
.steps-grid{
  display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px;
}
@media(min-width:720px){.steps-grid{grid-template-columns:repeat(4,1fr);}}
.step-card{text-align:center;padding:8px;}
.step-num{
  width:52px;height:52px;border-radius:50%;
  background:var(--coral);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:20px;
  margin:0 auto 14px;
}
.step-card h4{font-size:17px;margin-bottom:6px;}
.step-card p{color:var(--fg-soft);font-size:14px;}

/* Pricing cards */
.pricing-grid{
  display:grid;grid-template-columns:1fr;gap:28px;max-width:920px;margin:0 auto;
}
@media(min-width:820px){.pricing-grid{grid-template-columns:1fr 1fr;align-items:start;}}
.price-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:30px;
  position:relative;
}
.price-card.featured{
  border:2px solid var(--coral);
  box-shadow:var(--shadow);
}
.badge-pop{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--coral);color:#fff;font-size:12px;font-weight:800;
  padding:6px 16px;border-radius:999px;white-space:nowrap;
}
.price-card img{border-radius:var(--radius-md);margin-bottom:18px;aspect-ratio:4/3;object-fit:cover;}
.price-card h3{font-size:22px;margin-bottom:4px;}
.price-card .stars-row{color:var(--fg-faint);font-size:13px;margin-bottom:16px;font-weight:700;}
.feat-list{margin-bottom:20px;}
.feat-list li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:14.5px;color:var(--fg);padding:6px 0;
}
.feat-list li::before{content:"✓";color:var(--green);font-weight:800;flex:0 0 auto;}
.callout-alert{
  background:#FFF1E6;color:var(--coral-dark);
  border-radius:var(--radius-sm);padding:14px 16px;
  font-size:13.5px;font-weight:700;text-align:center;margin-top:18px;
}

/* Testimonials */
.testi-grid{
  display:grid;grid-template-columns:1fr;gap:20px;
}
@media(min-width:720px){.testi-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1020px){.testi-grid{grid-template-columns:repeat(3,1fr);}}
.testi-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:22px;
}
.testi-card p{font-size:14.5px;color:var(--fg);margin-bottom:18px;font-style:italic;}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-person img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.testi-person strong{display:block;font-size:14px;}
.testi-person span{font-size:12.5px;color:var(--fg-faint);}

/* Guarantee */
.guarantee-box{
  max-width:760px;margin:0 auto;text-align:center;
  background:var(--green-bg);border-radius:var(--radius-lg);
  padding:46px 30px;
}
.guarantee-box .ico{font-size:44px;margin-bottom:14px;}
.guarantee-box p{color:var(--fg-soft);font-size:16px;margin-top:14px;}
.guarantee-box strong{color:var(--green);}

/* FAQ */
.faq-list{max-width:760px;margin:0 auto;}
details.faq-item{
  border-bottom:1px solid var(--border);
  padding:6px 0;
}
details.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 4px;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:16px;
  cursor:pointer;list-style:none;
}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary .chev{transition:transform .2s ease;color:var(--fg-faint);}
details.faq-item[open] summary .chev{transform:rotate(180deg);}
details.faq-item .faq-answer{
  color:var(--fg-soft);font-size:14.5px;padding:0 4px 16px;
}

/* Final CTA */
.final-cta{
  background:var(--green);color:#fff;text-align:center;border-radius:var(--radius-lg);
  padding:56px 28px;max-width:900px;margin:0 auto;
}
.final-cta h2{color:#fff;margin-bottom:14px;}
.final-cta p{color:rgba(255,255,255,.85);font-size:16px;margin-bottom:26px;max-width:520px;margin-left:auto;margin-right:auto;}
.final-cta .btn-primary{max-width:360px;margin:0 auto;}
.final-cta .price-note{color:rgba(255,255,255,.7);margin-bottom:16px;}
.final-cta .fine{margin-top:18px;font-size:13px;color:rgba(255,255,255,.75);}

/* Footer */
footer{
  border-top:1px solid var(--border);
  padding:36px 20px;
  text-align:center;
  color:var(--fg-faint);
  font-size:13.5px;
}
footer .foot-brand{font-family:'Baloo 2',sans-serif;font-weight:700;color:var(--fg);margin-bottom:6px;font-size:16px;}
footer .foot-links{margin-top:14px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
footer .foot-links a{text-decoration:underline;}

/* Legal pages */
.legal-wrap{max-width:720px;margin:0 auto;padding:64px 20px 90px;}
.legal-wrap a.back{color:var(--green);font-weight:700;font-size:14px;display:inline-block;margin-bottom:24px;}
.legal-wrap h1{font-size:32px;margin-bottom:6px;}
.legal-wrap .updated{color:var(--fg-faint);font-size:13.5px;margin-bottom:34px;}
.legal-wrap h2{font-size:19px;margin:28px 0 10px;}
.legal-wrap p{color:var(--fg-soft);font-size:15px;}

/* Custom mock cover cards (replace baked-in-Portuguese product photos) */
.mock-cover{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  border-radius:var(--radius-md);
  border:1px solid var(--border);
  padding:22px 16px 18px 38px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  overflow:hidden;
}
.mock-cover::before{
  content:"";
  position:absolute;left:9px;top:12px;bottom:12px;width:9px;
  background-image:radial-gradient(circle,rgba(43,35,32,.25) 2.6px,transparent 3px);
  background-size:9px 15px;background-repeat:repeat-y;
}
.mock-cover .mock-emoji{font-size:40px;line-height:1;margin-bottom:2px;}
.mock-cover .mock-title{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:15px;color:var(--fg);}
.mock-cover .mock-tag{font-size:11px;font-weight:700;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.03em;}

.hero-card .mock-cover,
.price-card .mock-cover{aspect-ratio:4/3;padding:22px 20px 18px 40px;}
.hero-card .mock-cover .mock-emoji,
.price-card .mock-cover .mock-emoji{font-size:52px;}
.hero-card .mock-cover .mock-title,
.price-card .mock-cover .mock-title{font-size:19px;}
.mock-stack{display:flex;gap:6px;font-size:26px;margin-bottom:4px;}

.bonus-card .mock-cover{aspect-ratio:4/3;border-radius:0;border:none;border-bottom:1px solid var(--border);padding:18px 14px 14px 34px;}
