:root{
  --gold:#FFD700;
  --gold-dark:#B8860B;
  --gold-light:#FFED4A;
  --navy:#1A1A2E;
  --navy-dark:#0F0F1E;
  --navy-light:#252845;
  --ruby:#E94560;
  --ruby-dark:#C73650;
  --text:#EDEDED;
  --text-muted:#9CA3AF;
  --border:#2D2D44;
  --success:#10B981;
  --warn:#F59E0B;
  --danger:#EF4444;
  --shadow:0 4px 20px rgba(0,0,0,.4);
  --radius:12px;
  --radius-sm:6px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Segoe UI',sans-serif;
  background:var(--navy-dark);
  color:var(--text);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Sora','Inter',sans-serif;
  font-weight:800;
  line-height:1.2;
  color:#fff;
  letter-spacing:-.02em;
}
h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}
h1 span{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem);margin:2.5rem 0 1.25rem}
h3{font-size:1.25rem;margin:1.5rem 0 .75rem}
p{margin-bottom:1rem;color:#D1D5DB}
.lead{font-size:1.15rem;color:#E5E7EB;margin-bottom:2rem}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-light)}

.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

/* HEADER V2 */
.site-header {
  background: rgba(15, 15, 30, 0.98);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0.75rem 0;
}
.site-header .container,
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  color: #fff;
}
.logo span { color: var(--gold); }
.logo-crown { font-size: 1.8rem; }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-text strong { font-size: 1.25rem; color: #fff; }
.logo-text small { font-size: 0.75rem; color: var(--gold); font-weight: 600; letter-spacing: 0.05em; }

.site-header nav,
.main-nav ul {
  display: flex;
  list-style: none;
  gap: 1.25rem;
  align-items: center;
  flex-wrap: wrap;
}
.site-header nav a,
.main-nav a {
  color: var(--text);
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.2s;
}
.site-header nav a:hover,
.main-nav a:hover { color: var(--gold); }

.nav-highlight,
.btn-cta-header {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--navy-dark) !important;
  padding: 0.5rem 1.2rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  transition: transform 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-cta-header:hover { transform: translateY(-2px); }


/* DROPDOWNS */
.has-dropdown { position: relative; }
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--navy-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  min-width: 200px;
  padding: 0.75rem 0;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.2s;
  display: block !important;
  flex-direction: column !important;
}
.has-dropdown:hover .dropdown,
.has-dropdown.is-active .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown li { width: 100%; }
.dropdown a {
  display: block;
  padding: 0.6rem 1.25rem;
  font-size: 0.9rem;
  white-space: nowrap;
}
.dropdown a:hover { background: rgba(255, 215, 0, 0.05); }

.dropdown-wide {
  min-width: 600px;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  padding: 1.5rem;
  gap: 1rem;
  left: -200px;
}
.dropdown-section { display: flex; flex-direction: column; gap: 0.4rem; }
.dropdown-section strong {
  font-size: 0.75rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.4rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.3rem;
}
.dropdown-section a { padding: 0.2rem 0; }
.dropdown-cta { grid-column: span 3; border-top: 1px solid var(--border); padding-top: 1rem; text-align: center; }

/* TRUST BADGE HEADER */
.trust-badge {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.4rem 0.8rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.trust-icon { font-size: 1.2rem; }
.trust-text { display: flex; flex-direction: column; line-height: 1.1; }
.trust-text strong { font-size: 0.75rem; color: #fff; }
.trust-text small { font-size: 0.65rem; color: var(--text-muted); }

/* MENU TOGGLE MOBILE */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  z-index: 1001;
}
.menu-toggle span {
  width: 25px;
  height: 2px;
  background: #fff;
  transition: all 0.3s;
}
.menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


/* HERO */
.hero{
  background:
    radial-gradient(ellipse at top,rgba(255,215,0,.08),transparent 60%),
    radial-gradient(ellipse at bottom,rgba(233,69,96,.06),transparent 60%),
    var(--navy-dark);
  padding:5rem 0 4rem;
  text-align:center;
}
.hero p{font-size:1.2rem;max-width:780px;margin:0 auto 2rem;color:#E5E7EB}

/* BADGES */
.badge-update{
  display:inline-block;
  background:linear-gradient(135deg,var(--success),#059669);
  color:#fff;
  padding:.4rem 1rem;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
  margin:1rem 0;
}
.badge-mg{
  display:inline-block;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--navy-dark);
  padding:.4rem 1rem;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
  margin-right:.5rem;
}

/* BOTÕES */
.btn-whatsapp{
  display:inline-flex;align-items:center;gap:.6rem;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff!important;
  padding:1rem 2rem;
  border-radius:999px;
  font-weight:700;
  font-size:1.05rem;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform .2s,box-shadow .2s;
  border:none;cursor:pointer;
}
.btn-whatsapp::before{content:"💬";font-size:1.2rem}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(37,211,102,.5);color:#fff}
.btn-cta{margin-top:1.5rem}

/* CARDS */
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.5rem;
  margin:2rem 0;
}
.card{
  background:linear-gradient(135deg,var(--navy-light),var(--navy));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.75rem;
  transition:transform .2s,border-color .2s;
}
.card:hover{transform:translateY(-3px);border-color:var(--gold)}
.card h3{color:var(--gold);margin-top:0}

/* CTA BOX */
.cta-box{
  background:linear-gradient(135deg,var(--ruby-dark),var(--ruby));
  border-radius:var(--radius);
  padding:3rem 2rem;
  text-align:center;
  margin:3rem 0;
}
.cta-box h2{color:#fff;margin-top:0}
.cta-box p{color:rgba(255,255,255,.95);font-size:1.1rem}

/* TABELAS */
.table-compare{
  width:100%;
  border-collapse:collapse;
  margin:2rem 0;
  background:var(--navy-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.table-compare th{
  background:var(--navy-dark);
  color:var(--gold);
  padding:1rem;
  text-align:left;
  font-weight:700;
}
.table-compare td{
  padding:.9rem 1rem;
  border-top:1px solid var(--border);
  color:var(--text);
}
.table-compare tr:hover td{background:rgba(255,215,0,.03)}
.table-compare .check{color:var(--success);font-weight:700}
.table-compare .x{color:var(--danger);font-weight:700}

/* DASHBOARD MÉTRICAS */
.lab-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;
  margin:2rem 0;
}
.lab-card{
  background:linear-gradient(135deg,var(--navy-light),var(--navy));
  border:1px solid var(--border);
  border-top:3px solid var(--gold);
  border-radius:var(--radius);
  padding:1.5rem;
  text-align:center;
}
.lab-card .metric{
  font-family:'Sora',sans-serif;
  font-size:2.5rem;
  font-weight:800;
  color:var(--gold);
  line-height:1;
}
.lab-card .label{
  color:var(--text-muted);
  font-size:.8rem;
  text-transform:uppercase;
  margin-top:.5rem;
  letter-spacing:.05em;
}
.lab-card .delta{
  color:var(--success);
  font-size:.8rem;
  margin-top:.4rem;
  font-weight:600;
}

/* DEPOIMENTOS */
.testimonials{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;
  margin:2rem 0;
}
.testimonial{
  background:var(--navy-light);
  border-radius:var(--radius);
  padding:1.5rem;
  border-left:4px solid var(--gold);
}
.testimonial .stars{color:var(--gold);font-size:1.1rem;margin-bottom:.5rem}
.testimonial .text{color:#D1D5DB;font-style:italic;line-height:1.6}
.testimonial .author{margin-top:1rem;color:#fff;font-weight:700}
.testimonial .meta{color:var(--text-muted);font-size:.85rem;margin-top:.2rem}

/* CITY GRID */
.city-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem;
  margin:2rem 0;
}
.city-card{
  background:var(--navy-light);
  border-radius:var(--radius-sm);
  padding:1rem;
  text-align:center;
  border:1px solid var(--border);
  transition:all .2s;
}
.city-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.city-card a{color:#fff;text-decoration:none;font-weight:600}

/* FAQ */
.faq-item{
  background:var(--navy-light);
  border-radius:var(--radius-sm);
  margin-bottom:.8rem;
  overflow:hidden;
  border:1px solid var(--border);
}
.faq-item summary{
  padding:1rem 1.25rem;
  cursor:pointer;
  font-weight:600;
  color:#fff;
  list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::after{content:"+";font-size:1.5rem;color:var(--gold);font-weight:300}
.faq-item[open] summary::after{content:"−"}
.faq-item .faq-answer{padding:0 1.25rem 1.25rem;color:#D1D5DB;line-height:1.7}

/* BREADCRUMB */
.breadcrumb{padding:1rem 0;font-size:.9rem;color:var(--text-muted)}
.breadcrumb a{color:var(--gold)}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span.sep{margin:0 .5rem;color:#4B5563}

/* HOWTO */
.howto-step{
  display:flex;gap:1rem;
  margin:1.5rem 0;
  background:var(--navy-light);
  padding:1.25rem;
  border-radius:var(--radius-sm);
  border-left:4px solid var(--gold);
}
.howto-step .step-num{
  flex-shrink:0;
  width:40px;height:40px;
  background:var(--gold);
  color:var(--navy-dark);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.2rem;
}
.howto-step .step-content h3{color:#fff;margin:0 0 .5rem;font-size:1.1rem}
.howto-step .step-content p{color:#D1D5DB;margin:0;line-height:1.6}

/* VIDEO */
.video-wrapper{
  position:relative;
  padding-bottom:56.25%;
  height:0;overflow:hidden;
  border-radius:var(--radius);
  margin:2rem 0;
  background:#000;
}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-placeholder{
  background:var(--navy-light);
  border:2px dashed var(--border);
  padding:3rem 1rem;
  text-align:center;
  border-radius:var(--radius);
  margin:2rem 0;
  color:var(--text-muted);
}

/* ALERTS */
.alert{
  padding:1.2rem;
  border-radius:var(--radius-sm);
  margin:1.5rem 0;
  border-left:4px solid;
}
.alert-info{background:rgba(59,130,246,.15);border-color:#3B82F6;color:#BFDBFE}
.alert-warn{background:rgba(245,158,11,.15);border-color:var(--warn);color:#FDE68A}
.alert-success{background:rgba(16,185,129,.15);border-color:var(--success);color:#A7F3D0}
.alert-danger{background:rgba(239,68,68,.15);border-color:var(--danger);color:#FECACA}

/* PRICE TABLE */
.price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.5rem;
  margin:2rem 0;
}
.price-card{
  background:linear-gradient(135deg,var(--navy-light),var(--navy));
  border-radius:var(--radius);
  padding:2rem;
  text-align:center;
  border:2px solid var(--border);
  position:relative;
  transition:all .3s;
}
.price-card.featured{border-color:var(--gold);transform:scale(1.05)}
.price-card.featured::before{
  content:"👑 MAIS VENDIDO";
  position:absolute;
  top:-14px;left:50%;
  transform:translateX(-50%);
  background:var(--gold);
  color:var(--navy-dark);
  padding:.3rem 1rem;
  border-radius:999px;
  font-size:.75rem;
  font-weight:800;
  white-space:nowrap;
}
.price-card h3{color:#fff;margin:0 0 .5rem}
.price-card .price{
  font-family:'Sora',sans-serif;
  font-size:2.5rem;
  font-weight:800;
  color:var(--gold);
  margin:1rem 0;
}
.price-card .price small{font-size:.9rem;color:var(--text-muted)}
.price-card ul{list-style:none;padding:0;text-align:left;margin:1.5rem 0}
.price-card ul li{padding:.5rem 0;color:#D1D5DB}
.price-card ul li::before{content:"✓ ";color:var(--success);font-weight:700}

/* FOOTER */
/* FOOTER V2 */
.site-footer {
  background: var(--navy-dark);
  border-top: 1px solid var(--border);
  margin-top: 5rem;
}

/* FOOTER TRUST BAR */
.footer-trust {
  background: rgba(15, 15, 30, 0.5);
  border-bottom: 1px solid var(--border);
  padding: 2rem 0;
}
.trust-row {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  min-width: 140px;
}
.trust-emoji { font-size: 1.5rem; margin-bottom: 0.5rem; }
.trust-item strong { font-size: 0.9rem; color: #fff; display: block; }
.trust-item small { font-size: 0.75rem; color: var(--text-muted); }

.footer-main { padding: 4rem 0; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr);
  gap: 2.5rem;
}
.footer-col h4 {
  color: var(--gold);
  font-size: 1rem;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-h4-spaced { margin-top: 2rem; }
.footer-col a {
  display: block;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.4rem 0;
  font-size: 0.9rem;
  transition: color 0.2s;
}
.footer-col a:hover { color: var(--gold); }

.footer-brand .footer-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
  text-decoration: none;
  color: #fff;
}
.footer-desc { font-size: 0.9rem; color: var(--text-muted); margin-bottom: 1.25rem; }
.footer-address { font-size: 0.85rem; color: var(--text); margin-bottom: 1.5rem; }

.footer-social { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.footer-social a {
  width: 36px;
  height: 36px;
  background: var(--navy-light);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.9rem;
  transition: all 0.2s;
}
.footer-social a:hover {
  background: var(--gold);
  color: var(--navy-dark);
  border-color: var(--gold);
  transform: translateY(-3px);
}

/* NATIONAL CITIES BAR */
.footer-cities-national {
  background: rgba(255, 215, 0, 0.03);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 1.5rem 0;
  text-align: center;
}
.cities-label { font-size: 0.85rem; color: var(--gold); margin-bottom: 0.5rem; }
.cities-list { font-size: 0.85rem; color: var(--text-muted); }
.cities-list a { color: var(--text); font-weight: 500; }

.footer-bottom { padding: 2rem 0; text-align: center; }
.footer-microcopy {
  max-width: 900px;
  margin: 1.5rem auto;
  line-height: 1.5;
  color: var(--text-muted);
}
.footer-credits { color: var(--text-muted); font-size: 0.8rem; }
.footer-credits a { color: var(--gold); font-weight: 600; }

/* MOBILE RESPONSIVE V2 */
@media (max-width: 900px) {
  .menu-toggle { display: flex; }
  .main-nav {
    position: fixed;
    top: 70px;
    left: 0;
    width: 100%;
    height: calc(100vh - 70px);
    background: var(--navy-dark);
    padding: 2rem;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
  }
  .main-nav.is-open { transform: translateX(0); }
  .main-nav ul { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .main-nav ul li { width: 100%; }
  .main-nav a { font-size: 1.1rem; display: block; width: 100%; padding: 0.5rem 0; }
  
  .dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s;
  }
  .has-dropdown.is-active .dropdown { max-height: 1000px; margin-top: 0.5rem; padding-left: 1rem; border-left: 1px solid var(--border); }
  .dropdown-wide { display: block !important; min-width: 0; }
  .dropdown-section { margin-bottom: 1rem; }
  
  .trust-badge { display: none; }
  
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-col { text-align: center; }
  .footer-social { justify-content: center; }
  .trust-row { justify-content: center; }
}


/* SECTIONS */
section{padding:3rem 0}
article{padding:2rem 0;max-width:900px;margin:0 auto}

/* MG SECTION */
.mg-section{
  background:linear-gradient(135deg,rgba(255,215,0,.05),rgba(233,69,96,.05));
  padding:3rem 0;
  border-radius:var(--radius);
  margin:3rem 0;
  border:1px solid var(--border);
}
.mg-flag{
  display:inline-block;
  background:linear-gradient(180deg,#fff 33%,#000 33% 66%,#E94560 66%);
  width:30px;height:20px;
  border-radius:3px;
  margin-right:.5rem;
  vertical-align:middle;
}
/* AUTHOR BOX */
.author-box {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 24px;
  margin: 40px 0 20px;
  background: var(--navy-light);
  border-left: 4px solid var(--gold);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}
.author-photo img {
  border-radius: 50%;
  border: 3px solid var(--gold);
  object-fit: cover;
}
.author-info { flex: 1; }
.author-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin: 0 0 4px;
}
.author-name {
  font-size: 20px;
  margin: 0 0 4px;
  color: #fff;
}
.author-role {
  font-size: 14px;
  color: var(--gold);
  font-weight: 600;
  margin: 0 0 12px;
}
.author-bio {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text);
  margin: 0 0 10px;
}
.author-expertise {
  font-size: 14px;
  color: var(--text-muted);
  margin: 0 0 10px;
}
.author-meta {
  font-size: 13px;
  margin: 0 0 6px;
}
.author-meta a {
  color: var(--gold);
  text-decoration: none;
}
.author-meta a:hover { text-decoration: underline; }
.author-review-meta {
  font-size: 12px;
  color: var(--text-muted);
  margin: 6px 0 0;
}

@media (max-width: 600px) {
  .author-box { flex-direction: column; gap: 12px; }
  .author-photo img { width: 80px; height: 80px; }
}
