/* ============================================================
   CRÉCIMA — Servicios
   Medido sobre "servicios Desktop" (node 104:7533), "servicios-
   tablet" (332:1165) y "servicios-mobile" (332:1277).
   Header, botones base y footer viven en main.css.
   ============================================================ */

:root {
  /* La fila de cada servicio: 514 de texto + 121 de aire + 620
     de imagen ≈ 1260, así que el contenedor sale de ahí y no del
     margen — con 90 a cada lado cierra justo en 1440. */
  --container-svc: 1260px;
  --pad-svc: 90px;
  --svc-img-alto: 376px;
}

body.pagina-servicios { background: var(--bg-hero); }

.container-svc {
  width: 100%;
  max-width: calc(var(--container-svc) + 2 * var(--pad-svc));
  margin-inline: auto;
  padding-inline: var(--pad-svc);
}

/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------
   Un solo título centrado sobre el fondo oscuro, con el aro que
   ya usan Proyectos y el menú: acá el centro cae apenas debajo
   del corte, no muy por abajo como en Proyectos.
   ------------------------------------------------------------ */
.svc-hero {
  position: relative;
  overflow: hidden;
  background: var(--bg-hero);
  padding: 234px var(--gutter) 147px;
  text-align: center;
}
/* El diámetro es el del frame. El centro no: el Figma lo deja
   332px por debajo del corte y así sólo asoma el 28% del hero,
   que es lo que se leía como "quedó muy abajo". A 155 asoma el
   63%, la misma proporción que el hero de Proyectos. */
.svc-aros { --aro: 941px; --aro-y: calc(100% + 155px); }

.svc-hero__title {
  position: relative;
  z-index: 1;
  /* El ancho de cada ruptura sale del frame: es lo que decide
     dónde corta el título en dos renglones. */
  max-width: 803px;
  margin-inline: auto;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--text-invert);
}

/* ------------------------------------------------------------
   PANEL — el listado
   ------------------------------------------------------------
   Degradé propio de esta página: gris lavanda arriba, gris más
   cerrado abajo. Es sutil y sólo se nota en un scroll largo, por
   eso no vive en --bg-light —que el resto del sitio usa plano—
   sino acá.
   ------------------------------------------------------------ */
.svc-panel {
  border-radius: 60px 60px 0 0;
  background: linear-gradient(180deg, #e9ebf8 55.77%, #c7c9d6 100%);
  padding-block: 60px clamp(120px, 14vw, 200px);
}

.svc-list {
  display: flex;
  flex-direction: column;
  gap: 154px;
}

.svc-item {
  display: flex;
  align-items: center;
  gap: 121px;
}
.svc-item__txt {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  /* Sin esto el botón se estira a todo el ancho de la columna:
     en una columna flex los hijos se estiran por defecto, y el
     `inline-flex` del botón no alcanza para evitarlo. En el
     diseño el botón mide lo que dice su texto (175px). */
  align-items: flex-start;
  gap: 25px;
}
.svc-item__title {
  font-size: 52px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #3b354e;
}
.svc-item__desc {
  font-size: 20px;
  line-height: 26px;
  letter-spacing: -0.005em;
  color: #605b7f;
}

/* ------------------------------------------------------------
   LA IMAGEN — todavía no hay fotos de cada servicio
   ------------------------------------------------------------
   El diseño reserva un marco de foto con un tinte violeta
   encima. Mientras no hay foto real, el marco queda con un
   degradé suave del mismo violeta de marca y un ícono grande y
   tenue que anticipa el servicio — así el espacio no se ve vacío
   ni roto, y cuando llegue la foto es reemplazar el fondo nada
   más: el tinte de encima se queda igual.
   ------------------------------------------------------------ */
.svc-item__img {
  position: relative;
  flex: 0 0 620px;
  height: var(--svc-img-alto);
  border-radius: 20px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(150deg, #ece7fb 0%, #dcd3f7 55%, #cabdf2 100%);
}
.svc-item__img::after {
  /* El tinte violeta del diseño: transparente arriba, violeta
     suave abajo. Se queda igual el día que entre la foto real. */
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(102, 99, 246, 0.2) 100%);
}
.svc-item__icono {
  position: relative;
  width: 84px;
  height: 84px;
  color: var(--brand-deep);
  opacity: 0.32;
}
/* El día que haya foto: mismo marco, mismo tinte encima, la
   imagen ocupa todo el espacio y el ícono ya no se imprime. */
.svc-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Variante oscura del botón: la usa "Conocer más", porque va
   sobre el marco claro de la imagen y sobre el panel claro del
   texto — el botón violeta brillante del resto del sitio se
   perdía ahí. */
.btn--svc {
  background: linear-gradient(144deg, #130428 20%, #251043 68%, #38126d 107%, #261045 157%, #190634 183%);
  color: #fff;
}
.btn--svc:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -12px rgba(19, 4, 40, 0.55);
}

/* ------------------------------------------------------------
   PANEL OSCURO — proyectos destacados
   ------------------------------------------------------------
   Mismo componente que ya usan Nosotros y el cierre de la Home:
   la bajada, el botón a Proyectos y tres trabajos reales. El
   Figma tiene acá una grilla de ejemplo con nombres de plantilla
   que no son de Crécima — no se replica, se usa el componente
   real que ya existe.
   ------------------------------------------------------------ */
.svc-proy {
  padding-block: 90px;
      margin-top: -48px;
}
.svc-proy__lead {
  max-width: 1016px;
  font-size: 32px;
  line-height: 36px;
  color: var(--text-invert);
  margin-bottom: 34px;
}
.svc-proy__lead-title { font-weight: 600; }
.svc-proy__lead-subtitle {
  margin-top: 12px;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 400;
}
/* .grid3 trae un margen de arriba pensado para la Home, mucho
   más grande. Acá se ajusta al del diseño, igual que hace
   Nosotros con su propia grilla. */
.svc-proy .grid3 { margin-top: 46px; }
/* La grilla es .grid3/.card3 — la misma de la Home y de la
   versión real de Nosotros en el tema. Acá sólo se le dice cómo
   mostrar la foto adentro, igual que hace Nosotros: el componente
   compartido no trae imagen, cada página se la pone. */
.svc-proy .card3__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease-out);
}
.svc-proy .card3:hover .card3__media img { transform: scale(1.04); }

/* .grid3 trae un `display: none` en 820px pensado para la Home,
   que en esa ruptura no muestra esta grilla. Acá sí se muestra:
   se reactiva con más especificidad, como ya hace Nosotros. */
@media (max-width: 820px) {
  .pagina-servicios .svc-proy .grid3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
  }
}
@media (max-width: 640px) {
  .pagina-servicios .svc-proy .grid3 { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------
   TABLET — 768
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
  :root { --svc-img-alto: 280px; }

  .container-svc { max-width: none; padding-inline: 48px; }

  .svc-aros { --aro: 600px; --aro-y: calc(100% + 135px); }
  .svc-hero { padding: 150px 48px 189px; }
  .svc-hero__title { font-size: 32px; max-width: 520px; }

  .svc-panel { border-radius: 40px 40px 0 0; padding-block: 80px;         padding-bottom: 96px;}
  .svc-list { gap: 80px; }
  .svc-item {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
  .svc-item__txt { gap: 16px; }
  .svc-item__title { font-size: 32px; }
  .svc-item__desc { font-size: 18px; }
  .svc-item__img { flex-basis: auto; width: 100%; }

  .svc-proy { padding-block: 80px; padding-bottom: 96px;}
  .svc-proy__lead { font-size: 26px; line-height: 32px; margin-bottom: 24px; }
  .svc-proy__lead-subtitle { font-size: 18px; }
}

/* ------------------------------------------------------------
   MÓVIL — 390
   ------------------------------------------------------------ */
@media (max-width: 640px) {
  :root { --svc-img-alto: 280px; }

  .container-svc { padding-inline: 16px; }

  .svc-aros { --aro: 320px; --aro-y: calc(100% + 26px); }
  .svc-hero { padding: 130px 16px 102px; }
  .svc-hero__title { font-size: 22px; max-width: 324px; }

  .svc-panel { border-radius: 32px 32px 0 0; padding-block: 48px;         padding-bottom: 96px;}
  .svc-list { gap: 64px; }
  .svc-item__title { font-size: 28px; }
  .svc-item__desc { font-size: 17px; }

  .svc-proy { padding-block: 48px; padding-bottom: 96px;}
  .svc-proy__lead { font-size: 20px; line-height: 26px; margin-bottom: 16px; }
  .svc-proy__lead-subtitle { margin-top: 10px; font-size: 16px; }

  /* En el frame móvil "Conocer los proyectos" ocupa todo el
     ancho; en el resto del sitio ese botón siempre queda a su
     tamaño natural, así que la excepción se limita a acá. */
  .svc-proy .btn--primary { width: 100%; justify-content: center; }
}
