:root {
  --vip-purple: #7a36ec;
  --vip-purple-2: #9b63ff;
  --vip-dark: #0d0318;
  --vip-dark-2: #16052d;
  --vip-dark-3: #24103f;
  --vip-red: #ef0014;
  --vip-soft: #f5f3f8;
  --vip-border: #e8e3ef;
  --vip-text: #18131e;
  --vip-muted: #6d6675;
  --vip-radius: 22px;
  --vip-shadow: 0 18px 60px rgba(31, 11, 56, .08);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--vip-text);
  background: #fff;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--vip-purple); }
::selection { background: var(--vip-purple); color: #fff; }

.vip-topbar { background: #09020f; color: rgba(255,255,255,.78); padding: .55rem 0; }
.vip-topbar a { color: rgba(255,255,255,.78); }
.vip-topbar a:hover { color: #fff; }

.site-header { background: rgba(13, 3, 24, .96); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.06); transition: .25s ease; z-index: 1030; }
.site-header .navbar { background: transparent; padding-top: .4rem; padding-bottom: .4rem; }
.navbar-brand { line-height: 0; }
.navbar-brand img { display:block; object-fit:contain; }
.site-header.is-scrolled { box-shadow: 0 10px 32px rgba(0,0,0,.18); }
.navbar { min-height: 78px; }
.navbar-brand img { object-fit: contain; }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.82); font-size: .93rem; font-weight: 500; padding: .7rem .85rem; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .current-menu-item > .nav-link { color: #fff; }
.navbar-toggler { color: #fff; padding: .25rem; }
.vip-offcanvas { background: var(--vip-dark); color: #fff; width: min(88vw, 360px)!important; }
.vip-offcanvas .nav-link { color: rgba(255,255,255,.84); padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }

.btn-vip { --bs-btn-color:#fff; --bs-btn-bg:var(--vip-purple); --bs-btn-border-color:var(--vip-purple); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#6a29dd; --bs-btn-hover-border-color:#6a29dd; --bs-btn-active-bg:#5d23c4; border-radius:999px; font-weight:600; padding:.75rem 1.2rem; }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.34); background:rgba(255,255,255,.05); border-radius:999px; font-weight:600; padding:.75rem 1.2rem; }
.btn-ghost:hover { color:#fff; background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.55); }

.vip-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:
    linear-gradient(90deg, rgba(11,2,22,.97) 0%, rgba(22,5,45,.94) 48%, rgba(31,10,57,.88) 100%),
    var(--hero-bg, none), var(--vip-dark-2); background-size:cover; background-position:center; }
.vip-hero::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(122,54,236,.30), transparent 67%); right:-80px; top:-90px; z-index:-1; }
.vip-hero::after { content:""; position:absolute; inset:auto 0 0; height:120px; background:linear-gradient(180deg,transparent,rgba(0,0,0,.12)); z-index:-1; }
.min-vh-hero { min-height: clamp(620px, 78vh, 800px); }
.hero-kicker,.eyebrow { display:inline-flex; align-items:center; color:var(--vip-purple); font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; margin-bottom:1rem; }
.eyebrow.light { color:#cdb9ff; }
.vip-hero h1 { font-size:clamp(2.55rem,5.8vw,5.15rem); line-height:1.02; letter-spacing:-.045em; max-width:800px; font-weight:700; margin:0; }
.hero-lead { color:rgba(255,255,255,.72); font-size:clamp(1rem,1.6vw,1.17rem); line-height:1.8; max-width:690px; margin-top:1.35rem; }
.hero-trust > div { display:flex; flex-direction:column; }
.hero-trust strong { font-size:1.25rem; color:#fff; }
.hero-trust span { font-size:.78rem; color:rgba(255,255,255,.55); }
.hero-logo-shell { width:min(100%,520px); aspect-ratio:1; margin-inline:auto; position:relative; display:grid; place-items:center; }
.hero-logo { width:72%; position:relative; z-index:2; filter:drop-shadow(0 26px 38px rgba(0,0,0,.24)); animation:vipFloat 5.5s ease-in-out infinite; }
.hero-orbit { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); inset:8%; }
.orbit-two { inset:20%; border-style:dashed; border-color:rgba(155,99,255,.24); animation:vipSpin 22s linear infinite; }
.hero-logo-shell::after { content:""; position:absolute; width:56%; height:56%; border-radius:50%; background:radial-gradient(circle, rgba(122,54,236,.42), rgba(122,54,236,0) 68%); filter:blur(8px); }

.section-pad { padding:clamp(4.5rem,7vw,7rem) 0; }
.bg-soft { background:var(--vip-soft); }
.section-head { max-width:720px; }
.section-head h2,.display-title { font-size:clamp(2rem,4vw,3.35rem); line-height:1.1; letter-spacing:-.035em; font-weight:650; }
.section-head p { color:var(--vip-muted); line-height:1.8; }

.feature-card,.post-card { background:#fff; border:1px solid var(--vip-border); border-radius:var(--vip-radius); box-shadow:none; transition:transform .25s ease,border-color .25s ease; overflow:hidden; }
.feature-card { padding:1.75rem; }
.feature-card:hover,.post-card:hover { transform:translateY(-4px); border-color:#d8c8f5; }
.feature-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; background:#f1eaff; color:var(--vip-purple); font-size:1.35rem; margin-bottom:1.25rem; }
.feature-card h3 { font-size:1.05rem; font-weight:650; }
.feature-card p { color:var(--vip-muted); font-size:.92rem; line-height:1.75; margin:0; }

.steps-grid { display:grid; gap:1rem; }
.step-card { display:flex; align-items:flex-start; gap:1.25rem; padding:1.6rem; border:1px solid var(--vip-border); border-radius:var(--vip-radius); background:#fff; }
.step-number { flex:0 0 52px; width:52px; height:52px; border-radius:17px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--vip-purple),#5720bd); font-weight:700; }
.step-card h3 { font-size:1rem; margin:.15rem 0 .45rem; font-weight:650; }
.step-card p { color:var(--vip-muted); margin:0; font-size:.9rem; line-height:1.7; }

.cities-section { background:radial-gradient(circle at 75% 0,rgba(122,54,236,.36),transparent 34%),linear-gradient(135deg,#0b0216,#18062f 58%,#220941); }
.city-card { min-height:116px; border-radius:20px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.055); color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.55rem; text-align:center; font-weight:600; }
.city-card i { color:#ad83ff; font-size:1.25rem; }
.city-card.is-primary { background:var(--vip-purple); border-color:var(--vip-purple); }
.city-card.is-primary i { color:#fff; }

.post-thumb { display:block; aspect-ratio:16/10; overflow:hidden; background:#ebe5f3; }
.post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.post-card:hover .post-thumb img { transform:scale(1.035); }
.post-placeholder { width:100%; height:100%; display:grid; place-items:center; font-size:2rem; color:var(--vip-purple); }
.post-meta { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:#8c8496; }
.post-card h2 a,.post-card h3 a { color:var(--vip-text); }
.post-card p { color:var(--vip-muted); font-size:.9rem; line-height:1.7; }
.empty-state { padding:2.3rem; text-align:center; border:1px dashed #d4c9df; border-radius:var(--vip-radius); color:var(--vip-muted); background:#fff; }

.cta-panel { border-radius:30px; padding:clamp(2rem,5vw,4rem); background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.15),transparent 22%),linear-gradient(135deg,#6e2fe0,#3d1684); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.cta-panel h2 { max-width:690px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.035em; font-weight:650; }
.cta-panel p { margin:0; color:rgba(255,255,255,.72); }

.page-hero { background:linear-gradient(135deg,#0b0216,#1f083b); color:#fff; }
.page-hero h1 { font-size:clamp(2.1rem,5vw,4rem); letter-spacing:-.035em; font-weight:650; max-width:920px; }
.page-hero p { color:rgba(255,255,255,.65); }
.vip-breadcrumb { background:#f7f5fa; border-bottom:1px solid #eee9f4; padding:.65rem 0; font-size:.8rem; }
.vip-breadcrumb a { color:var(--vip-purple); }
.content-narrow { max-width:850px; }
.entry-content { font-size:1rem; line-height:1.9; color:#39323f; }
.entry-content h2,.entry-content h3,.entry-content h4 { color:var(--vip-text); margin-top:2rem; font-weight:650; letter-spacing:-.02em; }
.entry-content a { color:var(--vip-purple); text-decoration:underline; text-underline-offset:3px; }
.error-code { font-size:clamp(5rem,16vw,10rem); line-height:.9; font-weight:800; color:#ede5fa; }
.min-vh-50 { min-height:50vh; }

.site-footer { background:#09020f; color:rgba(255,255,255,.7); }
.footer-title { font-size:.9rem; text-transform:uppercase; letter-spacing:.06em; color:#fff; font-weight:700; margin-bottom:1.25rem; }
.footer-copy { max-width:380px; line-height:1.75; }
.footer-menu li { margin:.6rem 0; }
.footer-menu a { color:rgba(255,255,255,.68); font-size:.9rem; }
.footer-menu a:hover { color:#fff; }
.social-links a { width:38px; height:38px; border:1px solid rgba(255,255,255,.12); border-radius:50%; display:grid; place-items:center; color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.48); }
.vip-whatsapp { position:fixed; right:20px; bottom:20px; z-index:1031; display:flex; align-items:center; gap:.6rem; background:#6d2bd8; color:#fff; padding:.78rem 1rem; border-radius:999px; box-shadow:0 14px 34px rgba(43,12,74,.28); font-weight:600; font-size:.86rem; }
.vip-whatsapp:hover { color:#fff; background:#5d23bf; transform:translateY(-1px); }

.pagination { gap:.4rem; }
.page-numbers { min-width:42px; height:42px; border:1px solid var(--vip-border); border-radius:12px; display:inline-grid; place-items:center; padding:0 .65rem; background:#fff; }
.page-numbers.current { background:var(--vip-purple); border-color:var(--vip-purple); color:#fff; }

@keyframes vipFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes vipSpin { to{transform:rotate(360deg)} }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
@media (max-width: 991.98px) {
  .vip-hero { text-align:center; }
  .hero-lead,.section-head { margin-inline:auto; }
  .hero-logo-shell { max-width:390px; }
  .hero-trust { justify-content:center; }
  .cta-panel { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 575.98px) {
  .navbar { min-height:70px; }
  .navbar-brand img { width:58px; height:58px; }
  .vip-hero h1 { font-size:2.5rem; }
  .min-vh-hero { min-height:auto; }
  .hero-logo-shell { max-width:300px; }
  .hero-trust { gap:1.2rem!important; }
  .hero-trust strong { font-size:1.05rem; }
  .hero-trust span { font-size:.72rem; }
  .section-pad { padding:4.2rem 0; }
  .feature-card { padding:1.4rem; }
  .step-card { padding:1.3rem; }
  .cta-panel { border-radius:24px; }
  .vip-whatsapp span { display:none; }
  .vip-whatsapp { width:52px; height:52px; justify-content:center; padding:0; font-size:1.18rem; }
}

/* Fallback visual para instalações legadas: a página inicial nunca deve exibir o hero genérico de página. */
body.home .page-hero.compact, body.front-page .page-hero.compact { display:none; }
