/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#0a0a0a;color:hsl(0 0% 88%);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit}

/* === VARIABLES === */
:root{
  --accent:#0ea5e9;
  --accent-glow:rgba(14,165,233,.15);
  --accent-border:rgba(14,165,233,.3);
  --bg-deep:#000;
  --bg-dark:hsl(0 0% 5%);
  --bg-mid:hsl(0 0% 8%);
  --cream:#F1F3E5;
  --card-bg:rgba(255,255,255,0.03);
  --card-border:rgba(255,255,255,0.06);
  --muted:hsl(0 0% 72%);
  --white:#fff;
}

/* === CONTAINER === */
.container{max-width:1280px;margin:0 auto}

/* === SCROLL PROGRESS === */
#scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:10000;pointer-events:none}

/* === SECTION STYLES === */
.section-dark{background:var(--bg-dark);box-shadow:inset 0 0 120px rgba(0,0,0,.3);position:relative}
.section-dark-mid{background:var(--bg-mid);box-shadow:inset 0 0 80px rgba(0,0,0,.2);position:relative}
.section-heading{font-family:'DM Sans',system-ui,sans-serif;font-size:clamp(1.75rem,5vw,3.25rem);text-transform:uppercase;letter-spacing:-.02em;line-height:1;font-weight:800;color:var(--white)}

/* === HERO === */
.hero{position:relative;overflow:hidden;padding:100px 0 80px;text-align:center}
.hero .container{padding:0 24px;position:relative;z-index:1}
.hero-eyebrow{animation:fadeInDown .5s ease .2s both;font-size:14px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;display:inline-flex;align-items:center;gap:8px}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s ease infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.hero-headline{animation:fadeInDown .6s ease .3s both;font-size:clamp(2rem,6vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--white);margin-bottom:24px;max-width:900px;margin-left:auto;margin-right:auto}
.hero-headline .highlight{color:var(--accent)}
.hero-sub{animation:fadeInDown .5s ease .5s both;font-size:18px;color:hsl(0 0% 75%);max-width:640px;margin:0 auto 40px;line-height:1.7}
.hero-sub strong{color:#fff;font-weight:700}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}

/* === REVEAL ANIMATIONS === */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-20px);transition:opacity .6s ease,transform .6s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal-stagger.visible>*:nth-child(1){transition-delay:0s;opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(3){transition-delay:.15s;opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(4){transition-delay:.2s;opacity:1;transform:translateY(0)}

/* === BRAND STRIP / MARQUEE === */
.brand-strip{background:var(--accent);padding:10px 0;overflow:hidden;white-space:nowrap;contain:content}
.brand-strip-inner{display:flex;will-change:transform;animation:marquee 25s linear infinite;color:#000;font-family:'DM Sans',system-ui,sans-serif;font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.brand-strip-inner{animation:none}}

/* === CTA BUTTONS === */
.cta-primary{display:inline-flex;align-items:center;justify-content:center;padding:18px 44px;font-weight:800;text-transform:uppercase;border-radius:9999px;min-width:340px;font-size:18px;letter-spacing:.1em;background:var(--accent);color:#fff;position:relative;overflow:hidden;cursor:pointer;border:none;text-decoration:none;transition:transform .2s,box-shadow .2s}
.cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(14,165,233,.35)}
.cta-primary span{position:relative;z-index:10}

/* === PILL TAG === */
.pill-tag{display:inline-block;padding:6px 16px;border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:var(--accent);color:#fff}

/* === CARD DARK === */
.card-dark{background:var(--card-bg);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:32px;position:relative;overflow:hidden;transition:border-color .3s,transform .2s}
.card-dark:hover{border-color:var(--accent-border);transform:translateY(-2px)}

/* === PAIN SECTION === */
.pain-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:800px;margin:0 auto}
.pain-item{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:8px}
.pain-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.pain-text{font-size:16px;color:hsl(0 0% 75%);line-height:1.6}
.pain-text strong{color:#fff}

/* === RESULTS GRID === */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto}
.result-card{text-align:center;padding:32px 20px;background:rgba(14,165,233,.04);border:1px solid var(--accent-border);border-radius:8px}
.result-number{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:var(--accent);line-height:1;margin-bottom:8px}
.result-label{font-size:14px;color:hsl(0 0% 70%);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* === WORKSHOP SECTION === */
.workshop-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:900px;margin:0 auto}
.workshop-day{background:hsl(0 0% 8%);border:1px solid hsl(0 0% 12%);border-radius:8px;padding:28px 24px;position:relative;overflow:hidden}
.workshop-day::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .25s}
.workshop-day:hover::before{opacity:1}
.workshop-day-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;background:var(--accent);color:#fff}
.workshop-day-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:-.01em}
.workshop-day-topics{list-style:none;padding:0}
.workshop-day-topics li{padding:8px 0;color:hsl(0 0% 72%);font-size:15px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid rgba(255,255,255,.04)}
.workshop-day-topics li:last-child{border-bottom:none}
.workshop-day-topics li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:8px}

/* === ABOUT SECTION === */
.about-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;max-width:900px;margin:0 auto}
.about-stats{display:flex;gap:32px;margin-top:24px;flex-wrap:wrap}
.about-stat{text-align:center}
.about-stat-num{font-size:28px;font-weight:800;color:var(--accent)}
.about-stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* === BONUS SECTION === */
.bonus-wrapper{position:relative}
.bonus-card{background:rgba(14,165,233,.04);border:1.5px solid var(--accent-border);border-radius:12px;padding:40px 32px;max-width:700px;position:relative;overflow:hidden}
.bonus-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(14,165,233,.08) 0%,transparent 60%);pointer-events:none}
.bonus-value{font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:20px}
.bonus-features{list-style:none;padding:0;margin-top:20px}
.bonus-features li{padding:8px 0;color:hsl(0 0% 75%);font-size:15px;display:flex;align-items:flex-start;gap:10px}
.bonus-features li::before{content:'✓';color:var(--accent);font-weight:700;flex-shrink:0}

/* Imagem flutuante do WhatchApp */
.bonus-image-float{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:480px;z-index:1;pointer-events:none}
.bonus-float-img{width:100%;border-radius:12px;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 20%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.7) 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,1) 20%,rgba(0,0,0,1) 80%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 20%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.7) 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,1) 20%,rgba(0,0,0,1) 80%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in;opacity:.6}
.bonus-wa-icon{filter:drop-shadow(0 4px 24px rgba(37,211,102,.4))}

@media(max-width:767px){
  .bonus-image-float{position:relative;right:auto;top:auto;transform:none;width:100%;margin-bottom:24px}
  .bonus-float-img{mask-image:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,transparent 100%);opacity:.5}
  .bonus-wa-icon{top:8px!important;right:16px!important}
  .bonus-card{max-width:100%}
}

/* === FAQ === */
.faq-item{border-bottom:1px solid rgba(255,255,255,.06)}
.faq-question{color:#fff;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:20px 0;width:100%;background:none;border:none;text-align:left;font-size:16px;font-family:inherit;gap:12px}
.faq-icon{color:var(--accent);font-size:1.5rem;transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{color:hsl(0 0% 75%);overflow:hidden;max-height:0;transition:max-height .3s,padding .3s;font-size:16px;line-height:1.6}
.faq-item.open .faq-answer{max-height:400px;padding-bottom:20px}

/* === FLOATING CTA === */
.floating-cta{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:10px 16px;background:rgba(10,10,10,.95);border-top:1px solid rgba(255,255,255,.06);transform:translateY(100%);transition:transform .3s ease}
.floating-cta.is-visible{transform:translateY(0)}

/* === FOOTER === */
.footer{padding:32px 0;text-align:center;font-size:13px;color:hsl(0 0% 40%);border-top:1px solid rgba(255,255,255,.04)}

/* === MEDIA QUERIES === */
@media(max-width:767px){
  section p,section li,.faq-question,.faq-answer,.pain-text,.hero-sub{font-size:16px!important}
  .cta-primary{min-width:0;width:100%;max-width:360px;margin-left:auto;margin-right:auto;font-size:16px;padding:16px 20px;letter-spacing:.08em}
  .pill-tag{padding:4px 10px;font-size:10px;letter-spacing:.05em}
  .brand-strip{padding:8px 0}
  .brand-strip-inner{font-size:.85rem}
  .floating-cta{display:block}
  .faq-question{padding:18px 0}
  main{padding-bottom:64px}
  .results-grid{grid-template-columns:1fr;gap:16px}
  .about-grid{padding:0 16px}
  .about-stats{justify-content:center}
}

@media(min-width:768px){
  .floating-cta{display:none}
  .workshop-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr 1fr}
  .faq-question{font-size:18px}
  .faq-answer{font-size:18px}
  body.loaded::after{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E") repeat;background-size:128px 128px;opacity:.4;pointer-events:none;z-index:9999;contain:strict}
}
