.elementor-1852 .elementor-element.elementor-element-0c72252{--display:flex;}/* Start custom CSS for html, class: .elementor-element-8eba1a0 *//* =========================
   PREVIDENCIÁRIO — TEMA AZUL-PETRÓLEO/DOURADO (clean)
   ========================= */
:root{
  /* Base (azul petróleo no lugar do preto) */
  --bg:#0f2230;        /* azul petróleo escuro */
  --bg2:#0b1926;       /* variante mais profunda */
  --card: rgba(255,255,255,.03);
  --stroke: rgba(255,255,255,.12);
  --stroke2: rgba(255,255,255,.08);

  --text:#f2f5fb;
  --muted: rgba(242,245,251,.78);
  --muted2: rgba(242,245,251,.6);
  --silver:#cdd3dd;

  /* Acento Previdenciário (texto, detalhe) */
  --previ1:#3a96b3;  /* azul petróleo claro/legível */

  /* Urgente (vermelho — mantido) */
  --urgent1:#ef4444;
  --urgent2:#7a0f0f;
  --urgentStroke: rgba(239,68,68,.45);

  /* Dourado (consultoria/chips — mantido) */
  --gold1:#f2d57a;
  --gold2:#a0760e;
  --goldStroke: rgba(242,213,122,.55);

  /* Layout */
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius: 18px;
  --radius2: 14px;
  --max: 960px;
  --pad: 16px;

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;

  /* Força controles nativos em dark (dropdowns etc.) */
  color-scheme: dark;
}

/* Reset */
*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0;
  background: linear-gradient(180deg, #08141d 0%, var(--bg) 60%, #0a1823 100%);
  color:var(--text);
  font-family:var(--font);
  line-height:1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Containers */
.wrap{ max-width:var(--max); margin:0 auto; padding:var(--pad) }
.top{ display:flex; align-items:center; justify-content:space-between; gap:12px }

/* Brand */
.brand strong{ color:var(--gold1); font-weight:900; letter-spacing:.2px }
.brand span{ display:block; color:var(--muted2); font-size:.92rem }
.accent-previ{ color:var(--previ1) } /* acento azul petróleo */

/* Tipografia */
h1,h2,h3{
  color:#fff;
  margin:0 0 .6rem;
  line-height:1.2;
  font-weight:900;
}
h1{ font-size:clamp(1.9rem, 3.4vw, 2.4rem) }
h2{ font-size:clamp(1.35rem, 2.6vw, 1.6rem) }
h3{ font-size:clamp(1.1rem, 2.2vw, 1.28rem) }
p{ margin:.4rem 0; color:var(--muted) }
.intro{ color:var(--muted); max-width:72ch }

/* Links (dourado mantido) */
a{ color: rgba(242,213,122,.92); text-decoration:none }
a:hover{ color:#ffe696 }

/* Botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border-radius:14px; font-weight:850; letter-spacing:.01em;
  border:1px solid var(--stroke); background: rgba(255,255,255,.03); color:var(--text);
  transition:.16s ease; text-decoration:none; cursor:pointer; line-height:1;
}
.btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.18) }
.btn:active{ transform: translateY(0) }
.btn.xl{ padding:14px 18px; font-size:1.02rem }

/* Urgente (vermelho mantido) */
.btn.red{
  background: linear-gradient(180deg, rgba(239,68,68,.96), rgba(122,15,15,.96));
  border-color: var(--urgentStroke);
  color:#fff;
}
.btn.red:hover{ background: linear-gradient(180deg, rgba(255,92,92,.98), rgba(122,15,15,.96)) }

/* Dourado (mantido) */
.btn.gold{
  background: linear-gradient(180deg, rgba(242,213,122,.98), rgba(160,118,14,.98));
  border-color: var(--goldStroke);
  color: #0b0f18;
}
.btn.gold:hover{ background: linear-gradient(180deg, rgba(255,230,150,.99), rgba(160,118,14,.98)) }

/* Fantasma */
.btn.ghost{
  background: rgba(255,255,255,.02);
  border-color: var(--stroke2);
  color: var(--silver);
}

/* Linhas de ações */
.cta-row, .actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px }

/* Chips (opcional) */
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 }
.chips a{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 12px; min-height:38px; border-radius:999px; flex:0 0 auto;
  border:1px solid rgba(242,213,122,.22);
  background: rgba(255,255,255,.03);
  color: rgba(242,213,122,.92);
  font-weight:900; line-height:1; white-space:nowrap;
}
.chips a:hover{ border-color: rgba(242,213,122,.45); transform: translateY(-1px) }

/* Cards e grids */
.card{
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius2);
  padding:16px;
  box-shadow: var(--shadow);
}
.grid{ display:grid; grid-template-columns:1fr; gap:10px }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
@media (max-width: 720px){ .grid-2{ grid-template-columns:1fr } }

/* Listas */
.bul{ margin:.4rem 0 .8rem; padding-left:18px; color:var(--muted2) }
.bul li{ margin:.3rem 0 }

/* Formulário base (consultoria e planejamento) */
label{ display:block; font-size:.95rem; color:var(--silver) }
input,textarea,select{
  width:100%; padding:12px; border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color:var(--text);
}
input::placeholder, textarea::placeholder{ color: rgba(242,245,251,.45) }
input:focus, textarea:focus, select:focus{
  border-color: rgba(242,213,122,.45);
  box-shadow: 0 0 0 4px rgba(242,213,122,.14);
  outline:none;
}

/* Select — legibilidade do dropdown (menu cortina) */
select{
  background-color: rgba(255,255,255,.06); /* leve contraste no campo fechado */
  color: var(--text);
}
option, optgroup{
  background-color: var(--bg2); /* fundo escuro no dropdown */
  color: #f7f8fc;               /* texto claro nas opções */
}
optgroup{ font-weight:700; color: var(--silver) }
option:checked{ background-color: var(--previ1); color:#ffffff }
option:hover{ background-color: rgba(58,150,179,.85); color:#ffffff }

/* High-contrast/Windows e navegadores que forçam cores */
@media (forced-colors: active){
  select, option{ forced-color-adjust: none; background: #0b1926; color:#ffffff }
  option:checked{ background:#3a96b3; color:#ffffff }
}

/* Notas e rodapé */
.note{ color:var(--muted2); font-size:.9rem }
.foot{ border-top:1px solid var(--stroke2); margin-top:8px; padding-top:10px }
.foot a{ color: rgba(242,213,122,.92) }
.foot a:hover{ color:#ffe696 }

/* Acessibilidade */
a:focus-visible, .btn:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid rgba(242,213,122,.85);
  outline-offset:2px;
}

/* Evita scroll horizontal */
html, body{ overflow-x:hidden }

/* =========================
   FAQ — acordeão (dourado)
   ========================= */
#faq.card details{
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  border-radius:14px;
  margin:8px 0;
  overflow:hidden;
}
#faq.card summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:12px 16px 12px 46px;
  font-weight:800;
  color:#f7f8fc;
  user-select:none;
}
#faq.card summary::-webkit-details-marker{ display:none }

/* Chevron dourado */
#faq.card summary::before{
  content:"";
  position:absolute; left:16px; top:50%;
  width:10px; height:10px;
  border-right:2px solid rgba(242,213,122,.95);
  border-bottom:2px solid rgba(242,213,122,.95);
  transform: translateY(-60%) rotate(-45deg);
  transition: transform .18s ease;
  opacity:.95;
}
#faq.card details[open] summary::before{ transform: translateY(-40%) rotate(45deg) }

#faq.card details:hover{
  border-color: rgba(242,213,122,.35);
  background: rgba(255,255,255,.05);
}
#faq.card .faq-body{
  padding:12px 16px 14px 46px;
  border-top:1px solid var(--stroke2);
  color: var(--muted);
}

/* Fallback visual (navegadores sem <details>) */
#faq.card details .faq-body{ display:none }
#faq.card details[open] .faq-body,
#faq.card details.is-open .faq-body{ display:block }

/* =========================
   Patch: Títulos com contraste máximo (anti “lavado”)
   ========================= */
:root{ --heading:#ffffff }
.wrap :is(h1,h2,h3){
  color: var(--heading) !important;
  font-weight: 950 !important;
  line-height: 1.18 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
  letter-spacing: -.01em;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
.card :is(h1,h2,h3){ color: var(--heading) !important }

/* =========================
   Complementos (menus “pílulas” e grids)
   ========================= */
.nav-pills{display:flex;flex-wrap:wrap;gap:10px}
.nav-pills .pill{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:999px;border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);color:var(--text);font-weight:850
}
.nav-pills .pill:hover{
  background:linear-gradient(180deg, rgba(242,213,122,.98), rgba(160,118,14,.98));
  color:#0b0f18;border-color:var(--goldStroke);transform:translateY(-1px)
}
.hub-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:720px){.hub-grid{grid-template-columns:1fr 1fr}}
.hub-grid a.btn{justify-content:flex-start}
.alt-card{border:1px solid var(--stroke);background:rgba(255,255,255,.04);border-radius:var(--radius2);padding:16px;box-shadow:var(--shadow)}
.wa-ico,.btn img{width:18px;height:18px;display:inline-block}

/* =========================
   Modal CSS-only (:target) + formulário (consultoria e planejamento)
   ========================= */
.modal{ position:fixed; inset:0; display:none; z-index:10000; }
.modal:target{ display:grid; place-items:center; padding:18px; }
.modal__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.62); }
.modal__panel{
  position:relative; width:min(720px,96%);
  background: linear-gradient(180deg, rgba(15,24,31,.96), rgba(11,19,26,.96));
  border:1px solid rgba(242,213,122,.28);
  border-radius:18px; box-shadow:0 30px 120px rgba(0,0,0,.65);
  padding:14px; backdrop-filter: blur(14px);
}
.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 10px}
.iconbtn{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06); color:#fff;
  width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;
}
.iconbtn:hover{ background: rgba(242,213,122,.14); border-color: rgba(242,213,122,.45); }

.form{ padding:0 6px 10px }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px }
@media (max-width:760px){ .form-grid{ grid-template-columns:1fr } }
.field{ display:block; margin-top:12px }
.field > span{ display:block; margin-bottom:6px; color:rgba(255,255,255,.92); font-size:.95rem; font-weight:800 }
.help{ margin-top:8px; color:rgba(255,255,255,.74); font-size:.92rem }
.form-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; align-items:center }

/* Tiles (radios) */
.tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:6px }
@media (max-width:760px){ .tiles{ grid-template-columns:1fr } }
.tile{ position:relative; border-radius:14px; overflow:hidden; }
.tile input{ position:absolute; inset:0; opacity:0; }
.tile span{
  display:block; padding:12px; font-weight:800; color:#fff;
  border:1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05);
  transition:.16s ease;
}
.tile span::after{
  content:""; position:absolute; inset:0; transform: translateX(-120%);
  background: linear-gradient(90deg, transparent, rgba(242,213,122,.18), transparent);
  transition: transform .35s ease;
}
.tile:hover span{ transform: translateY(-1px); border-color: rgba(242,213,122,.45); background: rgba(242,213,122,.10) }
.tile:hover span::after{ transform: translateX(120%) }
.tile input:checked + span{ border-color: rgba(242,213,122,.65); background: rgba(242,213,122,.14) }

/* Mensagens de erro (CSS-only, browsers modernos) */
.form .alert{ display:none; margin:8px 0; padding:10px 12px; border:1px solid rgba(239,68,68,.45); background: rgba(239,68,68,.10); color:#fff; border-radius:12px }
form:has(:invalid) .alert{ display:block }
.service-group .error{ display:none; margin-top:8px; color:#fda4a4; font-weight:800 }
.service-group:has(input[required]:invalid) .error{ display:block }

/* =========================
   PLANEJAMENTO — bloco escopado (prev-page)
   ========================= */
.prev-page{
  /* Cores base */
  --bg:#0f2230;
  --bg2:#0b1926;
  --card: rgba(255,255,255,.04);
  --stroke: rgba(255,255,255,.12);
  --stroke2: rgba(255,255,255,.08);

  --text:#f2f5fb;
  --muted: rgba(242,245,251,.78);
  --muted2: rgba(242,245,251,.6);
  --silver:#cdd3dd;

  /* Acentos */
  --previ1:#3a96b3; /* azul petróleo claro */
  --gold1:#f2d57a;
  --gold2:#a0760e;

  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius: 18px;
  --radius2: 14px;
  --max: 1040px;
  --pad: 16px;

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;

  color-scheme: dark;
  background: linear-gradient(180deg, #08141d 0%, var(--bg) 60%, #0a1823 100%);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  display:block;
  min-height:100vh;
  overflow-x:hidden;
}

/* Container e hero */
.prev-page .prev-container{ max-width: var(--max); margin: 0 auto; padding: var(--pad) }
.prev-page .prev-hero{ padding: 18px 0 8px }
.prev-page .prev-hero__grid{ display:grid; grid-template-columns: 1.25fr .75fr; gap: 16px }
@media (max-width: 900px){ .prev-page .prev-hero__grid{ grid-template-columns: 1fr } }

/* Tipografia */
.prev-page h1, .prev-page h2, .prev-page h3{
  color:#fff; margin:0 0 .6rem; line-height:1.2; font-weight:900; letter-spacing:-.01em;
}
.prev-page .prev-h1{ font-size: clamp(1.9rem, 3.4vw, 2.4rem) }
.prev-page .prev-h2{ font-size: clamp(1.35rem, 2.6vw, 1.6rem) }
.prev-page .prev-h3{ font-size: clamp(1.1rem, 2.2vw, 1.28rem) }
.prev-page p{ margin:.4rem 0; color: var(--muted) }
.prev-page .prev-kicker{ color: var(--previ1); font-weight:800; margin-bottom:.2rem }
.prev-page .prev-lead{ color:#f7f8fc; font-size:1.05rem }
.prev-page .prev-sub{ color: var(--muted) }
.prev-page .prev-note, .prev-page .prev-muted{ color: var(--muted2) }

/* Links */
.prev-page a{ color: rgba(242,213,122,.92); text-decoration:none }
.prev-page a:hover{ color:#ffe696 }

/* Bullets e listas */
.prev-page .prev-bullets{ margin:.6rem 0 .8rem; padding-left: 18px; color: var(--muted2) }
.prev-page .prev-bullets li{ margin:.28rem 0 }
.prev-page .prev-list{ margin:.4rem 0 .8rem; padding-left: 18px; color: var(--muted2) }
.prev-page .prev-list li{ margin:.28rem 0 }

/* Botões específicos */
.prev-page .prev-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:14px;
  font-weight:850; letter-spacing:.01em;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  color: var(--text);
  transition:.16s ease; cursor:pointer; text-decoration:none; line-height:1;
}
.prev-page .prev-btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.18) }
.prev-page .prev-btn--primary{
  background: linear-gradient(180deg, rgba(58,150,179,.98), rgba(17,76,96,.98));
  border-color: rgba(58,150,179,.55);
  color:#fff;
}
.prev-page .prev-btn--primary:hover{
  background: linear-gradient(180deg, rgba(74,170,199,.99), rgba(17,76,96,.98));
}
.prev-page .prev-btn--ghost{
  background: rgba(255,255,255,.02);
  border-color: var(--stroke2);
  color: var(--silver);
}
.prev-page .prev-btn__ico{ width:18px; height:18px }

/* CTAs */
.prev-page .prev-hero__cta, .prev-page .prev-inline-cta{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:10px;
}

/* Menu interno (visualmente “clicável”) */
.prev-page .prev-menu{
  position: sticky; top: 10px; align-self:start;
  display:flex; flex-wrap:wrap; gap:10px;
  padding:10px; border:1px solid var(--stroke); border-radius:14px;
  background: rgba(255,255,255,.03);
}
.prev-page .prev-menu__item{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 12px; border-radius:999px;
  border:1px solid rgba(242,213,122,.22);
  background: rgba(255,255,255,.02);
  color: rgba(242,213,122,.92); font-weight:900; white-space:nowrap;
}
.prev-page .prev-menu__item:hover{
  border-color: rgba(242,213,122,.45);
  transform: translateY(-1px);
}

/* Chips, seções e cartões */
.prev-page .prev-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 }
.prev-page .prev-chip{
  display:inline-block; text-decoration:none; padding:8px 12px; border-radius:999px;
  background: rgba(230,192,143,.12);
  border: 1px solid rgba(230,192,143,.30);
  color: rgba(255,255,255,.96);
  font-size: .92rem; transition:.16s ease;
}
.prev-page .prev-chip:hover{
  transform: translateY(-1px);
  background: rgba(230,192,143,.18);
  border-color: rgba(230,192,143,.55);
  color:#fff;
}
.prev-page .prev-section{ padding: 34px 0 }
.prev-page .prev-section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border-top:1px solid var(--stroke2);
  border-bottom:1px solid var(--stroke2);
}
.prev-page .prev-section__head{ margin-bottom: 10px }
.prev-page .prev-card{ border:1px solid var(--stroke); background: var(--card); border-radius: var(--radius2); padding:16px; box-shadow: var(--shadow) }
.prev-page .prev-steps{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; margin-top:10px }
@media (max-width: 900px){ .prev-page .prev-steps{ grid-template-columns: 1fr } }
.prev-page .prev-columns{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; margin-top:10px }
@media (max-width: 900px){ .prev-page .prev-columns{ grid-template-columns: 1fr } }

/* FAQ do bloco “prev-page” */
.prev-page .prev-faq .prev-faq__item{
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  border-radius:14px; margin:8px 0; overflow:hidden;
}
.prev-page .prev-faq summary{
  list-style:none; cursor:pointer; position:relative;
  padding:12px 16px 12px 46px; font-weight:800; color:#f7f8fc; user-select:none;
}
.prev-page .prev-faq summary::-webkit-details-marker{ display:none }
.prev-page .prev-faq summary::before{
  content:""; position:absolute; left:16px; top:50%;
  width:10px; height:10px;
  border-right:2px solid rgba(242,213,122,.95);
  border-bottom:2px solid rgba(242,213,122,.95);
  transform: translateY(-60%) rotate(-45deg);
  transition: transform .18s ease; opacity:.95;
}
.prev-page .prev-faq details[open] summary::before{ transform: translateY(-40%) rotate(45deg) }
.prev-page .prev-faq details:hover{ border-color: rgba(242,213,122,.35); background: rgba(255,255,255,.05) }
.prev-page .prev-faq details > p{ padding: 0 16px 14px 46px; border-top:1px solid var(--stroke2); color: var(--muted) }
```__/* End custom CSS */