/* ═══════════════════════════════════════════════
   COUTO & SILVA LOPES — DESIGN SYSTEM GLOBAL
   cslopes.com.br · Trabalhador Blindado
═══════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

:root{
  --ink:    #07112A;
  --ink-1:  #0F2040;
  --ink-2:  #1A3358;
  --gold:   #C9A227;
  --gold-l: #E2C854;
  --gold-p: rgba(201,162,39,.14);
  --cream:  #F6F1E8;
  --cream-d:#EDE6D5;
  --white:  #FFFFFF;
  --tx:     #111827;
  --tx-2:   #374151;
  --tx-3:   #6B7280;
  --tx-4:   #9CA3AF;
  --bdr:    rgba(17,24,39,.10);
  --bdr-l:  rgba(17,24,39,.06);
  --bdr-d:  rgba(255,255,255,.10);
  --ok:     #10B981;
  --err:    #EF4444;
  --dp:     'Cormorant Garamond',Georgia,serif;
  --ds:     'Plus Jakarta Sans',system-ui,sans-serif;
  --max-w:  1100px;
  --pad:    clamp(20px,4vw,48px);
  --r:      12px;
  --r-s:    8px;
  --sh:     0 2px 16px rgba(7,17,42,.10);
  --sh-lg:  0 8px 40px rgba(7,17,42,.16);
  --nav-h:  72px;
}

body{
  font-family:var(--ds);
  color:var(--tx);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ── Container ── */
.container{
  width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 var(--pad);
}

/* ══════════════════════════════════
   NAVIGATION
══════════════════════════════════ */
.site-nav{
  position:sticky;top:0;z-index:200;
  background:rgba(246,241,232,.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(7,17,42,.10);
  box-shadow:0 1px 12px rgba(7,17,42,.08);
  height:var(--nav-h);
  display:flex;align-items:center;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;width:100%;
  max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);
}
.nav-logo{
  display:flex;align-items:center;
  text-decoration:none;flex-shrink:0;
}
.nav-logo-img{
  background:none;border-radius:0;
  padding:0;display:flex;align-items:center;
}
.nav-logo-img img{
  height:54px;width:auto;object-fit:contain;display:block;
  /* logo azul original — fica bonita sobre fundo creme */
  mix-blend-mode:normal;
  filter:none;
}
/* esconde o texto duplicado — a logo já tem o nome */
.nav-logo-text{display:none}

.nav-links{
  display:flex;align-items:center;gap:4px;
  list-style:none;
}
.nav-links a{
  font-size:12px;font-weight:600;color:var(--tx-2);
  text-decoration:none;padding:7px 11px;border-radius:6px;
  transition:color .2s,background .2s;
  white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--ink);background:rgba(7,17,42,.07)}
.nav-cta{
  background:var(--gold);color:var(--ink) !important;
  font-weight:700 !important;letter-spacing:.03em;
  padding:8px 16px !important;border-radius:8px !important;
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  transition:background .2s !important;
}
.nav-cta:hover{background:var(--gold-l) !important}

/* Hamburger */
.nav-hamburger{
  display:none;
  background:none;border:none;cursor:pointer;
  padding:8px;color:var(--ink);flex-direction:column;gap:5px;
}
.nav-hamburger span{
  display:block;width:22px;height:2px;
  background:var(--ink);border-radius:2px;
  transition:transform .3s,opacity .3s;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.nav-mobile{
  display:none;position:fixed;
  top:var(--nav-h);left:0;right:0;bottom:0;
  background:rgba(7,17,42,.99);z-index:199;
  flex-direction:column;padding:24px var(--pad);gap:4px;
  overflow-y:auto;
}
.nav-mobile.open{display:flex}
.nav-mobile a{
  font-size:18px;font-weight:700;color:rgba(255,255,255,.85);
  text-decoration:none;padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:color .2s;
}
.nav-mobile a:hover{color:#fff}
.nav-mobile .nav-cta-mob{
  margin-top:16px;background:var(--gold);color:var(--ink) !important;
  border-radius:10px;padding:15px !important;
  text-align:center;font-weight:800 !important;border:none;
}

/* ══════════════════════════════════
   FOOTER
══════════════════════════════════ */
.site-footer{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(ellipse 60% 45% at 50% 0%, rgba(201,162,39,.10), transparent 65%),
    linear-gradient(180deg, var(--ink-1) 0%, var(--ink-2) 55%, #0B1730 100%);
  border-top:none;
  padding:56px 0 32px;
  position:relative;overflow:hidden;
}
/* Linha luminosa dourada no topo */
.site-footer::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(201,162,39,.55) 25%,
    rgba(201,162,39,.95) 50%,
    rgba(201,162,39,.55) 75%,
    transparent 100%);
  box-shadow:0 0 14px rgba(201,162,39,.45);
  pointer-events:none;z-index:2;
}
/* marca d'água muito sutil no canto */
.site-footer::after{
  content:'';position:absolute;
  right:-2%;bottom:-4%;
  width:320px;height:140px;
  background:url('Logos do escritório/Modelo 2.png') no-repeat right bottom/contain;
  opacity:.04;mix-blend-mode:screen;
  pointer-events:none;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:48px;margin-bottom:48px;
  position:relative;z-index:1;
}
.footer-brand{}
.footer-logo-wrap{
  background:#fff;border-radius:10px;
  padding:10px 16px;display:inline-flex;
  align-items:center;margin-bottom:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.footer-logo-wrap img{
  height:48px;width:auto;object-fit:contain;
  display:block;
}
.footer-tagline{
  font-size:11.5px;color:#a8a8a8;
  line-height:1.9;margin-bottom:20px;
  border-left:2px solid rgba(201,162,39,.3);
  padding-left:12px;
}
.gold-phrase{color:var(--gold);font-weight:600}
/* No rodapé, a classe .gold-phrase NÃO se aplica (herda cor cinza do .footer-tagline) */
.footer-tagline .gold-phrase{color:inherit;font-weight:inherit}
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
/* ── Dark Luxury + Cores autênticas (híbrido D + C) ── */
.footer-soc{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  font-size:0;line-height:0;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  background:rgba(7,17,42,.45);
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  transition:all .3s cubic-bezier(.22,.61,.36,1);
  position:relative;overflow:hidden;
}
.footer-soc svg{
  flex-shrink:0;
  width:18px;height:18px;
  transition:transform .3s;
  position:relative;z-index:1;
}
.footer-soc::before{
  content:'';
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .3s;
}
.footer-soc:hover{
  transform:translateY(-2px);
  background:rgba(7,17,42,.7);
}
.footer-soc:hover svg{transform:scale(1.1)}
.footer-soc:hover::before{opacity:1}

/* ── Instagram → pink/magenta ── */
.footer-soc[aria-label="Instagram"]:hover{
  color:#fff;
  border-color:#E1306C;
  box-shadow:0 0 22px rgba(225,48,108,.5),
             inset 0 0 0 1px rgba(225,48,108,.2);
}
.footer-soc[aria-label="Instagram"]::before{
  background:radial-gradient(circle at 50% 50%,rgba(225,48,108,.25),transparent 70%);
}

/* ── TikTok → efeito holográfico ciano + magenta ── */
.footer-soc[aria-label="TikTok"]:hover{
  color:#fff;
  border-color:rgba(255,255,255,.4);
  box-shadow:0 0 22px rgba(0,242,234,.35),
             0 0 22px rgba(255,0,80,.35);
}
.footer-soc[aria-label="TikTok"]:hover svg{
  filter:drop-shadow(-1.5px 0 2.5px rgba(0,242,234,.9))
         drop-shadow(1.5px 0 2.5px rgba(255,0,80,.9));
}
.footer-soc[aria-label="TikTok"]::before{
  background:linear-gradient(135deg,rgba(0,242,234,.15) 0%,transparent 50%,rgba(255,0,80,.15) 100%);
}

/* ── YouTube → vermelho ── */
.footer-soc[aria-label="YouTube"]:hover{
  color:#fff;
  border-color:#FF0033;
  box-shadow:0 0 22px rgba(255,0,51,.5),
             inset 0 0 0 1px rgba(255,0,51,.2);
}
.footer-soc[aria-label="YouTube"]::before{
  background:radial-gradient(circle at 50% 50%,rgba(255,0,51,.25),transparent 70%);
}

/* ── LinkedIn → azul corporativo ── */
.footer-soc[aria-label="LinkedIn"]:hover{
  color:#fff;
  border-color:#0A66C2;
  box-shadow:0 0 22px rgba(10,102,194,.55),
             inset 0 0 0 1px rgba(10,102,194,.2);
}
.footer-soc[aria-label="LinkedIn"]::before{
  background:radial-gradient(circle at 50% 50%,rgba(10,102,194,.25),transparent 70%);
}

.footer-col-title{
  font-size:9px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.footer-col-title::after{content:'';flex:1;height:1px;background:rgba(201,162,39,.18)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-links a{
  font-size:12px;color:rgba(255,255,255,.55);
  text-decoration:none;transition:color .2s,padding-left .2s;
  display:inline-flex;align-items:center;gap:5px;
}
.footer-links a::before{
  content:'›';color:var(--gold);opacity:0;
  font-size:14px;font-weight:700;
  transition:opacity .2s;
  margin-left:-12px;
}
.footer-links a:hover{color:#fff;padding-left:14px}
.footer-links a:hover::before{opacity:1}

.footer-address{
  font-size:11px;color:rgba(255,255,255,.45);
  line-height:2.1;font-style:normal;
}
.footer-address a{color:var(--gold);text-decoration:none;transition:color .2s}
.footer-address a:hover{color:var(--gold-l)}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:24px;padding-right:92px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
  position:relative;z-index:1;
}
.footer-legal{font-size:10px;color:rgba(255,255,255,.75);line-height:1.9}
.footer-legal a{color:inherit;text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:#fff}

/* ── Tags por nicho no footer-tagline ── */
.foot-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 9px;border-radius:5px;line-height:1.3;text-transform:uppercase;margin:0 2px;vertical-align:1px;}
.foot-tag-cc{background:rgba(201,162,39,.14);color:var(--gold);border:1px solid rgba(201,162,39,.4)}
.foot-tag-ve{background:rgba(16,185,129,.14);color:#34D399;border:1px solid rgba(16,185,129,.4)}
.foot-tag-ba{background:rgba(99,102,241,.14);color:#A5B4FC;border:1px solid rgba(99,102,241,.4)}

/* ── Tagificar links de nicho no "Seus Direitos" do footer ── */
.footer-links a[href*="#cargo-confianca"],
.footer-links a[href*="#propagandista"],
.footer-links a[href*="#bancario"]{
  display:inline-block;padding:5px 11px;border-radius:5px;border:1px solid;
  font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;width:fit-content;
}
.footer-links a[href*="#cargo-confianca"]::before,
.footer-links a[href*="#propagandista"]::before,
.footer-links a[href*="#bancario"]::before{display:none}
.footer-links a[href*="#cargo-confianca"]:hover,
.footer-links a[href*="#propagandista"]:hover,
.footer-links a[href*="#bancario"]:hover{padding-left:11px}

.footer-links a[href*="#cargo-confianca"]{background:rgba(201,162,39,.14);color:var(--gold);border-color:rgba(201,162,39,.4)}
.footer-links a[href*="#cargo-confianca"]:hover{color:var(--gold-l);background:rgba(201,162,39,.22)}
.footer-links a[href*="#propagandista"]{background:rgba(16,185,129,.14);color:#34D399;border-color:rgba(16,185,129,.4)}
.footer-links a[href*="#propagandista"]:hover{color:#6EE7B7;background:rgba(16,185,129,.22)}
.footer-links a[href*="#bancario"]{background:rgba(99,102,241,.14);color:#A5B4FC;border-color:rgba(99,102,241,.4)}
.footer-links a[href*="#bancario"]:hover{color:#C7D2FE;background:rgba(99,102,241,.22)}

/* Tag neutra para "Calcular HE" (ação, não nicho) */
.footer-links a.foot-cta{
  display:inline-block;padding:5px 11px;border-radius:5px;border:1px solid;
  font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;width:fit-content;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.18);
}
.footer-links a.foot-cta::before{display:none}
.footer-links a.foot-cta:hover{padding-left:11px;color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.3)}

/* ══════════════════════════════════
   SHARED SECTIONS
══════════════════════════════════ */
.eye{
  display:flex;align-items:center;gap:8px;
  font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:10px;
}
.eye::before{content:'';width:20px;height:1.5px;background:var(--gold);flex-shrink:0}
.eye.dk{color:rgba(255,255,255,.45)}.eye.dk::before{background:rgba(255,255,255,.3)}

.sec-h{
  font-size:clamp(26px,4vw,42px);font-weight:700;
  font-family:var(--dp);color:var(--tx);
  line-height:1.1;margin-bottom:10px;letter-spacing:-.02em;
}
.sec-h.lt{color:#fff}
.sec-p{font-size:13px;color:var(--tx-2);line-height:1.8;margin-bottom:24px}
.sec-p.lt{color:rgba(255,255,255,.65)}

.tldr{
  background:rgba(201,162,39,.09);
  border-left:4px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:14px 18px;
  font-size:12px;color:var(--tx-2);line-height:1.8;
  margin-top:16px;
}
.tldr.lt{background:rgba(255,255,255,.07);color:rgba(255,255,255,.92);border-left-color:var(--gold)}
.tldr strong{font-weight:700}
.tldr.lt strong{color:var(--gold-l)}
.tldr-label{font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.tldr.lt .tldr-label{color:var(--gold-l)}

/* Mark default — fundo claro: texto inherit + bg amarelo claro */
mark{background:rgba(244,210,80,.22);color:inherit;border-radius:3px;padding:0 4px;font-weight:600}

/* ═══ Destaques em fundos DARK (key-takeaways, s-faq dos artigos) — texto dourado luminoso ═══ */
/* key-takeaways: SEMPRE dark (background azul ink) */
.key-takeaways li strong,
.key-takeaways li mark,
.key-takeaways p strong,
.key-takeaways p mark{
  color:#F4D250 !important;
  font-weight:700 !important;
  background:transparent !important;
  padding:0 !important;
}
/* s-faq dos artigos: SEMPRE dark (background azul ink) */
.s-faq .faq-a strong,
.s-faq .faq-a mark,
.s-faq .faq-a p strong,
.s-faq .faq-a p mark{
  color:#F4D250 !important;
  background:transparent !important;
  font-weight:700 !important;
}

/* FAQ */
.faq-item{border:1px solid var(--bdr);border-radius:var(--r-s);overflow:hidden;background:#fff;margin-bottom:4px}
.faq-q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  background:none;border:none;padding:16px 18px;cursor:pointer;text-align:left;
  font-family:var(--ds);font-size:13px;font-weight:700;color:var(--ink);line-height:1.5;
}
.faq-q:hover{background:var(--cream)}
.faq-arr{font-size:14px;flex-shrink:0;color:var(--gold);transition:transform .25s;margin-top:2px}
.faq-item.open .faq-arr{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;font-size:12px;color:var(--tx-2);line-height:1.8;padding:0 18px}
.faq-item.open .faq-a{max-height:600px;padding:0 18px 18px}
.faq-a strong{color:var(--ink);font-weight:700}
.faq-badge{display:inline-block;font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:10px}
.faq-badge.cc{background:rgba(201,162,39,.12);color:var(--gold);border:1px solid rgba(201,162,39,.3)}
.faq-badge.ve{background:rgba(16,185,129,.10);color:#047857;border:1px solid rgba(16,185,129,.3)}
.faq-badge.ba{background:rgba(99,102,241,.10);color:#4338CA;border:1px solid rgba(99,102,241,.3)}
.faq-badge.ge{background:rgba(107,114,128,.08);color:#4B5563;border:1px solid rgba(107,114,128,.25)}

/* Reveal animations */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
.rv.d2{transition-delay:.12s}.rv.d3{transition-delay:.22s}.rv.d4{transition-delay:.32s}

/* WhatsApp FAB */
.fab{
  position:fixed;bottom:28px;right:28px;
  width:54px;height:54px;background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(37,211,102,.5);z-index:150;
  text-decoration:none;transition:transform .2s;
}
.fab:hover{transform:scale(1.08)}
.fab::before{
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(37,211,102,.35);
  animation:fab-pulse 2s ease infinite;
}
@keyframes fab-pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:0}}

/* CTA buttons */
.btn-gold{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--gold);color:var(--ink);
  font-family:var(--ds);font-size:13px;font-weight:800;letter-spacing:.04em;
  padding:14px 28px;border-radius:10px;border:none;cursor:pointer;
  text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;
  position:relative;overflow:hidden;
}
.btn-gold::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:translateX(-100%);transition:transform .6s;
}
.btn-gold:hover::before{transform:translateX(100%)}
.btn-gold:hover{background:var(--gold-l);transform:translateY(-1px);box-shadow:0 6px 24px rgba(201,162,39,.4)}

.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;color:#fff;
  font-family:var(--ds);font-size:13px;font-weight:700;letter-spacing:.03em;
  padding:13px 28px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);
  cursor:pointer;text-decoration:none;transition:all .2s;
}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.07)}

/* WA icon helper */
.wa-ico{display:inline-block;vertical-align:middle;flex-shrink:0}

/* Scroll progress */
.spbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:999}
.spbar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-l));transition:width .1s}

/* ── FOOTER CTA STRIP (global — reutilizável em todas as páginas) ── */
.s-footer-cta{
  background:linear-gradient(180deg,#9C7F1E 0%,#7A6720 100%);
  padding:32px 0;text-align:center;
  position:relative;
}
.s-footer-cta::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(226,200,84,.55) 25%,rgba(255,223,128,.95) 50%,rgba(226,200,84,.55) 75%,transparent 100%);
  box-shadow:0 0 12px rgba(226,200,84,.40);
  pointer-events:none;
}
.s-footer-cta::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(226,200,84,.35) 25%,rgba(226,200,84,.65) 50%,rgba(226,200,84,.35) 75%,transparent 100%);
  pointer-events:none;
}
.footer-cta-h{
  font-family:var(--dp);font-size:clamp(22px,3.5vw,36px);
  font-weight:700;color:var(--ink);line-height:1.2;
  margin-bottom:16px;letter-spacing:-.01em;
}
.footer-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* ═══════════════════════════════════════════════
   BOTÕES PADRÃO (regra global de contraste)
   • Fundo claro/cream → usar .btn-ink (fundo azul)
   • Fundo escuro/azul → usar .btn-cream (fundo cream)
═══════════════════════════════════════════════ */

/* Para fundos CLAROS (cream) — botão azul sólido */
.btn-ink{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--ink);color:#fff;
  font-family:var(--ds);font-size:13px;font-weight:700;letter-spacing:.04em;
  padding:13px 28px;border-radius:10px;border:1px solid var(--ink);cursor:pointer;
  text-decoration:none;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.btn-ink:hover{
  background:var(--ink-1);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(7,17,42,.25);
  color:#fff;
}

/* Para fundos ESCUROS (azul/dark) — botão cream sólido */
.btn-cream{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--cream);color:var(--ink);
  font-family:var(--ds);font-size:13px;font-weight:700;letter-spacing:.04em;
  padding:13px 28px;border-radius:10px;border:1px solid var(--cream);cursor:pointer;
  text-decoration:none;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.btn-cream:hover{
  background:#fff;
  border-color:var(--gold);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.25);
  color:var(--ink);
}
.btn-cream svg{flex-shrink:0;transition:transform .25s ease}
.btn-cream:hover svg{transform:translateX(3px)}

/* Botão secundário (ghost) para fundos ESCUROS — outline translúcido */
.btn-ghost-dark{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:transparent;
  color:rgba(255,255,255,.82);
  font-family:var(--ds);font-size:12px;font-weight:600;letter-spacing:.04em;
  padding:13px 22px;border-radius:10px;
  border:1px solid rgba(255,255,255,.20);
  text-decoration:none;cursor:pointer;
  transition:all .25s ease;
}
.btn-ghost-dark:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
  border-color:rgba(244,210,80,.45);
  transform:translateY(-1px);
}
.btn-ghost-dark svg{flex-shrink:0;transition:transform .25s ease;opacity:.7}
.btn-ghost-dark:hover svg{transform:translateX(3px);opacity:1}

/* ══════════════════════════════════
   RESPONSIVE
══════════════════════════════════ */
@media(max-width:1023px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:767px){
  :root{--nav-h:56px}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  .nav-logo-text{display:none}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center;padding-right:0;padding-bottom:80px}
  .fab{bottom:20px;right:16px}
}

/* ══════════════════════════════════
   ASSINATURA VISUAL DA MARCA
   Aplica destaque dourado luminoso (italic + glow + sublinhado gradient)
   em palavras-chave dentro de qualquer título/parágrafo do site.
   Uso: <span class="injustica-lt">palavra</span>
   ══════════════════════════════════ */
.injustica-lt{
  color:#F4D250 !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:.02em !important;
  display:inline-block;
  position:relative;
  padding:0 2px;
  text-shadow:0 3px 16px rgba(201,162,39,.7),0 0 44px rgba(201,162,39,.45),0 0 80px rgba(201,162,39,.18);
}
.injustica-lt::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:3px;
  background:linear-gradient(90deg,transparent 0%,#F4D250 18%,#F4D250 82%,transparent 100%);
  box-shadow:0 0 12px rgba(244,210,80,.6);
}
/* Variante para fundo CLARO — texto escuro, sublinhado dourado, sem glow */
.injustica-dk{
  color:var(--ink) !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:.02em !important;
  display:inline-block;
  position:relative;
  padding:0 2px;
  background:none !important;
}
.injustica-dk::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:3px;
  background:linear-gradient(90deg,transparent 0%,#C9A227 18%,#C9A227 82%,transparent 100%);
  box-shadow:0 0 12px rgba(201,162,39,.4);
}
/* Variante para fundo DOURADO/CLARO — texto preto, sublinhado preto */
.injustica-bk{
  color:var(--ink) !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:.02em !important;
  display:inline-block;
  position:relative;
  padding:0 2px;
  background:none !important;
}
.injustica-bk::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:3px;
  background:linear-gradient(90deg,transparent 0%,var(--ink) 18%,var(--ink) 82%,transparent 100%);
  box-shadow:0 0 12px rgba(7,17,42,.35);
}

/* ═══ DEFINIÇÕES (LLM-friendly entity dictionary) ═══ */
dl.definicoes{
  background:var(--cream);
  border:1px solid var(--bdr,#E0E6EF);
  border-left:4px solid var(--nicho,var(--gold));
  border-radius:0 10px 10px 0;
  padding:20px 24px;
  margin:24px 0;
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:10px 20px;
  align-items:baseline;
}
dl.definicoes::before{
  content:'GLOSSÁRIO';
  grid-column:1 / -1;
  font-family:var(--ds);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--nicho,var(--gold));
  margin-bottom:6px;
}
dl.definicoes dt{
  font-family:var(--ds);
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  white-space:nowrap;
}
dl.definicoes dd{
  font-family:var(--ds);
  font-size:14px;
  line-height:1.6;
  color:var(--tx-2,#374151);
  margin:0;
}
@media (max-width:600px){
  dl.definicoes{grid-template-columns:1fr;gap:4px 0}
  dl.definicoes dt{margin-top:10px}
  dl.definicoes dt:first-of-type{margin-top:0}
}
