/* ═══════════════════════════════════════════════════════════
   LÍNEAS DE INVESTIGACIÓN — responsive
   5 breakpoints: 1280 / 1024 / 768 / 600 / 420px
═══════════════════════════════════════════════════════════ */

@media (max-width: 1280px) {
  .lineas__inner { padding: 0 80px; }
}

@media (max-width: 1024px) {
  .lineas__inner { padding: 0 40px; }
  #lineas-investigacion { padding: 80px 0 100px; }
  .lineas__title { margin-bottom: 48px; }
}

@media (max-width: 768px) {
  .lineas__inner          { padding: 0 20px; }
  #lineas-investigacion   { padding: 60px 0 80px; }
  .lineas__title          { margin-bottom: 36px; }
  .lineas__grid           { gap: 18px; }
  .linea-row__body        { gap: 20px; padding: 0 24px 0 20px; }
  .linea-row__numeral     { font-size: 36px; width: 54px; }
  .linea-row__name        { font-size: 16px; }
  .linea-desc             { height: 220px; }
  .linea-row.is-open .linea-desc { max-height: 280px; }
  .linea-desc__big-num    { font-size: 56px; }
  .linea-desc__text       { margin-top: 52px; }
  .linea-desc__body       { font-size: 13px; line-height: 17px; }
}

@media (max-width: 600px) {
  .lineas__inner          { padding: 0 16px; }
  #lineas-investigacion   { padding: 48px 0 60px; }
  .lineas__grid           { gap: 14px; }
  .linea-row              { min-height: 100px; }
  .linea-row__body        { min-height: 100px; padding: 0 16px; gap: 14px; }
  .linea-row__numeral     { font-size: 28px; width: 42px; }
  .linea-row__cat         { font-size: 10px; letter-spacing: 0.8px; }
  .linea-row__name        { font-size: 13px; letter-spacing: 0.3px; }
  .linea-desc             { height: auto; min-height: 180px; }
  .linea-row.is-open .linea-desc { max-height: 320px; }
  .linea-desc__content    { position: relative; inset: auto; padding: 16px 14px 20px; flex-direction: column; gap: 8px; }
  .linea-desc__num-wrap   { padding-top: 0; }
  .linea-desc__big-num    { font-size: 48px; }
  .linea-desc__dot        { margin-bottom: 0; align-self: center; }
  .linea-desc__text       { margin-top: 0; }
  .linea-desc__body       { font-size: 12px; line-height: 16px; }
  .linea-desc__corner     { width: 40px; height: 26px; }
}

@media (max-width: 420px) {
  .linea-row__sep  { display: none; }
  .linea-row__name { font-size: 12px; }
  .linea-row__body { gap: 10px; }
}
