.elementor-1734 .elementor-element.elementor-element-48b3a91{--display:flex;}/* Start custom CSS for html, class: .elementor-element-5cf2655 *//* =========================
   PENAL — TEMA PRETO/DOURADO (clean)
   ========================= */
:root{
  /* Base */
  --bg:#070a0f;
  --bg2:#0b101a;
  --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,.74);
  --muted2: rgba(242,245,251,.58);
  --silver:#cdd3dd;

  /* Urgente (vermelho) */
  --urgent1:#ef4444;
  --urgent2:#7a0f0f;
  --urgentStroke: rgba(239,68,68,.45);

  /* Dourado (consultoria/chips) */
  --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;
}

/* Reset */
*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0;
  background: linear-gradient(180deg, #05070c 0%, var(--bg) 60%, #060911 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-red{ color:var(--urgent1) }

/* 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 */
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;
}
.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) */
.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 */
.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 */
label{ display:block; font-size:.95rem; color:var(--silver) }
input,textarea{
  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{
  border-color: rgba(242,213,122,.45);
  box-shadow: 0 0 0 4px rgba(242,213,122,.14);
  outline:none;
}

/* 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{
  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 }

/* Força branco sólido e remove qualquer efeito que lave o texto */
.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;
}

/* Garante contraste também dentro de cards e seções */
.card :is(h1,h2,h3){ color: var(--heading) !important }/* End custom CSS */