/* ============================================================
   "Quiénes somos" — adaptado de prototipo-seccciones/nosotros/
   (bloque .who), para la página de Servicios. Contenido real,
   idéntico al ya usado en empresa/index.php. Prefijado bajo
   .svc-servicios — sin reset global, nuestra paleta (sin verde).
   ============================================================ */
.svc-servicios{ position:relative; overflow:hidden; background:#fff; padding:3rem 0; scroll-margin-top:76px; }
@media (min-width:1024px){ .svc-servicios{ scroll-margin-top:100px; } }
.svc-servicios .container{ max-width:1280px; margin:0 auto; padding:0 1.5rem; }

.svc-who{ position:relative; display:grid; gap:2.5rem; }
@media (min-width:1024px){ .svc-who{ grid-template-columns:repeat(12,1fr); gap:0; } }

.svc-who-numeral{
  position:absolute; top:-2.5rem; right:0; pointer-events:none; user-select:none;
  font-family: var(--font-display); font-size:8rem; font-weight:900; line-height:1; color: rgba(0,64,168,.07);
}
@media (min-width:640px){ .svc-who-numeral{ font-size:13rem; } }
@media (min-width:1024px){ .svc-who-numeral{ top:-6rem; right:2rem; font-size:17rem; } }

.svc-who-figure{ position:relative; }
@media (min-width:1024px){ .svc-who-figure{ grid-column:span 7 / span 7; } }
.svc-who-corner{ position:absolute; width:6rem; height:6rem; display:none; }
@media (min-width:1024px){ .svc-who-corner{ display:block; } }
.svc-who-corner--tl{ left:-.75rem; top:-.75rem; border-left:1px solid rgba(0,64,168,.4); border-top:1px solid rgba(0,64,168,.4); }
.svc-who-corner--br{ right:-.75rem; bottom:-.75rem; border-right:1px solid rgba(0,64,168,.4); border-bottom:1px solid rgba(0,64,168,.4); }

.svc-who-img-wrap{ position:relative; overflow:hidden; border-radius:2px; box-shadow: var(--shadow-lift); padding-top:100%; }
.svc-who-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 650ms cubic-bezier(.22,1,.36,1); will-change:transform; }
.svc-who-img-wrap:hover .svc-who-img{ transform:scale(1.05); }
.svc-who-img-veil{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, rgba(20,32,70,.5), rgba(20,32,70,.05) 60%, transparent); }
.svc-who-img-caption{ position:absolute; inset-inline:0; bottom:0; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1.25rem; }
@media (min-width:640px){ .svc-who-img-caption{ padding:1.75rem; } }
.svc-who-caption-brand{ transform:translateY(.5rem); opacity:.8; transition:all 500ms; }
.svc-who-img-wrap:hover .svc-who-caption-brand{ transform:none; opacity:1; }
.svc-who-caption-name{ font-family: var(--font-display); font-size:.65rem; font-weight:700; letter-spacing:.3em; color:#fff; }
.svc-who-caption-sub{ font-family: var(--font-display); font-size:.85rem; font-weight:600; letter-spacing:.14em; color: rgba(255,255,255,.8); }
.svc-who-caption-tags{ list-style:none; display:none; gap:1.25rem; font-size:.6rem; font-weight:700; letter-spacing:.22em; color: rgba(255,255,255,.75); }
@media (min-width:640px){ .svc-who-caption-tags{ display:flex; } }

.svc-who-text{ position:relative; }
@media (min-width:1024px){ .svc-who-text{ grid-column:span 5 / span 5; margin-left:-6rem; display:flex; align-items:center; } }
.svc-who-text-inner{ position:relative; background: rgba(255,255,255,.95); padding:3rem; backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); }
@media (min-width:1024px){ .svc-who-text-inner{ box-shadow: var(--shadow-lift); } }
.svc-who-title{
  margin-top:1.25rem; max-width:28rem; font-family: var(--font-display); font-size:1.5rem; font-weight:800;
  background: linear-gradient(90deg, var(--brand), var(--danger));
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
@media (min-width:640px){ .svc-who-title{ font-size:1.75rem; } }
@media (min-width:1024px){ .svc-who-title{ font-size:2rem; line-height:1.1; } }
.svc-who-title::after{ content:''; display:block; height:2px; width:2.5rem; margin-top:1rem; background: var(--brand); transition:width 450ms cubic-bezier(.22,1,.36,1), background-color 450ms ease; }
.svc-who-title:hover::after{ width:7rem; background: var(--danger); }
.svc-who-desc{ margin-top:1.5rem; font-size:.98rem; line-height:1.7; color: var(--muted-foreground); text-align:justify; }
.svc-who-desc--quote{ margin-top:1.25rem; border-left:2px solid rgba(230,0,18,.7); padding-left:1.25rem; }

.svc-who-list{ margin-top:1.5rem; list-style:none; display:flex; flex-direction:column; gap:.85rem; }
.svc-who-list li{ display:flex; align-items:flex-start; gap:.65rem; font-size:.9rem; line-height:1.5; color: var(--brand-ink); }
.svc-who-list-icon{ flex-shrink:0; margin-top:.2rem; display:grid; place-items:center; width:1.15rem; height:1.15rem; border-radius:50%; background: rgba(0,64,168,.1); color: var(--brand); padding:.25rem; box-sizing:border-box; }

/* ── Compacto en móvil (aplica a las 7 secciones .svc-servicios) ── */
@media (max-width:767px){
  .svc-servicios{ padding:1.5rem 0; }
  .svc-who{ gap:1.25rem; }
  .svc-who-numeral{ display:none; }
  .svc-who-text-inner{ padding:1.5rem; }
  .svc-who-title{ margin-top:.5rem; font-size:1.15rem; }
  .svc-who-desc{ margin-top:.75rem; font-size:.85rem; line-height:1.5; }
  .svc-who-list{ margin-top:.75rem; gap:.5rem; }
  .svc-who-list li{ font-size:.8rem; }
}
