/* ============================================================
   SEARCH TALENT PROS — Quiénes Somos page styles
   ============================================================ */

/* ---------- QS HERO ---------- */
.qs-hero{
  position:relative; min-height:clamp(600px,90vh,900px); display:flex; align-items:center;
  background:#FDFCF8; overflow:hidden;
}
.qs-hero h1{
  font-family:var(--serif); font-weight:900; font-size:clamp(1.9rem,3.6vw,3rem);
  line-height:1.0; letter-spacing:-.02em; color:var(--purple); margin:0 0 26px;
}
.qs-hero h1 em{ color:var(--red); font-style:normal; font-family:var(--sans); font-weight:500; }
.qs-hero .lede{ color:var(--ink-soft); max-width:620px; margin-bottom:38px; font-size:clamp(1.02rem,1.2vw,1.18rem); }
.qs-hero__scroll{ position:absolute; bottom:26px; left:var(--gutter); z-index:2; display:flex; align-items:center; gap:10px; color:var(--ink-mute); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; font-weight:500; }
.qs-hero__scroll .line{ width:46px; height:1px; background:var(--purple-14); position:relative; overflow:hidden; }
.qs-hero__scroll .line::after{ content:""; position:absolute; inset:0; width:40%; background:var(--red); animation:scrollline 2.4s cubic-bezier(.2,.8,.2,1) infinite; }

/* ---------- PROPÓSITO ---------- */
.proposito{ background:var(--paper-low); }
.proposito__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,28px); margin-top:52px; }
.prop-card{ background:#fff; border-radius:var(--r-lg); padding:34px 26px 26px; border:1px solid var(--purple-10); display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.prop-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:transparent; }
.prop-card__ico{ width:56px; height:56px; margin:8px 8px 0; display:flex; align-items:center; flex:none; }
.prop-card__ico img{ width:100%; height:100%; object-fit:contain; transition:transform .25s var(--ease); }
.prop-card:hover .prop-card__ico img{ transform:scale(1.08); }
.prop-card__ico svg{ width:26px; height:26px; stroke-width:1.7; }
.prop-card__panel{ flex:1 1 auto; margin-top:36px; background:#F0F0E8; border-radius:var(--r-md); padding:30px 26px; display:flex; flex-direction:column; transition:background .25s var(--ease); }
.prop-card:hover .prop-card__panel{ background:#E9E9E1; }
.prop-card__label{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }
.prop-card h3{ font-family:var(--serif); font-weight:700; font-size:1.4rem; color:var(--purple); margin:0 0 14px; letter-spacing:-.01em; }
.prop-card p{ font-size:1rem; color:var(--ink-soft); margin:0; line-height:1.6; }
@media (max-width:860px){ .proposito__grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; } }

/* ---------- MANIFIESTO ---------- */
.manif{ background:#fff; }
.manif__layout{ display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(40px,6vw,96px); align-items:start; }
.manif__left{ position:sticky; top:120px; }
.manif__left h2{ font-size:clamp(2.6rem,5vw,4.2rem); line-height:1.02; }
.manif__left h2 em{ color:var(--red); font-style:normal; }
.manif__right p{ font-size:clamp(1.05rem,1.4vw,1.2rem); color:var(--ink-soft); line-height:1.7; margin:0 0 22px; }
.manif__right p:last-child{ margin-bottom:0; }
.manif__right p b{ color:var(--purple); font-weight:500; }
@media (max-width:860px){ .manif__layout{ grid-template-columns:1fr; gap:32px; } .manif__left{ position:static; } }

/* ---------- HISTORIA TIMELINE — vertical ---------- */
.historia{ background:#fff; }
.historia__head{
  text-align:center;
  max-width:640px;
  margin:0 auto clamp(28px,3.5vw,44px);
}

/* Stage */
.tl-stage{ position:relative; user-select:none; }
.tl-track{ position:relative; }

/* Vertical center line */
.tl-line{
  position:absolute;
  left:50%; top:0; bottom:0;
  width:1px;
  background:var(--purple-14);
  transform:translateX(-50%) scaleY(0);
  transform-origin:top center;
}

/* Entries — vertical flex, natural height */
.tl-entries{
  display:flex;
  flex-direction:column;
  position:relative;
}
.tl-entry{
  flex:none;
  min-height:150px;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  position:relative;
}

/* Left / right halves */
.tl-entry__half{
  flex:1;
  display:flex;
  align-items:center;
  padding:4px clamp(10px,1.8vw,28px);
}
.tl-entry__half--left{ justify-content:flex-end; }
.tl-entry__half--right{ justify-content:flex-start; }

/* Dot in center column */
.tl-entry__center{
  flex:none;
  width:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
}
.tl-entry__dot{
  width:11px; height:11px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--purple-2);
  flex:none;
  transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.tl-entry.active .tl-entry__dot{ background:var(--red); border-color:var(--red); transform:scale(1.4); }

/* Card — horizontal rectangle */
.tl-card{
  display:flex;
  flex-direction:row;
  width:100%;
  max-width:540px;
  height:auto;
  min-height:128px;
  background:#fff;
  border:1px solid var(--purple-10);
  border-radius:var(--r-md);
  box-shadow:var(--sh-1);
  overflow:hidden;
  cursor:pointer;
  transition:box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.tl-card:hover{ box-shadow:var(--sh-2); border-color:var(--purple-14); }
.tl-entry.active .tl-card{ border-color:var(--purple-2); box-shadow:var(--sh-2); }

/* Photo — square left strip (1:1) */
.tl-card__photo{
  flex:none;
  width:clamp(120px,11vw,160px);
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--paper-low);
}
.tl-card__photo image-slot{ width:100%; height:100%; display:block; }

/* Text body */
.tl-card__body{
  flex:1;
  padding:clamp(8px,.9vw,14px) clamp(10px,1.2vw,18px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  min-width:0;
}
.tl-card__year{
  display:inline-block;
  background:var(--red);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  padding:.22em .6em;
  border-radius:var(--r-full);
  align-self:flex-start;
}
.tl-card h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(.85rem,1vw,1rem);
  color:var(--purple);
  margin:0;
  line-height:1.2;
}
.tl-card p{
  font-size:clamp(.7rem,.8vw,.83rem);
  color:var(--ink-soft);
  margin:0;
  line-height:1.45;
}

/* Nav — hidden, all cards visible */
.tl-nav{ display:none; }

/* ---- Scroll-driven focus ---- */
.tl-card{
  transition: box-shadow .35s var(--ease), border-color .35s var(--ease), opacity .35s var(--ease), transform .35s var(--ease);
}
.tl-entry__dot{
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
/* Inactive — dimmed */
.tl-entry:not(.active) .tl-card{
  opacity:.45;
  transform:scale(.97);
}
.tl-entry:not(.active) .tl-entry__dot{
  background:#fff;
  border-color:var(--purple-10);
  transform:scale(.8);
}
/* Active — full focus */
.tl-entry.active .tl-card{
  opacity:1;
  transform:scale(1);
  border-color:var(--purple-2);
  box-shadow:var(--sh-2);
}
.tl-entry.active .tl-entry__dot{
  background:var(--red);
  border-color:var(--red);
  transform:scale(1.45);
}

/* ---- Responsive ---- */
@media (max-width:1024px){
  .tl-card{ max-width:100%; }
}
@media (max-width:860px){
  .historia{ height:auto; padding-block:clamp(48px,7vw,80px); overflow:visible; }
  .historia > .wrap-wide{ height:auto; padding-block:0; }
  .tl-stage{ flex:none; height:auto; overflow:visible; }
  .tl-track{ height:auto; }
  .tl-entries{ flex-direction:column; height:auto; }
  .tl-entry{ flex:none; min-height:100px; margin-bottom:6px; }
  .tl-card{ height:auto; min-height:88px; max-height:none; }
  .tl-card__photo{ height:88px; aspect-ratio:1/1; }
}
@media (max-width:560px){
  .tl-line{ left:20px; transform:none; }
  .tl-entry__half--left{ display:none; }
  .tl-entry__center{ width:40px; flex:none; }
  .tl-entry__half--right{ flex:1; }
  .tl-entry.tl-entry--left .tl-entry__half--left,
  .tl-entry.tl-entry--right .tl-entry__half--left{ display:none; }
  .tl-card{ flex-direction:column; max-width:100%; }
  .tl-card__photo{ flex:none; height:110px; width:100%; }
}

/* ---------- VIDEO ---------- */
.video-sec{ background:#F0F0E8; color:var(--ink); }
.video-sec__head{ text-align:center; max-width:680px; margin:0 auto clamp(40px,5vw,60px); }
.video-sec__head .kicker{ color:var(--red); margin-bottom:16px; }
.video-sec__head h2{ color:var(--purple); }
.video-sec__head p{ color:var(--ink-soft); margin-top:14px; }
.video-wrap{
  max-width:900px; margin:0 auto; border-radius:16px; overflow:hidden;
  position:relative; background:var(--purple);
  box-shadow:0 32px 80px rgba(57,28,82,.22);
  aspect-ratio:16/9;
}
.video-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.video-placeholder{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:18px; background:var(--purple); cursor:pointer;
}
.video-placeholder__icon{
  width:80px; height:80px; border-radius:50%; background:var(--red);
  display:grid; place-items:center; box-shadow:0 16px 40px rgba(223,29,44,.4);
  transition:transform .2s var(--ease);
}
.video-placeholder:hover .video-placeholder__icon{ transform:scale(1.1); }
.video-placeholder__icon svg{ width:32px; height:32px; fill:#fff; margin-left:4px; }
.video-placeholder__text{ color:rgba(255,255,255,.55); font-size:.9rem; letter-spacing:.04em; }
.video-caption{ text-align:center; margin-top:22px; color:var(--ink-mute); font-size:.88rem; }

/* ---------- 6 ENERGÍAS ---------- */
.energias{ background:var(--paper-low); }
.energias__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,1.8vw,24px); margin-top:52px; }
.energia-card{ background:#fff; border-radius:var(--r-lg); padding:clamp(28px,3vw,38px); border:1px solid var(--purple-10); display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.energia-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); }
.energia-card__top{ display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.energia-card__ico{ width:48px; height:48px; border-radius:var(--r-sm); background:var(--purple-06); color:var(--purple-2); display:grid; place-items:center; flex:none; }
.energia-card__ico svg{ width:24px; height:24px; stroke-width:1.7; }
.energia-card__ico img{ width:32px; height:32px; object-fit:contain; }
.energia-card__name{ font-family:var(--serif); font-weight:700; font-size:1.2rem; color:var(--purple); margin:0; line-height:1.15; }
.energia-card__tag{ font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-top:2px; }
.energia-card p{ font-size:.97rem; color:var(--ink-soft); margin:0; line-height:1.58; }
@media (max-width:900px){ .energias__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .energias__grid{ grid-template-columns:1fr; } }

/* ---------- EQUIPO ---------- */
.equipo{ background:#fff; }
.equipo__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2vw,28px); margin-top:52px; }
.equipo-card{ display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; transition:transform .2s ease; }
.equipo-card:hover{ transform:translateY(-4px); }
.equipo-card:hover .equipo-card__name{ text-decoration:underline; }
.equipo-card__photo{ width:clamp(120px,14vw,160px); height:clamp(120px,14vw,160px); border-radius:50%; overflow:hidden; background:var(--paper-dim); margin-bottom:18px; display:grid; place-items:center; position:relative; }
.equipo-card__photo image-slot{ width:100%; height:100%; }
.equipo-card__name{ font-family:var(--serif); font-weight:700; font-size:1.1rem; color:var(--purple); margin:0 0 4px; }
.equipo-card__role{ font-size:.84rem; color:var(--red); font-weight:600; margin:0 0 8px; }
.equipo-card__bio{ font-size:.9rem; color:var(--ink-mute); margin:0; line-height:1.5; max-width:22ch; }
@media (max-width:1000px){ .equipo__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px){ .equipo__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:400px){ .equipo__grid{ grid-template-columns:1fr; } }

/* ---------- RECONOCIMIENTOS ---------- */
.reconoc{ background:var(--paper-low); }
.reconoc__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,1.8vw,24px); margin-top:52px; }
.reconoc-item{ background:#fff; border-radius:var(--r-lg); padding:clamp(26px,2.8vw,36px); border:1px solid var(--purple-10); display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.reconoc-item__ico{ width:52px; height:52px; border-radius:50%; background:var(--purple-06); color:var(--purple-2); display:grid; place-items:center; }
.reconoc-item__ico svg{ width:26px; height:26px; stroke-width:1.5; }
.reconoc-item p{ font-size:.98rem; color:var(--ink); font-weight:500; line-height:1.45; margin:0; }
@media (max-width:980px){ .reconoc__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:500px){ .reconoc__grid{ grid-template-columns:1fr; } }
