/* Reinos de Ferro — fortificações elaboradas, módulo visual v2 */
.castle-real-wall {
  width:124px;
  height:104px;
  transform-origin:50% 76%;
}

.castle-real-tower {
  width:188px;
  height:252px;
  transform-origin:50% 90%;
}

.castle-real-gate {
  width:260px;
  height:230px;
  transform-origin:50% 91%;
}

.castle-real-wall svg,
.castle-real-tower svg,
.castle-real-gate svg {
  overflow:visible;
  filter:drop-shadow(0 2px 1px #ffffff1c);
}

.castle-real-wall,
.castle-real-tower,
.castle-real-gate {
  transition:filter .16s ease, transform .16s ease;
}

.castle-real-gate:hover {
  filter:brightness(1.12) saturate(1.06);
  transform:translateY(-4px) scale(1.018);
}

.fortification-flame {
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation:fortification-flame-flicker .72s ease-in-out infinite alternate;
}

.fortification-fire-glow {
  transform-box:fill-box;
  transform-origin:center;
  animation:fortification-glow-pulse 1.15s ease-in-out infinite alternate;
}

.fortification-banner {
  transform-box:fill-box;
  transform-origin:0 18%;
  animation:fortification-banner-wave 2.8s ease-in-out infinite alternate;
}

.fortification-guard {
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation:fortification-guard-idle 3.6s ease-in-out infinite alternate;
}

.stage-1 .castle-real-wall,
.stage-1 .castle-real-tower,
.stage-1 .castle-real-gate {
  filter:saturate(.7) brightness(.78) contrast(.96);
}

.stage-2 .castle-real-wall,
.stage-2 .castle-real-tower,
.stage-2 .castle-real-gate {
  filter:saturate(.82) brightness(.9);
}

.stage-4 .castle-real-wall,
.stage-4 .castle-real-tower,
.stage-4 .castle-real-gate {
  filter:contrast(1.04) saturate(.98);
}

.stage-5 .castle-real-wall,
.stage-5 .castle-real-tower,
.stage-5 .castle-real-gate {
  filter:drop-shadow(0 0 4px #d09e3b88) contrast(1.08) saturate(1.02);
}

@keyframes fortification-flame-flicker {
  0% { transform:rotate(-3deg) scale(.92,1.02); opacity:.9; }
  55% { transform:rotate(2deg) scale(1.04,.96); opacity:1; }
  100% { transform:rotate(5deg) scale(.96,1.08); opacity:.94; }
}

@keyframes fortification-glow-pulse {
  from { opacity:.25; transform:scale(.88); }
  to { opacity:.48; transform:scale(1.08); }
}

@keyframes fortification-banner-wave {
  from { transform:skewY(-2deg) scaleX(.96); }
  to { transform:skewY(3deg) scaleX(1.04); }
}

@keyframes fortification-guard-idle {
  from { transform:translateY(0); }
  to { transform:translateY(-1.5px); }
}

@media (prefers-reduced-motion: reduce) {
  .fortification-flame,
  .fortification-fire-glow,
  .fortification-banner,
  .fortification-guard {
    animation:none!important;
  }
}
