
/* Patch V129 — cabeçalho institucional unificado */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(42,7,11,.985);
  border-bottom:1px solid rgba(218,169,79,.45);
  box-shadow:0 7px 22px rgba(25,2,5,.18);
  backdrop-filter:blur(10px);
}
.site-header__inner{
  width:min(1540px,calc(100% - 48px));
  min-height:106px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(330px,410px) minmax(0,1fr);
  align-items:center;
  gap:34px;
}
.site-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:17px;
  color:#fff;
  text-decoration:none;
}
.site-brand__mark{
  width:72px;
  height:72px;
  flex:0 0 72px;
  display:grid;
  place-items:center;
  border:2px solid #c89b50;
  box-shadow:inset 0 0 0 5px rgba(200,155,80,.08);
  color:#e6c27a;
  font:700 34px/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.03em;
}
.site-brand__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.site-brand__copy strong{
  color:#fff;
  font:700 clamp(29px,2.15vw,38px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:.01em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-brand__copy small{
  margin-top:9px;
  color:#e6c27a;
  font:700 11.5px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
}
.site-nav__links{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(15px,1.35vw,26px);
}
.site-nav__link{
  position:relative;
  padding:10px 0;
  color:#fff;
  text-decoration:none;
  font:700 15.5px/1.2 Georgia,"Times New Roman",serif;
  white-space:nowrap;
}
.site-nav__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:#d7aa4c;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link.is-active{
  color:#e6c27a;
}
.site-nav__link:hover::after,
.site-nav__link:focus-visible::after,
.site-nav__link.is-active::after{
  transform:scaleX(1);
}
.site-nav__cta{
  min-height:58px;
  min-width:264px;
  max-width:286px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:13px 20px;
  border:1px solid #d6a54b;
  border-radius:5px;
  background:linear-gradient(135deg,#e5be70,#c9943d);
  box-shadow:0 8px 19px rgba(0,0,0,.13);
  color:#35100e;
  text-decoration:none;
  text-align:center;
  text-transform:uppercase;
  font:700 14px/1.25 Georgia,"Times New Roman",serif;
  letter-spacing:.01em;
  white-space:nowrap;
}
.site-nav__cta:hover,
.site-nav__cta:focus-visible{
  filter:brightness(1.055);
  transform:translateY(-1px);
}
.site-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  padding:9px;
  border:1px solid rgba(230,194,122,.45);
  border-radius:7px;
  background:rgba(255,255,255,.04);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
}
.site-menu-toggle span{
  display:block;
  width:27px;
  height:3px;
  border-radius:99px;
  background:#fff;
  transition:transform .2s ease,opacity .2s ease;
}
.site-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

@media(max-width:1360px){
  .site-header__inner{grid-template-columns:minmax(300px,365px) minmax(0,1fr);gap:24px}
  .site-brand__mark{width:66px;height:66px;flex-basis:66px;font-size:31px}
  .site-brand__copy strong{font-size:30px}
  .site-brand__copy small{font-size:10px;letter-spacing:.14em}
  .site-nav{gap:22px}
  .site-nav__links{gap:17px}
  .site-nav__link{font-size:14.5px}
  .site-nav__cta{min-width:236px;max-width:250px;padding:12px 16px;font-size:13px}
}

/* O menu móvel entra antes de qualquer quebra ou sobreposição. */
@media(max-width:1180px){
  .site-header__inner{
    position:relative;
    min-height:88px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    padding:10px 0;
  }
  .site-brand__mark{width:62px;height:62px;flex-basis:62px;font-size:29px}
  .site-brand__copy strong{font-size:clamp(24px,3.3vw,31px)}
  .site-brand__copy small{font-size:10px}
  .site-menu-toggle{display:flex;justify-self:end}
  .site-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:1001;
    display:none;
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:13px 16px 18px;
    border-top:1px solid rgba(216,169,81,.35);
    border-bottom:1px solid rgba(216,169,81,.5);
    background:#310d11;
    box-shadow:0 19px 32px rgba(25,2,5,.27);
  }
  .site-nav.is-open{display:flex}
  .site-nav__links{display:flex;align-items:stretch;flex-direction:column;gap:0}
  .site-nav__link{display:block;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.1);font-size:16px}
  .site-nav__link::after{display:none}
  .site-nav__link:last-child{border-bottom:0}
  .site-nav__cta{width:100%;min-width:0;max-width:none;min-height:52px;white-space:normal}
  body.site-menu-open{overflow:hidden}
}

@media(max-width:600px){
  .site-header__inner{width:calc(100% - 28px);min-height:78px;gap:10px;padding:9px 0}
  .site-brand{gap:11px}
  .site-brand__mark{width:54px;height:54px;flex-basis:54px;font-size:25px}
  .site-brand__copy strong{font-size:20px;letter-spacing:0}
  .site-brand__copy small{margin-top:6px;font-size:8.5px;letter-spacing:.10em;white-space:normal;max-width:190px}
  .site-menu-toggle{width:44px;height:44px;padding:8px}
  .site-nav{left:-14px;right:-14px}
}

/* Patch V130 — segurança de layout da página Documentos */
body[data-page="documentos"] .site-header__inner,
body.documents-page .site-header__inner{
  isolation:isolate;
}
