/* ============================================================
   SEARCH TALENT PROS — Página de servicio (/servicio)
   Reutiliza tokens + header/footer + secciones de presencia/testi/CTA.
   ============================================================ */

/* ---------- HERO ---------- */
.svc-hero{ background:#FDFCF8; padding-top:clamp(128px,14vw,160px); padding-bottom:clamp(60px,9vw,96px); min-height:clamp(560px,78vh,720px); display:flex; align-items:center; }
.svc-hero__grid{ display:grid; grid-template-columns:55fr 45fr; gap:clamp(52px,8vw,104px); align-items:center; width:100%; }
.svc-hero__content{ display:flex; flex-direction:column; align-items:flex-start; }
.svc-hero__bc{ font-weight:700; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin:0 0 20px; }
.svc-hero h1{ font-size:clamp(1.9rem,3.6vw,3rem); font-weight:700; margin:0 0 24px; }
.svc-hero h1 .hero-accent{ font-family:var(--sans); font-weight:500; color:var(--red); letter-spacing:-.01em; font-style:normal; }
.svc-hero__desc{ font-size:clamp(.95rem,1.1vw,1.05rem); line-height:1.65; color:var(--ink-soft); max-width:46ch; font-weight:300; margin:0 0 16px; }
.svc-hero__tag{ font-size:.88rem; color:var(--ink-mute); font-weight:500; letter-spacing:.04em; margin:0 0 36px; }
.svc-hero__photo{ border-radius:var(--r-xl); overflow:hidden; height:clamp(400px,44vw,540px); background:var(--purple-2); }
.svc-hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:center 28%; display:block; }
@media (max-width:860px){
  .svc-hero__grid{ grid-template-columns:1fr; gap:28px; }
  .svc-hero__content{ max-width:600px; }
  .svc-hero__photo{ order:1; height:clamp(240px,52vw,400px); }
}
@media (max-width:560px){
  .svc-hero{ padding-top:clamp(108px,22vw,136px); padding-bottom:clamp(40px,8vw,60px); }
  .svc-hero h1{ font-size:clamp(1.9rem,7.8vw,2.6rem); }
  .svc-hero__desc{ max-width:none; }
  .svc-hero__tag{ margin-bottom:28px; }
  .svc-hero__cta{ width:100%; justify-content:center; }
  .svc-hero__photo{ aspect-ratio:16/9; object-position:center 25%; }
}

/* ---------- BANDA MORADA ---------- */
.svc-band{ background:var(--purple); color:var(--on-dark); }
.svc-band__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.svc-band__lead{ font-family:var(--serif); font-weight:700; color:#fff; font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.18; letter-spacing:-.01em; margin:0; }
.svc-band__body{ color:var(--on-dark-soft); font-size:1.05rem; line-height:1.6; margin:0; }
@media (max-width:760px){ .svc-band__grid{ grid-template-columns:1fr; gap:20px; } }

/* ---------- QUÉ INCLUYE ---------- */
.svc-incl{ background:#fff; }
.svc-incl__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:clamp(32px,4vw,48px); }
.svc-incl__head .kicker{ margin-bottom:16px; }
.svc-incl__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(20px,2.4vw,32px); align-items:stretch; }
.svc-incl__photo{ border-radius:var(--r-lg); overflow:hidden; min-height:clamp(320px,34vw,480px); background:var(--purple-06); }
.svc-incl__photo img{ width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.svc-incl__card{ background:#F0F0E8; border-radius:var(--r-lg); padding:clamp(28px,3.2vw,44px); display:flex; flex-direction:column; justify-content:center; }
.svc-incl__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.svc-incl__list li{ display:flex; gap:16px; align-items:center; padding:clamp(16px,1.8vw,22px) 0; border-bottom:1px solid rgba(57,28,82,.10); font-family:var(--sans); font-size:1rem; font-weight:500; line-height:1.4; color:var(--ink); }
.svc-incl__list li:first-child{ border-top:1px solid rgba(57,28,82,.10); }
.svc-incl__icon{ width:22px; height:22px; flex:none; display:block; }
@media (max-width:760px){
  .svc-incl__grid{ grid-template-columns:1fr; }
  .svc-incl__photo{ min-height:260px; }
}

/* ---------- PROCESO ---------- */
.svc-proc{ background:#FDFCF8; }
.svc-proc__head{ text-align:center; margin-bottom:clamp(36px,4vw,56px); }
.svc-proc__head .kicker{ margin-bottom:12px; }
.svc-proc__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,1.8vw,24px); }
.svc-step{ background:#fff; border:1px solid var(--purple-10); border-radius:var(--r-lg); padding:clamp(28px,3vw,36px); display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.svc-step:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:transparent; }
.svc-step__n{ width:52px; height:52px; border-radius:50%; background:var(--red); color:#fff; font-family:var(--serif); font-weight:700; font-size:1.4rem; display:flex; align-items:center; justify-content:center; flex:none; margin-bottom:26px; }
.svc-step__panel{ flex:1 1 auto; background:#F0F0E8; border-radius:var(--r-md); padding:26px; display:flex; flex-direction:column; gap:14px; }
.svc-step__panel h3{ font-family:var(--serif); font-weight:700; font-size:1.15rem; color:var(--purple); margin:0; line-height:1.3; }
.svc-step__panel p{ font-size:.95rem; color:var(--ink-soft); margin:0; line-height:1.5; }
.svc-step:hover .svc-step__panel{ background:#E9E9E1; }
@media (max-width:880px){ .svc-proc__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .svc-proc__grid{ grid-template-columns:1fr; } }

/* ---------- BENEFICIOS (empresa | colaborador) ---------- */
.svc-benefits__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2vw,28px); }
.svc-benefit-col{ border-radius:var(--r-lg); padding:clamp(28px,3vw,44px); display:flex; flex-direction:column; }
.svc-benefit-col--empresa{ background:var(--purple); }
.svc-benefit-col--colaborador{ background:#fff; border:1.5px solid var(--purple-10); }
.svc-benefit-col__label{
  display:inline-flex; align-self:flex-start; align-items:center;
  padding:.4em .9em; border-radius:var(--r-full);
  font-weight:600; font-size:.78rem; letter-spacing:.02em; margin-bottom:clamp(20px,2.4vw,32px);
}
.svc-benefit-col--empresa .svc-benefit-col__label{ background:rgba(255,255,255,.14); color:#fff; }
.svc-benefit-col--colaborador .svc-benefit-col__label{ background:var(--purple-06); color:var(--purple-2); }
.svc-benefit-col__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.svc-benefit-col__list li{ display:flex; gap:12px; align-items:flex-start; font-size:1.02rem; line-height:1.45; }
.svc-benefit-col--empresa .svc-benefit-col__list li{ color:rgba(255,255,255,.92); }
.svc-benefit-col--colaborador .svc-benefit-col__list li{ color:var(--ink); }
.svc-benefit-col__list svg{ width:18px; height:18px; flex:none; margin-top:2px; }
.svc-benefit-col--empresa .svc-benefit-col__list svg{ color:#fff; }
.svc-benefit-col--colaborador .svc-benefit-col__list svg{ color:var(--red); }
@media (max-width:640px){ .svc-benefits__grid{ grid-template-columns:1fr; } }

/* ---------- CUÁNDO LO NECESITÁS (checklist) ---------- */
.svc-when__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,20px); }
.svc-when-card{
  background:#fff; border:1.5px solid var(--purple-10); border-radius:var(--r-lg);
  padding:clamp(22px,2.4vw,32px); display:flex; gap:18px; align-items:flex-start;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.svc-when-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:transparent; }
.svc-when-card__ico{
  flex:none; width:42px; height:42px; border-radius:50%;
  background:var(--red); color:#fff; display:grid; place-items:center; margin-top:2px;
}
.svc-when-card__ico svg{ width:18px; height:18px; }
.svc-when-card p{ font-family:var(--serif); font-weight:600; font-size:1rem; color:var(--purple); margin:0; line-height:1.4; padding-top:8px; }
@media (max-width:820px){ .svc-when__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .svc-when__grid{ grid-template-columns:1fr; } }

/* ---------- POR QUÉ + STATS ---------- */
.svc-why{ background:#fff; }
.svc-why__hero{ position:relative; min-height:clamp(440px,50vw,600px); display:flex; align-items:center; overflow:hidden; }
.svc-why__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; pointer-events:none; }
.svc-why__inner{ position:relative; z-index:2; padding-top:clamp(56px,7vw,96px); padding-bottom:clamp(56px,7vw,96px); }
.svc-why__card{ background:#fff; border-radius:var(--r-xl); padding:clamp(28px,3.2vw,44px); box-shadow:var(--sh-3); max-width:clamp(320px,36vw,460px); }
.svc-why__card .kicker{ font-family:var(--sans); font-weight:700; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin:0 0 14px; }
.svc-why__card h2{ margin:0 0 16px; }
.svc-why__card p{ font-size:1rem; line-height:1.6; color:var(--ink-soft); margin:0; }
@media (max-width:860px){ .svc-why__hero{ min-height:clamp(360px,55vw,520px); } .svc-why__card{ max-width:420px; } }
@media (max-width:560px){
  .svc-why__hero{ flex-direction:column; align-items:stretch; min-height:0; }
  .svc-why__bg{ position:relative; inset:auto; width:100%; height:240px; object-position:center 20%; }
  .svc-why__inner{ padding:clamp(24px,6vw,36px) 0; background:#fff; }
  .svc-why__card{ max-width:none; border-radius:0; box-shadow:none; padding:0; }
}
.svc-stats{ }
.svc-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,40px); padding:clamp(40px,5vw,64px) 0; }
.svc-stat{ position:relative; text-align:center; }
.svc-stat + .svc-stat::before{ content:""; position:absolute; left:calc(-1*clamp(10px,1.5vw,20px)); top:6px; bottom:6px; width:1px; background:var(--purple-14); }
.svc-stat__num{ font-family:var(--serif); font-weight:700; font-size:clamp(2.2rem,3.6vw,3.2rem); line-height:1; color:var(--purple); }
.svc-stat__num .pre{ color:var(--red); }
.svc-stat__label{ margin-top:10px; font-size:.95rem; color:var(--ink-soft); }
@media (max-width:680px){ .svc-stats__grid{ grid-template-columns:1fr 1fr; gap:32px; } .svc-stat:nth-child(odd)::before{ display:none; } }

/* ---------- TESTIMONIOS (carousel) ---------- */
.svc-testi{ background:#FDFCF8; }
.clients-sec{ background:var(--paper); padding-top:0; }
.svc-testi__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-bottom:clamp(36px,5vw,52px); }
.svc-testi__controls{ display:flex; gap:10px; flex-shrink:0; padding-top:4px; }
.svc-testi__carousel{ overflow:hidden; width:100%; }
.svc-testi__track{ display:flex; gap:20px; transition:transform .45s cubic-bezier(.2,.8,.2,1); will-change:transform; }
/* card shell */
.svc-tcard{ flex:none; background:#fff; border:1px solid #F0F0E8; border-radius:32px; display:flex; flex-direction:column; overflow:hidden; }
/* header */
.svc-tcard__header{ padding:clamp(24px,2.6vw,32px) clamp(24px,2.6vw,32px) 16px; }
.svc-tcard__quote{ width:44px; height:auto; display:block; color:var(--purple); }
/* body */
.svc-tcard__body{ padding:0 clamp(24px,2.6vw,32px); flex:1; }
.svc-tcard__body p{ margin:0; font-family:var(--sans); font-size:clamp(.95rem,1.05vw,1rem); line-height:1.65; color:var(--ink); font-weight:400; }
.svc-tcard__quote-text{ display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.svc-tcard__quote-text.is-expanded{ display:block; -webkit-line-clamp:unset; overflow:visible; }
.svc-tcard__more{ display:inline-block; margin-top:10px; padding:0; background:none; border:none; font-family:var(--sans); font-size:.85rem; font-weight:600; color:var(--purple); cursor:pointer; }
.svc-tcard__more:hover{ text-decoration:underline; }
/* footer */
.svc-tcard__footer{ padding:clamp(20px,2.2vw,24px) clamp(24px,2.6vw,32px); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid #F0F0E8; display:flex; align-items:center; gap:14px; }
.svc-tcard__avatar{ width:48px; height:48px; border-radius:50%; background:#E0DED8; flex:none; }
.svc-tcard__name{ font-weight:600; color:var(--purple); font-size:.9rem; line-height:1.3; }
.svc-tcard__role{ font-size:.75rem; color:var(--ink-mute); margin-top:3px; line-height:1.4; text-transform:uppercase; letter-spacing:.03em; }
.tq-arrow{ width:40px; height:40px; border-radius:50%; border:1.5px solid rgba(57,28,82,.25); background:transparent; display:grid; place-items:center; cursor:pointer; transition:border-color .2s,background .2s; color:var(--purple); }
.tq-arrow svg{ width:18px; height:18px; }
.tq-arrow:hover:not(:disabled){ border-color:var(--purple); background:var(--purple); color:#fff; }
.tq-arrow:disabled{ opacity:.3; cursor:default; pointer-events:none; }

/* ---------- FAQ (svc-faq) ---------- */
.svc-faq{ background:var(--paper); }
.faq__layout{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,5vw,72px); align-items:start; }
.faq__aside{ position:sticky; top:120px; }
.faq__aside .kicker{ margin-bottom:16px; }
.faq__list{ display:flex; flex-direction:column; }
.faq-item{ border-top:1px solid var(--purple-14); }
.faq-item:last-child{ border-bottom:1px solid var(--purple-14); }
.faq-item__q{
  width:100%; background:transparent; border:0; cursor:pointer; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 4px; font-family:var(--serif); font-weight:600; font-size:1.12rem; color:var(--purple);
}
.faq-item__icon{ flex:none; width:34px; height:34px; border-radius:50%; background:var(--purple-06); color:var(--purple); display:grid; place-items:center; transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }
.faq-item__icon svg{ width:18px; height:18px; }
.faq-item.open .faq-item__icon{ background:var(--red); color:#fff; transform:rotate(45deg); }
.faq-item__a{ overflow:hidden; max-height:0; transition:max-height .35s var(--ease); }
.faq-item__a-inner{ padding:0 4px 26px; font-size:1rem; line-height:1.6; color:var(--ink-soft); max-width:64ch; }
@media (max-width:820px){ .faq__layout{ grid-template-columns:1fr; gap:28px; } .faq__aside{ position:static; } }
