:root{
  --grafite-900:#0b0c0e; --grafite-800:#111315; --grafite-700:#1a1d20;
  --borda:#2c3034; --ouro:#c5a059; --ouro-claro:#e0c48a;
  --ouro-fraco:rgba(197,160,89,.30); --ouro-brasa:rgba(197,160,89,.10);
  --azul:#7094ce; --texto:#e9e7e3; --texto-fraco:#8b8f94;
  --f-marca:'Cinzel',Georgia,serif;
  --f-nav:'Barlow Condensed','Arial Narrow',sans-serif;
  --f-dado:'JetBrains Mono',ui-monospace,monospace;
}
.hero{position:relative;padding:0;min-height:640px;height:88vh;max-height:900px;overflow:hidden;
  display:flex;align-items:center;
  background:radial-gradient(1000px 460px at 50% 120%,rgba(197,160,89,.06),transparent 66%),
    linear-gradient(180deg,#0a0a0b 0%,#050506 100%)}
/* CORREÇÃO: canvas é elemento replaced; precisa de width/height explícitos p/ preencher */
.hero-brasa{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
.hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 60%,transparent 38%,rgba(3,3,4,.62) 100%)}
.hero-moldura{position:absolute;inset:22px;z-index:3;pointer-events:none;border:1px solid rgba(44,48,52,.6)}
.hero-moldura i{position:absolute;width:16px;height:16px}
.hero-moldura .tl{top:-1px;left:-1px;border-top:1.5px solid var(--ouro-fraco);border-left:1.5px solid var(--ouro-fraco)}
.hero-moldura .tr{top:-1px;right:-1px;border-top:1.5px solid var(--ouro-fraco);border-right:1.5px solid var(--ouro-fraco)}
.hero-moldura .bl{bottom:-1px;left:-1px;border-bottom:1.5px solid var(--ouro-fraco);border-left:1.5px solid var(--ouro-fraco)}
.hero-moldura .br{bottom:-1px;right:-1px;border-bottom:1.5px solid var(--ouro-fraco);border-right:1.5px solid var(--ouro-fraco)}
.hero-in{position:relative;z-index:4;max-width:900px;margin:0 auto;padding:0 40px;width:100%;text-align:center}
.hero-titulo{font-family:var(--f-marca);font-weight:700;color:var(--texto);
  font-size:clamp(30px,5.6vw,60px);line-height:1.12;letter-spacing:.06em;margin:0 0 8px;
  text-transform:uppercase;text-shadow:0 0 40px rgba(197,160,89,.12)}
.hero-titulo .destaque{color:var(--ouro);text-shadow:0 0 34px rgba(197,160,89,.4)}
.hero-titulo .palavra{display:inline-block;white-space:pre}
.hero-sub{max-width:60ch;margin:22px auto 0;font-family:var(--f-nav);font-size:clamp(16px,2vw,19px);line-height:1.7;color:var(--texto-fraco);letter-spacing:.02em}
.hero-filete{width:0;height:1px;margin:34px auto 30px;background:linear-gradient(90deg,transparent,var(--ouro-fraco) 30%,var(--ouro) 50%,var(--ouro-fraco) 70%,transparent)}
.hero-acoes{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{font-family:var(--f-nav);font-size:15.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:14px 28px;transition:.24s;border:1px solid transparent;cursor:pointer}
.btn-ouro{background:var(--ouro);color:var(--grafite-900);border-color:var(--ouro)}
.btn-ouro:hover{background:transparent;color:var(--ouro);box-shadow:0 0 24px rgba(197,160,89,.28)}
.btn-linha{color:var(--texto);border-color:var(--borda)}
.btn-linha:hover{border-color:var(--ouro);color:var(--ouro)}
.hero-cred{position:absolute;left:0;right:0;bottom:40px;z-index:4;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;
  font-family:var(--f-dado);font-size:10.5px;letter-spacing:.2em;color:var(--texto-fraco);text-transform:uppercase}
.hero-cred span{display:inline-flex;align-items:center;gap:9px}
.hero-cred b{color:var(--ouro);font-weight:400}
.hero-cred .ponto{width:5px;height:5px;border-radius:50%;background:var(--ouro);box-shadow:0 0 8px rgba(197,160,89,.7)}
.anim .hero-sub,.anim .hero-acoes,.anim .hero-cred{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.anim .hero-titulo .palavra{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.anim .hero-filete{transition:width .9s cubic-bezier(.65,0,.35,1)}
.mostra.hero-sub,.mostra.hero-acoes,.mostra.hero-cred,.palavra.mostra{opacity:1!important;transform:none!important}
.hero-filete.mostra{width:min(560px,70%)}
@media (max-width:640px){
  .hero{height:auto;min-height:0;padding:110px 0 80px}
  .hero-in{padding:0 26px}
  .hero-cred{position:static;margin-top:44px}
  .hero-moldura{inset:12px}
}
