/* Elementor Image + Text Animations – Widget Styles */
:root{
  --ea-height: 520px;
  --ea-radius: 18px;
  --ea-overlay: rgba(0,0,0,.45);
  --ea-text-color: #fff;
  --ea-accent: #FACF39;
  --ea-font-size: clamp(18px, 2vw, 28px);
  --ea-sub-size: clamp(12px, 1.4vw, 16px);
  --ea-padding: 22px;
  --ea-timing: 700ms;
}

.ea-block{
  position: relative;
  overflow: hidden;
  border-radius: var(--ea-radius);
  height: var(--ea-height);
  isolation: isolate;
  background:#000;
  box-shadow: 0 8px 26px rgba(0,0,0,.12);
}

.ea-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform: scale(1.001);
  transition: transform var(--ea-timing) ease;
  will-change: transform;
}
.ea-overlay{
  position:absolute; inset:0;
  background: var(--ea-overlay);
  opacity: 0.75;
  transition: opacity var(--ea-timing) ease;
}
.ea-content{
  position:absolute; inset:auto 0 0 0;
  padding: var(--ea-padding);
  color: var(--ea-text-color);
  z-index:2;
  display:flex; flex-direction:column; gap:10px;
  transform: translateY(12px);
}
.ea-eyebrow{
  font: 600 13px/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial;
  letter-spacing:.12em; text-transform: uppercase;
  color: var(--ea-accent);
}
.ea-title{
  font: 800 var(--ea-font-size)/1.15 ui-sans-serif, Inter, system-ui;
}
.ea-sub{
  font: 400 var(--ea-sub-size)/1.5 system-ui, sans-serif;
  opacity:.95; max-width: 62ch;
}

.ea-block[data-reveal="true"] .ea-title,
.ea-block[data-reveal="true"] .ea-sub,
.ea-block[data-reveal="true"] .ea-eyebrow{
  opacity:0; transform: translateY(12px);
}
.ea-block.is-inview .ea-title,
.ea-block.is-inview .ea-sub,
.ea-block.is-inview .ea-eyebrow{
  opacity:1; transform: translateY(0);
  transition: opacity var(--ea-timing) ease, transform var(--ea-timing) ease;
}
.ea-block.is-inview .ea-title{ transition-delay:.05s; }
.ea-block.is-inview .ea-sub{ transition-delay:.12s; }

.ea-zoom-fade .ea-bg{ animation: ea-zoom 9s ease-out forwards; }
@keyframes ea-zoom{ from{ transform: scale(1.06); } to{ transform: scale(1.0);} }

.ea-slide .ea-title, .ea-slide .ea-sub, .ea-slide .ea-eyebrow{
  transform: translateX(-14px); opacity:0;
}
.ea-slide.is-inview .ea-title,
.ea-slide.is-inview .ea-sub,
.ea-slide.is-inview .ea-eyebrow{
  transform: translateX(0); opacity:1;
  transition: opacity var(--ea-timing) ease, transform var(--ea-timing) cubic-bezier(.22,.61,.36,1);
}
.ea-slide.is-inview .ea-sub{ transition-delay: .08s; }

.ea-reveal:hover .ea-overlay{ opacity:.95; }
.ea-reveal .ea-title, .ea-reveal .ea-sub, .ea-reveal .ea-eyebrow{
  opacity:.0; transform: translateY(12px);
  transition: opacity var(--ea-timing) ease, transform var(--ea-timing) ease;
}
.ea-reveal:hover .ea-title,
.ea-reveal:hover .ea-sub,
.ea-reveal:hover .ea-eyebrow{
  opacity:1; transform: translateY(0);
}
.ea-reveal .ea-bg{ transition: transform var(--ea-timing) ease; }
.ea-reveal:hover .ea-bg{ transform: scale(1.06); }

.ea-breathe .ea-bg{ animation: ea-bob 6s ease-in-out infinite; }
@keyframes ea-bob{ 0%,100%{ transform: translateY(0) scale(1.02);} 50%{ transform: translateY(-8px) scale(1.03);} }

.ea-parallax{ perspective: 800px; }
.ea-parallax .ea-bg{ will-change: transform; }
.ea-parallax .ea-overlay{ will-change: opacity; }

.ea-block:hover .ea-overlay{ opacity:.82; }
.ea-block:hover{ box-shadow: 0 10px 30px rgba(0,0,0,.16); }

@media (max-width: 768px){
  :root{ --ea-height: 420px; }
  .ea-content{ padding: calc(var(--ea-padding) - 4px); }
}
