/* ClaudeBuilder — Frontend CSS (site publicado) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.cb-page{font-family:'DM Sans',sans-serif;color:#0f172a}
img{max-width:100%;height:auto;display:block}

/* Blocos base */
section,nav,footer{width:100%}

/* ── SEÇÕES: padding padrão ── */
section.bv-hero,section.bv-about,section.bv-services,section.bv-testimonials,
section.bv-test,section.bv-faq,section.bv-counter,section.bv-pricing,
section.bv-form,section.bv-gallery,section.bv-video,section.bv-timeline,
section.bv-map,section.bv-logos,section.bv-cta,section.bv-text,footer.bv-footer {
  padding:72px 48px;
}
nav.bv-nav { padding:0 48px; }

/* ── HERO ── */
.bv-hero{min-height:500px;display:flex;align-items:center;justify-content:center;position:relative}
.bv-hero--center{flex-direction:column;text-align:center}
.bv-hero--split{flex-direction:row;text-align:left;gap:48px}
.bv-hero--rev{flex-direction:row-reverse}
.bv-hero--full{min-height:100vh}
.bv-hero--grad{background:linear-gradient(135deg,#7c5cfc,#9d82fd)}
.bv-hero-content{max-width:640px}
.bv-hero--center .bv-hero-content{max-width:780px}
.bv-hero-img{flex:1;min-height:360px;border-radius:16px;overflow:hidden;background:#1e293b}
.bv-hero-img-ph{width:100%;height:100%;min-height:360px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center}
.bv-hero-overlay{position:absolute;inset:0}
.bv-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(124,92,252,.15);color:#7c5cfc;border:1px solid rgba(124,92,252,.3);padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:600;margin-bottom:16px}
.bv-hero-content h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;margin-top:8px}
.bv-hero-content p{font-size:1.1rem;opacity:.75;margin-top:14px;line-height:1.6}
.bv-hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.bv-hero--center .bv-hero-btns{justify-content:center}

/* ── BOTÕES ── */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:#7c5cfc;color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;transition:opacity .2s}
.btn-primary:hover{opacity:.85}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(124,92,252,.4);color:#7c5cfc;padding:11px 24px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;transition:background .2s}
.btn-ghost:hover{background:rgba(124,92,252,.06)}

/* ── NAV ── */
.bv-nav{display:flex;align-items:center;justify-content:space-between;height:64px;background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 #f1f5f9}
.bv-nav-logo{font-weight:700;font-size:1.1rem}
.bv-nav-menu{display:flex;list-style:none;gap:24px;margin:0;padding:0}
.bv-nav-menu a{text-decoration:none;color:#475569;font-size:.9rem;transition:color .2s}
.bv-nav-menu a:hover{color:#7c5cfc}
.bv-nav-cta{display:inline-flex;padding:8px 18px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.875rem;font-weight:600;text-decoration:none;color:#0f172a;transition:border-color .2s}
.bv-nav-cta:hover{border-color:#7c5cfc;color:#7c5cfc}

/* ── ABOUT ── */
.bv-about{display:flex;gap:60px;align-items:center}
.bv-about--left{flex-direction:row}
.bv-about--right{flex-direction:row-reverse}
.bv-about--stack{flex-direction:column}
.bv-about-img{flex:1;min-height:360px;border-radius:16px;overflow:hidden;background:#f1f5f9}
.bv-img-ph{width:100%;height:100%;min-height:360px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:3rem}
.bv-about-body{flex:1}
.bv-about-body h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;margin:12px 0}
.bv-about-stats{display:flex;gap:32px;margin-top:24px}
.bv-stat strong{display:block;font-size:2rem;font-weight:700;color:#7c5cfc}
.bv-stat span{font-size:.875rem;color:#64748b}

/* ── SERVICES ── */
.bv-services .bv-sec-head{text-align:center;margin-bottom:40px}
.bv-services .bv-sec-head h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700}
.bv-services .bv-sec-head p{color:#64748b;margin-top:8px}
.bv-cards-grid{display:grid;gap:24px}
.bv-card{background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:28px;transition:box-shadow .2s}
.bv-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08)}
.bv-card-icon{font-size:2rem;margin-bottom:12px}
.bv-card h3{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.bv-card p{font-size:.9rem;color:#64748b;line-height:1.6}

/* ── TESTIMONIALS ── */
.bv-test .bv-sec-head,.bv-test>div[style*="text-align:center"]{margin-bottom:32px}
.bv-test h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700}
.bv-test-grid{display:grid;gap:24px}
.bv-test-card{background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:24px}
.bv-stars{font-size:1.1rem;margin-bottom:10px}
.bv-quote{font-size:.95rem;color:#475569;line-height:1.6;margin-bottom:16px;font-style:italic}
.bv-test-author{display:flex;align-items:center;gap:10px}
.bv-avatar{width:36px;height:36px;border-radius:50%;background:#7c5cfc;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}
.bv-author-name{font-weight:600;font-size:.9rem}
.bv-author-role{font-size:.8rem;color:#94a3b8}

/* ── FAQ ── */
.bv-faq h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;margin-bottom:32px;text-align:center}
.bv-faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.bv-faq-item{border-bottom:1px solid #f1f5f9}
.bv-faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-weight:600;cursor:pointer;user-select:none;font-size:.95rem;gap:12px}
.bv-faq-ico{font-size:1.2rem;color:#7c5cfc;transition:transform .2s;flex-shrink:0}
.bv-faq-item.open .bv-faq-ico{transform:rotate(45deg)}
.bv-faq-a{display:none;padding-bottom:16px;color:#475569;font-size:.9rem;line-height:1.7}
.bv-faq-item.open .bv-faq-a{display:block}

/* ── COUNTER ── */
.bv-counter{text-align:center}
.bv-counter-grid{display:grid;gap:32px}
.bv-counter-item{display:flex;flex-direction:column;align-items:center;gap:4px}
.bv-counter-num{font-size:3rem;font-weight:800;line-height:1}
.bv-counter-suf{font-size:1.5rem;font-weight:700}
.bv-counter-label{font-size:.875rem;opacity:.7;margin-top:4px}

/* ── PRICING ── */
.bv-pricing{text-align:center}
.bv-pricing h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;margin-bottom:40px}
.bv-pricing-grid{display:grid;gap:24px}
.bv-pricing-card{border:2px solid #e2e8f0;border-radius:16px;padding:32px 24px;text-align:left;position:relative}
.bv-pricing-card.featured{border-color:#7c5cfc;box-shadow:0 8px 32px rgba(124,92,252,.15)}
.bv-pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#7c5cfc;color:#fff;padding:4px 14px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}
.bv-pricing-name{font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.bv-pricing-price{font-size:2.5rem;font-weight:800;margin-bottom:4px;line-height:1}
.bv-pricing-price small{font-size:.9rem;font-weight:400;color:#64748b;margin-left:2px}
.bv-pricing-features{list-style:none;padding:16px 0;margin:0;display:flex;flex-direction:column;gap:10px;border-top:1px solid #f1f5f9;margin-top:12px}
.bv-pricing-features li{font-size:.9rem;color:#475569;padding-left:20px;position:relative}
.bv-pricing-features li::before{content:'✓';position:absolute;left:0;color:#22c55e;font-weight:700}
.bv-pricing-btn{display:block;width:100%;padding:12px;border-radius:8px;text-align:center;background:#7c5cfc;color:#fff;text-decoration:none;font-weight:600;margin-top:16px;transition:opacity .2s;border:none;cursor:pointer;font-size:.95rem}
.bv-pricing-btn:hover{opacity:.85}
.bv-pricing-card.featured .bv-pricing-btn{background:#7c5cfc}
.bv-pricing-card:not(.featured) .bv-pricing-btn{background:#0f172a}

/* ── FORM ── */
.bv-form{}
.bv-submit-btn{display:inline-flex;align-items:center;gap:8px;background:#7c5cfc;color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:opacity .2s}
.bv-submit-btn:hover{opacity:.85}

/* ── LOGOS ── */
.bv-logos{padding:40px 48px}
.bv-logos-grid{display:flex;flex-wrap:wrap;gap:32px 48px;justify-content:center;align-items:center}
.bv-logo-text{font-weight:700;font-size:1.1rem;letter-spacing:.1em;color:#64748b}

/* ── VIDEO ── */
.bv-video h2{text-align:center;margin-bottom:24px}
.bv-video-frame{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0f172a;max-width:800px;margin:0 auto}
.bv-video-frame iframe,.bv-video-frame video{width:100%;height:100%;border:none}
.bv-video-caption{text-align:center;color:#64748b;font-size:.875rem;margin-top:10px}

/* ── MAP ── */
.bv-map{padding:0}
.bv-map-info{padding:40px 48px}
.bv-map-frame{width:100%;height:400px;background:#e2e8f0}

/* ── POPUP preview ── */
.bv-popup-preview{background:#fff;border-radius:12px;overflow:hidden;max-width:400px;margin:0 auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}

/* ── CTA ── */
.bv-cta--centered{text-align:center}
.bv-cta--centered h2{color:#fff;font-size:clamp(1.75rem,4vw,3rem);font-weight:800}

/* ── TEXT ── */
.bv-text h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700}
.bv-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7c5cfc;margin-bottom:8px}
.bv-lead{font-size:1.15rem;font-weight:500;line-height:1.6}

/* ── FOOTER ── */
footer.bv-footer{display:flex;flex-direction:column;gap:4px}

/* ── ANIMATIONS ── */
.cb-visible{animation:cb-fadein .6s ease forwards}
@keyframes cb-fadein{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ── RESPONSIVO ── */
@media(max-width:768px){
  section.bv-hero,section.bv-about,section.bv-services,section.bv-test,
  section.bv-faq,section.bv-counter,section.bv-pricing,section.bv-form,
  section.bv-gallery,section.bv-video,section.bv-timeline,section.bv-map,
  section.bv-logos,section.bv-cta,section.bv-text,footer.bv-footer,nav.bv-nav{
    padding-left:20px;padding-right:20px
  }
  .bv-hero--split,.bv-hero--rev,.bv-about--left,.bv-about--right{flex-direction:column}
  .bv-hero-img{min-height:240px}
  .bv-cards-grid,.bv-test-grid,.bv-pricing-grid,.bv-counter-grid{grid-template-columns:1fr!important}
  .bv-about{gap:32px}
  h1{font-size:2rem!important}
  h2{font-size:1.5rem!important}
  .bv-nav-menu{display:none}
}

/* ── SECTION BLOCK ─────────────────────────────────────────── */
.cb-section {
  width: 100%;
  padding: 64px 48px;
}
.cb-section-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.cb-section-title {
  font-size: clamp(24px, 4vw, 42px);
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.2;
}
.cb-section-sub {
  font-size: 16px;
  color: #64748b;
  line-height: 1.7;
  margin-bottom: 24px;
  max-width: 640px;
}
.cb-section--centered .cb-section-sub {
  margin-left: auto;
  margin-right: auto;
}
.cb-section-rich {
  font-size: 16px;
  line-height: 1.8;
  color: #334155;
  margin-bottom: 24px;
}
.cb-section-img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 24px 0;
}
.cb-section-placeholder {
  padding: 48px 24px;
  text-align: center;
  color: #94a3b8;
  font-size: 14px;
  border: 2px dashed #e2e8f0;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .cb-section { padding: 48px 20px; }
  .cb-section--two-cols .cb-section-inner { grid-template-columns: 1fr !important; }
}
