/* HERO CAROUSEL */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroSlide{
  0%,100%{opacity:0}
  5%,24%{opacity:1}
  28%,99%{opacity:0}
}
@keyframes heroSlide2{
  0%,24%{opacity:0}
  29%,49%{opacity:1}
  53%,100%{opacity:0}
}
@keyframes heroSlide3{
  0%,49%{opacity:0}
  54%,74%{opacity:1}
  78%,100%{opacity:0}
}
@keyframes heroSlide4{
  0%,74%{opacity:0}
  79%,95%{opacity:1}
  99%,100%{opacity:0}
}
@keyframes kenBurns{from{transform:scale(1.08)}to{transform:scale(1)}}

#hero{height:100vh;background:var(--negro);color:var(--blanco);display:flex;flex-direction:column;justify-content:flex-end;padding:0 7% 72px;position:relative;overflow:hidden;}
.hero-carousel{position:absolute;inset:0;z-index:0;}
.hc-slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center;will-change:opacity;}
.hc-slide:nth-child(1){animation:heroSlide 28s ease infinite, kenBurns 28s ease infinite; background-image:url('https://heka.com.ec/wp-content/uploads/2026/03/DSC4924-HDR-1-scaled.jpg');}
.hc-slide:nth-child(2){animation:heroSlide2 28s ease infinite, kenBurns 28s ease 7s infinite; background-image:url('https://heka.com.ec/wp-content/uploads/2026/03/DSC4936-HDR-1-scaled.jpg');}
.hc-slide:nth-child(3){animation:heroSlide3 28s ease infinite, kenBurns 28s ease 14s infinite; background-image:url('https://heka.com.ec/wp-content/uploads/2026/03/DSC4949-HDR-1-scaled.jpg');}
.hc-slide:nth-child(4){animation:heroSlide4 28s ease infinite, kenBurns 28s ease 21s infinite; background-image:url('https://heka.com.ec/wp-content/uploads/2026/03/DSC4962-HDR-scaled.jpg');}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.38) 50%, rgba(0,0,0,.55) 100%);}
.hero-carousel-dots{position:absolute;bottom:36px;left:7%;display:flex;gap:8px;z-index:3;}
.hc-dot{width:28px;height:2px;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s;}
.hc-dot.active{background:var(--azul);width:44px;}

#hero::before{display:none;}
.hero-eyebrow{font-size:.68rem;letter-spacing:5px;color:rgba(255,255,255,.55);font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp .8s ease .2s forwards;position:relative;z-index:2;margin-bottom:16px;}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--azul);}
.hero-title{font-family:var(--font-title);font-size:clamp(6rem,17vw,22rem);font-weight:800;line-height:.82;letter-spacing:-6px;opacity:0;animation:fadeUp 1.1s var(--ease) .4s forwards;position:relative;z-index:2;}
.hero-title .dot{color:var(--azul);}
.hero-ctas{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease .7s forwards;position:relative;z-index:2;}
.btn-prim{display:inline-block;padding:17px 40px;background:var(--azul);color:#fff;text-decoration:none;font-size:.68rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;transition:.3s;}
.btn-prim:hover{opacity:.85;transform:translateY(-2px);}
.btn-sec{display:inline-block;padding:16px 40px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);text-decoration:none;font-size:.68rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;transition:.3s;}
.btn-sec:hover{border-color:var(--azul);color:white;}
.hero-scroll{position:absolute;bottom:36px;right:7%;display:flex;align-items:center;gap:10px;font-size:.56rem;letter-spacing:4px;opacity:.35;z-index:3;}

/* RANKINGS */
.rankings{background:var(--negro);padding:60px 7%;display:flex;align-items:center;justify-content:center;gap:80px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.05);}
.rankings img{height:120px;filter:none;opacity:.82;transition:.4s;}
.rankings img:hover{opacity:1;transform:scale(1.06);}
.r-div{width:1px;height:68px;background:rgba(255,255,255,.08);}

/* IMAGE STRIP */
.img-strip{display:flex;height:340px;overflow:hidden;background:var(--negro);}
.img-strip-item{flex:1;overflow:hidden;position:relative;min-width:0;}
.img-strip-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.8s var(--ease);filter:grayscale(.15);}
.img-strip-item:hover img{transform:scale(1.06);filter:grayscale(0);}
.img-strip-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28) 0%,transparent 60%);pointer-events:none;}

/* SECTIONS */
section{padding:110px 7%;}
section.dark{background:var(--negro);color:var(--blanco);}
.sec-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;}
.sec-num{font-family:var(--font-title);font-size:8rem;font-weight:800;line-height:1;opacity:.06;position:absolute;top:-20px;left:-10px;pointer-events:none;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--borde);margin:60px 0;}
.pillar{background:var(--blanco);padding:50px 40px;transition:.5s var(--ease);}
.pillar:hover{background:var(--negro);color:var(--blanco);}
.pillar-icon{font-size:1.5rem;margin-bottom:18px;}
.pillar h3{font-family:var(--font-title);font-size:1.6rem;font-weight:800;margin-bottom:16px;}
.pillar p{font-size:.92rem;font-weight:300;line-height:2;opacity:.6;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--borde);}
.stat{background:var(--blanco);padding:52px 36px;transition:.4s var(--ease);}
.stat:hover{background:var(--negro);color:var(--blanco);}
.stat-num{font-family:var(--font-title);font-size:4rem;font-weight:800;color:var(--azul);line-height:1;}
.stat-label{font-size:.75rem;font-weight:300;opacity:.5;margin-top:10px;line-height:1.6;text-transform:uppercase;letter-spacing:2px;}

/* SERVICIOS — EDITORIAL PHOTO GRID */
.svc-editorial-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:280px 280px;
  gap:3px;
  background:#1a1a1a;
  margin:0 -7%;
  padding:0;
}
.svc-editorial-grid2{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:300px 300px;
  gap:3px;
  background:#1a1a1a;
  margin:0 -7%;
  padding:3px 0;
}

/* PHOTO CARD */
.svc-photo-card{
  position:relative;
  overflow:hidden;
  display:block;
  text-decoration:none;
  background-size:cover;
  background-position:center;
  background-color:#111;
  cursor:pointer;
}
.svc-tall{grid-row:span 2;}
.svc-wide{grid-column:span 2;}

.spc-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(8,8,8,.95) 0%,
    rgba(8,8,8,.5) 45%,
    rgba(8,8,8,.1) 100%
  );
  transition:.6s ease;
}
.svc-photo-card:hover .spc-overlay{
  background:linear-gradient(
    to top,
    rgba(8,8,8,.98) 0%,
    rgba(37,141,214,.25) 50%,
    rgba(8,8,8,.3) 100%
  );
}
.svc-photo-card img.spc-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
  transform:scale(1.06);
  transition:.8s ease;
  filter:grayscale(.15);
}
.svc-photo-card:hover img.spc-bg{transform:scale(1.13);filter:grayscale(0);}

/* CSS background-image cards — zoom on pseudo */
.svc-photo-card::before{
  content:'';
  position:absolute;inset:0;
  background:inherit;
  background-size:cover;
  background-position:center;
  transform:scale(1.06);
  transition:.8s ease;
  filter:grayscale(.2) brightness(.88);
}
.svc-photo-card:hover::before{
  transform:scale(1.13);
  filter:grayscale(0) brightness(1);
}

.spc-content{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:32px 36px;
  z-index:2;
  transform:translateY(4px);
  transition:.4s ease;
}
.svc-photo-card:hover .spc-content{transform:translateY(0);}

.spc-num{
  display:block;
  font-size:.72rem;
  letter-spacing:4px;
  color:var(--azul);
  font-weight:700;
  margin-bottom:10px;
  text-transform:uppercase;
}
.spc-title{
  font-family:var(--font-title);
  font-size:clamp(1.4rem,2.2vw,2.2rem);
  font-weight:800;
  color:#fff;
  line-height:1.1;
  margin-bottom:10px;
  letter-spacing:-.3px;
}
.spc-desc{
  font-size:.8rem;
  font-weight:300;
  color:rgba(255,255,255,.65);
  line-height:1.7;
  max-width:340px;
  opacity:0;
  transform:translateY(6px);
  transition:.4s ease .05s;
}
.svc-photo-card:hover .spc-desc{opacity:1;transform:translateY(0);}

/* TEXT CARD */
.svc-text-card{
  background:#111;
  color:var(--blanco);
  padding:36px 36px 32px;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  border-top:2px solid transparent;
  transition:.4s ease;
  position:relative;
  overflow:hidden;
}
.svc-text-card::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:1px;
  background:linear-gradient(to right,var(--azul),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:.4s ease;
}
.svc-text-card:hover{background:#0d0d0d;border-top-color:var(--azul);}
.svc-text-card:hover::after{transform:scaleX(1);}
.svc-text-card:hover h3{color:var(--azul);}
.svc-text-card h3{
  font-family:var(--font-title);
  font-size:clamp(1.1rem,1.6vw,1.5rem);
  font-weight:700;
  margin:14px 0 12px;
  line-height:1.2;
  transition:.3s;
}
.svc-text-card p{
  font-size:.82rem;
  font-weight:300;
  line-height:1.8;
  opacity:.5;
  flex:1;
}
.stc-arrow{
  display:block;
  color:var(--azul);
  font-size:1.1rem;
  margin-top:20px;
  transform:translateX(0);
  transition:.3s;
}
.svc-text-card:hover .stc-arrow{transform:translateX(5px);}

/* Grid2 — all equal 1 column each, 3 per row */
.svc-editorial-grid2 .svc-photo-card{grid-column:span 1;}

/* VER TODOS card */
.svc-ver-todos{
  background:var(--azul);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  text-align:center;
  transition:.4s;
  grid-column:span 1;
}
.svc-ver-todos:hover{background:#1a7bc0;}

/* RESPONSIVE */
@media(max-width:1000px){
  .svc-editorial-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 260px 220px;
  }
  .svc-tall{grid-column:span 2;grid-row:span 1;}
  .svc-wide{grid-column:span 2;}
  .svc-editorial-grid2{
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 260px 260px;
  }
  .svc-editorial-grid2 .svc-photo-card{grid-column:span 1;}
  .svc-ver-todos{grid-column:span 2;}
}
@media(max-width:640px){
  .svc-editorial-grid{grid-template-columns:1fr;grid-template-rows:auto;}
  .svc-tall,.svc-wide{grid-column:span 1;}
  .svc-editorial-grid2{grid-template-columns:1fr;}
  .svc-editorial-grid2 .svc-photo-card:nth-child(1),
  .svc-editorial-grid2 .svc-photo-card:nth-child(2){grid-column:span 1;}
  .svc-ver-todos{grid-column:span 1;}
}

/* SERVICIOS OLD (keep for reference) */
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--borde);margin-top:56px;}
.serv-card{background:var(--blanco);color:var(--negro);padding:48px 40px;transition:.5s var(--ease);cursor:default;border-top:3px solid transparent;}
.serv-card:hover{background:var(--negro);color:var(--blanco);border-top-color:var(--azul);}.serv-card:hover h3{color:var(--blanco);}.serv-card:hover p{opacity:.65;}
.serv-card.ver-mas{background:var(--azul);color:white;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;}
.serv-card.ver-mas:hover{background:#1a7bc0;}
.serv-num{font-size:.72rem;letter-spacing:3px;color:var(--azul);font-weight:700;margin-bottom:20px;}
.serv-card:hover .serv-num{color:rgba(37,141,214,.7);}
.serv-card h3{font-family:var(--font-title);font-size:1.45rem;font-weight:700;margin-bottom:16px;line-height:1.2;color:var(--negro);}
.serv-card p{font-size:.9rem;font-weight:300;line-height:2;opacity:.55;}

/* CLARA SECTION */
.clara-split{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.cs-left{padding:80px 7%;display:flex;flex-direction:column;justify-content:center;}
.cs-right{background:#060606;padding:80px 7%;display:flex;flex-direction:column;justify-content:center;}
.clara-title{font-family:var(--font-title);font-size:clamp(3rem,6vw,7rem);font-weight:800;line-height:.88;letter-spacing:-3px;margin-bottom:8px;}
.clara-title em{font-style:normal;color:var(--azul);}
.terminal{background:#0a0a0a;border:1px solid rgba(37,141,214,.15);border-radius:4px;padding:26px;font-family:monospace;}
.term-bar{display:flex;gap:7px;margin-bottom:18px;}
.term-dot{width:11px;height:11px;border-radius:50%;}
.term-line{font-size:.72rem;color:rgba(37,141,214,.8);line-height:2.3;}
.term-line span{color:rgba(255,255,255,.45);}
.term-cursor{display:inline-block;width:8px;height:13px;background:var(--azul);animation:blink 1.1s step-end infinite;vertical-align:middle;}
@keyframes blink{50%{opacity:0}}
.clara-feats{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px;}
.cf{display:flex;gap:12px;align-items:flex-start;}
.cf-icon{color:var(--azul);font-size:1rem;margin-top:2px;flex-shrink:0;}
.cf-text{font-size:.85rem;font-weight:300;line-height:1.7;opacity:.65;}
.cf-text strong{color:var(--blanco);font-weight:600;opacity:1;}

/* EQUIPO */
.equipo-list{margin-top:56px;}
.eq-row{display:flex;align-items:center;justify-content:space-between;padding:32px 0;border-bottom:1px solid var(--borde);gap:20px;transition:.3s;cursor:default;}
.eq-row:hover{padding-left:8px;}
.eq-row:hover .eq-name{color:var(--azul);}
.eq-left{display:flex;align-items:center;gap:20px;}
.eq-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top center;filter:grayscale(1);transition:.4s;}
.eq-row:hover .eq-photo{filter:grayscale(0);}
.eq-name{font-family:var(--font-title);font-size:1.2rem;font-weight:700;transition:.3s;}
.eq-area{font-size:.65rem;letter-spacing:2px;opacity:.4;font-weight:300;margin-top:4px;}
.eq-tag{font-size:.6rem;letter-spacing:3px;color:var(--azul);font-weight:700;border:1px solid rgba(37,141,214,.3);padding:6px 14px;}

/* TESTIMONIOS */
.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--borde);margin-top:50px;}
.testi{background:var(--blanco);padding:56px 48px;transition:.4s;position:relative;}
.testi::before{content:'\201C';font-family:var(--font-title);font-size:5rem;color:var(--azul);opacity:.08;position:absolute;top:16px;left:32px;line-height:1;}
.testi:hover{background:var(--negro);color:var(--blanco);}
.testi:hover p{color:var(--blanco);}
.testi:hover cite{color:var(--azul);}
.testi p{font-size:1.12rem;line-height:2;font-weight:400;font-style:italic;position:relative;z-index:1;color:var(--negro);}
.testi cite{display:block;margin-top:24px;font-size:.72rem;letter-spacing:4px;font-weight:700;color:var(--azul);font-style:normal;text-transform:uppercase;}

/* NOTICIAS */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--borde);margin-top:56px;}
.news-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--blanco);transition:.5s var(--ease);overflow:hidden;}
.news-card:hover{background:var(--negro);color:var(--blanco);}
.news-card:hover .nc-img{transform:scale(1.05);}
.nc-img-wrap{overflow:hidden;height:200px;}
.nc-img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s var(--ease);filter:grayscale(.2);}
.nc-body{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column;}
.nc-cat{font-size:.58rem;letter-spacing:3px;color:var(--azul);font-weight:700;text-transform:uppercase;margin-bottom:12px;display:block;}
.nc-title{font-family:var(--font-title);font-size:1.08rem;font-weight:700;line-height:1.35;flex:1;}
.nc-date{font-size:.6rem;opacity:.35;margin-top:16px;font-weight:300;}
.podcast-banner{background:linear-gradient(135deg,var(--negro) 0%,#0d1b2a 100%);padding:56px 7%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-top:2px;}
.pb-inner{display:flex;align-items:center;gap:24px;}
.pb-icon{width:60px;height:60px;background:var(--azul);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.pb-title{font-family:var(--font-title);font-size:1.6rem;font-weight:800;color:var(--blanco);}
.pb-desc{font-size:.85rem;color:rgba(255,255,255,.45);font-weight:300;margin-top:6px;max-width:500px;}
.pb-cta{padding:17px 40px;background:var(--azul);color:white;text-decoration:none;font-size:.65rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;transition:.3s;white-space:nowrap;}
.pb-cta:hover{opacity:.85;}

/* SOMOS HEKA */
.somos-wrap{background:url('https://heka.com.ec/wp-content/uploads/2026/03/DSC5031-1-scaled.jpg') center/cover no-repeat;position:relative;min-height:520px;display:flex;align-items:center;padding:0 7%;}
.somos-wrap::before{content:'';position:absolute;inset:0;background:rgba(8,8,8,.82);}
.somos-inner{position:relative;z-index:1;max-width:600px;color:var(--blanco);}
.somos-inner h2{font-family:var(--font-title);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:800;line-height:1;margin-bottom:24px;}
.somos-inner p{font-size:1rem;font-weight:300;line-height:2;opacity:.65;margin-bottom:36px;}

/* TRABAJA */
.trabaja-split{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.tw-left{background:var(--negro);color:var(--blanco);padding:80px 7%;}
.tw-right{background:#0d0d0d;color:var(--blanco);padding:80px 7%;display:flex;flex-direction:column;justify-content:center;}
.tw-left h2{font-family:var(--font-title);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:800;line-height:1;margin-bottom:24px;}
.tw-left p{font-size:.95rem;font-weight:300;line-height:2;opacity:.55;margin-bottom:40px;}
.cv-upload{border:1px dashed rgba(255,255,255,.15);padding:52px 36px;text-align:center;cursor:pointer;transition:.3s;}
.cv-upload:hover{border-color:var(--azul);}
.cv-upload p{font-size:.88rem;font-weight:300;opacity:.5;line-height:1.9;}
.cv-upload .cv-label{font-size:.65rem;letter-spacing:4px;color:var(--azul);font-weight:700;text-transform:uppercase;display:block;margin-bottom:12px;}
.perks{margin-top:40px;}
.perk{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px;}
.perk-icon{color:var(--azul);font-size:1rem;margin-top:2px;flex-shrink:0;}
.perk-text{font-size:.9rem;font-weight:300;line-height:1.7;opacity:.65;}
.perk-text strong{color:var(--blanco);font-weight:600;opacity:1;}

/* CONTACTO */
.contacto-split{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.ct-left{background:var(--negro);color:var(--blanco);padding:80px 7%;}
.ct-right{padding:80px 7%;background:var(--gris);}
.ct-left h2{font-family:var(--font-title);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:800;line-height:1;margin-bottom:30px;}
.ct-info{margin-top:40px;}
.ct-info-item{margin-bottom:30px;}
.ct-info-label{font-size:.56rem;letter-spacing:4px;color:var(--azul);font-weight:700;text-transform:uppercase;display:block;margin-bottom:8px;}
.ct-info-val{font-size:1.1rem;font-weight:400;color:var(--blanco);line-height:1.6;text-decoration:none;transition:.3s;display:block;}
.ct-info-val:hover{color:var(--azul);}
.ct-info-val.small{font-size:.92rem;opacity:.65;}
.form-group{margin-bottom:28px;}
.form-group label{display:block;font-size:.58rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;color:rgba(0,0,0,.3);margin-bottom:10px;}
.form-inp{width:100%;border:none;border-bottom:1px solid rgba(0,0,0,.12);padding:14px 0;font-size:.95rem;font-family:var(--font-body);background:transparent;outline:none;transition:.3s;}
.form-inp:focus{border-color:var(--azul);}
.form-submit{padding:20px 44px;background:var(--azul);color:#fff;border:none;font-size:.68rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;cursor:pointer;font-family:var(--font-body);transition:.3s;}
.form-submit:hover{background:var(--negro);}

@media(max-width:1000px){
  .sec-grid{grid-template-columns:1fr;gap:40px;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .servicios-grid{grid-template-columns:repeat(2,1fr);}
  .clara-split,.trabaja-split,.contacto-split{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .img-strip{height:200px;}
}
@media(max-width:640px){
  .stats{grid-template-columns:1fr 1fr;}
  .servicios-grid{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .clara-feats{grid-template-columns:1fr;}
  .rankings{gap:30px;}
  .rankings img{height:85px;}
  .img-strip{height:160px;}
}