/* ══ LOCALIZAIDIOMA — HERO ENHANCEMENTS ══
   Floating shapes · Parallax · Entry animations
   Applied to all hero/banner sections site-wide
══════════════════════════════════════════ */

/* ─── Keyframes ─── */
@keyframes hs-float-a {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-28px); }
}
@keyframes hs-float-b {
  0%,100% { transform: translateY(-10px) translateX(0); }
  50%     { transform: translateY(18px) translateX(9px); }
}
@keyframes hs-drift {
  0%,100% { transform: translateY(0) translateX(0) rotate(0deg); }
  33%     { transform: translateY(-24px) translateX(14px) rotate(6deg); }
  66%     { transform: translateY(-10px) translateX(-10px) rotate(-4deg); }
}
@keyframes hs-spin {
  to { transform: rotate(360deg); }
}
@keyframes hs-spin-r {
  to { transform: rotate(-360deg); }
}
@keyframes hs-pulse-ring {
  0%   { transform: scale(1); opacity: .55; }
  100% { transform: scale(2.8); opacity: 0; }
}
@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hero-fade-r {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ─── Shapes container ─── */
.hero-shapes {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

/* ─── Base shape ─── */
.hs {
  position: absolute;
  border-radius: 50%;
  will-change: transform;
}

/* Sizes */
.hs-xl  { width: 620px; height: 620px; }
.hs-lg  { width: 370px; height: 370px; }
.hs-md  { width: 210px; height: 210px; }
.hs-sm  { width: 95px;  height: 95px;  }

/* Fill variants */
.hs-fw  { background: rgba(255,255,255,.022); }
.hs-fo  { background: rgba(245,166,35,.052);  }
.hs-fb  { background: rgba(37,99,235,.058);   }

/* Ring variants */
.hs-rw  { border: 1.5px solid rgba(255,255,255,.065); background: transparent; }
.hs-ro  { border: 1.5px solid rgba(245,166,35,.18);   background: transparent; }
.hs-rb  { border: 1.5px solid rgba(37,99,235,.2);     background: transparent; }

/* Positions */
.hs-tr  { top: -12%;    right: -8%;  }
.hs-tl  { top: -16%;    left: -10%;  }
.hs-br  { bottom: -18%; right: -6%;  }
.hs-bl  { bottom: -14%; left: -8%;   }
.hs-ml  { top: 22%;     left: -12%;  }
.hs-mr  { top: 15%;     right: -14%; }

/* Animation classes */
.hs-a   { animation: hs-float-a  9s  ease-in-out infinite; }
.hs-b   { animation: hs-float-b  13s ease-in-out infinite; }
.hs-d   { animation: hs-drift    17s ease-in-out infinite; }
.hs-sp  { animation: hs-spin     48s linear infinite; }
.hs-spr { animation: hs-spin-r   34s linear infinite; }
.hs-pr  { animation: hs-pulse-ring 5.5s ease-out infinite; }

/* Glow blobs */
.hs-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(88px);
  pointer-events: none;
  will-change: transform;
}
.hs-glow-o { background: radial-gradient(circle, rgba(245,166,35,.22) 0%, transparent 68%); }
.hs-glow-b { background: radial-gradient(circle, rgba(37,99,235,.18) 0%, transparent 68%);  }

/* ─── Clip hero containers ─── */
.page-hero       { position: relative; overflow: hidden; }
.contact-hero    { overflow: hidden; }
.empleo-hero     { overflow: hidden; }

/* Ensure text stays above shapes */
.page-hero .container { position: relative; z-index: 2; }
.contact-hero .container { position: relative; z-index: 2; }
.empleo-hero .container  { position: relative; z-index: 2; }
.about-hero-inner        { position: relative; z-index: 2; }
.hero-layout             { position: relative; z-index: 2; }

/* ─── Entry animations ─── */

/* index.html — main hero text */
.hero-text .hero-badge  { animation: hero-fade-up .65s ease both; animation-delay: .06s;  }
.hero-text .hero-label  { animation: hero-fade-up .65s ease both; animation-delay: .15s;  }
.hero-text h1           { animation: hero-fade-up .72s ease both; animation-delay: .26s;  }
.hero-text > p          { animation: hero-fade-up .72s ease both; animation-delay: .40s;  }
.hero-text .hero-btns   { animation: hero-fade-up .72s ease both; animation-delay: .54s;  }
.hero-text .hero-stats  { animation: hero-fade-up .72s ease both; animation-delay: .68s;  }
.hero-deco              { animation: hero-fade-r  .85s ease both; animation-delay: .30s;  }

/* page-hero (all interior pages) */
.page-hero .breadcrumb    { animation: hero-fade-up .60s ease both; animation-delay: .08s;  }
.page-hero h1             { animation: hero-fade-up .68s ease both; animation-delay: .22s;  }
.page-hero .container > p { animation: hero-fade-up .68s ease both; animation-delay: .36s;  }
.page-hero-meta           { animation: hero-fade-up .68s ease both; animation-delay: .50s;  }

/* nosotros.html */
.about-hero-text .breadcrumb        { animation: hero-fade-up .60s ease both; animation-delay: .06s;  }
.about-hero-text .about-hero-label  { animation: hero-fade-up .60s ease both; animation-delay: .16s;  }
.about-hero-text h1                 { animation: hero-fade-up .72s ease both; animation-delay: .28s;  }
.about-hero-text p                  { animation: hero-fade-up .72s ease both; animation-delay: .42s;  }
.about-hero-text .about-hero-pills  { animation: hero-fade-up .72s ease both; animation-delay: .56s;  }
.about-hero-deco                    { animation: hero-fade-r  .85s ease both; animation-delay: .34s;  }

/* Floating language pair cards */
.ahd-c1  { animation: hs-float-a 8s  ease-in-out infinite; }
.ahd-c2  { animation: hs-float-b 12s ease-in-out infinite 1.8s; }
.ahd-c3  { animation: hs-drift   15s ease-in-out infinite 3.2s; }
.ahd-orb { animation: hs-float-a 10s ease-in-out infinite 1s; }

/* Pulsing ring around nosotros orb */
.ahd-orb::after {
  content: '';
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 1.5px solid rgba(245,166,35,.22);
  animation: hs-pulse-ring 5s ease-out infinite;
}

/* contacto.html */
.contact-hero-text .breadcrumb          { animation: hero-fade-up .60s ease both; animation-delay: .08s;  }
.contact-hero-text h1                   { animation: hero-fade-up .72s ease both; animation-delay: .22s;  }
.contact-hero-text > p                  { animation: hero-fade-up .72s ease both; animation-delay: .34s;  }
.contact-hero-text .contact-info-cards  { animation: hero-fade-up .72s ease both; animation-delay: .46s;  }
.contact-form-box                       { animation: hero-fade-r  .85s ease both; animation-delay: .28s;  }

/* empleo.html */
.empleo-hero .breadcrumb       { animation: hero-fade-up .60s ease both; animation-delay: .08s;  }
.empleo-hero h1                { animation: hero-fade-up .72s ease both; animation-delay: .22s;  }
.empleo-hero .container > p    { animation: hero-fade-up .72s ease both; animation-delay: .34s;  }
.empleo-hero-pills             { animation: hero-fade-up .72s ease both; animation-delay: .46s;  }
.empleo-hero .btn-primary      { animation: hero-fade-up .72s ease both; animation-delay: .60s;  }
